TreeIterCompareFunc (
  GtkTreeModel* model,
  GtkTreeIter* a,
  GtkTreeIter* b,
  gpointer user_data

Description [src]

A GtkTreeIterCompareFunc should return a negative integer, zero, or a positive integer if a sorts before b, a sorts with b, or a sorts after b respectively.

If two iters compare as equal, their order in the sorted model is undefined. In order to ensure that the GtkTreeSortable behaves as expected, the GtkTreeIterCompareFunc must define a partial order on the model, i.e. it must be reflexive, antisymmetric and transitive.

For example, if model is a product catalogue, then a compare function for the “price” column could be one which returns price_of(a) - price_of(b).


model GtkTreeModel

The GtkTreeModel the comparison is within

 Ownership is not transferred to the callee
a GtkTreeIter

A GtkTreeIter in model

 Ownership is not transferred to the callee
b GtkTreeIter

Another GtkTreeIter in model

 Ownership is not transferred to the callee
user_data gpointer

Data passed when the compare func is assigned e.g. by gtk_tree_sortable_set_sort_func()

Return value

Returns: int

a negative integer, zero or a positive integer depending on whether a sorts before, with or after b