Package ch.bailu.gtk.gtk
Class TreeView
- All Implemented Interfaces:
PointerInterface
A widget for displaying both trees and lists
Widget that displays any object that implements the [iface@Gtk.TreeModel] interface.
Please refer to the [tree widget conceptual overview](section-tree-widget.html)
for an overview of all the objects and data types related to the tree
widget and how they work together.
## Coordinate systems in GtkTreeView API
Several different coordinate systems are exposed in the `GtkTreeView` API.
These are:
![](tree-view-coordinates.png)
- Widget coordinates: Coordinates relative to the widget (usually `widget->window`).
- Bin window coordinates: Coordinates relative to the window that GtkTreeView renders to.
- Tree coordinates: Coordinates relative to the entire scrollable area of GtkTreeView. These
coordinates start at (0, 0) for row 0 of the tree.
Several functions are available for converting between the different
coordinate systems. The most common translations are between widget and bin
window coordinates and between bin window and tree coordinates. For the
former you can use [method@Gtk.TreeView.convert_widget_to_bin_window_coords]
(and vice versa), for the latter [method@Gtk.TreeView.convert_bin_window_to_tree_coords]
(and vice versa).
## `GtkTreeView` as `GtkBuildable`
The `GtkTreeView` implementation of the `GtkBuildable` interface accepts
[class@Gtk.TreeViewColumn] objects as `<child>` elements and exposes the
internal [class@Gtk.TreeSelection] in UI definitions.
An example of a UI definition fragment with `GtkTreeView`:
```xml
<object class="GtkTreeView" id="treeview">
<property name="model">liststore1</property>
<child>
<object class="GtkTreeViewColumn" id="test-column">
<property name="title">Test</property>
<child>
<object class="GtkCellRendererText" id="test-renderer"/>
<attributes>
<attribute name="text">1</attribute>
</attributes>
</child>
</object>
</child>
<child internal-child="selection">
<object class="GtkTreeSelection" id="selection">
<signal name="changed" handler="on_treeview_selection_changed"/>
</object>
</child>
</object>
```
## CSS nodes
```
treeview.view
├── header
│ ├── button
│ │ ╰── [sort-indicator]
┊ ┊
│ ╰── button
│ ╰── [sort-indicator]
│
├── [rubberband]
╰── [dndtarget]
```
`GtkTreeView` has a main CSS node with name `treeview` and style class `.view`.
It has a subnode with name `header`, which is the parent for all the column
header widgets' CSS nodes.
Each column header consists of a `button`, which among other content, has a
child with name `sort-indicator`, which carries the `.ascending` or `.descending`
style classes when the column header should show a sort indicator. The CSS
is expected to provide a suitable image using the `-gtk-icon-source` property.
For rubberband selection, a subnode with name `rubberband` is used.
For the drop target location during DND, a subnode with name `dndtarget` is used.
Widget that displays any object that implements the [iface@Gtk.TreeModel] interface.
Please refer to the [tree widget conceptual overview](section-tree-widget.html)
for an overview of all the objects and data types related to the tree
widget and how they work together.
## Coordinate systems in GtkTreeView API
Several different coordinate systems are exposed in the `GtkTreeView` API.
These are:
![](tree-view-coordinates.png)
- Widget coordinates: Coordinates relative to the widget (usually `widget->window`).
- Bin window coordinates: Coordinates relative to the window that GtkTreeView renders to.
- Tree coordinates: Coordinates relative to the entire scrollable area of GtkTreeView. These
coordinates start at (0, 0) for row 0 of the tree.
Several functions are available for converting between the different
coordinate systems. The most common translations are between widget and bin
window coordinates and between bin window and tree coordinates. For the
former you can use [method@Gtk.TreeView.convert_widget_to_bin_window_coords]
(and vice versa), for the latter [method@Gtk.TreeView.convert_bin_window_to_tree_coords]
(and vice versa).
## `GtkTreeView` as `GtkBuildable`
The `GtkTreeView` implementation of the `GtkBuildable` interface accepts
[class@Gtk.TreeViewColumn] objects as `<child>` elements and exposes the
internal [class@Gtk.TreeSelection] in UI definitions.
An example of a UI definition fragment with `GtkTreeView`:
```xml
<object class="GtkTreeView" id="treeview">
<property name="model">liststore1</property>
<child>
<object class="GtkTreeViewColumn" id="test-column">
<property name="title">Test</property>
<child>
<object class="GtkCellRendererText" id="test-renderer"/>
<attributes>
<attribute name="text">1</attribute>
</attributes>
</child>
</object>
</child>
<child internal-child="selection">
<object class="GtkTreeSelection" id="selection">
<signal name="changed" handler="on_treeview_selection_changed"/>
</object>
</child>
</object>
```
## CSS nodes
```
treeview.view
├── header
│ ├── button
│ │ ╰── [sort-indicator]
┊ ┊
│ ╰── button
│ ╰── [sort-indicator]
│
├── [rubberband]
╰── [dndtarget]
```
`GtkTreeView` has a main CSS node with name `treeview` and style class `.view`.
It has a subnode with name `header`, which is the parent for all the column
header widgets' CSS nodes.
Each column header consists of a `button`, which among other content, has a
child with name `sort-indicator`, which carries the `.ascending` or `.descending`
style classes when the column header should show a sort indicator. The CSS
is expected to provide a suitable image using the `-gtk-icon-source` property.
For rubberband selection, a subnode with name `rubberband` is used.
For the drop target location during DND, a subnode with name `dndtarget` is used.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic interface
static interface
static interface
static interface
static interface
static interface
static interface
static interface
static interface
static interface
static interface
static interface
static interface
static interface
static interface
static interface
static interface
static interface
static interface
static interface
static interface
Nested classes/interfaces inherited from class ch.bailu.gtk.gtk.Widget
Widget.OnDestroy, 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
Modifier and TypeFieldDescriptionstatic final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
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
ConstructorDescriptionTreeView()
Creates a new `GtkTreeView` widget.TreeView
(PointerContainer pointer) -
Method Summary
Modifier and TypeMethodDescriptionint
appendColumn
(TreeViewColumn column) Appends @column to the list of columns.Implements interfaceAccessible
.Implements interfaceBuildable
.Implements interfaceConstraintTarget
.Implements interfaceScrollable
.void
Recursively collapses all visible, expanded nodes in @tree_view.boolean
collapseRow
(TreePath path) Collapses a row (hides its child rows, if they exist).void
Resizes all columns to their optimal width.void
convertBinWindowToTreeCoords
(int bx, int by, Int tx, Int ty) Converts bin_window coordinates to coordinates for the
tree (the full scrollable area of the tree).void
convertBinWindowToWidgetCoords
(int bx, int by, Int wx, Int wy) Converts bin_window coordinates to widget relative coordinates.void
convertTreeToBinWindowCoords
(int tx, int ty, Int bx, Int by) Converts tree coordinates (coordinates in full scrollable area of the tree)
to bin_window coordinates.void
convertTreeToWidgetCoords
(int tx, int ty, Int wx, Int wy) Converts tree coordinates (coordinates in full scrollable area of the tree)
to widget coordinates.void
convertWidgetToBinWindowCoords
(int wx, int wy, Int bx, Int by) Converts widget coordinates to coordinates for the bin_window.void
convertWidgetToTreeCoords
(int wx, int wy, Int tx, Int ty) Converts widget coordinates to coordinates for the
tree (the full scrollable area of the tree).createRowDragIcon
(TreePath path) Creates a `cairo_surface_t` representation of the row at @path.void
enableModelDragDest
(ContentFormats formats, int actions) Turns @tree_view into a drop destination for automatic DND.void
enableModelDragSource
(int start_button_mask, ContentFormats formats, int actions) Turns @tree_view into a drag source for automatic DND.void
Recursively expands all nodes in the @tree_view.boolean
Opens the row so its children are visible.void
expandToPath
(TreePath path) Expands the row at @path.boolean
Gets the setting set by gtk_tree_view_set_activate_on_single_click().void
getBackgroundArea
(TreePath path, TreeViewColumn column, Rectangle rect) Fills the bounding rectangle in bin_window coordinates for the cell at the
row specified by @path and the column specified by @column.void
getCellArea
(TreePath path, TreeViewColumn column, Rectangle rect) Fills the bounding rectangle in bin_window coordinates for the cell at the
row specified by @path and the column specified by @column.static ClassHandler
getColumn
(int n) Gets the `GtkTreeViewColumn` at the given position in the #tree_view.Returns a `GList` of all the `GtkTreeViewColumn`s currently in @tree_view.boolean
Returns whether or not the tree allows to start interactive searching
by typing in text.boolean
Returns whether or not tree lines are drawn in @tree_view.Returns the column that is the current expander column,
or %NULL if none has been set.boolean
Returns whether fixed height mode is turned on for @tree_view.int
Returns which grid lines are enabled in @tree_view.boolean
Returns whether all header columns are clickable.boolean
Returns %TRUE if the headers on the @tree_view are visible.boolean
Returns whether hover expansion mode is turned on for @tree_view.boolean
Returns whether hover selection mode is turned on for @tree_view.static int
int
Returns the amount, in pixels, of extra indentation for child levels
in @tree_view.getModel()
Returns the model the `GtkTreeView` is based on.int
Queries the number of columns in the given @tree_view.static long
static TypeSystem.TypeSize
boolean
Retrieves whether the user can reorder the tree via drag-and-drop.boolean
Returns whether rubber banding is turned on for @tree_view.int
Gets the column searched on by the interactive search code.Returns the `GtkEntry` which is currently in use as interactive search
entry for @tree_view.Gets the `GtkTreeSelection` associated with @tree_view.boolean
Returns whether or not expanders are drawn in @tree_view.int
Returns the column of @tree_view’s model which is being used for
displaying tooltips on @tree_view’s rows.static long
static TypeSystem.TypeSize
void
getVisibleRect
(Rectangle visible_rect) Fills @visible_rect with the currently-visible region of the
buffer, in tree coordinates.int
insertColumn
(TreeViewColumn column, int position) This inserts the @column into the @tree_view at @position.int
insertColumnWithAttributes
(int position, Str title, CellRenderer cell, Object... _elipse) Creates a new `GtkTreeViewColumn` and inserts it into the @tree_view at
@position.int
insertColumnWithAttributes
(int position, String title, CellRenderer cell, Object... _elipse) Creates a new `GtkTreeViewColumn` and inserts it into the @tree_view at
@position.int
insertColumnWithDataFunc
(int position, Str title, CellRenderer cell, TreeView.OnTreeCellDataFunc func, Pointer data, TreeView.OnDestroyNotify dnotify) Convenience function that inserts a new column into the `GtkTreeView`
with the given cell renderer and a `GtkTreeCellDataFunc` to set cell renderer
attributes (normally using data from the model).int
insertColumnWithDataFunc
(int position, String title, CellRenderer cell, TreeView.OnTreeCellDataFunc func, Pointer data, TreeView.OnDestroyNotify dnotify) Convenience function that inserts a new column into the `GtkTreeView`
with the given cell renderer and a `GtkTreeCellDataFunc` to set cell renderer
attributes (normally using data from the model).boolean
Returns whether a rubber banding operation is currently being done
in @tree_view.void
mapExpandedRows
(TreeView.OnTreeViewMappingFunc func, Pointer data) Calls @func on all expanded rows.void
moveColumnAfter
(TreeViewColumn column, TreeViewColumn base_column) Moves @column to be after to @base_column.static TreeView
newWithModelTreeView
(TreeModel model) Creates a new `GtkTreeView` widget with the model initialized to @model.Connect to signal "columns-changed".Connect to signal "cursor-changed".Connect to signal "expand-collapse-cursor-row".onMoveCursor
(TreeView.OnMoveCursor signal) Connect to signal "move-cursor".Connect to signal "row-activated".Connect to signal "row-collapsed".onRowExpanded
(TreeView.OnRowExpanded signal) Connect to signal "row-expanded".onSelectAll
(TreeView.OnSelectAll signal) Connect to signal "select-all".Connect to signal "select-cursor-parent".Connect to signal "select-cursor-row".Connect to signal "start-interactive-search".Connect to signal "test-collapse-row".Connect to signal "test-expand-row".Connect to signal "toggle-cursor-row".onUnselectAll
(TreeView.OnUnselectAll signal) Connect to signal "unselect-all".int
removeColumn
(TreeViewColumn column) Removes @column from @tree_view.void
rowActivated
(TreePath path, TreeViewColumn column) Activates the cell determined by @path and @column.boolean
rowExpanded
(TreePath path) Returns %TRUE if the node pointed to by @path is expanded in @tree_view.void
scrollToCell
(TreePath path, TreeViewColumn column, boolean use_align, float row_align, float col_align) Moves the alignments of @tree_view to the position specified by @column and
@path.void
scrollToPoint
(int tree_x, int tree_y) Scrolls the tree view such that the top-left corner of the visible
area is @tree_x, @tree_y, where @tree_x and @tree_y are specified
in tree coordinates.void
setActivateOnSingleClick
(boolean single) Cause the `GtkTreeView`::row-activated signal to be emitted
on a single click instead of a double click.void
setColumnDragFunction
(TreeView.OnTreeViewColumnDropFunc func, Pointer user_data, TreeView.OnDestroyNotify destroy) Sets a user function for determining where a column may be dropped when
dragged.void
setCursor
(TreePath path, TreeViewColumn focus_column, boolean start_editing) Sets the current keyboard focus to be at @path, and selects it.void
setCursorOnCell
(TreePath path, TreeViewColumn focus_column, CellRenderer focus_cell, boolean start_editing) Sets the current keyboard focus to be at @path, and selects it.void
setDragDestRow
(TreePath path, int pos) Sets the row that is highlighted for feedback.void
setEnableSearch
(boolean enable_search) If @enable_search is set, then the user can type in text to search through
the tree interactively (this is sometimes called "typeahead find").void
setEnableTreeLines
(boolean enabled) Sets whether to draw lines interconnecting the expanders in @tree_view.void
setExpanderColumn
(TreeViewColumn column) Sets the column to draw the expander arrow at.void
setFixedHeightMode
(boolean enable) Enables or disables the fixed height mode of @tree_view.void
setGridLines
(int grid_lines) Sets which grid lines to draw in @tree_view.void
setHeadersClickable
(boolean setting) Allow the column title buttons to be clicked.void
setHeadersVisible
(boolean headers_visible) Sets the visibility state of the headers.void
setHoverExpand
(boolean expand) Enables or disables the hover expansion mode of @tree_view.void
setHoverSelection
(boolean hover) Enables or disables the hover selection mode of @tree_view.void
setLevelIndentation
(int indentation) Sets the amount of extra indentation for child levels to use in @tree_view
in addition to the default indentation.void
Sets the model for a `GtkTreeView`.void
setReorderable
(boolean reorderable) This function is a convenience function to allow you to reorder
models that support the `GtkTreeDragSourceIface` and the
`GtkTreeDragDestIface`.void
setRowSeparatorFunc
(TreeView.OnTreeViewRowSeparatorFunc func, Pointer data, TreeView.OnDestroyNotify destroy) Sets the row separator function, which is used to determine
whether a row should be drawn as a separator.void
setRubberBanding
(boolean enable) Enables or disables rubber banding in @tree_view.void
setSearchColumn
(int column) Sets @column as the column where the interactive search code should
search in for the current model.void
setSearchEntry
(Editable entry) Sets the entry which the interactive search code will use for this
@tree_view.void
setSearchEqualFunc
(TreeView.OnTreeViewSearchEqualFunc search_equal_func, Pointer search_user_data, TreeView.OnDestroyNotify search_destroy) Sets the compare function for the interactive search capabilities; note
that somewhat like strcmp() returning 0 for equality
`GtkTreeView`SearchEqualFunc returns %FALSE on matches.void
setShowExpanders
(boolean enabled) Sets whether to draw and enable expanders and indent child rows in
@tree_view.void
setTooltipCell
(Tooltip tooltip, TreePath path, TreeViewColumn column, CellRenderer cell) Sets the tip area of @tooltip to the area @path, @column and @cell have
in common.void
setTooltipColumn
(int column) If you only plan to have simple (text-only) tooltips on full rows, you
can use this function to have `GtkTreeView` handle these automatically
for you.void
setTooltipRow
(Tooltip tooltip, TreePath path) Sets the tip area of @tooltip to be the area covered by the row at @path.void
Undoes the effect of
gtk_tree_view_enable_model_drag_dest().void
Undoes the effect of
gtk_tree_view_enable_model_drag_source().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
-
Field Details
-
SIGNAL_ON_COLUMNS_CHANGED
- See Also:
-
SIGNAL_ON_CURSOR_CHANGED
- See Also:
-
SIGNAL_ON_EXPAND_COLLAPSE_CURSOR_ROW
- See Also:
-
SIGNAL_ON_MOVE_CURSOR
- See Also:
-
SIGNAL_ON_ROW_ACTIVATED
- See Also:
-
SIGNAL_ON_ROW_COLLAPSED
- See Also:
-
SIGNAL_ON_ROW_EXPANDED
- See Also:
-
SIGNAL_ON_SELECT_ALL
- See Also:
-
SIGNAL_ON_SELECT_CURSOR_PARENT
- See Also:
-
SIGNAL_ON_SELECT_CURSOR_ROW
- See Also:
-
SIGNAL_ON_START_INTERACTIVE_SEARCH
- See Also:
-
SIGNAL_ON_TEST_COLLAPSE_ROW
- See Also:
-
SIGNAL_ON_TEST_EXPAND_ROW
- See Also:
-
SIGNAL_ON_TOGGLE_CURSOR_ROW
- See Also:
-
SIGNAL_ON_UNSELECT_ALL
- See Also:
-
-
Constructor Details
-
TreeView
-
TreeView
public TreeView()Creates a new `GtkTreeView` widget.
-
-
Method Details
-
getClassHandler
-
newWithModelTreeView
Creates a new `GtkTreeView` widget with the model initialized to @model.- Parameters:
model
- the model.- Returns:
- A newly created `GtkTreeView` widget.
-
appendColumn
Appends @column to the list of columns. If @tree_view has “fixed_height”
mode enabled, then @column must have its “sizing” property set to be
GTK_TREE_VIEW_COLUMN_FIXED.- Parameters:
column
- The `GtkTreeViewColumn` to add.- Returns:
- The number of columns in @tree_view after appending.
-
collapseAll
public void collapseAll()Recursively collapses all visible, expanded nodes in @tree_view. -
collapseRow
Collapses a row (hides its child rows, if they exist).- Parameters:
path
- path to a row in the @tree_view- Returns:
- %TRUE if the row was collapsed.
-
columnsAutosize
public void columnsAutosize()Resizes all columns to their optimal width. Only works after the
treeview has been realized. -
convertBinWindowToTreeCoords
Converts bin_window coordinates to coordinates for the
tree (the full scrollable area of the tree).- Parameters:
bx
- X coordinate relative to bin_windowby
- Y coordinate relative to bin_windowtx
- return location for tree X coordinatety
- return location for tree Y coordinate
-
convertBinWindowToWidgetCoords
Converts bin_window coordinates to widget relative coordinates.- Parameters:
bx
- bin_window X coordinateby
- bin_window Y coordinatewx
- return location for widget X coordinatewy
- return location for widget Y coordinate
-
convertTreeToBinWindowCoords
Converts tree coordinates (coordinates in full scrollable area of the tree)
to bin_window coordinates.- Parameters:
tx
- tree X coordinatety
- tree Y coordinatebx
- return location for X coordinate relative to bin_windowby
- return location for Y coordinate relative to bin_window
-
convertTreeToWidgetCoords
Converts tree coordinates (coordinates in full scrollable area of the tree)
to widget coordinates.- Parameters:
tx
- X coordinate relative to the treety
- Y coordinate relative to the treewx
- return location for widget X coordinatewy
- return location for widget Y coordinate
-
convertWidgetToBinWindowCoords
Converts widget coordinates to coordinates for the bin_window.- Parameters:
wx
- X coordinate relative to the widgetwy
- Y coordinate relative to the widgetbx
- return location for bin_window X coordinateby
- return location for bin_window Y coordinate
-
convertWidgetToTreeCoords
Converts widget coordinates to coordinates for the
tree (the full scrollable area of the tree).- Parameters:
wx
- X coordinate relative to the widgetwy
- Y coordinate relative to the widgettx
- return location for tree X coordinatety
- return location for tree Y coordinate
-
createRowDragIcon
Creates a `cairo_surface_t` representation of the row at @path.
This image is used for a drag icon.- Parameters:
path
- a `GtkTreePath` in @tree_view- Returns:
- a newly-allocated surface of the drag icon.
-
enableModelDragDest
Turns @tree_view into a drop destination for automatic DND. Calling
this method sets `GtkTreeView`:reorderable to %FALSE.- Parameters:
formats
- the target formats that the drag will supportactions
- the bitmask of possible actions for a drag from this widget
-
enableModelDragSource
public void enableModelDragSource(int start_button_mask, @Nonnull ContentFormats formats, int actions) Turns @tree_view into a drag source for automatic DND. Calling this
method sets `GtkTreeView`:reorderable to %FALSE.- Parameters:
start_button_mask
- Mask of allowed buttons to start dragformats
- the target formats that the drag will supportactions
- the bitmask of possible actions for a drag from this widget
-
expandAll
public void expandAll()Recursively expands all nodes in the @tree_view. -
expandRow
Opens the row so its children are visible.- Parameters:
path
- path to a rowopen_all
- whether to recursively expand, or just expand immediate children- Returns:
- %TRUE if the row existed and had children
-
expandToPath
Expands the row at @path. This will also expand all parent rows of
@path as necessary.- Parameters:
path
- path to a row.
-
getActivateOnSingleClick
public boolean getActivateOnSingleClick()Gets the setting set by gtk_tree_view_set_activate_on_single_click().- Returns:
- %TRUE if row-activated will be emitted on a single click
-
getBackgroundArea
public void getBackgroundArea(@Nullable TreePath path, @Nullable TreeViewColumn column, @Nonnull Rectangle rect) Fills the bounding rectangle in bin_window coordinates for the cell at the
row specified by @path and the column specified by @column. If @path is
%NULL, or points to a node not found in the tree, the @y and @height fields of
the rectangle will be filled with 0. If @column is %NULL, the @x and @width
fields will be filled with 0. The returned rectangle is equivalent to the
@background_area passed to gtk_cell_renderer_render(). These background
areas tile to cover the entire bin window. Contrast with the @cell_area,
returned by gtk_tree_view_get_cell_area(), which returns only the cell
itself, excluding surrounding borders and the tree expander area.- Parameters:
path
- a `GtkTreePath` for the row, or %NULL to get only horizontal coordinatescolumn
- a `GtkTreeViewColumn` for the column, or %NULL to get only vertical coordinatesrect
- rectangle to fill with cell background rect
-
getCellArea
public void getCellArea(@Nullable TreePath path, @Nullable TreeViewColumn column, @Nonnull Rectangle rect) Fills the bounding rectangle in bin_window coordinates for the cell at the
row specified by @path and the column specified by @column. If @path is
%NULL, or points to a path not currently displayed, the @y and @height fields
of the rectangle will be filled with 0. If @column is %NULL, the @x and @width
fields will be filled with 0. The sum of all cell rects does not cover the
entire tree; there are extra pixels in between rows, for example. The
returned rectangle is equivalent to the @cell_area passed to
gtk_cell_renderer_render(). This function is only valid if @tree_view is
realized.- Parameters:
path
- a `GtkTreePath` for the row, or %NULL to get only horizontal coordinatescolumn
- a `GtkTreeViewColumn` for the column, or %NULL to get only vertical coordinatesrect
- rectangle to fill with cell rect
-
getColumn
Gets the `GtkTreeViewColumn` at the given position in the #tree_view.- Parameters:
n
- The position of the column, counting from 0.- Returns:
- The `GtkTreeViewColumn`, or %NULL if the position is outside the range of columns.
-
getColumns
Returns a `GList` of all the `GtkTreeViewColumn`s currently in @tree_view.
The returned list must be freed with g_list_free ().- Returns:
- A list of `GtkTreeViewColumn`s
-
getEnableSearch
public boolean getEnableSearch()Returns whether or not the tree allows to start interactive searching
by typing in text.- Returns:
- whether or not to let the user search interactively
-
getEnableTreeLines
public boolean getEnableTreeLines()Returns whether or not tree lines are drawn in @tree_view.- Returns:
- %TRUE if tree lines are drawn in @tree_view, %FALSE otherwise.
-
getExpanderColumn
Returns the column that is the current expander column,
or %NULL if none has been set.
This column has the expander arrow drawn next to it.- Returns:
- The expander column.
-
getFixedHeightMode
public boolean getFixedHeightMode()Returns whether fixed height mode is turned on for @tree_view.- Returns:
- %TRUE if @tree_view is in fixed height mode
-
getGridLines
public int getGridLines()Returns which grid lines are enabled in @tree_view.- Returns:
- a `GtkTreeView`GridLines value indicating which grid lines are enabled.
-
getHeadersClickable
public boolean getHeadersClickable()Returns whether all header columns are clickable.- Returns:
- %TRUE if all header columns are clickable, otherwise %FALSE
-
getHeadersVisible
public boolean getHeadersVisible()Returns %TRUE if the headers on the @tree_view are visible.- Returns:
- Whether the headers are visible or not.
-
getHoverExpand
public boolean getHoverExpand()Returns whether hover expansion mode is turned on for @tree_view.- Returns:
- %TRUE if @tree_view is in hover expansion mode
-
getHoverSelection
public boolean getHoverSelection()Returns whether hover selection mode is turned on for @tree_view.- Returns:
- %TRUE if @tree_view is in hover selection mode
-
getLevelIndentation
public int getLevelIndentation()Returns the amount, in pixels, of extra indentation for child levels
in @tree_view.- Returns:
- the amount of extra indentation for child levels in @tree_view. A return value of 0 means that this feature is disabled.
-
getModel
Returns the model the `GtkTreeView` is based on. Returns %NULL if the
model is unset.- Returns:
- A `GtkTreeModel`
-
getNColumns
public int getNColumns()Queries the number of columns in the given @tree_view.- Returns:
- The number of columns in the @tree_view
-
getReorderable
public boolean getReorderable()Retrieves whether the user can reorder the tree via drag-and-drop. See
gtk_tree_view_set_reorderable().- Returns:
- %TRUE if the tree can be reordered.
-
getRubberBanding
public boolean getRubberBanding()Returns whether rubber banding is turned on for @tree_view. If the
selection mode is %GTK_SELECTION_MULTIPLE, rubber banding will allow the
user to select multiple rows by dragging the mouse.- Returns:
- %TRUE if rubber banding in @tree_view is enabled.
-
getSearchColumn
public int getSearchColumn()Gets the column searched on by the interactive search code.- Returns:
- the column the interactive search code searches in.
-
getSearchEntry
Returns the `GtkEntry` which is currently in use as interactive search
entry for @tree_view. In case the built-in entry is being used, %NULL
will be returned.- Returns:
- the entry currently in use as search entry.
-
getSelection
Gets the `GtkTreeSelection` associated with @tree_view.- Returns:
- A `GtkTreeSelection` object.
-
getShowExpanders
public boolean getShowExpanders()Returns whether or not expanders are drawn in @tree_view.- Returns:
- %TRUE if expanders are drawn in @tree_view, %FALSE otherwise.
-
getTooltipColumn
public int getTooltipColumn()Returns the column of @tree_view’s model which is being used for
displaying tooltips on @tree_view’s rows.- Returns:
- the index of the tooltip column that is currently being used, or -1 if this is disabled.
-
getVisibleRect
Fills @visible_rect with the currently-visible region of the
buffer, in tree coordinates. Convert to bin_window coordinates with
gtk_tree_view_convert_tree_to_bin_window_coords().
Tree coordinates start at 0,0 for row 0 of the tree, and cover the entire
scrollable area of the tree.- Parameters:
visible_rect
- rectangle to fill
-
insertColumn
This inserts the @column into the @tree_view at @position. If @position is
-1, then the column is inserted at the end. If @tree_view has
“fixed_height” mode enabled, then @column must have its “sizing” property
set to be GTK_TREE_VIEW_COLUMN_FIXED.- Parameters:
column
- The `GtkTreeViewColumn` to be inserted.position
- The position to insert @column in.- Returns:
- The number of columns in @tree_view after insertion.
-
insertColumnWithAttributes
public int insertColumnWithAttributes(int position, @Nonnull Str title, @Nonnull CellRenderer cell, Object... _elipse) Creates a new `GtkTreeViewColumn` and inserts it into the @tree_view at
@position. If @position is -1, then the newly created column is inserted at
the end. The column is initialized with the attributes given. If @tree_view
has “fixed_height” mode enabled, then the new column will have its sizing
property set to be GTK_TREE_VIEW_COLUMN_FIXED.- Parameters:
position
- The position to insert the new column intitle
- The title to set the header tocell
- The `GtkCellRenderer`_elipse
- A %NULL-terminated list of attributes- Returns:
- The number of columns in @tree_view after insertion.
-
insertColumnWithAttributes
public int insertColumnWithAttributes(int position, String title, @Nonnull CellRenderer cell, Object... _elipse) Creates a new `GtkTreeViewColumn` and inserts it into the @tree_view at
@position. If @position is -1, then the newly created column is inserted at
the end. The column is initialized with the attributes given. If @tree_view
has “fixed_height” mode enabled, then the new column will have its sizing
property set to be GTK_TREE_VIEW_COLUMN_FIXED.- Parameters:
position
- The position to insert the new column intitle
- The title to set the header tocell
- The `GtkCellRenderer`_elipse
- A %NULL-terminated list of attributes- Returns:
- The number of columns in @tree_view after insertion.
-
insertColumnWithDataFunc
public int insertColumnWithDataFunc(int position, @Nonnull Str title, @Nonnull CellRenderer cell, TreeView.OnTreeCellDataFunc func, @Nullable Pointer data, TreeView.OnDestroyNotify dnotify) Convenience function that inserts a new column into the `GtkTreeView`
with the given cell renderer and a `GtkTreeCellDataFunc` to set cell renderer
attributes (normally using data from the model). See also
gtk_tree_view_column_set_cell_data_func(), gtk_tree_view_column_pack_start().
If @tree_view has “fixed_height” mode enabled, then the new column will have its
“sizing” property set to be GTK_TREE_VIEW_COLUMN_FIXED.- Parameters:
position
- Position to insert, -1 for appendtitle
- column titlecell
- cell renderer for columnfunc
- function to set attributes of cell rendererdata
- data for @funcdnotify
- destroy notifier for @data- Returns:
- number of columns in the tree view post-insert
-
insertColumnWithDataFunc
public int insertColumnWithDataFunc(int position, String title, @Nonnull CellRenderer cell, TreeView.OnTreeCellDataFunc func, @Nullable Pointer data, TreeView.OnDestroyNotify dnotify) Convenience function that inserts a new column into the `GtkTreeView`
with the given cell renderer and a `GtkTreeCellDataFunc` to set cell renderer
attributes (normally using data from the model). See also
gtk_tree_view_column_set_cell_data_func(), gtk_tree_view_column_pack_start().
If @tree_view has “fixed_height” mode enabled, then the new column will have its
“sizing” property set to be GTK_TREE_VIEW_COLUMN_FIXED.- Parameters:
position
- Position to insert, -1 for appendtitle
- column titlecell
- cell renderer for columnfunc
- function to set attributes of cell rendererdata
- data for @funcdnotify
- destroy notifier for @data- Returns:
- number of columns in the tree view post-insert
-
isRubberBandingActive
public boolean isRubberBandingActive()Returns whether a rubber banding operation is currently being done
in @tree_view.- Returns:
- %TRUE if a rubber banding operation is currently being done in @tree_view.
-
mapExpandedRows
Calls @func on all expanded rows.- Parameters:
func
- A function to be calleddata
- User data to be passed to the function.
-
moveColumnAfter
Moves @column to be after to @base_column. If @base_column is %NULL, then
@column is placed in the first position.- Parameters:
column
- The `GtkTreeViewColumn` to be moved.base_column
- The `GtkTreeViewColumn` to be moved relative to
-
removeColumn
Removes @column from @tree_view.- Parameters:
column
- The `GtkTreeViewColumn` to remove.- Returns:
- The number of columns in @tree_view after removing.
-
rowActivated
Activates the cell determined by @path and @column.- Parameters:
path
- The `GtkTreePath` to be activated.column
- The `GtkTreeViewColumn` to be activated.
-
rowExpanded
Returns %TRUE if the node pointed to by @path is expanded in @tree_view.- Parameters:
path
- A `GtkTreePath` to test expansion state.- Returns:
- %TRUE if #path is expanded.
-
scrollToCell
public void scrollToCell(@Nullable TreePath path, @Nullable TreeViewColumn column, boolean use_align, float row_align, float col_align) Moves the alignments of @tree_view to the position specified by @column and
@path. If @column is %NULL, then no horizontal scrolling occurs. Likewise,
if @path is %NULL no vertical scrolling occurs. At a minimum, one of @column
or @path need to be non-%NULL. @row_align determines where the row is
placed, and @col_align determines where @column is placed. Both are expected
to be between 0.0 and 1.0. 0.0 means left/top alignment, 1.0 means
right/bottom alignment, 0.5 means center.
If @use_align is %FALSE, then the alignment arguments are ignored, and the
tree does the minimum amount of work to scroll the cell onto the screen.
This means that the cell will be scrolled to the edge closest to its current
position. If the cell is currently visible on the screen, nothing is done.
This function only works if the model is set, and @path is a valid row on the
model. If the model changes before the @tree_view is realized, the centered
path will be modified to reflect this change.- Parameters:
path
- The path of the row to move tocolumn
- The `GtkTreeViewColumn` to move horizontally touse_align
- whether to use alignment arguments, or %FALSE.row_align
- The vertical alignment of the row specified by @path.col_align
- The horizontal alignment of the column specified by @column.
-
scrollToPoint
public void scrollToPoint(int tree_x, int tree_y) Scrolls the tree view such that the top-left corner of the visible
area is @tree_x, @tree_y, where @tree_x and @tree_y are specified
in tree coordinates. The @tree_view must be realized before
this function is called. If it isn't, you probably want to be
using gtk_tree_view_scroll_to_cell().
If either @tree_x or @tree_y are -1, then that direction isn’t scrolled.- Parameters:
tree_x
- X coordinate of new top-left pixel of visible area, or -1tree_y
- Y coordinate of new top-left pixel of visible area, or -1
-
setActivateOnSingleClick
public void setActivateOnSingleClick(boolean single) Cause the `GtkTreeView`::row-activated signal to be emitted
on a single click instead of a double click.- Parameters:
single
- %TRUE to emit row-activated on a single click
-
setColumnDragFunction
public void setColumnDragFunction(TreeView.OnTreeViewColumnDropFunc func, @Nullable Pointer user_data, TreeView.OnDestroyNotify destroy) Sets a user function for determining where a column may be dropped when
dragged. This function is called on every column pair in turn at the
beginning of a column drag to determine where a drop can take place. The
arguments passed to @func are: the @tree_view, the `GtkTreeViewColumn` being
dragged, the two `GtkTreeViewColumn`s determining the drop spot, and
@user_data. If either of the `GtkTreeViewColumn` arguments for the drop spot
are %NULL, then they indicate an edge. If @func is set to be %NULL, then
@tree_view reverts to the default behavior of allowing all columns to be
dropped everywhere.- Parameters:
func
- A function to determine which columns are reorderableuser_data
- User data to be passed to @funcdestroy
- Destroy notifier for @user_data
-
setCursor
public void setCursor(@Nonnull TreePath path, @Nullable TreeViewColumn focus_column, boolean start_editing) Sets the current keyboard focus to be at @path, and selects it. This is
useful when you want to focus the user’s attention on a particular row. If
@focus_column is not %NULL, then focus is given to the column specified by
it. Additionally, if @focus_column is specified, and @start_editing is
%TRUE, then editing should be started in the specified cell.
This function is often followed by @gtk_widget_grab_focus (@tree_view)
in order to give keyboard focus to the widget. Please note that editing
can only happen when the widget is realized.
If @path is invalid for @model, the current cursor (if any) will be unset
and the function will return without failing.- Parameters:
path
- A `GtkTreePath`focus_column
- A `GtkTreeViewColumn`start_editing
- %TRUE if the specified cell should start being edited.
-
setCursorOnCell
public void setCursorOnCell(@Nonnull TreePath path, @Nullable TreeViewColumn focus_column, @Nullable CellRenderer focus_cell, boolean start_editing) Sets the current keyboard focus to be at @path, and selects it. This is
useful when you want to focus the user’s attention on a particular row. If
@focus_column is not %NULL, then focus is given to the column specified by
it. If @focus_column and @focus_cell are not %NULL, and @focus_column
contains 2 or more editable or activatable cells, then focus is given to
the cell specified by @focus_cell. Additionally, if @focus_column is
specified, and @start_editing is %TRUE, then editing should be started in
the specified cell. This function is often followed by
@gtk_widget_grab_focus (@tree_view) in order to give keyboard focus to the
widget. Please note that editing can only happen when the widget is
realized.
If @path is invalid for @model, the current cursor (if any) will be unset
and the function will return without failing.- Parameters:
path
- A `GtkTreePath`focus_column
- A `GtkTreeViewColumn`focus_cell
- A `GtkCellRenderer`start_editing
- %TRUE if the specified cell should start being edited.
-
setDragDestRow
Sets the row that is highlighted for feedback.
If @path is %NULL, an existing highlight is removed.- Parameters:
path
- The path of the row to highlightpos
- Specifies whether to drop before, after or into the row
-
setEnableSearch
public void setEnableSearch(boolean enable_search) If @enable_search is set, then the user can type in text to search through
the tree interactively (this is sometimes called "typeahead find").
Note that even if this is %FALSE, the user can still initiate a search
using the “start-interactive-search” key binding.- Parameters:
enable_search
- %TRUE, if the user can search interactively
-
setEnableTreeLines
public void setEnableTreeLines(boolean enabled) Sets whether to draw lines interconnecting the expanders in @tree_view.
This does not have any visible effects for lists.- Parameters:
enabled
- %TRUE to enable tree line drawing, %FALSE otherwise.
-
setExpanderColumn
Sets the column to draw the expander arrow at. It must be in @tree_view.
If @column is %NULL, then the expander arrow is always at the first
visible column.
If you do not want expander arrow to appear in your tree, set the
expander column to a hidden column.- Parameters:
column
- %NULL, or the column to draw the expander arrow at.
-
setFixedHeightMode
public void setFixedHeightMode(boolean enable) Enables or disables the fixed height mode of @tree_view.
Fixed height mode speeds up `GtkTreeView` by assuming that all
rows have the same height.
Only enable this option if all rows are the same height and all
columns are of type %GTK_TREE_VIEW_COLUMN_FIXED.- Parameters:
enable
- %TRUE to enable fixed height mode
-
setGridLines
public void setGridLines(int grid_lines) Sets which grid lines to draw in @tree_view.- Parameters:
grid_lines
- a `GtkTreeView`GridLines value indicating which grid lines to enable.
-
setHeadersClickable
public void setHeadersClickable(boolean setting) Allow the column title buttons to be clicked.- Parameters:
setting
- %TRUE if the columns are clickable.
-
setHeadersVisible
public void setHeadersVisible(boolean headers_visible) Sets the visibility state of the headers.- Parameters:
headers_visible
- %TRUE if the headers are visible
-
setHoverExpand
public void setHoverExpand(boolean expand) Enables or disables the hover expansion mode of @tree_view.
Hover expansion makes rows expand or collapse if the pointer
moves over them.- Parameters:
expand
- %TRUE to enable hover selection mode
-
setHoverSelection
public void setHoverSelection(boolean hover) Enables or disables the hover selection mode of @tree_view.
Hover selection makes the selected row follow the pointer.
Currently, this works only for the selection modes
%GTK_SELECTION_SINGLE and %GTK_SELECTION_BROWSE.- Parameters:
hover
- %TRUE to enable hover selection mode
-
setLevelIndentation
public void setLevelIndentation(int indentation) Sets the amount of extra indentation for child levels to use in @tree_view
in addition to the default indentation. The value should be specified in
pixels, a value of 0 disables this feature and in this case only the default
indentation will be used.
This does not have any visible effects for lists.- Parameters:
indentation
- the amount, in pixels, of extra indentation in @tree_view.
-
setModel
Sets the model for a `GtkTreeView`. If the @tree_view already has a model
set, it will remove it before setting the new model. If @model is %NULL,
then it will unset the old model.- Parameters:
model
- The model.
-
setReorderable
public void setReorderable(boolean reorderable) This function is a convenience function to allow you to reorder
models that support the `GtkTreeDragSourceIface` and the
`GtkTreeDragDestIface`. Both `GtkTreeStore` and `GtkListStore` support
these. If @reorderable is %TRUE, then the user can reorder the
model by dragging and dropping rows. The developer can listen to
these changes by connecting to the model’s `GtkTreeModel::row-inserted`
and `GtkTreeModel::row-deleted` signals. The reordering is implemented
by setting up the tree view as a drag source and destination.
Therefore, drag and drop can not be used in a reorderable view for any
other purpose.
This function does not give you any degree of control over the order -- any
reordering is allowed. If more control is needed, you should probably
handle drag and drop manually.- Parameters:
reorderable
- %TRUE, if the tree can be reordered.
-
setRowSeparatorFunc
public void setRowSeparatorFunc(TreeView.OnTreeViewRowSeparatorFunc func, @Nullable Pointer data, TreeView.OnDestroyNotify destroy) Sets the row separator function, which is used to determine
whether a row should be drawn as a separator. If the row separator
function is %NULL, no separators are drawn. This is the default value.- Parameters:
func
- a `GtkTreeView`RowSeparatorFuncdata
- user data to pass to @funcdestroy
- destroy notifier for @data
-
setRubberBanding
public void setRubberBanding(boolean enable) Enables or disables rubber banding in @tree_view. If the selection mode
is %GTK_SELECTION_MULTIPLE, rubber banding will allow the user to select
multiple rows by dragging the mouse.- Parameters:
enable
- %TRUE to enable rubber banding
-
setSearchColumn
public void setSearchColumn(int column) Sets @column as the column where the interactive search code should
search in for the current model.
If the search column is set, users can use the “start-interactive-search”
key binding to bring up search popup. The enable-search property controls
whether simply typing text will also start an interactive search.
Note that @column refers to a column of the current model. The search
column is reset to -1 when the model is changed.- Parameters:
column
- the column of the model to search in, or -1 to disable searching
-
setSearchEntry
Sets the entry which the interactive search code will use for this
@tree_view. This is useful when you want to provide a search entry
in our interface at all time at a fixed position. Passing %NULL for
@entry will make the interactive search code use the built-in popup
entry again.- Parameters:
entry
- the entry the interactive search code of @tree_view should use
-
setSearchEqualFunc
public void setSearchEqualFunc(TreeView.OnTreeViewSearchEqualFunc search_equal_func, @Nullable Pointer search_user_data, TreeView.OnDestroyNotify search_destroy) Sets the compare function for the interactive search capabilities; note
that somewhat like strcmp() returning 0 for equality
`GtkTreeView`SearchEqualFunc returns %FALSE on matches.- Parameters:
search_equal_func
- the compare function to use during the searchsearch_user_data
- user data to pass to @search_equal_funcsearch_destroy
- Destroy notifier for @search_user_data
-
setShowExpanders
public void setShowExpanders(boolean enabled) Sets whether to draw and enable expanders and indent child rows in
@tree_view. When disabled there will be no expanders visible in trees
and there will be no way to expand and collapse rows by default. Also
note that hiding the expanders will disable the default indentation. You
can set a custom indentation in this case using
gtk_tree_view_set_level_indentation().
This does not have any visible effects for lists.- Parameters:
enabled
- %TRUE to enable expander drawing, %FALSE otherwise.
-
setTooltipCell
public void setTooltipCell(@Nonnull Tooltip tooltip, @Nullable TreePath path, @Nullable TreeViewColumn column, @Nullable CellRenderer cell) Sets the tip area of @tooltip to the area @path, @column and @cell have
in common. For example if @path is %NULL and @column is set, the tip
area will be set to the full area covered by @column. See also
gtk_tooltip_set_tip_area().
Note that if @path is not specified and @cell is set and part of a column
containing the expander, the tooltip might not show and hide at the correct
position. In such cases @path must be set to the current node under the
mouse cursor for this function to operate correctly.
See also gtk_tree_view_set_tooltip_column() for a simpler alternative.- Parameters:
tooltip
- a `GtkTooltip`path
- a `GtkTreePath`column
- a `GtkTreeViewColumn`cell
- a `GtkCellRenderer`
-
setTooltipColumn
public void setTooltipColumn(int column) If you only plan to have simple (text-only) tooltips on full rows, you
can use this function to have `GtkTreeView` handle these automatically
for you. @column should be set to the column in @tree_view’s model
containing the tooltip texts, or -1 to disable this feature.
When enabled, `GtkWidget:has-tooltip` will be set to %TRUE and
@tree_view will connect a `GtkWidget::query-tooltip` signal handler.
Note that the signal handler sets the text with gtk_tooltip_set_markup(),
so &, <, etc have to be escaped in the text.- Parameters:
column
- an integer, which is a valid column number for @tree_view’s model
-
setTooltipRow
Sets the tip area of @tooltip to be the area covered by the row at @path.
See also gtk_tree_view_set_tooltip_column() for a simpler alternative.
See also gtk_tooltip_set_tip_area().- Parameters:
tooltip
- a `GtkTooltip`path
- a `GtkTreePath`
-
unsetRowsDragDest
public void unsetRowsDragDest()Undoes the effect of
gtk_tree_view_enable_model_drag_dest(). Calling this method sets
`GtkTreeView`:reorderable to %FALSE. -
unsetRowsDragSource
public void unsetRowsDragSource()Undoes the effect of
gtk_tree_view_enable_model_drag_source(). Calling this method sets
`GtkTreeView`:reorderable to %FALSE. -
onColumnsChanged
Connect to signal "columns-changed".
SeeTreeView.OnColumnsChanged.onColumnsChanged()
for signal description.
FieldSIGNAL_ON_COLUMNS_CHANGED
contains original signal name and can be used as resource reference.- Parameters:
signal
- callback function (lambda).- Returns:
SignalHandler
. Can be used to disconnect signal and to release callback function.
-
onCursorChanged
Connect to signal "cursor-changed".
SeeTreeView.OnCursorChanged.onCursorChanged()
for signal description.
FieldSIGNAL_ON_CURSOR_CHANGED
contains original signal name and can be used as resource reference.- Parameters:
signal
- callback function (lambda).- Returns:
SignalHandler
. Can be used to disconnect signal and to release callback function.
-
onExpandCollapseCursorRow
Connect to signal "expand-collapse-cursor-row".
SeeTreeView.OnExpandCollapseCursorRow.onExpandCollapseCursorRow(boolean, boolean, boolean)
for signal description.
FieldSIGNAL_ON_EXPAND_COLLAPSE_CURSOR_ROW
contains original signal name and can be used as resource reference.- Parameters:
signal
- callback function (lambda).- Returns:
SignalHandler
. Can be used to disconnect signal and to release callback function.
-
onMoveCursor
Connect to signal "move-cursor".
SeeTreeView.OnMoveCursor.onMoveCursor(int, int, boolean, boolean)
for signal description.
FieldSIGNAL_ON_MOVE_CURSOR
contains original signal name and can be used as resource reference.- Parameters:
signal
- callback function (lambda).- Returns:
SignalHandler
. Can be used to disconnect signal and to release callback function.
-
onRowActivated
Connect to signal "row-activated".
SeeTreeView.OnRowActivated.onRowActivated(ch.bailu.gtk.gtk.TreePath, ch.bailu.gtk.gtk.TreeViewColumn)
for signal description.
FieldSIGNAL_ON_ROW_ACTIVATED
contains original signal name and can be used as resource reference.- Parameters:
signal
- callback function (lambda).- Returns:
SignalHandler
. Can be used to disconnect signal and to release callback function.
-
onRowCollapsed
Connect to signal "row-collapsed".
SeeTreeView.OnRowCollapsed.onRowCollapsed(ch.bailu.gtk.gtk.TreeIter, ch.bailu.gtk.gtk.TreePath)
for signal description.
FieldSIGNAL_ON_ROW_COLLAPSED
contains original signal name and can be used as resource reference.- Parameters:
signal
- callback function (lambda).- Returns:
SignalHandler
. Can be used to disconnect signal and to release callback function.
-
onRowExpanded
Connect to signal "row-expanded".
SeeTreeView.OnRowExpanded.onRowExpanded(ch.bailu.gtk.gtk.TreeIter, ch.bailu.gtk.gtk.TreePath)
for signal description.
FieldSIGNAL_ON_ROW_EXPANDED
contains original signal name and can be used as resource reference.- Parameters:
signal
- callback function (lambda).- Returns:
SignalHandler
. Can be used to disconnect signal and to release callback function.
-
onSelectAll
Connect to signal "select-all".
SeeTreeView.OnSelectAll.onSelectAll()
for signal description.
FieldSIGNAL_ON_SELECT_ALL
contains original signal name and can be used as resource reference.- Parameters:
signal
- callback function (lambda).- Returns:
SignalHandler
. Can be used to disconnect signal and to release callback function.
-
onSelectCursorParent
Connect to signal "select-cursor-parent".
SeeTreeView.OnSelectCursorParent.onSelectCursorParent()
for signal description.
FieldSIGNAL_ON_SELECT_CURSOR_PARENT
contains original signal name and can be used as resource reference.- Parameters:
signal
- callback function (lambda).- Returns:
SignalHandler
. Can be used to disconnect signal and to release callback function.
-
onSelectCursorRow
Connect to signal "select-cursor-row".
SeeTreeView.OnSelectCursorRow.onSelectCursorRow(boolean)
for signal description.
FieldSIGNAL_ON_SELECT_CURSOR_ROW
contains original signal name and can be used as resource reference.- Parameters:
signal
- callback function (lambda).- Returns:
SignalHandler
. Can be used to disconnect signal and to release callback function.
-
onStartInteractiveSearch
Connect to signal "start-interactive-search".
SeeTreeView.OnStartInteractiveSearch.onStartInteractiveSearch()
for signal description.
FieldSIGNAL_ON_START_INTERACTIVE_SEARCH
contains original signal name and can be used as resource reference.- Parameters:
signal
- callback function (lambda).- Returns:
SignalHandler
. Can be used to disconnect signal and to release callback function.
-
onTestCollapseRow
Connect to signal "test-collapse-row".
SeeTreeView.OnTestCollapseRow.onTestCollapseRow(ch.bailu.gtk.gtk.TreeIter, ch.bailu.gtk.gtk.TreePath)
for signal description.
FieldSIGNAL_ON_TEST_COLLAPSE_ROW
contains original signal name and can be used as resource reference.- Parameters:
signal
- callback function (lambda).- Returns:
SignalHandler
. Can be used to disconnect signal and to release callback function.
-
onTestExpandRow
Connect to signal "test-expand-row".
SeeTreeView.OnTestExpandRow.onTestExpandRow(ch.bailu.gtk.gtk.TreeIter, ch.bailu.gtk.gtk.TreePath)
for signal description.
FieldSIGNAL_ON_TEST_EXPAND_ROW
contains original signal name and can be used as resource reference.- Parameters:
signal
- callback function (lambda).- Returns:
SignalHandler
. Can be used to disconnect signal and to release callback function.
-
onToggleCursorRow
Connect to signal "toggle-cursor-row".
SeeTreeView.OnToggleCursorRow.onToggleCursorRow()
for signal description.
FieldSIGNAL_ON_TOGGLE_CURSOR_ROW
contains original signal name and can be used as resource reference.- Parameters:
signal
- callback function (lambda).- Returns:
SignalHandler
. Can be used to disconnect signal and to release callback function.
-
onUnselectAll
Connect to signal "unselect-all".
SeeTreeView.OnUnselectAll.onUnselectAll()
for signal description.
FieldSIGNAL_ON_UNSELECT_ALL
contains original signal name and can be used as resource reference.- Parameters:
signal
- callback function (lambda).- Returns:
SignalHandler
. Can be used to disconnect signal and to release callback function.
-
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
-
asScrollable
Implements interfaceScrollable
. Call this to get access to interface functions.- Returns:
Scrollable
-
getTypeID
public static long getTypeID() -
getParentTypeID
public static long getParentTypeID() -
getTypeSize
-
getParentTypeSize
-
getInstanceSize
public static int getInstanceSize()
-