Boxed Lists
Boxed Lists
Libadapta provides API to implement the boxed lists pattern.
Boxed lists are composed of a GtkListBox with the
GtkListBox:selection-mode set to GTK_SELECTION_NONE and with the
.boxed-list style class.
GtkListView cannot be used as a boxed list at the moment.
An example boxed list:
<object class="GtkListBox">
<property name="selection-mode">none</property>
<style>
<class name="boxed-list"/>
</style>
<child>
<object class="AdapActionRow">
<property name="title">Item 1</property>
</object>
</child>
<child>
<object class="AdapActionRow">
<property name="title">Item 2</property>
</object>
</child>
<child>
<object class="AdapActionRow">
<property name="title">Item 3</property>
</object>
</child>
</object>
Rows
A number of predefined list row classes are available and intended to be used inside boxed lists:
Action Rows
AdapActionRow is a basic row. It has a title, a subtitle, an icon, and can
have prefix and suffix children.
Switch Rows
AdapSwitchRow is an AdapActionRow with an embedded GtkSwitch.
It’s used to represent two states: “on” and “off”.
Expander Rows
AdapExpanderRow is similar to AdapActionRow, but can expand to show
other rows.
Combo Rows
AdapComboRow is a row with an embedded drop down menu, similar to
GtkDropDown.
Entry Rows
AdapEntryRow is a row with an embedded entry. It can have prefix and suffix
widgets, and an apply button.
Password Entry Rows
AdapPasswordEntryRow is a variant of AdapEntryRow tailored for entering
secrets. It conceals the text and provides a button to show it, along with a
Caps Lock indicator.
Spin Rows
AdapSpinRow is a AdapActionRow with an embedded
GtkSpinButton.
Property Rows
When used together with the .property
style class, AdapActionRow and AdapExpanderRow deemphasize their title
and emphasize their subtitle instead, which is useful for displaying read-only properties:
<object class="AdapActionRow">
<property name="title" translatable="yes">Property Name</property>
<property name="subtitle">Value</property>
<property name="subtitle-selectable">True</property>
<style>
<class name="property"/>
</style>
</object>
Preferences Group
AdapPreferencesGroup provides a boxed list along with a title and a
description. It’s mainly meant to be used as a child of AdapPreferencesPage,
but can also be used separately.