Trait gtk4::prelude::ListBoxRowExt
source · 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(&self, child: Option<&impl IsA<Widget>>);
fn set_header(&self, header: Option<&impl IsA<Widget>>);
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
Required Methods§
sourcefn changed(&self)
fn changed(&self)
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 gtk_list_box_row_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.
sourcefn is_activatable(&self) -> bool
fn is_activatable(&self) -> bool
sourcefn header(&self) -> Option<Widget>
fn header(&self) -> Option<Widget>
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
sourcefn is_selectable(&self) -> bool
fn is_selectable(&self) -> bool
sourcefn is_selected(&self) -> bool
fn is_selected(&self) -> bool
sourcefn set_activatable(&self, activatable: bool)
fn set_activatable(&self, activatable: bool)
sourcefn set_header(&self, header: Option<&impl IsA<Widget>>)
fn set_header(&self, header: Option<&impl IsA<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.
header
the header
sourcefn set_selectable(&self, selectable: bool)
fn set_selectable(&self, selectable: bool)
sourcefn connect_activate<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
fn connect_activate<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
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
.