class Gtk::Filter
- Gtk::Filter
- GObject::Object
- Reference
- Object
Overview
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:
lib/gi-crystal/src/auto/gtk-4.0/filter.crConstructors
Class Method Summary
-
.g_type : UInt64
Returns the type id (GType) registered in GLib type system.
Instance Method Summary
-
#==(other : self)
Returns
true
if this reference is the same as other. -
#changed(change : Gtk::FilterChange) : Nil
Notifies all users of the filter that it has changed.
- #changed_signal
-
#hash(hasher)
See
Object#hash(hasher)
-
#match(item : GObject::Object) : Bool
Checks if the given item is matched by the filter or not.
-
#strictness : Gtk::FilterMatch
Gets the known strictness of filters.
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)new new, 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
Class Method Detail
Returns the type id (GType) registered in GLib type system.
Instance Method Detail
Returns true
if this reference is the same as other. Invokes same?
.
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.
Checks if the given item is matched by the filter or not.
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.