Trait gtk4::prelude::SectionModelExt
source · pub trait SectionModelExt:
IsA<SectionModel>
+ Sealed
+ 'static {
// Provided methods
fn section(&self, position: u32) -> (u32, u32) { ... }
fn sections_changed(&self, position: u32, n_items: u32) { ... }
fn connect_sections_changed<F: Fn(&Self, u32, u32) + 'static>(
&self,
f: F,
) -> SignalHandlerId { ... }
}
v4_12
only.Expand description
Trait containing all SectionModel
methods.
§Implementors
FilterListModel
, FlattenListModel
, MapListModel
, MultiSelection
, NoSelection
, SectionModel
, SingleSelection
, SliceListModel
, SortListModel
Provided Methods§
sourcefn section(&self, position: u32) -> (u32, u32)
fn section(&self, position: u32) -> (u32, u32)
Query the section that covers the given position. The number of
items in the section can be computed by out_end - out_start
.
If the position is larger than the number of items, a single range from n_items to G_MAXUINT will be returned.
§position
the position of the item to query
§Returns
§out_start
the position of the first item in the section
§out_end
the position of the first item not part of the section anymore.
sourcefn sections_changed(&self, position: u32, n_items: u32)
fn sections_changed(&self, position: u32, n_items: u32)
This function emits the sections-changed
signal to notify about changes to sections.
It must cover all positions that used to be a section start or that are now a section start. It does not have to cover all positions for which the section has changed.
The items-changed
implies the effect of the
sections-changed
signal for all the items
it covers.
It is recommended that when changes to the items cause section changes
in a larger range, that the larger range is included in the emission
of the items-changed
instead of emitting
two signals.
§position
the first changed item
§n_items
the number of changed items
sourcefn connect_sections_changed<F: Fn(&Self, u32, u32) + 'static>(
&self,
f: F,
) -> SignalHandlerId
fn connect_sections_changed<F: Fn(&Self, u32, u32) + 'static>( &self, f: F, ) -> SignalHandlerId
Emitted when the start-of-section state of some of the items in @model changes.
Note that this signal does not specify the new section state of the items, they need to be queried manually. It is also not necessary for a model to change the section state of any of the items in the section model, though it would be rather useless to emit such a signal.
The items-changed
implies the effect of the
sections-changed
signal for all the items
it covers.
§position
The first item that may have changed
§n_items
number of items with changes