TreeExpanderProtocol
public protocol TreeExpanderProtocol : WidgetProtocol
GtkTreeExpander is a widget that provides an expander for a list.
It is typically placed as a bottommost child into a GtkListView
to allow users to expand and collapse children in a list with a
[classGtk.TreeListModel]. GtkTreeExpander provides the common UI
elements, gestures and keybindings for this purpose.
On top of this, the “listitem.expand”, “listitem.collapse” and “listitem.toggle-expand” actions are provided to allow adding custom UI for managing expanded state.
The GtkTreeListModel must be set to not be passthrough. Then it
will provide [classGtk.TreeListRow] items which can be set via
[methodGtk.TreeExpander.set_list_row] on the expander.
The expander will then watch that row item automatically.
[methodGtk.TreeExpander.set_child] sets the widget that displays
the actual row contents.
CSS nodes
treeexpander
├── [indent]*
├── [expander]
╰── <child>
GtkTreeExpander has zero or one CSS nodes with the name “expander” that
should display the expander icon. The node will be :checked when it
is expanded. If the node is not expandable, an “indent” node will be
displayed instead.
For every level of depth, another “indent” node is prepended.
Accessibility
GtkTreeExpander uses the GTK_ACCESSIBLE_ROLE_GROUP role. The expander icon
is represented as a GTK_ACCESSIBLE_ROLE_BUTTON, labelled by the expander’s
child, and toggling it will change the GTK_ACCESSIBLE_STATE_EXPANDED state.
The TreeExpanderProtocol protocol exposes the methods and properties of an underlying GtkTreeExpander 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 TreeExpander.
Alternatively, use TreeExpanderRef as a lighweight, unowned reference if you already have an instance you just want to use.
-
Untyped pointer to the underlying
GtkTreeExpanderinstance.Declaration
Swift
var ptr: UnsafeMutableRawPointer! { get } -
tree_expander_ptrDefault implementationTyped pointer to the underlying
GtkTreeExpanderinstance.Default Implementation
Return the stored, untyped pointer as a typed pointer to the
GtkTreeExpanderinstance.Declaration
Swift
var tree_expander_ptr: UnsafeMutablePointer<GtkTreeExpander>! { get } -
Required Initialiser for types conforming to
TreeExpanderProtocolDeclaration
Swift
init(raw: UnsafeMutableRawPointer)
-
bind(property:Extension methodto: _: flags: transformFrom: transformTo: ) Bind a
TreeExpanderPropertyNamesource property to a given target object.Declaration
Swift
@discardableResult @inlinable func bind<Q, T>(property source_property: TreeExpanderPropertyName, 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 : ObjectProtocolParameters
source_propertythe source property to bind
targetthe target object to bind to
target_propertythe target property to bind to
flagsthe flags to pass to the
Bindingtransform_fromValueTransformerto use for forward transformationtransform_toValueTransformerto use for backwards transformationReturn Value
binding reference or
nilin case of an error -
get(property:Extension method) Get the value of a TreeExpander property
Declaration
Swift
@inlinable func get(property: TreeExpanderPropertyName) -> GLibObject.ValueParameters
propertythe property to get the value for
Return Value
the value of the named property
-
set(property:Extension methodvalue: ) Set the value of a TreeExpander property. Note that this will only have an effect on properties that are writable and not construct-only!
Declaration
Swift
@inlinable func set(property: TreeExpanderPropertyName, value v: GLibObject.Value)Parameters
propertythe property to get the value for
Return Value
the value of the named property
-
getChild()Extension methodGets the child widget displayed by
self.Declaration
Swift
@inlinable func getChild() -> WidgetRef! -
getItem()Extension methodForwards the item set on the
GtkTreeListRowthatselfis managing.This call is essentially equivalent to calling:
gtk_tree_list_row_get_item (gtk_tree_expander_get_list_row (`self`));Declaration
Swift
@inlinable func getItem() -> GLibObject.ObjectRef! -
getListRow()Extension methodGets the list row managed by
self.Declaration
Swift
@inlinable func getListRow() -> TreeListRowRef! -
set(child:Extension method) Sets the content widget to display.
Declaration
Swift
@inlinable func set(child: WidgetRef? = nil) -
set(child:Extension method) Sets the content widget to display.
Declaration
Swift
@inlinable func set<WidgetT>(child: WidgetT?) where WidgetT : WidgetProtocol -
set(listRow:Extension method) Sets the tree list row that this expander should manage.
Declaration
Swift
@inlinable func set(listRow: TreeListRowRef? = nil) -
set(listRow:Extension method) Sets the tree list row that this expander should manage.
Declaration
Swift
@inlinable func set<TreeListRowT>(listRow: TreeListRowT?) where TreeListRowT : TreeListRowProtocol -
childExtension methodThe child widget with the actual contents.
Declaration
Swift
@inlinable var child: WidgetRef! { get nonmutating set } -
itemExtension methodThe item held by this expander’s row.
Declaration
Swift
@inlinable var item: GLibObject.ObjectRef! { get } -
listRowExtension methodGets the list row managed by
self.Declaration
Swift
@inlinable var listRow: TreeListRowRef! { get nonmutating set }
View on GitHub
Install in Dash
TreeExpanderProtocol Protocol Reference