TreeRowReferenceRef
public struct TreeRowReferenceRef : TreeRowReferenceProtocol
A GtkTreeRowReference tracks model changes so that it always refers to the
same row (a GtkTreePath
refers to a position, not a fixed row). Create a
new GtkTreeRowReference with gtk_tree_row_reference_new()
.
The TreeRowReferenceRef
type acts as a lightweight Swift reference to an underlying GtkTreeRowReference
instance.
It exposes methods that can operate on this data type through TreeRowReferenceProtocol
conformance.
Use TreeRowReferenceRef
only as an unowned
reference to an existing GtkTreeRowReference
instance.
-
Untyped pointer to the underlying `GtkTreeRowReference` instance.
For type-safe access, use the generated, typed pointer
tree_row_reference_ptr
property instead.Declaration
Swift
public let ptr: UnsafeMutableRawPointer!
-
Designated initialiser from the underlying
C
data typeDeclaration
Swift
@inlinable init(_ p: UnsafeMutablePointer<GtkTreeRowReference>)
-
Designated initialiser from a constant pointer to the underlying
C
data typeDeclaration
Swift
@inlinable init(_ p: UnsafePointer<GtkTreeRowReference>)
-
Conditional initialiser from an optional pointer to the underlying
C
data typeDeclaration
Swift
@inlinable init!(_ maybePointer: UnsafeMutablePointer<GtkTreeRowReference>?)
-
Conditional initialiser from an optional, non-mutable pointer to the underlying
C
data typeDeclaration
Swift
@inlinable init!(_ maybePointer: UnsafePointer<GtkTreeRowReference>?)
-
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
TreeRowReferenceProtocol
Declaration
Swift
@inlinable init<T>(_ other: T) where T : TreeRowReferenceProtocol
-
Unsafe typed initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
TreeRowReferenceProtocol
.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
TreeRowReferenceProtocol
.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
TreeRowReferenceProtocol
.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
TreeRowReferenceProtocol
.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
TreeRowReferenceProtocol
.Declaration
Swift
@inlinable init(opaquePointer: OpaquePointer)
-
Creates a row reference based on `path`.
This reference will keep pointing to the node pointed to by
path
, so long as it exists. Any changes that occur onmodel
are propagated, and the path is updated appropriately. Ifpath
isn’t a valid path inmodel
, thennil
is returned.Declaration
Swift
@inlinable init<TreeModelT, TreePathT>(model: TreeModelT, path: TreePathT) where TreeModelT : TreeModelProtocol, TreePathT : TreePathProtocol
-
You do not need to use this function.
Creates a row reference based on
path
.This reference will keep pointing to the node pointed to by
path
, so long as it exists. Ifpath
isn’t a valid path inmodel
, thennil
is returned. However, unlike references created withgtk_tree_row_reference_new()
, it does not listen to the model for changes. The creator of the row reference must do this explicitly usinggtk_tree_row_reference_inserted()
,gtk_tree_row_reference_deleted()
,gtk_tree_row_reference_reordered()
.These functions must be called exactly once per proxy when the corresponding signal on the model is emitted. This single call updates all row references for that proxy. Since built-in GTK objects like
GtkTreeView
already use this mechanism internally, using them as the proxy object will produce unpredictable results. Further more, passing the same object asmodel
andproxy
doesn’t work for reasons of internal implementation.This type of row reference is primarily meant by structures that need to carefully monitor exactly when a row reference updates itself, and is not generally needed by most applications.
Declaration
Swift
@inlinable init<ObjectT, TreeModelT, TreePathT>(proxy: ObjectT, model: TreeModelT, path: TreePathT) where ObjectT : ObjectProtocol, TreeModelT : TreeModelProtocol, TreePathT : TreePathProtocol
-
You do not need to use this function.
Creates a row reference based on
path
.This reference will keep pointing to the node pointed to by
path
, so long as it exists. Ifpath
isn’t a valid path inmodel
, thennil
is returned. However, unlike references created withgtk_tree_row_reference_new()
, it does not listen to the model for changes. The creator of the row reference must do this explicitly usinggtk_tree_row_reference_inserted()
,gtk_tree_row_reference_deleted()
,gtk_tree_row_reference_reordered()
.These functions must be called exactly once per proxy when the corresponding signal on the model is emitted. This single call updates all row references for that proxy. Since built-in GTK objects like
GtkTreeView
already use this mechanism internally, using them as the proxy object will produce unpredictable results. Further more, passing the same object asmodel
andproxy
doesn’t work for reasons of internal implementation.This type of row reference is primarily meant by structures that need to carefully monitor exactly when a row reference updates itself, and is not generally needed by most applications.
Declaration
Swift
@inlinable static func new<ObjectT, TreeModelT, TreePathT>(proxy: ObjectT, model: TreeModelT, path: TreePathT) -> TreeRowReferenceRef! where ObjectT : ObjectProtocol, TreeModelT : TreeModelProtocol, TreePathT : TreePathProtocol