SignalListItemFactoryRef
public struct SignalListItemFactoryRef : SignalListItemFactoryProtocol, GWeakCapturing
GtkSignalListItemFactory
is a GtkListItemFactory
that emits signals
to to manage listitems.
Signals are emitted for every listitem in the same order:
[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.[signal
Gtk.SignalListItemFactory::bind
] is emitted to bind the item passed via [propertyGtk.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.[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.[signal
Gtk.SignalListItemFactory::bind
] and [signalGtk.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.- [signal
Gtk.SignalListItemFactory::teardown
] is emitted to allow undoing the effects of [signalGtk.SignalListItemFactory::setup
]. After this signal was emitted on a listitem, the listitem will be destroyed and not be used again.
- [signal
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
[signalGtk.SignalListItemFactory::setup
] signal and removed again during
[signalGtk.SignalListItemFactory::teardown
].
The SignalListItemFactoryRef
type acts as a lightweight Swift reference to an underlying GtkSignalListItemFactory
instance.
It exposes methods that can operate on this data type through SignalListItemFactoryProtocol
conformance.
Use SignalListItemFactoryRef
only as an unowned
reference to an existing GtkSignalListItemFactory
instance.
-
Untyped pointer to the underlying `GtkSignalListItemFactory` instance.
For type-safe access, use the generated, typed pointer
signal_list_item_factory_ptr
property instead.Declaration
Swift
public let ptr: UnsafeMutableRawPointer!
-
Designated initialiser from the underlying
C
data typeDeclaration
Swift
@inlinable init(_ p: UnsafeMutablePointer<GtkSignalListItemFactory>)
-
Designated initialiser from a constant pointer to the underlying
C
data typeDeclaration
Swift
@inlinable init(_ p: UnsafePointer<GtkSignalListItemFactory>)
-
Conditional initialiser from an optional pointer to the underlying
C
data typeDeclaration
Swift
@inlinable init!(_ maybePointer: UnsafeMutablePointer<GtkSignalListItemFactory>?)
-
Conditional initialiser from an optional, non-mutable pointer to the underlying
C
data typeDeclaration
Swift
@inlinable init!(_ maybePointer: UnsafePointer<GtkSignalListItemFactory>?)
-
Conditional initialiser from an optional
gpointer
Declaration
Swift
@inlinable init!(gpointer g: gpointer?)
-
Conditional initialiser from an optional, non-mutable
gconstpointer
Declaration
Swift
@inlinable init!(gconstpointer g: gconstpointer?)
-
Reference intialiser for a related type that implements
SignalListItemFactoryProtocol
Declaration
Swift
@inlinable init<T>(_ other: T) where T : SignalListItemFactoryProtocol
-
This factory is syntactic sugar for setting weak pointers wrapped in
GWeak<T>
Declaration
Swift
@inlinable static func unowned<T>(_ other: T) -> SignalListItemFactoryRef where T : SignalListItemFactoryProtocol
-
Unsafe typed initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
SignalListItemFactoryProtocol
.Declaration
Swift
@inlinable init<T>(cPointer: UnsafeMutablePointer<T>)
-
Unsafe typed initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
SignalListItemFactoryProtocol
.Declaration
Swift
@inlinable init<T>(constPointer: UnsafePointer<T>)
-
Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
SignalListItemFactoryProtocol
.Declaration
Swift
@inlinable init(mutating raw: UnsafeRawPointer)
-
Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
SignalListItemFactoryProtocol
.Declaration
Swift
@inlinable init(raw: UnsafeMutableRawPointer)
-
Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
SignalListItemFactoryProtocol
.Declaration
Swift
@inlinable init(opaquePointer: OpaquePointer)
-
Creates a new `GtkSignalListItemFactory`.
You need to connect signal handlers before you use it.
Declaration
Swift
@inlinable init()