class Gtk::Filter


A Gtk::Filter object describes the filtering to be performed by a Gtk::FilterListModel.

The model will use the filter to determine if it should include items or not by calling Gtk::Filter#match for each item and only keeping the ones that the function returns true for.

Filters may change what items they match through their lifetime. In that case, they will emit the Gtk::Filter::#changed signal to notify that previous filter results are no longer valid and that items should be checked again via Gtk::Filter#match.

GTK provides various pre-made filter implementations for common filtering operations. These filters often include properties that can be linked to various widgets to easily allow searches.

However, in particular for large lists or complex search methods, it is also possible to subclass Gtk::Filter and provide one's own filter.

Direct Known Subclasses

Defined in:



Class Method Summary

Instance Method Summary

Instance methods inherited from class GObject::Object

==(other : self) ==, 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) | Nil data, finalize finalize, freeze_notify : Nil freeze_notify, getv(names : Enumerable(String), values : Enumerable(_)) : Nil getv, hash(hasher) hash, 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) | Nil qdata, ref_count : UInt32 ref_count, run_dispose : Nil run_dispose, set_data(key : String, data : Pointer(Void) | Nil) : Nil set_data, set_property(property_name : String, value : _) : Nil set_property, steal_data(key : String) : Pointer(Void) | Nil steal_data, steal_qdata(quark : UInt32) : Pointer(Void) | Nil 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, new(pointer : Pointer(Void), transfer : GICrystal::Transfer)
, newv(object_type : UInt64, parameters : Enumerable(GObject::Parameter)) : self newv

Class methods inherited from class GObject::Object

cast?(obj : GObject::Object) : self | Nil cast?, compat_control(what : UInt64, data : Pointer(Void) | Nil) : 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

Macros inherited from class GObject::Object

previous_vfunc(*args) previous_vfunc, previous_vfunc!(*args) previous_vfunc!, signal(signature) signal

Constructor Detail

def #

Initialize a new Filter.

[View source]

Class Method Detail

def self.g_type : UInt64 #

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

[View source]

Instance Method Detail

def ==(other : self) #
Description copied from class Reference

Returns true if this reference is the same as other. Invokes same?.

def changed(change : Gtk::FilterChange) : Nil #

Notifies all users of the filter that it has changed.

This emits the Gtk::Filter::#changed signal. Users of the filter should then check items again via Gtk::Filter#match.

Depending on the change parameter, not all items need to be changed, but only some. Refer to the Gtk::FilterChange documentation for details.

This function is intended for implementors of Gtk::Filter subclasses and should not be called from other functions.

[View source]
def changed_signal #

[View source]
def hash(hasher) #
Description copied from class Reference

See Object#hash(hasher)

def match(item : GObject::Object) : Bool #

Checks if the given item is matched by the filter or not.

[View source]
def strictness : Gtk::FilterMatch #

Gets the known strictness of filters.

If the strictness is not known, %GTK_FILTER_MATCH_SOME is returned.

This value may change after emission of the Gtk::Filter::#changed signal.

This function is meant purely for optimization purposes, filters can choose to omit implementing it, but Gtk::FilterListModel uses it.

[View source]