Gtk.SignalListItemFactory¶
class — extends ListItemFactory
Emits signals to manage listitems.
Signals are emitted for every listitem in the same order:
-
SignalListItemFactory.setupis 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. -
SignalListItemFactory.bindis emitted to bind the item passed viaListItem.itemto 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. -
SignalListItemFactory.unbindis 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. -
SignalListItemFactory.bindandSignalListItemFactory.unbindmay 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 one. -
SignalListItemFactory.teardownis emitted to allow undoing the effects ofSignalListItemFactory.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 GObject.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
SignalListItemFactory.setup signal and removed again during
SignalListItemFactory.teardown.
Constructors¶
new¶
Creates a new GtkSignalListItemFactory.
You need to connect signal handlers before you use it.
Signals¶
bind¶
Emitted when an object has been bound to an item.
The handler for this signal must set to populate the listitem with widgets.
After this signal was emitted, the object might be shown in
a ListView or other widget.
The SignalListItemFactory.unbind signal is the
opposite of this signal and can be used to undo everything done
in this signal.
setup¶
Emitted when a newly created listitem needs to be prepared for use.
It is the first signal emitted for every listitem.
The handler for this signal must call ListItem.set_child
to populate the listitem with widgets.
The SignalListItemFactory.teardown signal is the opposite
of this signal and can be used to undo everything done in this signal.
teardown¶
Emitted when an object is about to be destroyed.
It is the last signal ever emitted for this object.
This signal is the opposite of the SignalListItemFactory.setup
signal and should be used to undo everything done in that signal.
unbind¶
Emitted when an object has been unbound from its item.
This happens for example when a listitem was removed from use
in a list widget and its ListItem.item is about
to be unset.
This signal is the opposite of the SignalListItemFactory.bind
signal and should be used to undo everything done in that signal.