Package: gtk

Class gtk-list-box

Superclasses

gtk-container, gtk-widget, gtk-buildable, g-object, common-lisp:standard-object, common-lisp:t

Documented Subclasses

None

Direct Slots

activate-on-single-click
The activate-on-single-click property of type :boolean (Read / Write)
Activate row on a single click.
Default value: true
selection-mode
The selection-mode property of type gtk-selection-mode (Read / Write)
The selection mode.
Default value: :single

Details

The gtk-list-box widget is a vertical container that contains gtk-list-box-row children. These rows can by dynamically sorted and filtered, and headers can be added dynamically depending on the row content. It also allows keyboard and mouse navigation and selection like a typical list.



Using the gtk-list-box widget is often an alternative to the gtk-tree-view widget, especially when the list contents has a more complicated layout than what is allowed by a gtk-cell-renderer object, or when the contents is interactive, i.e. has a button in it.

Although a gtk-list-box widget must have only gtk-list-box-row children you can add any kind of widget to it via the gtk-container-add function, and a gtk-list-box-row widget will automatically be inserted between the list box and the widget.

The gtk-list-box-row widget can be marked as activatable or selectable. If a row is activatable, the "row-activated" signal will be emitted for it when the user tries to activate it. If it is selectable, the row will be marked as selected when the user tries to select it.

CSS Nodes

 list
  ╰── row[.activatable]    
The gtk-list-box implementation uses a single CSS node named list. Each gtk-list-box-row widget uses a single CSS node named row. The row nodes get the .activatable style class added when appropriate.

Signal Details

The "activate-cursor-row" signal
 lambda (listbox)    :action      
listbox
The gtk-list-box widget on which the signal is emitted.
The "move-cursor" signal
 lambda (listbox step count)    :action      
listbox
The gtk-list-box widget on which the signal is emitted.
step
A value of the gtk-movement-step enumeration.
count
An integer.
The "row-activated" signal
 lambda (listbox row)    :run-last      
The signal is emitted when a row has been activated by the user.
listbox
The gtk-list-box widget on which the signal is emitted.
row
The activated gtk-list-box-row widget.
The "row-selected" signal
 lambda (listbox row)    :run-last      
The signal is emitted when a new row is selected, or when the selection is cleared. When the list box is using the :multiple selection mode, this signal will not give you the full picture of selection changes, and you should use the "selected-rows-changed" signal instead.
listbox
The gtk-list-box widget on which the signal is emitted.
row
The selected gtk-list-box-row widget.
The "select-all" signal
 lambda (listbox)    :action      
The signal is a keybinding signal which gets emitted to select all children of the list box, if the selection mode permits it. The default bindings for this signal is the Ctrl-a key.
listbox
The gtk-list-box widget on which the signal is emitted.
The "selected-rows-changed" signal
 lambda (listbox)    :run-first      
The signal is emitted when the set of selected rows changes.
listbox
The gtk-list-box widget on which the signal is emitted.
The "toggle-cursor-row" signal
 lambda (listbox)    :action      
listbox
The gtk-list-box widget on which the signal is emitted.
The "unselect-all" signal
 lambda (listbox)    :action      
The signal is a keybinding signal which gets emitted to unselect all children of the list box, if the selection mode permits it. The default bindings for this signal is the Ctrl-Shift-a key.
listbox
The gtk-list-box widget on which the signal is emitted.
 

Slot Access Functions

Inherited Slot Access Functions

See also

*2021-12-15