Combines multiple sorters by trying them in turn.
If the first sorter compares two items as equal, the second is tried next, and so on.
function "+"
(Widget : access Gtk_Multi_Sorter_Record'Class)
return Glib.List_Model.Glist_Model
function "+"
(Widget : access Gtk_Multi_Sorter_Record'Class)
return Gtk.Buildable.Gtk_Buildable
function "-"
(Interf : Glib.List_Model.Glist_Model)
return Gtk_Multi_Sorter
function "-"
(Interf : Gtk.Buildable.Gtk_Buildable)
return Gtk_Multi_Sorter
procedure Append
(Self : not null access Gtk_Multi_Sorter_Record;
Sorter : not null access Gtk.Sorter.Gtk_Sorter_Record'Class)
Add Sorter to Self to use for sorting at the end. Self will consult all existing sorters before it will sort with the given Sorter.
a sorter to add. Has transfer-ownership='full'.
function Get_Item
(Self : not null access Gtk_Multi_Sorter_Record;
Position : Guint) return Glib.Object.GObject
function Get_Item_Type
(Self : not null access Gtk_Multi_Sorter_Record) return GType
function Get_N_Items
(Self : not null access Gtk_Multi_Sorter_Record) return Guint
function Get_Type return Glib.GType
type Gtk_Multi_Sorter is access all Gtk_Multi_Sorter_Record'Class;
function Gtk_Multi_Sorter_New return Gtk_Multi_Sorter
Creates a new multi sorter. This sorter compares items by trying each of the sorters in turn, until one returns non-zero. In particular, if no sorter has been added to it, it will always compare items as equal.
type Gtk_Multi_Sorter_Record is new Gtk_Sorter_Record with null record;
procedure Gtk_New (Self : out Gtk_Multi_Sorter)
Creates a new multi sorter. This sorter compares items by trying each of the sorters in turn, until one returns non-zero. In particular, if no sorter has been added to it, it will always compare items as equal. Initialize does nothing if the object was already created with another call to Initialize* or G_New.
package Implements_Glist_Model is new Glib.Types.Implements
(Glib.List_Model.Glist_Model, Gtk_Multi_Sorter_Record, Gtk_Multi_Sorter);
package Implements_Gtk_Buildable is new Glib.Types.Implements
(Gtk.Buildable.Gtk_Buildable, Gtk_Multi_Sorter_Record, Gtk_Multi_Sorter);
procedure Initialize
(Self : not null access Gtk_Multi_Sorter_Record'Class)
Creates a new multi sorter. This sorter compares items by trying each of the sorters in turn, until one returns non-zero. In particular, if no sorter has been added to it, it will always compare items as equal. Initialize does nothing if the object was already created with another call to Initialize* or G_New.
procedure Items_Changed
(Self : not null access Gtk_Multi_Sorter_Record;
Position : Guint;
Removed : Guint;
Added : Guint)
N_Items_Property : constant Glib.Properties.Property_Uint;
The number of items. See [methodGio.ListModel.get_n_items].
procedure Remove
(Self : not null access Gtk_Multi_Sorter_Record;
Position : Guint)
Removes the sorter at the given Position from the list of sorter used by Self. If Position is larger than the number of sorters, nothing happens.
position of sorter to remove