Trait gtk4::prelude::ListBoxRowExt[][src]

pub trait ListBoxRowExt: 'static {
Show 16 methods fn changed(&self);
fn is_activatable(&self) -> bool;
fn child(&self) -> Option<Widget>;
fn header(&self) -> Option<Widget>;
fn index(&self) -> i32;
fn is_selectable(&self) -> bool;
fn is_selected(&self) -> bool;
fn set_activatable(&self, activatable: bool);
fn set_child<P: IsA<Widget>>(&self, child: Option<&P>);
fn set_header<P: IsA<Widget>>(&self, header: Option<&P>);
fn set_selectable(&self, selectable: bool);
fn connect_activate<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
fn emit_activate(&self);
fn connect_activatable_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_child_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_selectable_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
}
Expand description

Trait containing all ListBoxRow methods.

Implementors

ListBoxRow

Required methods

Marks self as changed, causing any state that depends on this to be updated.

This affects sorting, filtering and headers.

Note that calls to this method must be in sync with the data used for the row functions. For instance, if the list is mirroring some external data set, and two rows changed in the external data set then when you call changed() on the first row the sort function must only read the new data for the first of the two changed rows, otherwise the resorting of the rows will be wrong.

This generally means that if you don’t fully control the data model you have to duplicate the data that affects the listbox row functions into the row widgets themselves. Another alternative is to call ListBox::invalidate_sort() on any model change, but that is more expensive.

Gets whether the row is activatable.

Returns

true if the row is activatable

Gets the child widget of self.

Returns

the child widget of self

Returns the current header of the self.

This can be used in a `callback::Gtk::ListBoxUpdateHeaderFunc to see if there is a header set already, and if so to update the state of it.

Returns

the current header, or None if none

Gets the current index of the self in its ListBox container.

Returns

the index of the self, or -1 if the self is not in a listbox

Gets whether the row can be selected.

Returns

true if the row is selectable

Returns whether the child is currently selected in its ListBox container.

Returns

true if self is selected

Set whether the row is activatable.

activatable

true to mark the row as activatable

Sets the child widget of self_.

child

the child widget

Sets the current header of the self.

This is only allowed to be called from a `callback::Gtk::ListBoxUpdateHeaderFunc. It will replace any existing header in the row, and be shown in front of the row in the listbox.

the header, or None

Set whether the row can be selected.

selectable

true to mark the row as selectable

This is a keybinding signal, which will cause this row to be activated.

If you want to be notified when the user activates a row (by key or not), use the signal::ListBox::row-activated signal on the row’s parent ListBox.

Implementors