pub trait SectionModelExt: IsA<SectionModel> + '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
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.