SectionModel
Added in version 4.12.
- class SectionModel(*args, **kwargs)
Implementations: FilterListModel
, FlattenListModel
, MapListModel
, MultiSelection
, NoSelection
, SingleSelection
, SliceListModel
, SortListModel
GtkSectionModel
is an interface that adds support for sections to list models.
A GtkSectionModel
groups successive items into so-called sections. List widgets
like GtkListView
and GtkGridView
then allow displaying section headers for
these sections by installing a header factory.
Many GTK list models support sections inherently, or they pass through the sections of a model they are wrapping.
When the section groupings of a model change, the model will emit the
sections_changed
signal by calling the
sections_changed
function. All sections in the given range
then need to be queried again.
The items_changed
signal has the same effect, all sections in
that range are invalidated, too.
Methods
- class SectionModel
- get_section(position: int) tuple[int, int]
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.
Added in version 4.12.
- Parameters:
position – the position of the item to query
Signals
- class SectionModel.signals
- sections_changed(position: int, n_items: int) None
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 thesections_changed
signal for all the items it covers.Added in version 4.12.
- Parameters:
position – The first item that may have changed
n_items – number of items with changes
Virtual Methods
- class SectionModel
- do_get_section(position: int) tuple[int, int]
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.
Added in version 4.12.
- Parameters:
position – the position of the item to query