GtkSorter

说明 [源代码]

class Gtk.Sorter : GObject.Object
{
  /* No available fields */
}

GtkSorter 是用于描述排序条件的对象。

它的主要用户是 GtkSortListModel

该模型将使用一个排序器来确定其项目应通过调用 gtk_sorter_compare() 对项目对出现的顺序。

排序器可以在其生命周期内改变它们的排序行为。在这种情况下,它们会发出 GtkSorter::changed 信号来通知排序顺序已不再有效,并且应该通过再次调用 gtk_sorter_compare() 进行更新。

GTK 为常见排序操作提供各种预先制作的排序器实现。 GtkColumnView 通过 GtkColumnViewColumn:sorter 属性内置支持通过列表进行排序,用户可以通过单击列表标题来更改排序。

当然,特别是对于大型列表,还可以对 GtkSorter 进行子类化,并提供自己的排序器。

层级

hierarchy this GtkSorter ancestor_0 GObject ancestor_0--this

祖先

实例方法

gtk_sorter_changed

通知排序器所有用户它已经发生更改。

gtk_sorter_compare

根据排序器实现的排序顺序比较两个给定的项目。

gtk_sorter_get_order

获取 self 符合的顺序。

GObject (43) 继承的方法

请参阅 GObject 了解方法的完整列表。

信号

Gtk.Sorter::changed

每当排序器更改时发出。

GObject (1) 继承的信号
GObject::notify

当对象的某个属性通过 g_object_set_property()、g_object_set() 等设置其值时,将在对象上发出 notify 信号。

类结构

struct GtkSorterClass {
  GObjectClass parent_class;
  GtkOrdering (* compare) (
    GtkSorter* self,
    GObject* item1,
    GObject* item2
  );
  GtkSorterOrder (* get_order) (
    GtkSorter* self
  );
  void (* _gtk_reserved1) (
void
  );
  void (* _gtk_reserved2) (
void
  );
  void (* _gtk_reserved3) (
void
  );
  void (* _gtk_reserved4) (
void
  );
  void (* _gtk_reserved5) (
void
  );
  void (* _gtk_reserved6) (
void
  );
  void (* _gtk_reserved7) (
void
  );
  void (* _gtk_reserved8) (
void
  );
  
}

用于 GtkSorter 的虚拟表。

类成员
parent_class: GObjectClass

没有可用说明。

compare: GtkOrdering (* compare) ( GtkSorter* self, GObject* item1, GObject* item2 )

比较两个项目。有关详细信息,请参见 gtk_sorter_compare()

get_order: GtkSorterOrder (* get_order) ( GtkSorter* self )

获取适用于当前排序器的 GtkSorderOrder。如果未实现,它将返回 GTK_SORTER_ORDER_PARTIAL

_gtk_reserved1: void (* _gtk_reserved1) ( void )

没有可用说明。

_gtk_reserved2: void (* _gtk_reserved2) ( void )

没有可用说明。

_gtk_reserved3: void (* _gtk_reserved3) ( void )

没有可用说明。

_gtk_reserved4: void (* _gtk_reserved4) ( void )

没有可用说明。

_gtk_reserved5: void (* _gtk_reserved5) ( void )

没有可用说明。

_gtk_reserved6: void (* _gtk_reserved6) ( void )

没有可用说明。

_gtk_reserved7: void (* _gtk_reserved7) ( void )

没有可用说明。

_gtk_reserved8: void (* _gtk_reserved8) ( void )

没有可用说明。

虚拟方法

Gtk.SorterClass.compare

根据排序器实现的排序顺序比较两个给定的项目。

Gtk.SorterClass.get_order

获取 self 符合的顺序。