ColumnViewRef
public struct ColumnViewRef : ColumnViewProtocol, GWeakCapturing
GtkColumnView presents a large dynamic list of items using multiple columns
with headers.
GtkColumnView uses the factories of its columns to generate a cell widget for
each column, for each visible item and displays them together as the row for
this item.
The [propertyGtk.ColumnView:show-row-separators] and
[propertyGtk.ColumnView:show-column-separators] properties offer a simple way
to display separators between the rows or columns.
GtkColumnView allows the user to select items according to the selection
characteristics of the model. For models that allow multiple selected items,
it is possible to turn on rubberband selection, using
[propertyGtk.ColumnView:enable-rubberband].
The column view supports sorting that can be customized by the user by
clicking on column headers. To set this up, the GtkSorter returned by
[methodGtk.ColumnView.get_sorter] must be attached to a sort model for the
data that the view is showing, and the columns must have sorters attached to
them by calling [methodGtk.ColumnViewColumn.set_sorter]. The initial sort
order can be set with [methodGtk.ColumnView.sort_by_column].
The column view also supports interactive resizing and reordering of
columns, via Drag-and-Drop of the column headers. This can be enabled or
disabled with the [propertyGtk.ColumnView:reorderable] and
[propertyGtk.ColumnViewColumn:resizable] properties.
To learn more about the list widget framework, see the overview.
CSS nodes
columnview[.column-separators][.rich-list][.navigation-sidebar][.data-table]
├── header
│ ├── <column header>
┊ ┊
│ ╰── <column header>
│
├── listview
│
┊
╰── [rubberband]
GtkColumnView uses a single CSS node named columnview. It may carry the
.column-separators style class, when [propertyGtk.ColumnView:show-column-separators]
property is set. Header widgets appear below a node with name header.
The rows are contained in a GtkListView widget, so there is a listview
node with the same structure as for a standalone GtkListView widget.
If [propertyGtk.ColumnView:show-row-separators] is set, it will be passed
on to the list view, causing its CSS node to carry the .separators style class.
For rubberband selection, a node with name rubberband is used.
The main columnview node may also carry style classes to select the style of list presentation: .rich-list, .navigation-sidebar or .data-table.
Accessibility
GtkColumnView uses the GTK_ACCESSIBLE_ROLE_TREE_GRID role, header title
widgets are using the GTK_ACCESSIBLE_ROLE_COLUMN_HEADER role. The row widgets
are using the GTK_ACCESSIBLE_ROLE_ROW role, and individual cells are using
the GTK_ACCESSIBLE_ROLE_GRID_CELL role
The ColumnViewRef type acts as a lightweight Swift reference to an underlying GtkColumnView instance.
It exposes methods that can operate on this data type through ColumnViewProtocol conformance.
Use ColumnViewRef only as an unowned reference to an existing GtkColumnView instance.
-
Untyped pointer to the underlying `GtkColumnView` instance.For type-safe access, use the generated, typed pointer
column_view_ptrproperty instead.Declaration
Swift
public let ptr: UnsafeMutableRawPointer!
-
Designated initialiser from the underlying
Cdata typeDeclaration
Swift
@inlinable init(_ p: UnsafeMutablePointer<GtkColumnView>) -
Designated initialiser from a constant pointer to the underlying
Cdata typeDeclaration
Swift
@inlinable init(_ p: UnsafePointer<GtkColumnView>) -
Conditional initialiser from an optional pointer to the underlying
Cdata typeDeclaration
Swift
@inlinable init!(_ maybePointer: UnsafeMutablePointer<GtkColumnView>?) -
Conditional initialiser from an optional, non-mutable pointer to the underlying
Cdata typeDeclaration
Swift
@inlinable init!(_ maybePointer: UnsafePointer<GtkColumnView>?) -
Conditional initialiser from an optional
gpointerDeclaration
Swift
@inlinable init!(gpointer g: gpointer?) -
Conditional initialiser from an optional, non-mutable
gconstpointerDeclaration
Swift
@inlinable init!(gconstpointer g: gconstpointer?) -
Reference intialiser for a related type that implements
ColumnViewProtocolDeclaration
Swift
@inlinable init<T>(_ other: T) where T : ColumnViewProtocol -
This factory is syntactic sugar for setting weak pointers wrapped in
GWeak<T>Declaration
Swift
@inlinable static func unowned<T>(_ other: T) -> ColumnViewRef where T : ColumnViewProtocol -
Unsafe typed initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
ColumnViewProtocol.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
ColumnViewProtocol.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
ColumnViewProtocol.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
ColumnViewProtocol.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
ColumnViewProtocol.Declaration
Swift
@inlinable init(opaquePointer: OpaquePointer) -
Creates a new `GtkColumnView`.You most likely want to call [method
Gtk.ColumnView.append_column] to add columns next.Declaration
Swift
@inlinable init<SelectionModelT>(model: SelectionModelT?) where SelectionModelT : SelectionModelProtocol
View on GitHub
Install in Dash
ColumnViewRef Structure Reference