class Gtk::MultiSorter

Overview

GtkMultiSorter 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.

Included Modules

Defined in:

auto/gtk-4.0/multi_sorter.cr

Constructors

Class Method Summary

Instance Method Summary

Instance methods inherited from module Gtk::Buildable

buildable_id : String? buildable_id, to_unsafe to_unsafe

Instance methods inherited from module Gio::ListModel

item(position : UInt32) : GObject::Object? item, item_type : UInt64 item_type, items_changed(position : UInt32, removed : UInt32, added : UInt32) : Nil items_changed, items_changed_signal items_changed_signal, n_items : UInt32 n_items, to_unsafe to_unsafe

Instance methods inherited from class Gtk::Sorter

changed(change : Gtk::SorterChange) : Nil changed, changed_signal changed_signal, compare(item1 : GObject::Object, item2 : GObject::Object) : Gtk::Ordering compare, order : Gtk::SorterOrder order

Constructor methods inherited from class Gtk::Sorter

new new

Class methods inherited from class Gtk::Sorter

g_type : UInt64 g_type

Instance methods inherited from class GObject::Object

bind_property(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags) : GObject::Binding bind_property, bind_property_full(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags, transform_to : GObject::Closure, transform_from : GObject::Closure) : GObject::Binding bind_property_full, data(key : String) : Pointer(Void)? data, finalize finalize, freeze_notify : Nil freeze_notify, getv(names : Enumerable(String), values : Enumerable(_)) : Nil getv, notify(property_name : String) : Nil notify, notify_by_pspec(pspec : GObject::ParamSpec) : Nil notify_by_pspec, notify_signal notify_signal, property(property_name : String, value : _) : Nil property, qdata(quark : UInt32) : Pointer(Void)? qdata, ref_count ref_count, run_dispose : Nil run_dispose, set_data(key : String, data : Pointer(Void)?) : Nil set_data, set_property(property_name : String, value : _) : Nil set_property, steal_data(key : String) : Pointer(Void)? steal_data, steal_qdata(quark : UInt32) : Pointer(Void)? steal_qdata, thaw_notify : Nil thaw_notify, to_unsafe : Pointer(Void) to_unsafe, watch_closure(closure : GObject::Closure) : Nil watch_closure

Constructor methods inherited from class GObject::Object

cast(obj : GObject::Object) : self cast, cast?(obj : GObject::Object) : self? cast?, new new, newv(object_type : UInt64, parameters : Enumerable(GObject::Parameter)) : self newv

Class methods inherited from class GObject::Object

compat_control(what : UInt64, data : Pointer(Void)?) : UInt64 compat_control, g_type : UInt64 g_type, interface_find_property(g_iface : GObject::TypeInterface, property_name : String) : GObject::ParamSpec interface_find_property, interface_list_properties(g_iface : GObject::TypeInterface) : Enumerable(GObject::ParamSpec) interface_list_properties

Constructor Detail

def self.new #

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.


Class Method Detail

def self.g_type : UInt64 #

Returns the type id (GType) registered in GLib type system.


Instance Method Detail

def append(sorter : Gtk::Sorter) : Nil #

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.


def remove(position : UInt32) : Nil #

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.