类
GtkSortListModel
说明 [src]
final class Gtk.SortListModel : GObject.Object
implements Gio.ListModel, Gtk.SectionModel {
/* No available fields */
}
一个GListModel,按照一个 GtkSorter来对底层模型中的元素进行排序。
该模型是一种稳定排序。如果两个项目根据排序器进行比较,那么首先在原始模型中出现的那个项目在排序后也会首先出现。请注意,如果您更改了排序器,则先前的顺序将不会影响新顺序。如果您需要这种功能,请考虑使用GtkMultiSorter,并将其追加到排序器。
可以对模型进行设置,以进行增量排序,这样即使排序长列表也不会阻塞UI。有关详情,请参见gtk_sort_list_model_set_incremental()。
GtkSortListModel是一种通用模型,因此在排序时无法利用任何外部知识。如果您在GtkSortListModel中遇到性能问题,强烈建议您编写自己的排序列表模型。
GtkSortListModel允许对项目进行分部分排序。它实现了GtkSectionModel,并且当GtkSortListModel:section-sorter被设置时,它将使用该排序器对所有项目进行排序,并且与之比较相等的项目将被放入同一部分。然后,GtkSortListModel:sorter将用于对各部分内的项目进行排序。
实例方法
Methods inherited from GListModel (5)
g_list_model_get_item
获取位于 position 的项目。
g_list_model_get_item_type
获取 list 中的项目类型。
g_list_model_get_n_items
获取 list 中的项目数。
g_list_model_get_object
获取位于 position 的项目。
g_list_model_items_changed
在 list 上发送 GListModel::items-changed 信号。
Methods inherited from GtkSectionModel (2)
gtk_section_model_get_section
查询包含给定位置的部分。部分中的项目数可通过 out_end - out_start 计算。
自:4.12
gtk_section_model_sections_changed
此函数发送 GtkSectionModel::sections-changed 信号来通知部分更改。
自:4.12
Signals
Signals inherited from GObject (1)
GObject::notify
当通过 g_object_set_property()、g_object_set() 等方式给对象的某个属性设置其值时,发送 notify 信号。
Signals inherited from GListModel (1)
GListModel::items-changed
每当从 list 中添加或删除项目时,都会发送此信号。在 position 处,删除了 removed 个项目,并按其位置添加了 added 个项目。