Package ch.bailu.gtk.gtk
Class SignalListItemFactory
java.lang.Object
ch.bailu.gtk.type.Type
ch.bailu.gtk.type.Pointer
ch.bailu.gtk.gobject.Object
ch.bailu.gtk.gtk.ListItemFactory
ch.bailu.gtk.gtk.SignalListItemFactory
- All Implemented Interfaces:
PointerInterface
`GtkSignalListItemFactory` is a `GtkListItemFactory` that emits signals
to to manage listitems.
Signals are emitted for every listitem in the same order:
1. [signal@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.
2. [signal@Gtk.SignalListItemFactory::bind] is emitted to bind the item passed
via [property@Gtk.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.
3. [signal@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.
4. [signal@Gtk.SignalListItemFactory::bind] and
[signal@Gtk.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.
5. [signal@Gtk.SignalListItemFactory::teardown] is emitted to allow undoing
the effects of [signal@Gtk.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
`GtkListItem`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 `GtkListItem`, the
::notify signal is recommended. The signal can be connected in the
[signal@Gtk.SignalListItemFactory::setup] signal and removed again during
[signal@Gtk.SignalListItemFactory::teardown].
to to manage listitems.
Signals are emitted for every listitem in the same order:
1. [signal@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.
2. [signal@Gtk.SignalListItemFactory::bind] is emitted to bind the item passed
via [property@Gtk.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.
3. [signal@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.
4. [signal@Gtk.SignalListItemFactory::bind] and
[signal@Gtk.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.
5. [signal@Gtk.SignalListItemFactory::teardown] is emitted to allow undoing
the effects of [signal@Gtk.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
`GtkListItem`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 `GtkListItem`, the
::notify signal is recommended. The signal can be connected in the
[signal@Gtk.SignalListItemFactory::setup] signal and removed again during
[signal@Gtk.SignalListItemFactory::teardown].
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic interface
static interface
static interface
static interface
Nested classes/interfaces inherited from class ch.bailu.gtk.gobject.Object
Object.OnBindingTransformFunc, Object.OnDestroyNotify, Object.OnDuplicateFunc, Object.OnNotify, Object.OnToggleNotify, Object.OnWeakNotify
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
static final String
static final String
static final String
Fields inherited from class ch.bailu.gtk.gobject.Object
SIGNAL_ON_NOTIFY
-
Constructor Summary
ConstructorDescriptionCreates a new `GtkSignalListItemFactory`.SignalListItemFactory
(PointerContainer pointer) -
Method Summary
Modifier and TypeMethodDescriptionstatic ClassHandler
static int
static long
static TypeSystem.TypeSize
static long
static TypeSystem.TypeSize
onBind
(SignalListItemFactory.OnBind signal) Connect to signal "bind".onSetup
(SignalListItemFactory.OnSetup signal) Connect to signal "setup".Connect to signal "teardown".Connect to signal "unbind".Methods inherited from class ch.bailu.gtk.gobject.Object
addToggleRef, bindProperty, bindProperty, bindPropertyFull, bindPropertyFull, bindPropertyWithClosures, bindPropertyWithClosures, compatControl, connect, connect, disconnect, disconnect, dupData, dupData, dupQdata, forceFloating, freezeNotify, get, get, getData, getData, getProperty, getProperty, getQdata, interfaceFindProperty, interfaceInstallProperty, isFloating, notify, notify, notifyByPspec, onNotify, ref, refSink, removeToggleRef, replaceData, replaceData, replaceQdata, runDispose, set, set, setData, setData, setDataFull, setDataFull, setProperty, setProperty, setQdata, setQdataFull, stealData, stealData, stealQdata, takeRef, thawNotify, unref, watchClosure, weakRef, weakUnref
Methods inherited from class ch.bailu.gtk.type.Pointer
asCPointer, cast, connectSignal, disconnectSignals, disconnectSignals, equals, hashCode, throwIfNull, throwNullPointerException, toString, unregisterCallbacks, unregisterCallbacks
Methods inherited from class ch.bailu.gtk.type.Type
asCPointer, asCPointer, asCPointerNotNull, asJnaPointer, asJnaPointer, asPointer, asPointer, cast, cast, throwIfNull
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface ch.bailu.gtk.type.PointerInterface
asCPointerNotNull, asJnaPointer, asPointer, isNotNull, isNull
-
Field Details
-
SIGNAL_ON_BIND
- See Also:
-
SIGNAL_ON_SETUP
- See Also:
-
SIGNAL_ON_TEARDOWN
- See Also:
-
SIGNAL_ON_UNBIND
- See Also:
-
-
Constructor Details
-
SignalListItemFactory
-
SignalListItemFactory
public SignalListItemFactory()Creates a new `GtkSignalListItemFactory`.
You need to connect signal handlers before you use it.
-
-
Method Details
-
getClassHandler
-
onBind
Connect to signal "bind".
SeeSignalListItemFactory.OnBind.onBind(ch.bailu.gtk.gobject.Object)
for signal description.
FieldSIGNAL_ON_BIND
contains original signal name and can be used as resource reference.- Parameters:
signal
- callback function (lambda).- Returns:
SignalHandler
. Can be used to disconnect signal and to release callback function.
-
onSetup
Connect to signal "setup".
SeeSignalListItemFactory.OnSetup.onSetup(ch.bailu.gtk.gobject.Object)
for signal description.
FieldSIGNAL_ON_SETUP
contains original signal name and can be used as resource reference.- Parameters:
signal
- callback function (lambda).- Returns:
SignalHandler
. Can be used to disconnect signal and to release callback function.
-
onTeardown
Connect to signal "teardown".
SeeSignalListItemFactory.OnTeardown.onTeardown(ch.bailu.gtk.gobject.Object)
for signal description.
FieldSIGNAL_ON_TEARDOWN
contains original signal name and can be used as resource reference.- Parameters:
signal
- callback function (lambda).- Returns:
SignalHandler
. Can be used to disconnect signal and to release callback function.
-
onUnbind
Connect to signal "unbind".
SeeSignalListItemFactory.OnUnbind.onUnbind(ch.bailu.gtk.gobject.Object)
for signal description.
FieldSIGNAL_ON_UNBIND
contains original signal name and can be used as resource reference.- Parameters:
signal
- callback function (lambda).- Returns:
SignalHandler
. Can be used to disconnect signal and to release callback function.
-
getTypeID
public static long getTypeID() -
getParentTypeID
public static long getParentTypeID() -
getTypeSize
-
getParentTypeSize
-
getInstanceSize
public static int getInstanceSize()
-