class Gtk::SignalListItemFactory
Overview
Gtk::SignalListItemFactory
is a Gtk::ListItemFactory
that emits signals
to to manage listitems.
Signals are emitted for every listitem in the same order:
-
Gtk::SignalListItemFactory::#setup
is emitted to set up permanent things on the listitem. This usually means constructing the widgets used in the row and adding them to the listitem. -
Gtk::SignalListItemFactory::#bind
is emitted to bind the item passed viaGtk::ListItem#item
to the widgets that have been created in step 1 or to add item-specific widgets. Signals are connected to listen to changes - both to changes in the item to update the widgets or to changes in the widgets to update the item. After this signal has been called, the listitem may be shown in a list widget. -
Gtk::SignalListItemFactory::#unbind
is emitted to undo everything done in step 2. Usually this means disconnecting signal handlers. Once this signal has been called, the listitem will no longer be used in a list widget. -
Gtk::SignalListItemFactory::#bind
andGtk::SignalListItemFactory::#unbind
may be emitted multiple times again to bind the listitem for use with new items. By reusing listitems, potentially costly setup can be avoided. However, it means code needs to make sure to properly clean up the listitem in step 3 so that no information from the previous use leaks into the next use. -
Gtk::SignalListItemFactory::#teardown
is emitted to allow undoing the effects ofGtk::SignalListItemFactory::#setup
. After this signal was emitted on a listitem, the listitem will be destroyed and not be used again.
Note that during the signal emissions, changing properties on the
Gtk::ListItem
s passed will not trigger notify signals as the listitem's
notifications are frozen. See g_object_freeze_notify() for details.
For tracking changes in other properties in the Gtk::ListItem
, the
::notify signal is recommended. The signal can be connected in the
Gtk::SignalListItemFactory::#setup
signal and removed again during
Gtk::SignalListItemFactory::#teardown
.
Defined in:
lib/gi-crystal/src/auto/gtk-4.0/signal_list_item_factory.crConstructors
-
.new : self
Creates a new
Gtk::SignalListItemFactory
.
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. - #bind_signal
-
#hash(hasher)
See
Object#hash(hasher)
- #setup_signal
- #teardown_signal
- #unbind_signal
Instance methods inherited from class Gtk::ListItemFactory
==(other : self)
==,
hash(hasher)
hash
Constructor methods inherited from class Gtk::ListItemFactory
new
new
Class methods inherited from class Gtk::ListItemFactory
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::SignalListItemFactory
.
You need to connect signal handlers before you use it.
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?
.