TableRef
public struct TableRef : TableProtocol
AtkTable
should be implemented by components which present
elements ordered via rows and columns. It may also be used to
present tree-structured information if the nodes of the trees can
be said to contain multiple “columns”. Individual elements of an
AtkTable
are typically referred to as “cells”. Those cells should
implement the interface AtkTableCell
, but Atk
doesn’t require
them to be direct children of the current AtkTable
. They can be
grand-children, grand-grand-children etc. AtkTable
provides the
API needed to get a individual cell based on the row and column
numbers.
Children of AtkTable
are frequently “lightweight” objects, that
is, they may not have backing widgets in the host UI toolkit. They
are therefore often transient.
Since tables are often very complex, AtkTable
includes provision
for offering simplified summary information, as well as row and
column headers and captions. Headers and captions are AtkObjects
which may implement other interfaces (AtkText
, AtkImage
, etc.) as
appropriate. AtkTable
summaries may themselves be (simplified)
AtkTables
, etc.
Note for implementors: in the past, AtkTable
required that all the
cells should be direct children of AtkTable
, and provided some
index based methods to request the cells. The practice showed that
that forcing made AtkTable
implementation complex, and hard to
expose other kind of children, like rows or captions. Right now,
index-based methods are deprecated.
The TableRef
type acts as a lightweight Swift reference to an underlying AtkTable
instance.
It exposes methods that can operate on this data type through TableProtocol
conformance.
Use TableRef
only as an unowned
reference to an existing AtkTable
instance.
-
Untyped pointer to the underlying `AtkTable` instance.
For type-safe access, use the generated, typed pointer
table_ptr
property instead.Declaration
Swift
public let ptr: UnsafeMutableRawPointer!
-
Designated initialiser from the underlying
C
data typeDeclaration
Swift
@inlinable init(_ p: UnsafeMutablePointer<AtkTable>)
-
Designated initialiser from a constant pointer to the underlying
C
data typeDeclaration
Swift
@inlinable init(_ p: UnsafePointer<AtkTable>)
-
Conditional initialiser from an optional pointer to the underlying
C
data typeDeclaration
Swift
@inlinable init!(_ maybePointer: UnsafeMutablePointer<AtkTable>?)
-
Conditional initialiser from an optional, non-mutable pointer to the underlying
C
data typeDeclaration
Swift
@inlinable init!(_ maybePointer: UnsafePointer<AtkTable>?)
-
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
TableProtocol
Declaration
Swift
@inlinable init<T>(_ other: T) where T : TableProtocol
-
Unsafe typed initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
TableProtocol
.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
TableProtocol
.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
TableProtocol
.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
TableProtocol
.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
TableProtocol
.Declaration
Swift
@inlinable init(opaquePointer: OpaquePointer)