Package ch.bailu.gtk.gtk
Class TreeExpander
java.lang.Object
ch.bailu.gtk.type.Type
ch.bailu.gtk.type.Pointer
ch.bailu.gtk.gobject.Object
ch.bailu.gtk.gobject.InitiallyUnowned
ch.bailu.gtk.gtk.Widget
ch.bailu.gtk.gtk.TreeExpander
- All Implemented Interfaces:
PointerInterface
`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
[class@Gtk.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 [class@Gtk.TreeListRow] items which can be set via
[method@Gtk.TreeExpander.set_list_row] on the expander.
The expander will then watch that row item automatically.
[method@Gtk.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.
It is typically placed as a bottommost child into a `GtkListView`
to allow users to expand and collapse children in a list with a
[class@Gtk.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 [class@Gtk.TreeListRow] items which can be set via
[method@Gtk.TreeExpander.set_list_row] on the expander.
The expander will then watch that row item automatically.
[method@Gtk.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.
-
Nested Class Summary
Nested classes/interfaces inherited from class ch.bailu.gtk.gtk.Widget
Widget.OnDestroy, Widget.OnDestroyNotify, Widget.OnDirectionChanged, Widget.OnHide, Widget.OnKeynavFailed, Widget.OnMap, Widget.OnMnemonicActivate, Widget.OnMoveFocus, Widget.OnQueryTooltip, Widget.OnRealize, Widget.OnShow, Widget.OnStateFlagsChanged, Widget.OnTickCallback, Widget.OnUnmap, Widget.OnUnrealize
Nested classes/interfaces inherited from class ch.bailu.gtk.gobject.Object
Object.OnBindingTransformFunc, Object.OnDuplicateFunc, Object.OnNotify, Object.OnToggleNotify, Object.OnWeakNotify
-
Field Summary
Fields inherited from class ch.bailu.gtk.gtk.Widget
SIGNAL_ON_DESTROY, SIGNAL_ON_DIRECTION_CHANGED, SIGNAL_ON_HIDE, SIGNAL_ON_KEYNAV_FAILED, SIGNAL_ON_MAP, SIGNAL_ON_MNEMONIC_ACTIVATE, SIGNAL_ON_MOVE_FOCUS, SIGNAL_ON_QUERY_TOOLTIP, SIGNAL_ON_REALIZE, SIGNAL_ON_SHOW, SIGNAL_ON_STATE_FLAGS_CHANGED, SIGNAL_ON_UNMAP, SIGNAL_ON_UNREALIZE
Fields inherited from class ch.bailu.gtk.gobject.Object
SIGNAL_ON_NOTIFY
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionImplements interfaceAccessible
.Implements interfaceBuildable
.Implements interfaceConstraintTarget
.getChild()
Gets the child widget displayed by @self.static ClassHandler
boolean
TreeExpander indents the child by the width of an expander-icon if it is not expandable.static int
getItem()
Forwards the item set on the `GtkTreeListRow` that @self is managing.Gets the list row managed by @self.static long
static TypeSystem.TypeSize
static long
static TypeSystem.TypeSize
void
Sets the content widget to display.void
setIndentForIcon
(boolean indent_for_icon) Sets if the TreeExpander should indent the child by the width of an expander-icon when it is not expandable.void
setListRow
(TreeListRow list_row) Sets the tree list row that this expander should manage.Methods inherited from class ch.bailu.gtk.gtk.Widget
actionSetEnabled, actionSetEnabled, activate, activateAction, activateAction, activateActionVariant, activateActionVariant, activateDefault, addController, addCssClass, addCssClass, addMnemonicLabel, addTickCallback, allocate, childFocus, computeBounds, computeExpand, computePoint, computeTransform, contains, createPangoContext, createPangoLayout, createPangoLayout, disposeTemplate, dragCheckThreshold, errorBell, getAllocatedBaseline, getAllocatedHeight, getAllocatedWidth, getAllocation, getAncestor, getCanFocus, getCanTarget, getChildVisible, getClipboard, getCssClasses, getCssName, getCursor, getDefaultDirection, getDirection, getDisplay, getFirstChild, getFocusable, getFocusChild, getFocusOnClick, getFontMap, getFontOptions, getFrameClock, getHalign, getHasTooltip, getHeight, getHexpand, getHexpandSet, getLastChild, getLayoutManager, getMapped, getMarginBottom, getMarginEnd, getMarginStart, getMarginTop, getName, getNative, getNextSibling, getOpacity, getOverflow, getPangoContext, getParent, getPreferredSize, getPrevSibling, getPrimaryClipboard, getRealized, getReceivesDefault, getRequestMode, getRoot, getScaleFactor, getSensitive, getSettings, getSize, getSizeRequest, getStateFlags, getStyleContext, getTemplateChild, getTemplateChild, getTooltipMarkup, getTooltipText, getValign, getVexpand, getVexpandSet, getVisible, getWidth, grabFocus, hasCssClass, hasCssClass, hasDefault, hasFocus, hasVisibleFocus, hide, inDestruction, initTemplate, insertActionGroup, insertActionGroup, insertAfter, insertBefore, isAncestor, isDrawable, isFocus, isSensitive, isVisible, keynavFailed, listMnemonicLabels, map, measure, mnemonicActivate, observeChildren, observeControllers, onDestroy, onDirectionChanged, onHide, onKeynavFailed, onMap, onMnemonicActivate, onMoveFocus, onQueryTooltip, onRealize, onShow, onStateFlagsChanged, onUnmap, onUnrealize, pick, queueAllocate, queueDraw, queueResize, realize, removeController, removeCssClass, removeCssClass, removeMnemonicLabel, removeTickCallback, setCanFocus, setCanTarget, setChildVisible, setCssClasses, setCursor, setCursorFromName, setCursorFromName, setDefaultDirection, setDirection, setFocusable, setFocusChild, setFocusOnClick, setFontMap, setFontOptions, setHalign, setHasTooltip, setHexpand, setHexpandSet, setLayoutManager, setMarginBottom, setMarginEnd, setMarginStart, setMarginTop, setName, setName, setOpacity, setOverflow, setParent, setReceivesDefault, setSensitive, setSizeRequest, setStateFlags, setTooltipMarkup, setTooltipMarkup, setTooltipText, setTooltipText, setValign, setVexpand, setVexpandSet, setVisible, shouldLayout, show, sizeAllocate, snapshotChild, triggerTooltipQuery, unmap, unparent, unrealize, unsetStateFlags
Methods inherited from class ch.bailu.gtk.gobject.Object
addToggleRef, bindProperty, bindProperty, bindPropertyFull, bindPropertyFull, bindPropertyWithClosures, bindPropertyWithClosures, compatControl, connect, connect, disconnect, disconnect, dupData, dupData, dupQdata, forceFloating, freezeNotify, get, get, getData, getData, getProperty, getProperty, getQdata, interfaceFindProperty, interfaceInstallProperty, isFloating, notify, notify, notifyByPspec, onNotify, ref, refSink, removeToggleRef, replaceData, replaceData, replaceQdata, runDispose, set, set, setData, setData, setDataFull, setDataFull, setProperty, setProperty, setQdata, setQdataFull, stealData, stealData, stealQdata, takeRef, thawNotify, unref, watchClosure, weakRef, weakUnref
Methods inherited from class ch.bailu.gtk.type.Pointer
asCPointer, cast, connectSignal, disconnectSignals, disconnectSignals, equals, hashCode, throwIfNull, throwNullPointerException, toString, unregisterCallbacks, unregisterCallbacks
Methods inherited from class ch.bailu.gtk.type.Type
asCPointer, asCPointer, asCPointerNotNull, asJnaPointer, asJnaPointer, asPointer, asPointer, cast, cast, throwIfNull
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface ch.bailu.gtk.type.PointerInterface
asCPointerNotNull, asJnaPointer, asPointer, isNotNull, isNull
-
Constructor Details
-
TreeExpander
-
TreeExpander
public TreeExpander()Creates a new `GtkTreeExpander`
-
-
Method Details
-
getClassHandler
-
getChild
Gets the child widget displayed by @self.- Returns:
- The child displayed by @self
-
getIndentForIcon
public boolean getIndentForIcon()TreeExpander indents the child by the width of an expander-icon if it is not expandable.- Returns:
- TRUE if the child should be indented when not expandable. Otherwise FALSE.
-
getItem
Forwards the item set on the `GtkTreeListRow` that @self is managing.
This call is essentially equivalent to calling:
```c
gtk_tree_list_row_get_item (gtk_tree_expander_get_list_row (@self));
```- Returns:
- The item of the row
-
getListRow
Gets the list row managed by @self.- Returns:
- The list row displayed by @self
-
setChild
Sets the content widget to display.- Parameters:
child
- a `GtkWidget`
-
setIndentForIcon
public void setIndentForIcon(boolean indent_for_icon) Sets if the TreeExpander should indent the child by the width of an expander-icon when it is not expandable.- Parameters:
indent_for_icon
- TRUE if the child should be indented without expander. Otherwise FALSE.
-
setListRow
Sets the tree list row that this expander should manage.- Parameters:
list_row
- a `GtkTreeListRow`
-
asAccessible
Implements interfaceAccessible
. Call this to get access to interface functions.- Overrides:
asAccessible
in classWidget
- Returns:
Accessible
-
asBuildable
Implements interfaceBuildable
. Call this to get access to interface functions.- Overrides:
asBuildable
in classWidget
- Returns:
Buildable
-
asConstraintTarget
Implements interfaceConstraintTarget
. Call this to get access to interface functions.- Overrides:
asConstraintTarget
in classWidget
- Returns:
ConstraintTarget
-
getTypeID
public static long getTypeID() -
getParentTypeID
public static long getParentTypeID() -
getTypeSize
-
getParentTypeSize
-
getInstanceSize
public static int getInstanceSize()
-