reckfellENGINE

Tree

Hierarchical list with columns and TreeItem rows.

On this page
class TreeReckfellSharpInherits Control

Tree is a UI control for hierarchies and tables. Its TreeItem rows are not Entity objects and do not belong to the Entity hierarchy. Set Columns first, then create the root with CreateItem(). Subsequent CreateItem() calls without parent create children of that root. For a flat list, enable HideRoot: the structural root remains, while its children are displayed.

Use SetText(column, text) for row labels. Column indices start at 0. Store a model identifier with SetMetadata rather than using display text or the current row index: labels and order can change. Programmatic SetText emits no ItemEdited; update your model explicitly.

Tree owns its attached TreeItem objects. Clear immediately frees the root and all descendants; freeing Tree also deletes its rows. Retained references become invalid. Before rebuilding, retain any model identifiers you need, recreate the rows, and restore state by identifier.

RemoveChild detaches a subtree without deleting it. Either adopt it through another TreeItem’s AddChild or explicitly Free it. Moving between trees with different Columns discards trailing cell data. Creating rows, Clear and changing Columns are blocked during mouse selection processing: defer rebuilding until the handler has completed.

Declarations checked against C# SDK 1.0.0. Expand a name to see declarations and documentation.

Constructors1

TreeConstructor
# Tree
C#
public Tree();

Creates an empty Tree with one column and no root. Create the root through CreateItem.

Properties16

AllowReselectProperty
# AllowReselect
C#
public bool AllowReselect { get; set; }

Allows repeat notification when the selection path chooses an already selected cell/row. Does not enable Multi or make programmatic TreeItem.Select emit signals in Multi.

AllowRmbSelectProperty
# AllowRmbSelect
C#
public bool AllowRmbSelect { get; set; }

Allows right-mouse selection of a row. This is an input policy: it does not open a context menu, change SelectMode or restrict programmatic selection.

AllowSearchProperty
# AllowSearch
C#
public bool AllowSearch { get; set; }

Allows keyboard prefix search against original labels, ignoring case. Navigates rows rather than filtering data or creating a search box. In Multi, search moves only the cursor without adding to selection. gui/timers/incremental_search_max_interval_msec controls the typing interval.

AutoTooltipProperty
# AutoTooltip
C#
public bool AutoTooltip { get; set; }

Use the cell label/value as a tooltip when no explicit tooltip is set. Does not generate an accessibility description or replace action-button tooltips. Set false to disable this fallback; clearing the row’s explicit tooltip alone is insufficient.

ColumnTitlesVisibleProperty
# ColumnTitlesVisible
C#
public bool ColumnTitlesVisible { get; set; }

Shows column headers, default false. Prefer setting this before populating or measuring columns. Limitation: showing headers dynamically after GetColumnWidth can retain stale cached widths. To recompute, retain each column’s IsColumnClippingContent, set SetColumnClipContent to the opposite value, then restore it.

ColumnsProperty
# Columns
C#
public int Columns { get; set; }

Column count, at least 1; default 1. Set before populating. Reducing it discards trailing cell data throughout the tree. Changes are blocked during mouse selection processing.

DropModeFlagsProperty
# DropModeFlags
C#
public int DropModeFlags { get; set; }

Drop-target zones: 0 disables them, OnItem (1) targets a row, Inbetween (2) targets between rows, and 3 enables both. Controls target calculation/highlighting rather than data transfer. Implement validation and model changes in drag-and-drop handlers; account for SetAcceptChildren and prevent cycles.

EnableDragUnfoldingProperty
# EnableDragUnfolding
C#
public bool EnableDragUnfolding { get; set; }

Allows a branch to unfold after a dragged item hovers over it. Does not create drag data or transfer the model. Disabling stops a pending unfolding timer.

EnableRecursiveFoldingProperty
# EnableRecursiveFolding
C#
public bool EnableRecursiveFolding { get; set; }

Allows recursive folding/unfolding through the user Shift gesture. Does not block SetCollapsedRecursive from code.

HideFoldingProperty
# HideFolding
C#
public bool HideFolding { get; set; }

Hides normal folding controls throughout Tree. Does not expand branches or block programmatic Collapsed/SetCollapsedRecursive. Configure branch states separately.

HideRootProperty
# HideRoot
C#
public bool HideRoot { get; set; }

Hides the root’s presentation while retaining the root and its children. Useful for a flat list with a shared hidden parent. Does not delete a row or change GetRoot.

ScrollHintModeProperty
# ScrollHintMode
C#
public Tree.ScrollHintModeEnum ScrollHintMode { get; set; }

Configures visual hints for content hidden above/below: Disabled, Both, Top or Bottom. Does not enable scrolling or change its amount.

ScrollHorizontalEnabledProperty
# ScrollHorizontalEnabled
C#
public bool ScrollHorizontalEnabled { get; set; }

Enables horizontal scrolling. With false, Tree’s minimum width includes content, so a container can expand the control. Does not fix column widths or control vertical scrolling.

ScrollVerticalEnabledProperty
# ScrollVerticalEnabled
C#
public bool ScrollVerticalEnabled { get; set; }

Enables vertical scrolling. With false, Tree’s minimum height includes content, so a container can expand the control. Configure horizontal scrolling separately.

SelectModeProperty
# SelectMode
C#
public Tree.SelectModeEnum SelectMode { get; set; }

Single selects one cell, Row selects the selectable cells of one row, and Multi allows accumulated selection. Changing modes neither clears nor normalizes existing flags: call DeselectAll before switching. In Multi, the GetSelected cursor is not the full selection.

TileScrollHintProperty
# TileScrollHint
C#
public bool TileScrollHint { get; set; }

Tile the scroll-hint texture rather than stretching it. This styles the hint rather than enabling cyclic list scrolling.

Methods73

AreColumnTitlesVisiblebool
# AreColumnTitlesVisible
C#
public bool AreColumnTitlesVisible();

Shows column headers, default false. Prefer setting this before populating or measuring columns. Limitation: showing headers dynamically after GetColumnWidth can retain stale cached widths. To recompute, retain each column’s IsColumnClippingContent, set SetColumnClipContent to the opposite value, then restore it.

Returns bool

Shows column headers, default false. Prefer setting this before populating or measuring columns. Limitation: showing headers dynamically after GetColumnWidth can retain stale cached widths. To recompute, retain each column’s IsColumnClippingContent, set SetColumnClipContent to the opposite value, then restore it.

Clearvoid
# Clear
C#
public void Clear();

Immediately deletes the root and all attached rows and resets selected and edited items. Old references become invalid. Previously detached subtrees are not deleted. Blocked during mouse selection processing.

CreateItemTreeItem
# CreateItem
C#
public TreeItem CreateItem(TreeItem parent = null, int index = -1);

Without parent, the first call creates the root and later calls create its children. With parent, creates a child of that row in this Tree. index < 0 appends; an existing child index inserts before it. Cannot run during mouse selection processing.

Parameters
NameTypeDefault
parentTreeItemnull
indexint-1
parent

Parent in this same Tree; null uses the CreateItem root rules.

index

Structural child index. During creation a negative value appends; for GetChild a negative value counts from the end.

Returns TreeItem

Without parent, the first call creates the root and later calls create its children. With parent, creates a child of that row in this Tree. index < 0 appends; an existing child index inserts before it. Cannot run during mouse selection processing.

DeselectAllvoid
# DeselectAll
C#
public void DeselectAll();

Clears selection throughout the tree and resets the cursor: GetSelected is null and GetSelectedColumn is -1. Emits no CellSelected, ItemSelected or MultiSelected. Explicitly update the model if it must react to a programmatic reset.

EditSelected2 overloads
# EditSelected · 1/2
C#
public bool EditSelected();

Starts the editing action for the GetSelected/GetSelectedColumn cursor cell. First check that a row exists and belongs to Tree. Editable is required without forceEdit. Check immediately toggles checked and emits ItemEdited; Custom requests an application editor and also emits ItemEdited before the application changes the value. String/Range can open a built-in editor; Icon has no editor. true means a handled action/editor start rather than a guaranteed value commit. The no-argument overload uses false.

Returns bool

Starts the editing action for the GetSelected/GetSelectedColumn cursor cell. First check that a row exists and belongs to Tree. Editable is required without forceEdit. Check immediately toggles checked and emits ItemEdited; Custom requests an application editor and also emits ItemEdited before the application changes the value. String/Range can open a built-in editor; Icon has no editor. true means a handled action/editor start rather than a guaranteed value commit. The no-argument overload uses false.

# EditSelected · 2/2
C#
public bool EditSelected(bool forceEdit = false);

Starts the editing action for the GetSelected/GetSelectedColumn cursor cell. First check that a row exists and belongs to Tree. Editable is required without forceEdit. Check immediately toggles checked and emits ItemEdited; Custom requests an application editor and also emits ItemEdited before the application changes the value. String/Range can open a built-in editor; Icon has no editor. true means a handled action/editor start rather than a guaranteed value commit. The no-argument overload uses false.

Parameters
NameTypeDefault
forceEditboolfalse
forceEdit

Allow the action even with Editable false; does not force a new value to be committed.

Returns bool

Starts the editing action for the GetSelected/GetSelectedColumn cursor cell. First check that a row exists and belongs to Tree. Editable is required without forceEdit. Check immediately toggles checked and emits ItemEdited; Custom requests an application editor and also emits ItemEdited before the application changes the value. String/Range can open a built-in editor; Icon has no editor. true means a handled action/editor start rather than a guaranteed value commit. The no-argument overload uses false.

EnsureCursorIsVisiblevoid
# EnsureCursorIsVisible
C#
public void EnsureCursorIsVisible();

Scrolls to the current cursor cell. Does nothing without a cursor and does not collect or reveal the entire Multi selection. Part of the update can be deferred to the next frame. Does not expand ancestors or enable Visible.

GetAllowReselectbool
# GetAllowReselect
C#
public bool GetAllowReselect();

Allows repeat notification when the selection path chooses an already selected cell/row. Does not enable Multi or make programmatic TreeItem.Select emit signals in Multi.

Returns bool

Allows repeat notification when the selection path chooses an already selected cell/row. Does not enable Multi or make programmatic TreeItem.Select emit signals in Multi.

GetAllowRmbSelectbool
# GetAllowRmbSelect
C#
public bool GetAllowRmbSelect();

Allows right-mouse selection of a row. This is an input policy: it does not open a context menu, change SelectMode or restrict programmatic selection.

Returns bool

Allows right-mouse selection of a row. This is an input policy: it does not open a context menu, change SelectMode or restrict programmatic selection.

GetAllowSearchbool
# GetAllowSearch
C#
public bool GetAllowSearch();

Allows keyboard prefix search against original labels, ignoring case. Navigates rows rather than filtering data or creating a search box. In Multi, search moves only the cursor without adding to selection. gui/timers/incremental_search_max_interval_msec controls the typing interval.

Returns bool

Allows keyboard prefix search against original labels, ignoring case. Navigates rows rather than filtering data or creating a search box. In Multi, search moves only the cursor without adding to selection. gui/timers/incremental_search_max_interval_msec controls the typing interval.

GetButtonIdAtPositionint
# GetButtonIdAtPosition
C#
public int GetButtonIdAtPosition(Vector2 position);

Button ID at a Tree-local position, or -1 when there is no hit. Coordinates are neither screen-space nor TreeItem-local. Returns an ID rather than an index and depends on the current row layout.

Parameters
NameTypeDefault
positionVector2—
position

Position in Tree control-local coordinates.

Returns int

Button ID at a Tree-local position, or -1 when there is no hit. Coordinates are neither screen-space nor TreeItem-local. Returns an ID rather than an index and depends on the current row layout.

GetColumnAtPositionint
# GetColumnAtPosition
C#
public int GetColumnAtPosition(Vector2 position);

Column index under a row at a Tree-local position; -1 when no matching row exists. Searches content rather than serving as a universal header hit-test.

Parameters
NameTypeDefault
positionVector2—
position

Position in Tree control-local coordinates.

Returns int

Column index under a row at a Tree-local position; -1 when no matching row exists. Searches content rather than serving as a universal header hit-test.

GetColumnExpandRatioint
# GetColumnExpandRatio
C#
public int GetColumnExpandRatio(int column);

Stored integer expansion weight rather than a width percentage or the ratio of final column sizes.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Columns - 1.

Returns int

Stored integer expansion weight rather than a width percentage or the ratio of final column sizes.

GetColumnTitlestring
# GetColumnTitle
C#
public string GetColumnTitle(int column);

Original column-title string rather than its automatically translated presentation.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Columns - 1.

Returns string

Original column-title string rather than its automatically translated presentation.

GetColumnTitleAlignmentHorizontalAlignment
# GetColumnTitleAlignment
C#
public HorizontalAlignment GetColumnTitleAlignment(int column);

Stored header alignment, default Center. Data-row cell settings are independent.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Columns - 1.

Returns HorizontalAlignment

Stored header alignment, default Center. Data-row cell settings are independent.

GetColumnTitleDirectionControl.TextDirection
# GetColumnTitleDirection
C#
public Control.TextDirection GetColumnTitleDirection(int column);

Stored header text direction. Inherited means inheritance from Tree rather than an already resolved direction.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Columns - 1.

Returns Control.TextDirection

Stored header text direction. Inherited means inheritance from Tree rather than an already resolved direction.

GetColumnTitleLanguagestring
# GetColumnTitleLanguage
C#
public string GetColumnTitleLanguage(int column);

Stored header shaping-language hint rather than the current application locale.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Columns - 1.

Returns string

Stored header shaping-language hint rather than the current application locale.

GetColumnTitleTooltipTextstring
# GetColumnTitleTooltipText
C#
public string GetColumnTitleTooltipText(int column);

Stored explicit header tooltip; an empty string does not imply that every Control tooltip is disabled.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Columns - 1.

Returns string

Stored explicit header tooltip; an empty string does not imply that every Control tooltip is disabled.

GetColumnWidthint
# GetColumnWidth
C#
public int GetColumnWidth(int column);

Current computed column width: its minimum plus a share of spare space when Expand is enabled. Depends on Tree size, theme, visible rows and title; need not equal CustomMinimumWidth. Query after configuring size and content.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Columns - 1.

Returns int

Current computed column width: its minimum plus a share of spare space when Expand is enabled. Depends on Tree size, theme, visible rows and title; need not equal CustomMinimumWidth. Query after configuring size and content.

GetColumnsint
# GetColumns
C#
public int GetColumns();

Column count, at least 1; default 1. Set before populating. Reducing it discards trailing cell data throughout the tree. Changes are blocked during mouse selection processing.

Returns int

Column count, at least 1; default 1. Set before populating. Reducing it discards trailing cell data throughout the tree. Changes are blocked during mouse selection processing.

GetCustomDrawingCanvasItemRid
# GetCustomDrawingCanvasItem
C#
public Rid GetCustomDrawingCanvasItem();

Returns the Tree-owned RID for custom drawing inside a cell callback. Do not free it through RenderingServer or use it after Tree is freed. This is not a separate CanvasItem Entity or permission to draw outside the drawing cycle.

Returns Rid

Returns the Tree-owned RID for custom drawing inside a cell callback. Do not free it through RenderingServer or use it after Tree is freed. This is not a separate CanvasItem Entity or permission to draw outside the drawing cycle.

GetCustomPopupRectRect2
# GetCustomPopupRect
C#
public Rect2 GetCustomPopupRect();

Last placement area for a Custom application editor, in Tree UI-global coordinates. Not automatically screen coordinates for an external Window; account for CanvasLayer, transforms and window embedding. Read during CustomPopupEdited after current layout, not as persistent row geometry.

Returns Rect2

Last placement area for a Custom application editor, in Tree UI-global coordinates. Not automatically screen coordinates for an external Window; account for CanvasLayer, transforms and window embedding. Read during CustomPopupEdited after current layout, not as persistent row geometry.

GetDropModeFlagsint
# GetDropModeFlags
C#
public int GetDropModeFlags();

Drop-target zones: 0 disables them, OnItem (1) targets a row, Inbetween (2) targets between rows, and 3 enables both. Controls target calculation/highlighting rather than data transfer. Implement validation and model changes in drag-and-drop handlers; account for SetAcceptChildren and prevent cycles.

Returns int

Drop-target zones: 0 disables them, OnItem (1) targets a row, Inbetween (2) targets between rows, and 3 enables both. Controls target calculation/highlighting rather than data transfer. Implement validation and model changes in drag-and-drop handlers; account for SetAcceptChildren and prevent cycles.

GetDropSectionAtPositionint
# GetDropSectionAtPosition
C#
public int GetDropSectionAtPosition(Vector2 position);

Drop zone at a Tree-local position: -100 means no target, -1 a sibling above, 0 on the row/as last child, 1 a sibling below, and 2 the first child of an existing branch. Combined zones do use 2; do not restrict handlers to -1/0/1. Requires enabled DropModeFlags; the result does not validate model data.

Parameters
NameTypeDefault
positionVector2—
position

Position in Tree control-local coordinates.

Returns int

Drop zone at a Tree-local position: -100 means no target, -1 a sibling above, 0 on the row/as last child, 1 a sibling below, and 2 the first child of an existing branch. Combined zones do use 2; do not restrict handlers to -1/0/1. Requires enabled DropModeFlags; the result does not validate model data.

GetEditedTreeItem
# GetEdited
C#
public TreeItem GetEdited();

Row of the last editing context, or null after clearing/removal. Need not equal GetSelected. In Custom, context is set when the application editor is requested. Check this reference before using GetEditedColumn.

Returns TreeItem

Row of the last editing context, or null after clearing/removal. Need not equal GetSelected. In Custom, context is set when the application editor is requested. Check this reference before using GetEditedColumn.

GetEditedColumnint
# GetEditedColumn
C#
public int GetEditedColumn();

Column of the last editing context rather than the current cursor. Clear resets GetEdited but can retain the previous column number. Use it only with a non-null valid GetEdited and the current Columns.

Returns int

Column of the last editing context rather than the current cursor. Clear resets GetEdited but can retain the previous column number. Use it only with a non-null valid GetEdited and the current Columns.

GetItemAreaRectRect2
# GetItemAreaRect
C#
public Rect2 GetItemAreaRect(TreeItem item, int column = -1, int buttonIndex = -1);

Computed row area in Tree-local coordinates; column -1 means the full row, otherwise one column. For buttonIndex, supply a column and a nonnegative button index rather than an ID. Requires a row in this Tree. The result does not guarantee viewport visibility; first restore the needed visibility and layout for hidden/collapsed branches.

Parameters
NameTypeDefault
itemTreeItem—
columnint-1
buttonIndexint-1
item

Valid row belonging to this Tree.

column

Column, or -1 for the entire row.

buttonIndex

Nonnegative button index rather than an ID; -1 for the ordinary row/cell area.

Returns Rect2

Computed row area in Tree-local coordinates; column -1 means the full row, otherwise one column. For buttonIndex, supply a column and a nonnegative button index rather than an ID. Requires a row in this Tree. The result does not guarantee viewport visibility; first restore the needed visibility and layout for hidden/collapsed branches.

GetItemAtPositionTreeItem
# GetItemAtPosition
C#
public TreeItem GetItemAtPosition(Vector2 position);

Row at a Tree-local position, or null when no row is found. Accounts for current scrolling and layout; pass control-local rather than screen coordinates. The returned row belongs to Tree.

Parameters
NameTypeDefault
positionVector2—
position

Position in Tree control-local coordinates.

Returns TreeItem

Row at a Tree-local position, or null when no row is found. Accounts for current scrolling and layout; pass control-local rather than screen coordinates. The returned row belongs to Tree.

GetNextSelectedTreeItem
# GetNextSelected
C#
public TreeItem GetNextSelected(TreeItem from);

Returns the next row with a stored selected flag in at least one column. Start with null, then pass the previous result; null ends iteration. Uses structural order, including a hidden root and collapsed branches. Reads retained flags even when Selectable is false; additionally check IsSelected per column for selectable selected cells.

Parameters
NameTypeDefault
fromTreeItem—
from

Previously found row; null begins iteration at the root.

Returns TreeItem

Returns the next row with a stored selected flag in at least one column. Start with null, then pass the previous result; null ends iteration. Uses structural order, including a hidden root and collapsed branches. Reads retained flags even when Selectable is false; additionally check IsSelected per column for selectable selected cells.

GetPressedButtonint
# GetPressedButton
C#
public int GetPressedButton();

Stored button index from the last processed press, or -1. This is a column-local index rather than a command ID or a universal held-down test. Use the ButtonClicked id for command handling.

Returns int

Stored button index from the last processed press, or -1. This is a column-local index rather than a command ID or a universal held-down test. Use the ButtonClicked id for command handling.

GetRootTreeItem
# GetRoot
C#
public TreeItem GetRoot();

Returns the structural root even when HideRoot is true; null before the first CreateItem and after Clear. The result belongs to Tree.

Returns TreeItem

Returns the structural root even when HideRoot is true; null before the first CreateItem and after Clear. The result belongs to Tree.

GetScrollVector2
# GetScroll
C#
public Vector2 GetScroll();

Current pixel scroll offset. Returns 0 on an axis whose scrollbar is not visible. Not the Tree position or the index of the first visible row.

Returns Vector2

Current pixel scroll offset. Returns 0 on an axis whose scrollbar is not visible. Not the Tree position or the index of the first visible row.

GetScrollHintModeTree.ScrollHintModeEnum
# GetScrollHintMode
C#
public Tree.ScrollHintModeEnum GetScrollHintMode();

Configures visual hints for content hidden above/below: Disabled, Both, Top or Bottom. Does not enable scrolling or change its amount.

Returns Tree.ScrollHintModeEnum

Configures visual hints for content hidden above/below: Disabled, Both, Top or Bottom. Does not enable scrolling or change its amount.

GetSelectModeTree.SelectModeEnum
# GetSelectMode
C#
public Tree.SelectModeEnum GetSelectMode();

Single selects one cell, Row selects the selectable cells of one row, and Multi allows accumulated selection. Changing modes neither clears nor normalizes existing flags: call DeselectAll before switching. In Multi, the GetSelected cursor is not the full selection.

Returns Tree.SelectModeEnum

Single selects one cell, Row selects the selectable cells of one row, and Multi allows accumulated selection. Changing modes neither clears nor normalizes existing flags: call DeselectAll before switching. In Multi, the GetSelected cursor is not the full selection.

GetSelectedTreeItem
# GetSelected
C#
public TreeItem GetSelected();

Returns the current cursor row or null. In Multi, selection can exist without a cursor, and the cursor can remain on a deselected cell. Enumerate GetNextSelected for selected rows. The result belongs to Tree.

Returns TreeItem

Returns the current cursor row or null. In Multi, selection can exist without a cursor, and the cursor can remain on a deselected cell. Enumerate GetNextSelected for selected rows. The result belongs to Tree.

GetSelectedColumnint
# GetSelectedColumn
C#
public int GetSelectedColumn();

Current cursor column; -1 after DeselectAll. In Multi it neither enumerates selected columns nor guarantees IsSelected for the cursor cell.

Returns int

Current cursor column; -1 after DeselectAll. In Multi it neither enumerates selected columns nor guarantees IsSelected for the cursor cell.

IsAutoTooltipEnabledbool
# IsAutoTooltipEnabled
C#
public bool IsAutoTooltipEnabled();

Use the cell label/value as a tooltip when no explicit tooltip is set. Does not generate an accessibility description or replace action-button tooltips. Set false to disable this fallback; clearing the row’s explicit tooltip alone is insufficient.

Returns bool

Use the cell label/value as a tooltip when no explicit tooltip is set. Does not generate an accessibility description or replace action-button tooltips. Set false to disable this fallback; clearing the row’s explicit tooltip alone is insufficient.

IsColumnClippingContentbool
# IsColumnClippingContent
C#
public bool IsColumnClippingContent(int column);

Configured policy for excluding row content from minimum-width calculation. Does not report whether a particular label is currently clipped.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Columns - 1.

Returns bool

Configured policy for excluding row content from minimum-width calculation. Does not report whether a particular label is currently clipped.

IsColumnExpandingbool
# IsColumnExpanding
C#
public bool IsColumnExpanding(int column);

Whether the column participates in spare-space distribution. This is expansion permission rather than proof that spare space currently exists.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Columns - 1.

Returns bool

Whether the column participates in spare-space distribution. This is expansion permission rather than proof that spare space currently exists.

IsDragUnfoldingEnabledbool
# IsDragUnfoldingEnabled
C#
public bool IsDragUnfoldingEnabled();

Allows a branch to unfold after a dragged item hovers over it. Does not create drag data or transfer the model. Disabling stops a pending unfolding timer.

Returns bool

Allows a branch to unfold after a dragged item hovers over it. Does not create drag data or transfer the model. Disabling stops a pending unfolding timer.

IsFoldingHiddenbool
# IsFoldingHidden
C#
public bool IsFoldingHidden();

Hides normal folding controls throughout Tree. Does not expand branches or block programmatic Collapsed/SetCollapsedRecursive. Configure branch states separately.

Returns bool

Hides normal folding controls throughout Tree. Does not expand branches or block programmatic Collapsed/SetCollapsedRecursive. Configure branch states separately.

IsHScrollEnabledbool
# IsHScrollEnabled
C#
public bool IsHScrollEnabled();

Enables horizontal scrolling. With false, Tree’s minimum width includes content, so a container can expand the control. Does not fix column widths or control vertical scrolling.

Returns bool

Enables horizontal scrolling. With false, Tree’s minimum width includes content, so a container can expand the control. Does not fix column widths or control vertical scrolling.

IsRecursiveFoldingEnabledbool
# IsRecursiveFoldingEnabled
C#
public bool IsRecursiveFoldingEnabled();

Allows recursive folding/unfolding through the user Shift gesture. Does not block SetCollapsedRecursive from code.

Returns bool

Allows recursive folding/unfolding through the user Shift gesture. Does not block SetCollapsedRecursive from code.

IsRootHiddenbool
# IsRootHidden
C#
public bool IsRootHidden();

Hides the root’s presentation while retaining the root and its children. Useful for a flat list with a shared hidden parent. Does not delete a row or change GetRoot.

Returns bool

Hides the root’s presentation while retaining the root and its children. Useful for a flat list with a shared hidden parent. Does not delete a row or change GetRoot.

IsScrollHintTiledbool
# IsScrollHintTiled
C#
public bool IsScrollHintTiled();

Tile the scroll-hint texture rather than stretching it. This styles the hint rather than enabling cyclic list scrolling.

Returns bool

Tile the scroll-hint texture rather than stretching it. This styles the hint rather than enabling cyclic list scrolling.

IsVScrollEnabledbool
# IsVScrollEnabled
C#
public bool IsVScrollEnabled();

Enables vertical scrolling. With false, Tree’s minimum height includes content, so a container can expand the control. Configure horizontal scrolling separately.

Returns bool

Enables vertical scrolling. With false, Tree’s minimum height includes content, so a container can expand the control. Configure horizontal scrolling separately.

ScrollToItemvoid
# ScrollToItem
C#
public void ScrollToItem(TreeItem item, bool centerOnItem = false);

Scrolls to a row without selecting it or expanding its parents. item must belong to this Tree. Expand the required ancestor chain and configure control size first; centerOnItem attempts vertical centering within the available scroll range.

Parameters
NameTypeDefault
itemTreeItem—
centerOnItemboolfalse
item

Valid row belonging to this Tree.

centerOnItem

Attempt to center the row vertically; does not change selection.

SetAllowReselectvoid
# SetAllowReselect
C#
public void SetAllowReselect(bool allow);

Allows repeat notification when the selection path chooses an already selected cell/row. Does not enable Multi or make programmatic TreeItem.Select emit signals in Multi.

Parameters
NameTypeDefault
allowbool—
allow

Enable the corresponding reselection or right-mouse policy.

SetAllowRmbSelectvoid
# SetAllowRmbSelect
C#
public void SetAllowRmbSelect(bool allow);

Allows right-mouse selection of a row. This is an input policy: it does not open a context menu, change SelectMode or restrict programmatic selection.

Parameters
NameTypeDefault
allowbool—
allow

Enable the corresponding reselection or right-mouse policy.

SetAllowSearchvoid
# SetAllowSearch
C#
public void SetAllowSearch(bool allow);

Allows keyboard prefix search against original labels, ignoring case. Navigates rows rather than filtering data or creating a search box. In Multi, search moves only the cursor without adding to selection. gui/timers/incremental_search_max_interval_msec controls the typing interval.

Parameters
NameTypeDefault
allowbool—
allow

Allow keyboard search/navigation without filtering rows.

SetAutoTooltipvoid
# SetAutoTooltip
C#
public void SetAutoTooltip(bool enable);

Use the cell label/value as a tooltip when no explicit tooltip is set. Does not generate an accessibility description or replace action-button tooltips. Set false to disable this fallback; clearing the row’s explicit tooltip alone is insufficient.

Parameters
NameTypeDefault
enablebool—
enable

Automatic tooltip from the cell value when no explicit tooltip exists.

SetColumnClipContentvoid
# SetColumnClipContent
C#
public void SetColumnClipContent(int column, bool enable);

Allows row content to be omitted when computing the column’s minimum width. Does not exclude a visible title’s minimum or disable Expand. With false, full text width contributes only for cells using TextOverrunBehavior = NoTrimming; trimmable text does not itself force the column to fit the entire label.

Parameters
NameTypeDefault
columnint—
enablebool—
column

Column index from 0 through Columns - 1.

enable

Exclude row content from minimum-width computation.

SetColumnCustomMinimumWidthvoid
# SetColumnCustomMinimumWidth
C#
public void SetColumnCustomMinimumWidth(int column, int minWidth);

Sets a nonnegative column-width minimum in pixels rather than a fixed width. Titles, content and Expand can make it wider. Negative values are ignored; 0 removes the local minimum. For a constrained-width column, also disable Expand and configure ClipContent.

Parameters
NameTypeDefault
columnint—
minWidthint—
column

Column index from 0 through Columns - 1.

minWidth

Nonnegative pixel minimum; 0 removes the local minimum and negative values are ignored.

SetColumnExpandvoid
# SetColumnExpand
C#
public void SetColumnExpand(int column, bool expand);

Allows the column to receive spare space beyond its minimum; default true. false retains its computed minimum rather than forcing content into an arbitrary pixel width.

Parameters
NameTypeDefault
columnint—
expandbool—
column

Column index from 0 through Columns - 1.

expand

Allow spare-space allocation to this column.

SetColumnExpandRatiovoid
# SetColumnExpandRatio
C#
public void SetColumnExpandRatio(int column, int ratio);

Sets an expanding column’s relative weight, default 1. A 1:2 ratio divides extra space rather than total widths. Use positive integers: zero and negative values are stored without validation and can produce undesirable sizing. Has no effect when Expand is false.

Parameters
NameTypeDefault
columnint—
ratioint—
column

Column index from 0 through Columns - 1.

ratio

Positive integer weight for extra width.

SetColumnTitlevoid
# SetColumnTitle
C#
public void SetColumnTitle(int column, string title);

Sets the original column title and updates its text measurement. Presentation uses Tree translation; GetColumnTitle retains the source string. The setter neither shows headers nor sorts rows.

Parameters
NameTypeDefault
columnint—
titlestring—
column

Column index from 0 through Columns - 1.

title

Original title; add it to the application catalog for translation.

SetColumnTitleAlignmentvoid
# SetColumnTitleAlignment
C#
public void SetColumnTitleAlignment(int column, HorizontalAlignment titleAlignment);

Aligns header text: Left, Center or Right. Fill is unsupported and produces a warning; do not use it. Does not change text direction or alignment in data rows.

Parameters
NameTypeDefault
columnint—
titleAlignmentHorizontalAlignment—
column

Column index from 0 through Columns - 1.

titleAlignment

Left, Center or Right; Fill is unsupported.

SetColumnTitleDirectionvoid
# SetColumnTitleDirection
C#
public void SetColumnTitleDirection(int column, Control.TextDirection direction);

Sets the header’s base text direction. Inherited follows the Tree layout. Does not change original GetColumnTitle, column order or text direction in data rows.

Parameters
NameTypeDefault
columnint—
directionControl.TextDirection—
column

Column index from 0 through Columns - 1.

direction

Header base text direction.

SetColumnTitleLanguagevoid
# SetColumnTitleLanguage
C#
public void SetColumnTitleLanguage(int column, string language);

Header text-shaping language hint, such as ar. An empty string uses the default locale. Does not translate text or switch the application language.

Parameters
NameTypeDefault
columnint—
languagestring—
column

Column index from 0 through Columns - 1.

language

Text-shaping language hint rather than a title translation.

SetColumnTitleTooltipTextvoid
# SetColumnTitleTooltipText
C#
public void SetColumnTitleTooltipText(int column, string tooltipText);

Sets an explicit header tooltip, separate from cell and button tooltips. An empty string falls back to the Control’s tooltip behavior.

Parameters
NameTypeDefault
columnint—
tooltipTextstring—
column

Column index from 0 through Columns - 1.

tooltipText

Explicit header tooltip, or an empty string for Control behavior.

SetColumnTitlesVisiblevoid
# SetColumnTitlesVisible
C#
public void SetColumnTitlesVisible(bool visible);

Shows column headers, default false. Prefer setting this before populating or measuring columns. Limitation: showing headers dynamically after GetColumnWidth can retain stale cached widths. To recompute, retain each column’s IsColumnClippingContent, set SetColumnClipContent to the opposite value, then restore it.

Parameters
NameTypeDefault
visiblebool—
visible

Show headers; account for cached measured widths when changing dynamically.

SetColumnsvoid
# SetColumns
C#
public void SetColumns(int amount);

Column count, at least 1; default 1. Set before populating. Reducing it discards trailing cell data throughout the tree. Changes are blocked during mouse selection processing.

Parameters
NameTypeDefault
amountint—
amount

New column count, at least 1.

SetDropModeFlagsvoid
# SetDropModeFlags
C#
public void SetDropModeFlags(int flags);

Drop-target zones: 0 disables them, OnItem (1) targets a row, Inbetween (2) targets between rows, and 3 enables both. Controls target calculation/highlighting rather than data transfer. Implement validation and model changes in drag-and-drop handlers; account for SetAcceptChildren and prevent cycles.

Parameters
NameTypeDefault
flagsint—
flags

0, OnItem (1), Inbetween (2), or their combination 3.

SetEnableDragUnfoldingvoid
# SetEnableDragUnfolding
C#
public void SetEnableDragUnfolding(bool enable);

Allows a branch to unfold after a dragged item hovers over it. Does not create drag data or transfer the model. Disabling stops a pending unfolding timer.

Parameters
NameTypeDefault
enablebool—
enable

Allow branch unfolding while a dragged item hovers over it.

SetEnableRecursiveFoldingvoid
# SetEnableRecursiveFolding
C#
public void SetEnableRecursiveFolding(bool enable);

Allows recursive folding/unfolding through the user Shift gesture. Does not block SetCollapsedRecursive from code.

Parameters
NameTypeDefault
enablebool—
enable

Allow the recursive folding gesture.

SetHScrollEnabledvoid
# SetHScrollEnabled
C#
public void SetHScrollEnabled(bool hScroll);

Enables horizontal scrolling. With false, Tree’s minimum width includes content, so a container can expand the control. Does not fix column widths or control vertical scrolling.

Parameters
NameTypeDefault
hScrollbool—
hScroll

Enable horizontal scrolling.

SetHideFoldingvoid
# SetHideFolding
C#
public void SetHideFolding(bool hide);

Hides normal folding controls throughout Tree. Does not expand branches or block programmatic Collapsed/SetCollapsedRecursive. Configure branch states separately.

Parameters
NameTypeDefault
hidebool—
hide

Hide normal folding controls while retaining branch states.

SetHideRootvoid
# SetHideRoot
C#
public void SetHideRoot(bool enable);

Hides the root’s presentation while retaining the root and its children. Useful for a flat list with a shared hidden parent. Does not delete a row or change GetRoot.

Parameters
NameTypeDefault
enablebool—
enable

true hides the root while retaining its structure.

SetScrollHintModevoid
# SetScrollHintMode
C#
public void SetScrollHintMode(Tree.ScrollHintModeEnum scrollHintMode);

Configures visual hints for content hidden above/below: Disabled, Both, Top or Bottom. Does not enable scrolling or change its amount.

Parameters
NameTypeDefault
scrollHintModeTree.ScrollHintModeEnum—
scrollHintMode

Disabled, Both, Top or Bottom: visual hints for vertically hidden content.

SetSelectModevoid
# SetSelectMode
C#
public void SetSelectMode(Tree.SelectModeEnum mode);

Single selects one cell, Row selects the selectable cells of one row, and Multi allows accumulated selection. Changing modes neither clears nor normalizes existing flags: call DeselectAll before switching. In Multi, the GetSelected cursor is not the full selection.

Parameters
NameTypeDefault
modeTree.SelectModeEnum—
mode

Single, Row or Multi. Clear prior selection with DeselectAll before switching.

SetSelectedvoid
# SetSelected
C#
public void SetSelected(TreeItem item, int column);

Selects the specified cell through the single-selection walk even in Multi, clearing previous flags on traversed rows. Can emit CellSelected, ItemSelected or MultiSelected. Hidden subtrees are skipped; call DeselectAll first to clear every row. item must belong to this Tree; null does not clear selection.

Parameters
NameTypeDefault
itemTreeItem—
columnint—
item

Row belonging to this Tree; in MultiSelected, the row of the changing cell. Do not free a signal-provided row during input processing.

column

Column index from 0 through Tree.Columns - 1.

SetTileScrollHintvoid
# SetTileScrollHint
C#
public void SetTileScrollHint(bool tileScrollHint);

Tile the scroll-hint texture rather than stretching it. This styles the hint rather than enabling cyclic list scrolling.

Parameters
NameTypeDefault
tileScrollHintbool—
tileScrollHint

Tile the hint texture rather than stretching it.

SetVScrollEnabledvoid
# SetVScrollEnabled
C#
public void SetVScrollEnabled(bool hScroll);

Enables vertical scrolling. With false, Tree’s minimum height includes content, so a container can expand the control. Configure horizontal scrolling separately.

Parameters
NameTypeDefault
hScrollbool—
hScroll

Enable vertical scrolling; hScroll is a historical parameter name in this method.

Signals and events15

ButtonClickedEvent
# ButtonClicked
C#
public event Tree.ButtonClickedEventHandler ButtonClicked;

Action-button activation: item, column, command ID and mouse button. id is the stored ID rather than an index. Resolve GetButtonById before modifying the button and check for -1. Keyboard activation can also report MouseButton.Left, so do not infer the input source solely from the last argument.

Handler parameters
NameTypeDefault
itemTreeItem—
columnlong—
idlong—
mouseButtonIndexlong—
item

Tree-owned row containing the activated button.

column

Column index from 0 through Tree.Columns - 1.

id

Activated command ID rather than a button index.

mouseButtonIndex

Mouse button; keyboard activation can also pass Left.

CellSelectedEvent
# CellSelected
C#
public event Action CellSelected;

Cell cursor/selection changed through the selection path, including programmatic SetSelected. Not a universal notification for every flag change: Multi Select, Deselect and DeselectAll can run without it.

CheckPropagatedToItemEvent
# CheckPropagatedToItem
C#
public event Tree.CheckPropagatedToItemEventHandler CheckPropagatedToItem;

Traversal notification from PropagateCheck(..., true): the source row, depth-first descendants, then ancestors bottom-up. Also emitted for unchanged values. Read IsChecked/IsIndeterminate for the supplied cell; collect a complete tree summary after traversal finishes. This is not ItemEdited or an automatic response to SetChecked.

Handler parameters
NameTypeDefault
itemTreeItem—
columnlong—
item

Visited row owned by Tree; do not free it during traversal.

column

Column index from 0 through Tree.Columns - 1.

ColumnTitleClickedEvent
# ColumnTitleClicked
C#
public event Tree.ColumnTitleClickedEventHandler ColumnTitleClicked;

The user activated the specified column header with a mouse button. Tree does not sort rows automatically: retain sort direction in the model and reorder explicitly. Programmatic changes to header text or styling do not emit this signal.

Handler parameters
NameTypeDefault
columnlong—
mouseButtonIndexlong—
column

Column index from 0 through Columns - 1.

mouseButtonIndex

Mouse button that activated the header.

CustomItemClickedEvent
# CustomItemClicked
C#
public event Tree.CustomItemClickedEventHandler CustomItemClicked;

Notification from mouse editing of Custom after ItemEdited, carrying the mouse button. Context is GetEdited/GetEditedColumn. Programmatic EditSelected need not emit it; do not use it as a universal value-apply event.

Handler parameters
NameTypeDefault
mouseButtonIndexlong—
mouseButtonIndex

Mouse button reported by this input path.

CustomPopupEditedEvent
# CustomPopupEdited
C#
public event Tree.CustomPopupEditedEventHandler CustomPopupEdited;

Request for an application editor for a Custom cell. Context is already available through GetEdited/GetEditedColumn and the area through GetCustomPopupRect. EditSelected passes arrowClicked false and then emits ItemEdited. The application implements the window and value apply/cancel behavior.

Handler parameters
NameTypeDefault
arrowClickedbool—
arrowClicked

Whether the Custom arrow was clicked; programmatic EditSelected passes false.

EmptyClickedEvent
# EmptyClicked
C#
public event Tree.EmptyClickedEventHandler EmptyClicked;

Click on empty Tree content, reporting a local position and mouse button. Does not mean that the selection model is already cleared or that data should be deleted.

Handler parameters
NameTypeDefault
clickPositionVector2—
mouseButtonIndexlong—
clickPosition

Click position in Tree-local coordinates.

mouseButtonIndex

Mouse button reported by this input path.

ItemActivatedEvent
# ItemActivated
C#
public event Action ItemActivated;

Row activation, such as a double click or ui_accept when the built-in editor/button did not handle the action. Read the current row through GetSelected. Separate from selection rather than a universal value-change notification.

ItemCollapsedEvent
# ItemCollapsed
C#
public event Tree.ItemCollapsedEventHandler ItemCollapsed;

The supplied row’s Collapsed state changed, including changes from code and expansion. Read item.IsCollapsed() for the new state. Reassigning the old value emits nothing. A recursive call produces separate row events rather than one final snapshot.

Handler parameters
NameTypeDefault
itemTreeItem—
item

Tree-owned row with a new Collapsed state. Do not delete it during a recursive walk.

ItemEditedEvent
# ItemEdited
C#
public event Action ItemEdited;

Editing-path notification; read context with GetEdited/GetEditedColumn. Check has already toggled its value. For Custom, the signal can arrive when an editor is requested, before the application changes the value: it is not a universal commit. Programmatic SetText, SetChecked, SetRange and PropagateCheck do not themselves emit it.

ItemIconDoubleClickedEvent
# ItemIconDoubleClicked
C#
public event Action ItemIconDoubleClicked;

Notification from the icon/unhandled row-area double-click path. Distinct from action-button ButtonClicked and ItemActivated. Recheck the current row and whether the action is valid in the handler.

ItemMouseSelectedEvent
# ItemMouseSelected
C#
public event Tree.ItemMouseSelectedEventHandler ItemMouseSelected;

The mouse-selection path reports a Tree-local position and mouse button. Not emitted for every programmatic Select/SetSelected. Handle selection signals and your own programmatic operations separately in the selection model.

Handler parameters
NameTypeDefault
mousePositionVector2—
mouseButtonIndexlong—
mousePosition

Mouse position in Tree-local coordinates.

mouseButtonIndex

Mouse button reported by this input path.

ItemSelectedEvent
# ItemSelected
C#
public event Action ItemSelected;

Selection notification in Single/Row, including changes from code. Read the current row through GetSelected. Does not enumerate Multi changes or report deselection.

MultiSelectedEvent
# MultiSelected
C#
public event Tree.MultiSelectedEventHandler MultiSelected;

In Multi, reports setting or clearing the specified cell’s flag. Programmatic SetSelected can emit it; TreeItem.Select/Deselect and DeselectAll do not. Replacement notifications occur during traversal, so update an aggregate model snapshot after the operation has completed.

Handler parameters
NameTypeDefault
itemTreeItem—
columnlong—
selectedbool—
item

Row belonging to this Tree; in MultiSelected, the row of the changing cell. Do not free a signal-provided row during input processing.

column

Column index from 0 through Tree.Columns - 1.

selected

true sets the flag; false clears it. A change to one cell rather than a completed snapshot of the whole selection.

NothingSelectedEvent
# NothingSelected
C#
public event Action NothingSelected;

Notification from the left-click-on-empty-space path without Shift or the command modifier (Ctrl/Cmd). Not a universal selection-became-empty event: DeselectAll and programmatic deselection do not emit it. Check the actual selection separately.

Tree.DropModeFlagsEnum

ValueDescription
Disabled = 0

Disables all drop sections. Note: This is the default flag, it has no effect when combined with other flags.

Inbetween = 2

Enables "above item" and "below item" drop sections. The "above item" drop section covers the top half of the item, while the "below item" drop section covers the bottom half, and extends downward to the left of any children. When combined with Tree.DropModeFlagsEnum.OnItem, these drop sections halve in height and stay at the top and bottom respectively.

OnItem = 1

Enables the "on item" drop section. This drop section covers the entire item. When combined with Tree.DropModeFlagsEnum.Inbetween, this drop section halves in height and stays centered vertically.

Tree.ScrollHintModeEnum

ValueDescription
Both = 1

Scroll hints will be shown at the top and bottom.

Bottom = 3

Only the bottom scroll hint will be shown.

Disabled = 0

Scroll hints will never be shown.

Top = 2

Only the top scroll hint will be shown.

Tree.SelectModeEnum

ValueDescription
Multi = 2

Allows selection of multiple cells at the same time. From the perspective of items, multiple items are allowed to be selected. And there can be multiple columns selected in each selected item. The focus cursor is visible in this mode, the item or column under the cursor is not necessarily selected.

Row = 1

Allows selection of a single row at a time. From the perspective of items, only a single items is allowed to be selected. And all the columns are selected in the selected item. The focus cursor is always hidden in this mode, but it is positioned at the first column of the current selection, making the currently selected item the currently focused item.

Single = 0

Allows selection of a single cell at a time. From the perspective of items, only a single item is allowed to be selected. And there is only one column selected in the selected item. The focus cursor is always hidden in this mode, but it is positioned at the current selection, making the currently selected item the currently focused item.

Theme properties

These are Theme resource keys, not C# properties. Use the matching Control GetTheme…() and AddTheme…Override() methods for each value type.

Key and typeDescription
children_hl_line_color
Color

The Color of the relationship lines between the selected TreeItem and its children.

Default: Color(0.27, 0.27, 0.27, 1)
custom_button_font_highlight
Color

Text Color for a TreeItem.TreeCellMode.Custom mode cell when it's hovered.

Default: Color(0.95, 0.95, 0.95, 1)
drop_on_item_color
Color

Color used to draw the highlight outline when dragging items that can only be dropped "on" other items.

Default: Color(1, 1, 1, 1)
drop_position_color
Color

Color used to draw possible drop locations. See Tree.DropModeFlagsEnum constants for further description of drop locations.

Default: Color(1, 1, 1, 1)
font_color
Color

Default text Color of the item.

Default: Color(0.7, 0.7, 0.7, 1)
font_disabled_color
Color

Text Color for a TreeItem.TreeCellMode.Check mode cell when it's non-editable (see TreeItem.SetEditable).

Default: Color(0.875, 0.875, 0.875, 0.5)
font_hovered_color
Color

Text Color used when the item is hovered and not selected yet.

Default: Color(0.95, 0.95, 0.95, 1)
font_hovered_dimmed_color
Color

Text Color used when the item is hovered, while a button of the same item is hovered as the same time.

Default: Color(0.875, 0.875, 0.875, 1)
font_hovered_selected_color
Color

Text Color used when the item is hovered and selected.

Default: Color(1, 1, 1, 1)
font_outline_color
Color

The tint of text outline of the item.

Default: Color(0, 0, 0, 1)
font_selected_color
Color

Text Color used when the item is selected.

Default: Color(1, 1, 1, 1)
guide_color
Color

Color of the guideline.

Default: Color(0.7, 0.7, 0.7, 0.25)
parent_hl_line_color
Color

The Color of the relationship lines between the selected TreeItem and its parents.

Default: Color(0.27, 0.27, 0.27, 1)
relationship_line_color
Color

The default Color of the relationship lines.

Default: Color(0.27, 0.27, 0.27, 1)
scroll_hint_color
Color

Color used to modulate the Tree.scroll_hint texture.

Default: Color(0, 0, 0, 1)
title_button_color
Color

Default text Color of the title button.

Default: Color(0.875, 0.875, 0.875, 1)
button_margin
int

The horizontal space between each button in a cell.

Default: 4
check_h_separation
int

The horizontal space between the checkbox and the text in a TreeItem.TreeCellMode.Check mode cell.

Default: 4
children_hl_line_width
int

The width of the relationship lines between the selected TreeItem and its children.

Default: 1
dragging_unfold_wait_msec
int

During a drag-and-drop, this is how many milliseconds to wait over a section before the section unfolds.

Default: 500
draw_guides
int

Draws the guidelines if not zero, this acts as a boolean. The guideline is a horizontal line drawn at the bottom of each item.

Default: 1
draw_relationship_lines
int

Draws the relationship lines if not zero, this acts as a boolean. Relationship lines are drawn at the start of child items to show hierarchy.

Default: 0
h_separation
int

The horizontal space between item cells. This is also used as the margin at the start of an item when folding is disabled.

Default: 4
icon_h_separation
int

The horizontal space between the icon and the text in item's cells.

Default: 4
icon_max_width
int

The maximum allowed width of the icon in item's cells. This limit is applied on top of the default size of the icon, but before the value set with TreeItem.SetIconMaxWidth. The height is adjusted according to the icon's ratio.

Default: 0
inner_item_margin_bottom
int

The inner bottom margin of a cell.

Default: 0
inner_item_margin_left
int

The inner left margin of a cell.

Default: 0
inner_item_margin_right
int

The inner right margin of a cell.

Default: 0
inner_item_margin_top
int

The inner top margin of a cell.

Default: 0
item_margin
int

The horizontal margin at the start of an item. This is used when folding is enabled for the item.

Default: 16
outline_size
int

The size of the text outline. Note: If using a font with FontFile.MultichannelSignedDistanceField enabled, its FontFile.MsdfPixelRange must be set to at least twice the value of Tree.outline_size for outline rendering to look correct. Otherwise, the outline may appear to be cut off earlier than intended.

Default: 0
parent_hl_line_margin
int

The space between the parent relationship lines for the selected TreeItem and the relationship lines to its siblings that are not selected.

Default: 0
parent_hl_line_width
int

The width of the relationship lines between the selected TreeItem and its parents.

Default: 1
relationship_line_width
int

The default width of the relationship lines.

Default: 1
scroll_border
int

The maximum distance between the mouse cursor and the control's border to trigger border scrolling when dragging.

Default: 4
scroll_max_sticky_items
int

The maximum number of tree items allowed to stick to the top while its children are in view. A value of 0 disables sticking.

Default: 0
scroll_speed
int

The speed of border scrolling.

Default: 12
scrollbar_h_separation
int

The horizontal separation of tree content and scrollbar.

Default: 4
scrollbar_margin_bottom
int

The bottom margin of the scrollbars. When negative, uses Tree.panel bottom margin.

Default: -1
scrollbar_margin_left
int

The left margin of the horizontal scrollbar. When negative, uses Tree.panel left margin.

Default: -1
scrollbar_margin_right
int

The right margin of the scrollbars. When negative, uses Tree.panel right margin.

Default: -1
scrollbar_margin_top
int

The top margin of the vertical scrollbar. When negative, uses Tree.panel top margin.

Default: -1
scrollbar_v_separation
int

The vertical separation of tree content and scrollbar.

Default: 4
v_separation
int

The vertical padding inside each item, i.e. the distance between the item's content and top/bottom border.

Default: 4
font
Font

Font of the item's text.

title_button_font
Font

Font of the title button's text.

font_size
int

Font size of the item's text.

title_button_font_size
int

Font size of the title button's text.

arrow
Texture2D

The arrow icon used when a foldable item is not collapsed.

arrow_collapsed
Texture2D

The arrow icon used when a foldable item is collapsed (for left-to-right layouts).

arrow_collapsed_mirrored
Texture2D

The arrow icon used when a foldable item is collapsed (for right-to-left layouts).

checked
Texture2D

The check icon to display when the TreeItem.TreeCellMode.Check mode cell is checked and editable (see TreeItem.SetEditable).

checked_disabled
Texture2D

The check icon to display when the TreeItem.TreeCellMode.Check mode cell is checked and non-editable (see TreeItem.SetEditable).

indeterminate
Texture2D

The check icon to display when the TreeItem.TreeCellMode.Check mode cell is indeterminate and editable (see TreeItem.SetEditable).

indeterminate_disabled
Texture2D

The check icon to display when the TreeItem.TreeCellMode.Check mode cell is indeterminate and non-editable (see TreeItem.SetEditable).

scroll_hint
Texture2D

The indicator that will be shown when the content can still be scrolled. See Tree.ScrollHintMode.

select_arrow
Texture2D

The arrow icon to display for the TreeItem.TreeCellMode.Range mode cell.

unchecked
Texture2D

The check icon to display when the TreeItem.TreeCellMode.Check mode cell is unchecked and editable (see TreeItem.SetEditable).

unchecked_disabled
Texture2D

The check icon to display when the TreeItem.TreeCellMode.Check mode cell is unchecked and non-editable (see TreeItem.SetEditable).

updown
Texture2D

The updown arrow icon to display for the TreeItem.TreeCellMode.Range mode cell.

focus_sound
AudioStream

Played when this Tree receives keyboard or gamepad-induced focus. Mouse or touch-induced focus does not play a focus sound.

item_hovered_sound
AudioStream

Played when an item is hovered.

item_selected_sound
AudioStream

Played when an item is selected.

button_hover
StyleBox

StyleBox used when a button in the tree is hovered.

button_pressed
StyleBox

StyleBox used when a button in the tree is pressed.

cursor
StyleBox

StyleBox used for the cursor, when the Tree is being focused.

cursor_unfocused
StyleBox

StyleBox used for the cursor, when the Tree is not being focused.

custom_button
StyleBox

Default StyleBox for a TreeItem.TreeCellMode.Custom mode cell when button is enabled with TreeItem.SetCustomAsButton.

custom_button_hover
StyleBox

StyleBox for a TreeItem.TreeCellMode.Custom mode button cell when it's hovered.

custom_button_pressed
StyleBox

StyleBox for a TreeItem.TreeCellMode.Custom mode button cell when it's pressed.

focus
StyleBox

The focused style for the Tree, drawn on top of everything.

hovered
StyleBox

StyleBox for the item being hovered, but not selected.

hovered_dimmed
StyleBox

StyleBox for the item being hovered, while a button of the same item is hovered as the same time.

hovered_selected
StyleBox

StyleBox for the hovered and selected items, used when the Tree is not being focused.

hovered_selected_focus
StyleBox

StyleBox for the hovered and selected items, used when the Tree is being focused.

panel
StyleBox

The background style for the Tree.

selected
StyleBox

StyleBox for the selected items, used when the Tree is not being focused.

selected_focus
StyleBox

StyleBox for the selected items, used when the Tree is being focused.

title_button_hover
StyleBox

StyleBox used when the title button is being hovered.

title_button_normal
StyleBox

Default StyleBox for the title button.

title_button_pressed
StyleBox

StyleBox used when the title button is being pressed.

Reckfell Engine documentationBack to top ↑
QUICK LINKSGetting startedEntity hierarchyC# & .NET 10Scenes and prefabs
Reckfell guides and full API K
reckfellENGINE
RECKFELL ACCOUNT

Sign in

Sign in to your Reckfell account.

One account for the entire Reckfell platform.