class Gtk::MapListModel
- Gtk::MapListModel
- GObject::Object
- Reference
- Object
Overview
A Gtk::MapListModel
maps the items in a list model to different items.
Gtk::MapListModel
uses a Gtk::MapListModelMapFunc
.
Example: Create a list of Gtk::EventControllers
WARNING ⚠️ The following code is in c ⚠️
static gpointer
map_to_controllers (gpointer widget,
gpointer data)
{
gpointer result = gtk_widget_observe_controllers (widget);
g_object_unref (widget);
return result;
}
widgets = gtk_widget_observe_children (widget);
controllers = gtk_map_list_model_new (widgets,
map_to_controllers,
NULL, NULL);
model = gtk_flatten_list_model_new (GTK_TYPE_EVENT_CONTROLLER,
controllers);
Gtk::MapListModel
will attempt to discard the mapped objects as soon as
they are no longer needed and recreate them if necessary.
Included Modules
Defined in:
lib/gi-crystal/src/auto/gtk-4.0/map_list_model.crConstructors
-
.new(model : Gio::ListModel | Nil, map_func : Gtk::MapListModelMapFunc | Nil) : self
Creates a new
Gtk::MapListModel
for the given arguments. -
.new
Initialize a new
MapListModel
. - .new(*, has_map : Bool | Nil = nil, model : Gio::ListModel | Nil = nil)
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. -
#has_map : Bool
Checks if a map function is currently set on self.
- #has_map? : Bool
-
#hash(hasher)
See
Object#hash(hasher)
-
#map_func=(map_func : Gtk::MapListModelMapFunc | Nil) : Nil
Sets the function used to map items.
-
#model : Gio::ListModel | Nil
Gets the model that is currently being mapped or
nil
if none. -
#model=(model : Gio::ListModel | Nil) : Nil
Sets the model to be mapped.
Instance methods inherited from module Gio::ListModel
item(position : UInt32) : GObject::Object | Nil
item,
item_type : UInt64
item_type,
items_changed(position : UInt32, removed : UInt32, added : UInt32) : Nilitems_changed(position : Int, removed : Int, added : Int) : Nil items_changed, items_changed_signal items_changed_signal, n_items : UInt32 n_items, to_unsafe to_unsafe
Constructor methods inherited from module Gio::ListModel
cast(obj : GObject::Object) : self
cast
Class methods inherited from module Gio::ListModel
cast?(obj : GObject::Object) : self | Nil
cast?,
g_type : UInt64
g_type
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
Creates a new Gtk::MapListModel
for the given arguments.
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?
.
Sets the function used to map items.
The function will be called whenever an item needs to be mapped and must return the item to use for the given input item.
Note that Gtk::MapListModel
may call this function multiple times
on the same item, because it may delete items it doesn't need anymore.
GTK makes no effort to ensure that map_func conforms to the item type of self. It assumes that the caller knows what they are doing and the map function returns items of the appropriate type.
Sets the model to be mapped.
GTK makes no effort to ensure that model conforms to the item type expected by the map function. It assumes that the caller knows what they are doing and have set up an appropriate map function.