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.

  • ptr
    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!

TreeRowReference Record

  • Designated initialiser from the underlying C data type

    Declaration

    Swift

    @inlinable
    init(_ p: UnsafeMutablePointer<GtkTreeRowReference>)
  • Designated initialiser from a constant pointer to the underlying C data type

    Declaration

    Swift

    @inlinable
    init(_ p: UnsafePointer<GtkTreeRowReference>)
  • Conditional initialiser from an optional pointer to the underlying C data type

    Declaration

    Swift

    @inlinable
    init!(_ maybePointer: UnsafeMutablePointer<GtkTreeRowReference>?)
  • Conditional initialiser from an optional, non-mutable pointer to the underlying C data type

    Declaration

    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 on model are propagated, and the path is updated appropriately. If path isn’t a valid path in model, then nil 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. If path isn’t a valid path in model, then nil is returned. However, unlike references created with gtk_tree_row_reference_new(), it does not listen to the model for changes. The creator of the row reference must do this explicitly using gtk_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 as model and proxy 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. If path isn’t a valid path in model, then nil is returned. However, unlike references created with gtk_tree_row_reference_new(), it does not listen to the model for changes. The creator of the row reference must do this explicitly using gtk_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 as model and proxy 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