Class

GtkSignalListItemFactory

Description [src]

final class Gtk.SignalListItemFactory : Gtk.ListItemFactory
{
  /* No available fields */
}

GtkSignalListItemFactory is a GtkListItemFactory that emits signals to manage listitems.

Signals are emitted for every listitem in the same order:

  1. GtkSignalListItemFactory::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.

  2. GtkSignalListItemFactory::bind is emitted to bind the item passed via GtkListItem: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.

  3. GtkSignalListItemFactory::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.

  4. GtkSignalListItemFactory::bind and GtkSignalListItemFactory::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.

  5. GtkSignalListItemFactory::teardown is emitted to allow undoing the effects of GtkSignalListItemFactory::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 listitems 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 listitem, the ::notify signal is recommended. The signal can be connected in the GtkSignalListItemFactory::setup signal and removed again during GtkSignalListItemFactory::teardown.

Hierarchy

hierarchy this GtkSignalListItemFactory ancestor_0 GtkListItemFactory ancestor_0--this ancestor_1 GObject ancestor_1--ancestor_0

Constructors

gtk_signal_list_item_factory_new

Creates a new GtkSignalListItemFactory.

Instance methods

Methods inherited from GObject (43)

Please see GObject for a full list of methods.

Signals

Gtk.SignalListItemFactory::bind

Emitted when an object has been bound, for example when a new GtkListItem:item has been set on a listitem and should be bound for use.

Gtk.SignalListItemFactory::setup

Emitted when a new listitem has been created and needs to be setup for use.

Gtk.SignalListItemFactory::teardown

Emitted when an object is about to be destroyed.

Gtk.SignalListItemFactory::unbind

Emitted when an object has been unbound from its item, for example when a listitem was removed from use in a list widget and its GtkListItem:item is about to be unset.

Signals inherited from GObject (1)
GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

Class structure

struct GtkSignalListItemFactoryClass {
  /* no available fields */
}

No description available.