函数

GtkTreeIterCompareFunc

声明

int
(* GtkTreeIterCompareFunc) (
  GtkTreeModel* model,
  GtkTreeIter* a,
  GtkTreeIter* b,
  gpointer user_data
)

描述 [src]

如果 ab 之前排序,ab 一起排序,或者 ab 之后排序,则 GtkTreeIterCompareFunc 应分别返回负整数、零或正整数。

如果两个迭代器被比较为相等,则它们在已排序模型中的顺序是未定义的。为了确保 GtkTreeSortable 按预期的方式工作,GtkTreeIterCompareFunc 必须定义模型上的偏序,即它必须是自反的、反对称的和传递性的。

例如,如果 model 是产品目录,则“价格”列的比较函数可以是返回 price_of(a) - price_of(b) 的函数。

参数

model

类型: GtkTreeModel

比较所在处的 GtkTreeModel

数据由函数的调用者所有。
a

类型: GtkTreeIter

model 中的 GtkTreeIter

数据由函数的调用者所有。
b

类型: GtkTreeIter

model 中的另一个 GtkTreeIter

数据由函数的调用者所有。
user_data

类型: gpointer

分配比较函数时传递的数据,例如,通过 gtk_tree_sortable_set_sort_func()。

此参数可以为 NULL
数据由函数的调用者所有。

返回值

类型: int

负整数、零或正整数,具体取决于 ab 之前、与 b 一起还是在 b 之后排序。