procedure Destroy (Data : in out User_Data_Type)
type Gtk_Tree_Iter_Compare_Func is access function
(Model : Gtk.Tree_Model.Gtk_Tree_Model;
A : Gtk.Tree_Model.Gtk_Tree_Iter;
B : Gtk.Tree_Model.Gtk_Tree_Iter;
User_Data : User_Data_Type) return Glib.Gint;
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 Gtk.Tree_Sortable.Gtk_Tree_Sortable 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).
The Gtk.Tree_Model.Gtk_Tree_Model the comparison is within
A Gtk.Tree_Model.Gtk_Tree_Iter in Model
Another Gtk.Tree_Model.Gtk_Tree_Iter in Model
Data passed when the compare func is assigned e.g. by Gtk.Tree_Sortable.Set_Sort_Func
a negative integer, zero or a positive integer depending on whether A sorts before, with or after B
procedure Set_Default_Sort_Func
(Sortable : not null access Gtk.List_Store.Gtk_List_Store_Record'Class;
Sort_Func : Gtk_Tree_Iter_Compare_Func;
User_Data : User_Data_Type)
Sets the default comparison function used when sorting to be Sort_Func. If the current sort column id of Sortable is GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, then the model will sort using this function. If Sort_Func is null, then there will be no default comparison function. This means that once the model has been sorted, it can't go back to the default state. In this case, when the current sort column id of Sortable is GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, the model will be unsorted.
The comparison function
User data to pass to Sort_Func, or null
type User_Data_Type (<>) is private;