ColumnViewProtocol

public protocol ColumnViewProtocol : ScrollableProtocol, WidgetProtocol

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 ColumnViewProtocol protocol exposes the methods and properties of an underlying GtkColumnView instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, see ColumnView. Alternatively, use ColumnViewRef as a lighweight, unowned reference if you already have an instance you just want to use.

  • ptr

    Untyped pointer to the underlying GtkColumnView instance.

    Declaration

    Swift

    var ptr: UnsafeMutableRawPointer! { get }
  • column_view_ptr Default implementation

    Typed pointer to the underlying GtkColumnView instance.

    Default Implementation

    Return the stored, untyped pointer as a typed pointer to the GtkColumnView instance.

    Declaration

    Swift

    var column_view_ptr: UnsafeMutablePointer<GtkColumnView>! { get }
  • Required Initialiser for types conforming to ColumnViewProtocol

    Declaration

    Swift

    init(raw: UnsafeMutableRawPointer)

ColumnView Class

  • Bind a ColumnViewPropertyName source property to a given target object.

    Declaration

    Swift

    @discardableResult
    @inlinable
    func bind<Q, T>(property source_property: ColumnViewPropertyName, to target: T, _ target_property: Q, flags f: BindingFlags = .default, transformFrom transform_from: @escaping GLibObject.ValueTransformer = { $0.transform(destValue: $1) }, transformTo transform_to: @escaping GLibObject.ValueTransformer = { $0.transform(destValue: $1) }) -> BindingRef! where Q : PropertyNameProtocol, T : ObjectProtocol

    Parameters

    source_property

    the source property to bind

    target

    the target object to bind to

    target_property

    the target property to bind to

    flags

    the flags to pass to the Binding

    transform_from

    ValueTransformer to use for forward transformation

    transform_to

    ValueTransformer to use for backwards transformation

    Return Value

    binding reference or nil in case of an error

  • get(property:) Extension method

    Get the value of a ColumnView property

    Declaration

    Swift

    @inlinable
    func get(property: ColumnViewPropertyName) -> GLibObject.Value

    Parameters

    property

    the property to get the value for

    Return Value

    the value of the named property

  • set(property:value:) Extension method

    Set the value of a ColumnView property. Note that this will only have an effect on properties that are writable and not construct-only!

    Declaration

    Swift

    @inlinable
    func set(property: ColumnViewPropertyName, value v: GLibObject.Value)

    Parameters

    property

    the property to get the value for

    Return Value

    the value of the named property

ColumnView signals

  • Connect a Swift signal handler to the given, typed ColumnViewSignalName signal

    Declaration

    Swift

    @discardableResult
    @inlinable
    func connect(signal s: ColumnViewSignalName, flags f: ConnectFlags = ConnectFlags(0), handler h: @escaping SignalHandler) -> Int

    Parameters

    signal

    The signal to connect

    flags

    The connection flags to use

    data

    A pointer to user data to provide to the callback

    destroyData

    A GClosureNotify C function to destroy the data pointed to by userData

    handler

    The Swift signal handler (function or callback) to invoke on the given signal

    Return Value

    The signal handler ID (always greater than 0 for successful connections)

  • Connect a C signal handler to the given, typed ColumnViewSignalName signal

    Declaration

    Swift

    @discardableResult
    @inlinable
    func connect(signal s: ColumnViewSignalName, flags f: ConnectFlags = ConnectFlags(0), data userData: gpointer!, destroyData destructor: GClosureNotify? = nil, signalHandler h: @escaping GCallback) -> Int

    Parameters

    signal

    The signal to connect

    flags

    The connection flags to use

    data

    A pointer to user data to provide to the callback

    destroyData

    A GClosureNotify C function to destroy the data pointed to by userData

    signalHandler

    The C function to be called on the given signal

    Return Value

    The signal handler ID (always greater than 0 for successful connections)

  • onActivate(flags:handler:) Extension method

    Emitted when a row has been activated by the user, usually via activating the GtkListBase|list.activate-item action.

    This allows for a convenient way to handle activation in a columnview. See [methodGtk.ListItem.set_activatable] for details on how to use this signal.

    Note

    This represents the underlying activate signal

    Declaration

    Swift

    @discardableResult
    @inlinable
    func onActivate(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: ColumnViewRef, _ position: UInt) -> Void) -> Int

    Parameters

    flags

    Flags

    unownedSelf

    Reference to instance of self

    position

    position of item to activate

    handler

    The signal handler to call Run the given callback whenever the activate signal is emitted

  • activateSignal Extension method

    Typed activate signal for using the connect(signal:) methods

    Declaration

    Swift

    static var activateSignal: ColumnViewSignalName { get }
  • The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

    Note that getting this signal doesn’t itself guarantee that the value of the property has actually changed. When it is emitted is determined by the derived GObject class. If the implementor did not create the property with G_PARAM_EXPLICIT_NOTIFY, then any call to g_object_set_property() results in notify being emitted, even if the new value is the same as the old. If they did pass G_PARAM_EXPLICIT_NOTIFY, then this signal is emitted only when they explicitly call g_object_notify() or g_object_notify_by_pspec(), and common practice is to do that only when the value has actually changed.

    This signal is typically used to obtain change notification for a single property, by specifying the property name as a detail in the g_signal_connect() call, like this:

    (C Language Example):

    g_signal_connect (text_view->buffer, "notify::paste-target-list",
                      G_CALLBACK (gtk_text_view_target_list_notify),
                      text_view)
    

    It is important to note that you must use canonical parameter names as detail strings for the notify signal.

    Note

    This represents the underlying notify::columns signal

    Declaration

    Swift

    @discardableResult
    @inlinable
    func onNotifyColumns(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: ColumnViewRef, _ pspec: ParamSpecRef) -> Void) -> Int

    Parameters

    flags

    Flags

    unownedSelf

    Reference to instance of self

    pspec

    the GParamSpec of the property which changed.

    handler

    The signal handler to call Run the given callback whenever the notifyColumns signal is emitted

  • notifyColumnsSignal Extension method

    Typed notify::columns signal for using the connect(signal:) methods

    Declaration

    Swift

    static var notifyColumnsSignal: ColumnViewSignalName { get }
  • The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

    Note that getting this signal doesn’t itself guarantee that the value of the property has actually changed. When it is emitted is determined by the derived GObject class. If the implementor did not create the property with G_PARAM_EXPLICIT_NOTIFY, then any call to g_object_set_property() results in notify being emitted, even if the new value is the same as the old. If they did pass G_PARAM_EXPLICIT_NOTIFY, then this signal is emitted only when they explicitly call g_object_notify() or g_object_notify_by_pspec(), and common practice is to do that only when the value has actually changed.

    This signal is typically used to obtain change notification for a single property, by specifying the property name as a detail in the g_signal_connect() call, like this:

    (C Language Example):

    g_signal_connect (text_view->buffer, "notify::paste-target-list",
                      G_CALLBACK (gtk_text_view_target_list_notify),
                      text_view)
    

    It is important to note that you must use canonical parameter names as detail strings for the notify signal.

    Note

    This represents the underlying notify::enable-rubberband signal

    Declaration

    Swift

    @discardableResult
    @inlinable
    func onNotifyEnableRubberband(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: ColumnViewRef, _ pspec: ParamSpecRef) -> Void) -> Int

    Parameters

    flags

    Flags

    unownedSelf

    Reference to instance of self

    pspec

    the GParamSpec of the property which changed.

    handler

    The signal handler to call Run the given callback whenever the notifyEnableRubberband signal is emitted

  • notifyEnableRubberbandSignal Extension method

    Typed notify::enable-rubberband signal for using the connect(signal:) methods

    Declaration

    Swift

    static var notifyEnableRubberbandSignal: ColumnViewSignalName { get }
  • The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

    Note that getting this signal doesn’t itself guarantee that the value of the property has actually changed. When it is emitted is determined by the derived GObject class. If the implementor did not create the property with G_PARAM_EXPLICIT_NOTIFY, then any call to g_object_set_property() results in notify being emitted, even if the new value is the same as the old. If they did pass G_PARAM_EXPLICIT_NOTIFY, then this signal is emitted only when they explicitly call g_object_notify() or g_object_notify_by_pspec(), and common practice is to do that only when the value has actually changed.

    This signal is typically used to obtain change notification for a single property, by specifying the property name as a detail in the g_signal_connect() call, like this:

    (C Language Example):

    g_signal_connect (text_view->buffer, "notify::paste-target-list",
                      G_CALLBACK (gtk_text_view_target_list_notify),
                      text_view)
    

    It is important to note that you must use canonical parameter names as detail strings for the notify signal.

    Note

    This represents the underlying notify::model signal

    Declaration

    Swift

    @discardableResult
    @inlinable
    func onNotifyModel(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: ColumnViewRef, _ pspec: ParamSpecRef) -> Void) -> Int

    Parameters

    flags

    Flags

    unownedSelf

    Reference to instance of self

    pspec

    the GParamSpec of the property which changed.

    handler

    The signal handler to call Run the given callback whenever the notifyModel signal is emitted

  • notifyModelSignal Extension method

    Typed notify::model signal for using the connect(signal:) methods

    Declaration

    Swift

    static var notifyModelSignal: ColumnViewSignalName { get }
  • The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

    Note that getting this signal doesn’t itself guarantee that the value of the property has actually changed. When it is emitted is determined by the derived GObject class. If the implementor did not create the property with G_PARAM_EXPLICIT_NOTIFY, then any call to g_object_set_property() results in notify being emitted, even if the new value is the same as the old. If they did pass G_PARAM_EXPLICIT_NOTIFY, then this signal is emitted only when they explicitly call g_object_notify() or g_object_notify_by_pspec(), and common practice is to do that only when the value has actually changed.

    This signal is typically used to obtain change notification for a single property, by specifying the property name as a detail in the g_signal_connect() call, like this:

    (C Language Example):

    g_signal_connect (text_view->buffer, "notify::paste-target-list",
                      G_CALLBACK (gtk_text_view_target_list_notify),
                      text_view)
    

    It is important to note that you must use canonical parameter names as detail strings for the notify signal.

    Note

    This represents the underlying notify::reorderable signal

    Declaration

    Swift

    @discardableResult
    @inlinable
    func onNotifyReorderable(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: ColumnViewRef, _ pspec: ParamSpecRef) -> Void) -> Int

    Parameters

    flags

    Flags

    unownedSelf

    Reference to instance of self

    pspec

    the GParamSpec of the property which changed.

    handler

    The signal handler to call Run the given callback whenever the notifyReorderable signal is emitted

  • notifyReorderableSignal Extension method

    Typed notify::reorderable signal for using the connect(signal:) methods

    Declaration

    Swift

    static var notifyReorderableSignal: ColumnViewSignalName { get }
  • The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

    Note that getting this signal doesn’t itself guarantee that the value of the property has actually changed. When it is emitted is determined by the derived GObject class. If the implementor did not create the property with G_PARAM_EXPLICIT_NOTIFY, then any call to g_object_set_property() results in notify being emitted, even if the new value is the same as the old. If they did pass G_PARAM_EXPLICIT_NOTIFY, then this signal is emitted only when they explicitly call g_object_notify() or g_object_notify_by_pspec(), and common practice is to do that only when the value has actually changed.

    This signal is typically used to obtain change notification for a single property, by specifying the property name as a detail in the g_signal_connect() call, like this:

    (C Language Example):

    g_signal_connect (text_view->buffer, "notify::paste-target-list",
                      G_CALLBACK (gtk_text_view_target_list_notify),
                      text_view)
    

    It is important to note that you must use canonical parameter names as detail strings for the notify signal.

    Note

    This represents the underlying notify::show-column-separators signal

    Declaration

    Swift

    @discardableResult
    @inlinable
    func onNotifyShowColumnSeparators(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: ColumnViewRef, _ pspec: ParamSpecRef) -> Void) -> Int

    Parameters

    flags

    Flags

    unownedSelf

    Reference to instance of self

    pspec

    the GParamSpec of the property which changed.

    handler

    The signal handler to call Run the given callback whenever the notifyShowColumnSeparators signal is emitted

  • Typed notify::show-column-separators signal for using the connect(signal:) methods

    Declaration

    Swift

    static var notifyShowColumnSeparatorsSignal: ColumnViewSignalName { get }
  • The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

    Note that getting this signal doesn’t itself guarantee that the value of the property has actually changed. When it is emitted is determined by the derived GObject class. If the implementor did not create the property with G_PARAM_EXPLICIT_NOTIFY, then any call to g_object_set_property() results in notify being emitted, even if the new value is the same as the old. If they did pass G_PARAM_EXPLICIT_NOTIFY, then this signal is emitted only when they explicitly call g_object_notify() or g_object_notify_by_pspec(), and common practice is to do that only when the value has actually changed.

    This signal is typically used to obtain change notification for a single property, by specifying the property name as a detail in the g_signal_connect() call, like this:

    (C Language Example):

    g_signal_connect (text_view->buffer, "notify::paste-target-list",
                      G_CALLBACK (gtk_text_view_target_list_notify),
                      text_view)
    

    It is important to note that you must use canonical parameter names as detail strings for the notify signal.

    Note

    This represents the underlying notify::show-row-separators signal

    Declaration

    Swift

    @discardableResult
    @inlinable
    func onNotifyShowRowSeparators(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: ColumnViewRef, _ pspec: ParamSpecRef) -> Void) -> Int

    Parameters

    flags

    Flags

    unownedSelf

    Reference to instance of self

    pspec

    the GParamSpec of the property which changed.

    handler

    The signal handler to call Run the given callback whenever the notifyShowRowSeparators signal is emitted

  • Typed notify::show-row-separators signal for using the connect(signal:) methods

    Declaration

    Swift

    static var notifyShowRowSeparatorsSignal: ColumnViewSignalName { get }
  • The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

    Note that getting this signal doesn’t itself guarantee that the value of the property has actually changed. When it is emitted is determined by the derived GObject class. If the implementor did not create the property with G_PARAM_EXPLICIT_NOTIFY, then any call to g_object_set_property() results in notify being emitted, even if the new value is the same as the old. If they did pass G_PARAM_EXPLICIT_NOTIFY, then this signal is emitted only when they explicitly call g_object_notify() or g_object_notify_by_pspec(), and common practice is to do that only when the value has actually changed.

    This signal is typically used to obtain change notification for a single property, by specifying the property name as a detail in the g_signal_connect() call, like this:

    (C Language Example):

    g_signal_connect (text_view->buffer, "notify::paste-target-list",
                      G_CALLBACK (gtk_text_view_target_list_notify),
                      text_view)
    

    It is important to note that you must use canonical parameter names as detail strings for the notify signal.

    Note

    This represents the underlying notify::single-click-activate signal

    Declaration

    Swift

    @discardableResult
    @inlinable
    func onNotifySingleClickActivate(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: ColumnViewRef, _ pspec: ParamSpecRef) -> Void) -> Int

    Parameters

    flags

    Flags

    unownedSelf

    Reference to instance of self

    pspec

    the GParamSpec of the property which changed.

    handler

    The signal handler to call Run the given callback whenever the notifySingleClickActivate signal is emitted

  • Typed notify::single-click-activate signal for using the connect(signal:) methods

    Declaration

    Swift

    static var notifySingleClickActivateSignal: ColumnViewSignalName { get }
  • The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

    Note that getting this signal doesn’t itself guarantee that the value of the property has actually changed. When it is emitted is determined by the derived GObject class. If the implementor did not create the property with G_PARAM_EXPLICIT_NOTIFY, then any call to g_object_set_property() results in notify being emitted, even if the new value is the same as the old. If they did pass G_PARAM_EXPLICIT_NOTIFY, then this signal is emitted only when they explicitly call g_object_notify() or g_object_notify_by_pspec(), and common practice is to do that only when the value has actually changed.

    This signal is typically used to obtain change notification for a single property, by specifying the property name as a detail in the g_signal_connect() call, like this:

    (C Language Example):

    g_signal_connect (text_view->buffer, "notify::paste-target-list",
                      G_CALLBACK (gtk_text_view_target_list_notify),
                      text_view)
    

    It is important to note that you must use canonical parameter names as detail strings for the notify signal.

    Note

    This represents the underlying notify::sorter signal

    Declaration

    Swift

    @discardableResult
    @inlinable
    func onNotifySorter(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: ColumnViewRef, _ pspec: ParamSpecRef) -> Void) -> Int

    Parameters

    flags

    Flags

    unownedSelf

    Reference to instance of self

    pspec

    the GParamSpec of the property which changed.

    handler

    The signal handler to call Run the given callback whenever the notifySorter signal is emitted

  • notifySorterSignal Extension method

    Typed notify::sorter signal for using the connect(signal:) methods

    Declaration

    Swift

    static var notifySorterSignal: ColumnViewSignalName { get }

ColumnView Class: ColumnViewProtocol extension (methods and fields)

  • append(column:) Extension method

    Appends the column to the end of the columns in self.

    Declaration

    Swift

    @inlinable
    func append<ColumnViewColumnT>(column: ColumnViewColumnT) where ColumnViewColumnT : ColumnViewColumnProtocol
  • getColumns() Extension method

    Gets the list of columns in this column view.

    This list is constant over the lifetime of self and can be used to monitor changes to the columns of self by connecting to the items-changed signal.

    Declaration

    Swift

    @inlinable
    func getColumns() -> GIO.ListModelRef!
  • getEnableRubberband() Extension method

    Returns whether rows can be selected by dragging with the mouse.

    Declaration

    Swift

    @inlinable
    func getEnableRubberband() -> Bool
  • getModel() Extension method

    Gets the model that’s currently used to read the items displayed.

    Declaration

    Swift

    @inlinable
    func getModel() -> SelectionModelRef!
  • getReorderable() Extension method

    Returns whether columns are reorderable.

    Declaration

    Swift

    @inlinable
    func getReorderable() -> Bool
  • getShowColumnSeparators() Extension method

    Returns whether the list should show separators between columns.

    Declaration

    Swift

    @inlinable
    func getShowColumnSeparators() -> Bool
  • getShowRowSeparators() Extension method

    Returns whether the list should show separators between rows.

    Declaration

    Swift

    @inlinable
    func getShowRowSeparators() -> Bool
  • getSingleClickActivate() Extension method

    Returns whether rows will be activated on single click and selected on hover.

    Declaration

    Swift

    @inlinable
    func getSingleClickActivate() -> Bool
  • getSorter() Extension method

    Returns a special sorter that reflects the users sorting choices in the column view.

    To allow users to customizable sorting by clicking on column headers, this sorter needs to be set on the sort model underneath the model that is displayed by the view.

    See [methodGtk.ColumnViewColumn.set_sorter] for setting up per-column sorting.

    Here is an example:

    gtk_column_view_column_set_sorter (column, sorter);
    gtk_column_view_append_column (view, column);
    sorter = g_object_ref (gtk_column_view_get_sorter (view)));
    model = gtk_sort_list_model_new (store, sorter);
    selection = gtk_no_selection_new (model);
    gtk_column_view_set_model (view, selection);
    

    Declaration

    Swift

    @inlinable
    func getSorter() -> SorterRef!
  • Inserts a column at the given position in the columns of self.

    If column is already a column of self, it will be repositioned.

    Declaration

    Swift

    @inlinable
    func insertColumn<ColumnViewColumnT>(position: Int, column: ColumnViewColumnT) where ColumnViewColumnT : ColumnViewColumnProtocol
  • remove(column:) Extension method

    Removes the column from the list of columns of self.

    Declaration

    Swift

    @inlinable
    func remove<ColumnViewColumnT>(column: ColumnViewColumnT) where ColumnViewColumnT : ColumnViewColumnProtocol
  • set(enableRubberband:) Extension method

    Sets whether selections can be changed by dragging with the mouse.

    Declaration

    Swift

    @inlinable
    func set(enableRubberband: Bool)
  • set(model:) Extension method

    Sets the model to use.

    This must be a [ifaceGtk.SelectionModel].

    Declaration

    Swift

    @inlinable
    func set(model: SelectionModelRef? = nil)
  • set(model:) Extension method

    Sets the model to use.

    This must be a [ifaceGtk.SelectionModel].

    Declaration

    Swift

    @inlinable
    func set<SelectionModelT>(model: SelectionModelT?) where SelectionModelT : SelectionModelProtocol
  • set(reorderable:) Extension method

    Sets whether columns should be reorderable by dragging.

    Declaration

    Swift

    @inlinable
    func set(reorderable: Bool)
  • set(showColumnSeparators:) Extension method

    Sets whether the list should show separators between columns.

    Declaration

    Swift

    @inlinable
    func set(showColumnSeparators: Bool)
  • set(showRowSeparators:) Extension method

    Sets whether the list should show separators between rows.

    Declaration

    Swift

    @inlinable
    func set(showRowSeparators: Bool)
  • set(singleClickActivate:) Extension method

    Sets whether rows should be activated on single click and selected on hover.

    Declaration

    Swift

    @inlinable
    func set(singleClickActivate: Bool)
  • sortBy(column:direction:) Extension method

    Sets the sorting of the view.

    This function should be used to set up the initial sorting. At runtime, users can change the sorting of a column view by clicking on the list headers.

    This call only has an effect if the sorter returned by [methodGtk.ColumnView.get_sorter] is set on a sort model, and [methodGtk.ColumnViewColumn.set_sorter] has been called on column to associate a sorter with the column.

    If column is nil, the view will be unsorted.

    Declaration

    Swift

    @inlinable
    func sortBy(column: ColumnViewColumnRef? = nil, direction: GtkSortType)
  • sortBy(column:direction:) Extension method

    Sets the sorting of the view.

    This function should be used to set up the initial sorting. At runtime, users can change the sorting of a column view by clicking on the list headers.

    This call only has an effect if the sorter returned by [methodGtk.ColumnView.get_sorter] is set on a sort model, and [methodGtk.ColumnViewColumn.set_sorter] has been called on column to associate a sorter with the column.

    If column is nil, the view will be unsorted.

    Declaration

    Swift

    @inlinable
    func sortBy<ColumnViewColumnT>(column: ColumnViewColumnT?, direction: GtkSortType) where ColumnViewColumnT : ColumnViewColumnProtocol
  • columns Extension method

    The list of columns.

    Declaration

    Swift

    @inlinable
    var columns: GIO.ListModelRef! { get }
  • enableRubberband Extension method

    Returns whether rows can be selected by dragging with the mouse.

    Declaration

    Swift

    @inlinable
    var enableRubberband: Bool { get nonmutating set }
  • model Extension method

    Model for the items displayed.

    Declaration

    Swift

    @inlinable
    var model: SelectionModelRef! { get nonmutating set }
  • reorderable Extension method

    Whether columns are reorderable.

    Declaration

    Swift

    @inlinable
    var reorderable: Bool { get nonmutating set }
  • showColumnSeparators Extension method

    Returns whether the list should show separators between columns.

    Declaration

    Swift

    @inlinable
    var showColumnSeparators: Bool { get nonmutating set }
  • showRowSeparators Extension method

    Returns whether the list should show separators between rows.

    Declaration

    Swift

    @inlinable
    var showRowSeparators: Bool { get nonmutating set }
  • singleClickActivate Extension method

    Returns whether rows will be activated on single click and selected on hover.

    Declaration

    Swift

    @inlinable
    var singleClickActivate: Bool { get nonmutating set }
  • sorter Extension method

    Sorter with the sorting choices of the user.

    Declaration

    Swift

    @inlinable
    var sorter: SorterRef! { get }