reckfellENGINE

TreeItem

Tree row with cells, child rows and explicit lifetime.

On this page
class TreeItemReckfellSharpInherits ReckfellObject

Create TreeItem objects through Tree.CreateItem or an existing row’s CreateChild. TreeItem inherits Object: it is not an Entity, component or reference-counted resource. GetTree returns the UI Tree control rather than EntityTree. Do not separately free borrowed rows while the interface still needs them.

CreateChild adds a nested row; GetParent, GetFirstChild, GetNext and GetPrev traverse the structural hierarchy. GetNext/GetPrev return siblings with the same parent. GetChildren creates a new array containing references to the same rows: clearing the array does not delete rows, and editing a row through the array changes the original tree.

Use MoveBefore/MoveAfter to reorder rows. To transfer through AddChild, first call RemoveChild on the previous parent: AddChild accepts only a detached item with neither a parent nor a Tree. Detaching retains descendants and values, but transfers lifetime responsibility to the caller. Free an unwanted subtree explicitly; all its descendants are deleted too.

When adopting into another Tree, every descendant’s cells resize to its Columns. If there are fewer columns, discarded values do not return when moved back. Rows and descendants cannot be reused after Tree.Clear or Free. Keep persistent data in your model and use Metadata as a record lookup key.

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

Properties4

CollapsedProperty
# Collapsed
C#
public bool Collapsed { get; set; }

Whether the branch is collapsed; default false. The row remains, while its descendants are omitted from visible traversal and presentation. A change on an attached row emits Tree.ItemCollapsed; equal assignments and assignments on detached rows do nothing. A cursor inside the branch can move onto this row.

CustomMinimumHeightProperty
# CustomMinimumHeight
C#
public int CustomMinimumHeight { get; set; }

Additional minimum height for the entire row in pixels, default 0. Not a fixed height: fonts, icons, buttons and theme spacing can require more room. Zero removes the additional requirement.

DisableFoldingProperty
# DisableFolding
C#
public bool DisableFolding { get; set; }

Removes the row’s normal folding control. Does not expand an already collapsed branch or block programmatic Collapsed or SetCollapsedRecursive. Explicitly set Collapsed = false when a branch must remain expanded.

VisibleProperty
# Visible
C#
public bool Visible { get; set; }

The row’s own presentation flag, default true. false neither deletes the row nor changes its descendants’ own Visible values. Hiding clears selection flags on this row, but is not a complete reset of descendant selection. Define explicit selection-clearing rules when filtering a branch.

Methods128

AddButton2 overloads
# AddButton · 1/2
C#
public void AddButton(int column, Texture2D button, int id, bool disabled, string tooltipText);

Appends an action button to the column. button must be a non-null Texture2D and is retained by reference. A negative id becomes the current button count, which does not guarantee uniqueness. Assign explicit unique command IDs; deletion shifts indices while retaining IDs. Emits neither ButtonClicked nor ItemEdited.

Parameters
NameTypeDefault
columnint—
buttonTexture2D—
idint—
disabledbool—
tooltipTextstring—
column

Column index from 0 through Tree.Columns - 1.

button

Non-null button Texture2D; retained by reference.

id

Command ID. AddButton replaces a negative value with the current button count; GetButtonById searches for this ID.

disabled

Disable user activation of this button.

tooltipText

Tooltip text; an empty string means no tooltip.

# AddButton · 2/2
C#
public void AddButton(int column, Texture2D button, int id = -1, bool disabled = false, string tooltipText = "", string description = "");

Appends an action button to the column. button must be a non-null Texture2D and is retained by reference. A negative id becomes the current button count, which does not guarantee uniqueness. Assign explicit unique command IDs; deletion shifts indices while retaining IDs. Emits neither ButtonClicked nor ItemEdited.

Parameters
NameTypeDefault
columnint—
buttonTexture2D—
idint-1
disabledboolfalse
tooltipTextstring""
descriptionstring""
column

Column index from 0 through Tree.Columns - 1.

button

Non-null button Texture2D; retained by reference.

id

Command ID. AddButton replaces a negative value with the current button count; GetButtonById searches for this ID.

disabled

Disable user activation of this button.

tooltipText

Tooltip text; an empty string means no tooltip.

description

Action description for accessibility, separate from its tooltip.

AddChildvoid
# AddChild
C#
public void AddChild(TreeItem child);

Adopts a detached subtree at the end of the child list. child must have neither a parent nor a Tree. The destination Tree takes ownership; its Columns sets every descendant’s cell count and discards trailing data.

Parameters
NameTypeDefault
childTreeItem—
child

Subtree: detached for AddChild, or a direct child of this row for RemoveChild.

CallRecursive2 overloads
# CallRecursive · 1/2
C#
public void CallRecursive(StringName method, params Variant[] args);

Invokes one method with the same arguments on this row, then depth-first on every descendant, including hidden and collapsed branches. Pass a native name from TreeItem.MethodName, such as SetTooltipText, rather than an arbitrary C# method name. Do not delete rows or mutate child lists from the invoked method. Variant[] and ReadOnlySpan<Variant> overloads use the same call order and do not collect return values.

Parameters
NameTypeDefault
methodStringName—
argsVariant[]—
method

Native method name, preferably a TreeItem.MethodName constant.

args

Method arguments shared by every row; the array or ReadOnlySpan is used during the call.

# CallRecursive · 2/2
C#
public void CallRecursive(StringName method, ReadOnlySpan<Variant> args);

Invokes one method with the same arguments on this row, then depth-first on every descendant, including hidden and collapsed branches. Pass a native name from TreeItem.MethodName, such as SetTooltipText, rather than an arbitrary C# method name. Do not delete rows or mutate child lists from the invoked method. Variant[] and ReadOnlySpan<Variant> overloads use the same call order and do not collect return values.

Parameters
NameTypeDefault
methodStringName—
argsReadOnlySpan<Variant>—
method

Native method name, preferably a TreeItem.MethodName constant.

args

Method arguments shared by every row; the array or ReadOnlySpan is used during the call.

ClearButtonsvoid
# ClearButtons
C#
public void ClearButtons();

Removes all action buttons from every column of this row. Does not delete the row, its main icon or externally held texture resources. Use EraseButton for one button.

ClearCustomBgColorvoid
# ClearCustomBgColor
C#
public void ClearCustomBgColor(int column);

Removes the local fill/outline. Does not remove CustomStylebox or change the theme or row selection.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

ClearCustomColorvoid
# ClearCustomColor
C#
public void ClearCustomColor(int column);

Removes the local text-color override and returns color selection to the theme, including selected/hover states. GetCustomColor then returns the black unset marker.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

CreateChildTreeItem
# CreateChild
C#
public TreeItem CreateChild(int index = -1);

Creates a child row. A negative index appends; an existing child index inserts before it, and an index beyond the end appends. Create rows under an item already attached to Tree to obtain its column schema.

Parameters
NameTypeDefault
indexint-1
index

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

Returns TreeItem

Creates a child row. A negative index appends; an existing child index inserts before it, and an index beyond the end appends. Create rows under an item already attached to Tree to obtain its column schema.

Deselectvoid
# Deselect
C#
public void Deselect(int column);

Clears the cell’s flag, or the entire row in Row mode, without selection signals. In Multi it also moves the cursor onto this now unselected cell. Use Tree.DeselectAll to clear both flags and cursor completely.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

EraseButtonvoid
# EraseButton
C#
public void EraseButton(int column, int buttonIndex);

Removes a button by its nonnegative index in the column. Later indices decrease while their IDs remain unchanged. Resolve the index again with GetButtonById before another ID-based operation.

Parameters
NameTypeDefault
columnint—
buttonIndexint—
column

Column index from 0 through Tree.Columns - 1.

buttonIndex

Nonnegative button index in the column rather than a command ID.

GetAutoTranslateModeEntity.AutoTranslateModeEnum
# GetAutoTranslateMode
C#
public Entity.AutoTranslateModeEnum GetAutoTranslateMode(int column);

Stored label translation policy, default Inherit. Not the current application locale or proof that a translation exists.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

Returns Entity.AutoTranslateModeEnum

Stored label translation policy, default Inherit. Not the current application locale or proof that a translation exists.

GetAutowrapModeTextServer.AutowrapMode
# GetAutowrapMode
C#
public TextServer.AutowrapMode GetAutowrapMode(int column);

Stored wrapping mode, default Off. Does not report the number of laid-out lines.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

Returns TextServer.AutowrapMode

Stored wrapping mode, default Off. Does not report the number of laid-out lines.

GetAutowrapTrimFlagsTextServer.LineBreakFlag
# GetAutowrapTrimFlags
C#
public TextServer.LineBreakFlag GetAutowrapTrimFlags(int column);

Stored trim flags after masking rather than the complete text line-breaking rules.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

Returns TextServer.LineBreakFlag

Stored trim flags after masking rather than the complete text line-breaking rules.

GetButtonTexture2D
# GetButton
C#
public Texture2D GetButton(int column, int buttonIndex);

Button texture at a nonnegative index. Returns the shared resource rather than an image copy. Do not confuse the index with a command ID.

Parameters
NameTypeDefault
columnint—
buttonIndexint—
column

Column index from 0 through Tree.Columns - 1.

buttonIndex

Nonnegative button index in the column rather than a command ID.

Returns Texture2D

Button texture at a nonnegative index. Returns the shared resource rather than an image copy. Do not confuse the index with a command ID.

GetButtonByIdint
# GetButtonById
C#
public int GetButtonById(int column, int id);

Index of the first button with the supplied ID in the column, or -1. Converts ID to index; with duplicates only the first is returned. Check for -1 before calling index-based methods.

Parameters
NameTypeDefault
columnint—
idint—
column

Column index from 0 through Tree.Columns - 1.

id

Command ID. AddButton replaces a negative value with the current button count; GetButtonById searches for this ID.

Returns int

Index of the first button with the supplied ID in the column, or -1. Converts ID to index; with duplicates only the first is returned. Check for -1 before calling index-based methods.

GetButtonColorColor
# GetButtonColor
C#
public Color GetButtonColor(int column, int id);

Button color multiplier. Important: the C# parameter is named id but actually takes a nonnegative index. For a command ID, first call GetButtonById and check the result for -1.

Parameters
NameTypeDefault
columnint—
idint—
column

Column index from 0 through Tree.Columns - 1.

id

Despite the id name, this argument requires a nonnegative button index.

Returns Color

Button color multiplier. Important: the C# parameter is named id but actually takes a nonnegative index. For a command ID, first call GetButtonById and check the result for -1.

GetButtonCountint
# GetButtonCount
C#
public int GetButtonCount(int column);

Number of action buttons in the column. The main icon and CustomAsButton styling are not counted.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

Returns int

Number of action buttons in the column. The main icon and CustomAsButton styling are not counted.

GetButtonIdint
# GetButtonId
C#
public int GetButtonId(int column, int buttonIndex);

Button command ID at a nonnegative index. This is a stored value rather than the current index; duplicate IDs are technically allowed.

Parameters
NameTypeDefault
columnint—
buttonIndexint—
column

Column index from 0 through Tree.Columns - 1.

buttonIndex

Nonnegative button index in the column rather than a command ID.

Returns int

Button command ID at a nonnegative index. This is a stored value rather than the current index; duplicate IDs are technically allowed.

GetButtonTooltipTextstring
# GetButtonTooltipText
C#
public string GetButtonTooltipText(int column, int buttonIndex);

Original button tooltip at a nonnegative index. Does not return the accessibility description or accept a command ID.

Parameters
NameTypeDefault
columnint—
buttonIndexint—
column

Column index from 0 through Tree.Columns - 1.

buttonIndex

Nonnegative button index in the column rather than a command ID.

Returns string

Original button tooltip at a nonnegative index. Does not return the accessibility description or accept a command ID.

GetCellModeTreeItem.TreeCellMode
# GetCellMode
C#
public TreeItem.TreeCellMode GetCellMode(int column);

Current cell mode: String, Check, Range, Icon or Custom. A new cell uses String; mode is separate from editing permission.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

Returns TreeItem.TreeCellMode

Current cell mode: String, Check, Range, Icon or Custom. A new cell uses String; mode is separate from editing permission.

GetChildTreeItem
# GetChild
C#
public TreeItem GetChild(int index);

Returns a direct child by structural index. Negative indices count from the end: -1 is the last child. The index must address an existing child.

Parameters
NameTypeDefault
indexint—
index

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

Returns TreeItem

Returns a direct child by structural index. Negative indices count from the end: -1 is the last child. The index must address an existing child.

GetChildCountint
# GetChildCount
C#
public int GetChildCount();

Number of direct children, including hidden children and children of a collapsed row. Does not recursively count all descendants.

Returns int

Number of direct children, including hidden children and children of a collapsed row. Does not recursively count all descendants.

GetChildrenReckfell.Collections.Array<TreeItem>
# GetChildren
C#
public Reckfell.Collections.Array<TreeItem> GetChildren();

New array of references to direct children in structural order. Editing the array does not change the hierarchy; the TreeItem objects are shared and retain their owner.

Returns Reckfell.Collections.Array<TreeItem>

New array of references to direct children in structural order. Editing the array does not change the hierarchy; the TreeItem objects are shared and retain their owner.

GetCustomBgColorColor
# GetCustomBgColor
C#
public Color GetCustomBgColor(int column);

Stored local background. When unset, returns black with alpha = 1 rather than the theme background. Does not report justOutline or distinguish an unset override from explicit black.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

Returns Color

Stored local background. When unset, returns black with alpha = 1 rather than the theme background. Does not report justOutline or distinguish an unset override from explicit black.

GetCustomColorColor
# GetCustomColor
C#
public Color GetCustomColor(int column);

Local text color; when unset, returns black with alpha = 1 rather than the effective theme color. This getter cannot distinguish explicit black from an unset override; retain an override flag in the model if needed.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

Returns Color

Local text color; when unset, returns black with alpha = 1 rather than the effective theme color. This getter cannot distinguish explicit black from an unset override; retain an override flag in the model if needed.

GetCustomDrawCallbackCallable
# GetCustomDrawCallback
C#
public Callable GetCustomDrawCallback(int column);

Stored column drawing Callable, or an empty Callable. The getter does not draw anything. Keep the handler object/delegate available while the callback is in use.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

Returns Callable

Stored column drawing Callable, or an empty Callable. The getter does not draw anything. Keep the handler object/delegate available while the callback is in use.

GetCustomFontFont
# GetCustomFont
C#
public Font GetCustomFont(int column);

Local Font resource or null when the theme font is used. Does not return the effective font or a resource copy.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

Returns Font

Local Font resource or null when the theme font is used. Does not return the effective font or a resource copy.

GetCustomFontSizeint
# GetCustomFontSize
C#
public int GetCustomFontSize(int column);

Stored local size, default -1. A nonpositive value means theme fallback rather than a negative effective text size.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

Returns int

Stored local size, default -1. A nonpositive value means theme fallback rather than a negative effective text size.

GetCustomMinimumHeightint
# GetCustomMinimumHeight
C#
public int GetCustomMinimumHeight();

Additional minimum height for the entire row in pixels, default 0. Not a fixed height: fonts, icons, buttons and theme spacing can require more room. Zero removes the additional requirement.

Returns int

Additional minimum height for the entire row in pixels, default 0. Not a fixed height: fonts, icons, buttons and theme spacing can require more room. Zero removes the additional requirement.

GetCustomStyleboxStyleBox
# GetCustomStylebox
C#
public StyleBox GetCustomStylebox(int column);

Shared local StyleBox or null. Changing this resource also affects other cells using the same object.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

Returns StyleBox

Shared local StyleBox or null. Changing this resource also affects other cells using the same object.

GetDescriptionstring
# GetDescription
C#
public string GetDescription(int column);

Stored accessibility description, independent of visible text and tooltip.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

Returns string

Stored accessibility description, independent of visible text and tooltip.

GetExpandRightbool
# GetExpandRight
C#
public bool GetExpandRight(int column);

Whether expansion into following empty columns is enabled. true is layout permission rather than confirmation that expansion occurred.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

Returns bool

Whether expansion into following empty columns is enabled. true is layout permission rather than confirmation that expansion occurred.

GetFirstChildTreeItem
# GetFirstChild
C#
public TreeItem GetFirstChild();

Returns the first direct child or null. Uses structural order rather than row collapse or visibility.

Returns TreeItem

Returns the first direct child or null. Uses structural order rather than row collapse or visibility.

GetIconTexture2D
# GetIcon
C#
public Texture2D GetIcon(int column);

Cell’s main Texture2D or null. Returns the shared resource at its original size; visual IconMaxWidth constraints do not resize the texture itself.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

Returns Texture2D

Cell’s main Texture2D or null. Returns the shared resource at its original size; visual IconMaxWidth constraints do not resize the texture itself.

GetIconMaxWidthint
# GetIconMaxWidth
C#
public int GetIconMaxWidth(int column);

Stored local width limit rather than the final image width. The theme and available space can further constrain presentation.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

Returns int

Stored local width limit rather than the final image width. The theme and available space can further constrain presentation.

GetIconModulateColor
# GetIconModulate
C#
public Color GetIconModulate(int column);

Stored icon color multiplier rather than an action-button color.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

Returns Color

Stored icon color multiplier rather than an action-button color.

GetIconOverlayTexture2D
# GetIconOverlay
C#
public Texture2D GetIconOverlay(int column);

Shared icon-overlay resource or null. This is not an independent action button.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

Returns Texture2D

Shared icon-overlay resource or null. This is not an independent action button.

GetIconRegionRect2
# GetIconRegion
C#
public Rect2 GetIconRegion(int column);

Stored source texture region rather than a screen rectangle. An empty Rect2 means the entire texture.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

Returns Rect2

Stored source texture region rather than a screen rectangle. An empty Rect2 means the entire texture.

GetIndexint
# GetIndex
C#
public int GetIndex();

Current zero-based position among siblings with the same parent. Changes when siblings are inserted, removed or reordered. Do not use it as a persistent model record ID.

Returns int

Current zero-based position among siblings with the same parent. Changes when siblings are inserted, removed or reordered. Do not use it as a persistent model record ID.

GetLanguagestring
# GetLanguage
C#
public string GetLanguage(int column);

Stored shaping-language hint, or an empty string for the default locale. Does not return translated text.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

Returns string

Stored shaping-language hint, or an empty string for the default locale. Does not return translated text.

GetMetadataVariant
# GetMetadata
C#
public Variant GetMetadata(int column);

Returns the Variant stored in the cell. Dispose the returned C# Variant wrapper after use; this does not delete the row.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

Returns Variant

Returns the Variant stored in the cell. Dispose the returned C# Variant wrapper after use; this does not delete the row.

GetNextTreeItem
# GetNext
C#
public TreeItem GetNext();

Next sibling with the same parent, or null. Does not descend into children.

Returns TreeItem

Next sibling with the same parent, or null. Does not descend into children.

GetNextInTreeTreeItem
# GetNextInTree
C#
public TreeItem GetNextInTree(bool wrap = false);

Next row in depth-first order: children, then siblings, then ancestor siblings. Includes hidden and collapsed branches. Without wrap the end is null; with wrap returns the structural root, including when HideRoot is enabled. For a complete stable walk, start at GetRoot and use wrap = false.

Parameters
NameTypeDefault
wrapboolfalse
wrap

Continue at the other boundary after reaching the end. Account for the documented hidden-root and reverse-traversal exceptions.

Returns TreeItem

Next row in depth-first order: children, then siblings, then ancestor siblings. Includes hidden and collapsed branches. Without wrap the end is null; with wrap returns the structural root, including when HideRoot is enabled. For a complete stable walk, start at GetRoot and use wrap = false.

GetNextVisibleTreeItem
# GetNextVisible
C#
public TreeItem GetNextVisible(bool wrap = false);

Next depth-first row, skipping collapsed branches and rows whose IsVisibleInTree is false. This is row order, not a screen-pixel visibility test. Limitations: inherits the visibility-cache issue; wrap can return the root even with HideRoot enabled. Prefer wrap = false and explicitly check parents when filtering.

Parameters
NameTypeDefault
wrapboolfalse
wrap

Continue at the other boundary after reaching the end. Account for the documented hidden-root and reverse-traversal exceptions.

Returns TreeItem

Next depth-first row, skipping collapsed branches and rows whose IsVisibleInTree is false. This is row order, not a screen-pixel visibility test. Limitations: inherits the visibility-cache issue; wrap can return the root even with HideRoot enabled. Prefer wrap = false and explicitly check parents when filtering.

GetParentTreeItem
# GetParent
C#
public TreeItem GetParent();

Returns the parent TreeItem; null for the root and for the root of a detached subtree.

Returns TreeItem

Returns the parent TreeItem; null for the root and for the root of a detached subtree.

GetPrevTreeItem
# GetPrev
C#
public TreeItem GetPrev();

Previous sibling with the same parent, or null. Does not perform a reverse traversal through descendants.

Returns TreeItem

Previous sibling with the same parent, or null. Does not perform a reverse traversal through descendants.

GetPrevInTreeTreeItem
# GetPrevInTree
C#
public TreeItem GetPrevInTree(bool wrap = false);

Previous row in reverse depth-first order, including collapsed and hidden branches. Boundary exceptions: with HideRoot, stepping from the first child to the root returns null; wrap finds the last item through visible traversal and can skip collapsed subbranches. For a complete reverse walk, collect GetNextInTree(false) results and reverse that list.

Parameters
NameTypeDefault
wrapboolfalse
wrap

Continue at the other boundary after reaching the end. Account for the documented hidden-root and reverse-traversal exceptions.

Returns TreeItem

Previous row in reverse depth-first order, including collapsed and hidden branches. Boundary exceptions: with HideRoot, stepping from the first child to the root returns null; wrap finds the last item through visible traversal and can skip collapsed subbranches. For a complete reverse walk, collect GetNextInTree(false) results and reverse that list.

GetPrevVisibleTreeItem
# GetPrevVisible
C#
public TreeItem GetPrevVisible(bool wrap = false);

Previous row in visible depth-first order, not merely a sibling with the same parent. Skips collapsed subbranches and rows with IsVisibleInTree false. Returns null at the boundary without wrap. Does not test the scrolled viewport and inherits the parent-visibility cache limitation.

Parameters
NameTypeDefault
wrapboolfalse
wrap

Continue at the other boundary after reaching the end. Account for the documented hidden-root and reverse-traversal exceptions.

Returns TreeItem

Previous row in visible depth-first order, not merely a sibling with the same parent. Skips collapsed subbranches and rows with IsVisibleInTree false. Returns null at the boundary without wrap. Does not test the scrolled viewport and inherits the parent-visibility cache limitation.

GetRangedouble
# GetRange
C#
public double GetRange(int column);

Stored numeric value. Can remain outside new bounds after SetRangeConfig because configuration does not recalculate it. Call SetRange with the current value to reapply constraints.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

Returns double

Stored numeric value. Can remain outside new bounds after SetRangeConfig because configuration does not recalculate it. Call SetRange with the current value to reapply constraints.

GetRangeConfigReckfell.Collections.Dictionary
# GetRangeConfig
C#
public Reckfell.Collections.Dictionary GetRangeConfig(int column);

New Dictionary with min, max, step and expr; changing it does not modify the cell. Current implementation limitation: expr is always false, even after SetRangeConfig(..., true). Retain exponential configuration in your model rather than restoring it from this key. Dispose the C# dictionary wrapper after use.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

Returns Reckfell.Collections.Dictionary

New Dictionary with min, max, step and expr; changing it does not modify the cell. Current implementation limitation: expr is always false, even after SetRangeConfig(..., true). Retain exponential configuration in your model rather than restoring it from this key. Dispose the C# dictionary wrapper after use.

GetStructuredTextBidiOverrideTextServer.StructuredTextParser
# GetStructuredTextBidiOverride
C#
public TextServer.StructuredTextParser GetStructuredTextBidiOverride(int column);

Stored structured-text parser; Default uses ordinary Unicode BiDi. Does not return the direction of each string segment.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

Returns TextServer.StructuredTextParser

Stored structured-text parser; Default uses ordinary Unicode BiDi. Does not return the direction of each string segment.

GetStructuredTextBidiOverrideOptionsReckfell.Collections.Array
# GetStructuredTextBidiOverrideOptions
C#
public Reckfell.Collections.Array GetStructuredTextBidiOverrideOptions(int column);

Wrapper over the shared BiDi parser-options array. Mutating its contents changes stored options without triggering text recalculation. Prepare a separate array and call the setter for a new configuration. Dispose the C# Array wrapper after use.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

Returns Reckfell.Collections.Array

Wrapper over the shared BiDi parser-options array. Mutating its contents changes stored options without triggering text recalculation. Prepare a separate array and call the setter for a new configuration. Dispose the C# Array wrapper after use.

GetSuffixstring
# GetSuffix
C#
public string GetSuffix(int column);

Stored suffix, separate from the original GetText and numeric GetRange. Changing CellMode does not reset it.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

Returns string

Stored suffix, separate from the original GetText and numeric GetRange. Changing CellMode does not reset it.

GetTextstring
# GetText
C#
public string GetText(int column);

Returns the original SetText string rather than its automatically translated presentation or a model identifier.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

Returns string

Returns the original SetText string rather than its automatically translated presentation or a model identifier.

GetTextAlignmentHorizontalAlignment
# GetTextAlignment
C#
public HorizontalAlignment GetTextAlignment(int column);

Stored cell text alignment rather than text direction or a column coordinate.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

Returns HorizontalAlignment

Stored cell text alignment rather than text direction or a column coordinate.

GetTextDirectionControl.TextDirection
# GetTextDirection
C#
public Control.TextDirection GetTextDirection(int column);

Stored base text direction. Inherited means inheritance from Tree rather than a resolved LTR/RTL value.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

Returns Control.TextDirection

Stored base text direction. Inherited means inheritance from Tree rather than a resolved LTR/RTL value.

GetTextOverrunBehaviorTextServer.OverrunBehavior
# GetTextOverrunBehavior
C#
public TextServer.OverrunBehavior GetTextOverrunBehavior(int column);

Stored text-trimming policy. Does not return the trimmed string or test actual overflow.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

Returns TextServer.OverrunBehavior

Stored text-trimming policy. Does not return the trimmed string or test actual overflow.

GetTooltipTextstring
# GetTooltipText
C#
public string GetTooltipText(int column);

Stored explicit cell tooltip. Does not compute the automatic label tooltip or return an individual action-button tooltip.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

Returns string

Stored explicit cell tooltip. Does not compute the automatic label tooltip or return an individual action-button tooltip.

GetTreeTree
# GetTree
C#
public Tree GetTree();

Returns the owning UI Tree control, or null for a detached subtree. This is not EntityTree.

Returns Tree

Returns the owning UI Tree control, or null for a detached subtree. This is not EntityTree.

IsAcceptingChildrenbool
# IsAcceptingChildren
C#
public bool IsAcceptingChildren();

Stored child-acceptance policy for drag-and-drop. false does not mean that the row has no children or that CreateChild is blocked.

Returns bool

Stored child-acceptance policy for drag-and-drop. false does not mean that the row has no children or that CreateChild is blocked.

IsAnyCollapsedbool
# IsAnyCollapsed
C#
public bool IsAnyCollapsed(bool onlyVisible = false);

Whether this row or its descendants contain a collapsed branch. A collapsed leaf without children does not count. onlyVisible filters using visibility flags and visible children; it does not test whether rows are inside the scrolled viewport. Account for the IsVisibleInTree cache limitation.

Parameters
NameTypeDefault
onlyVisibleboolfalse
onlyVisible

Filter branches by visibility; does not mean visibility inside the scrolled viewport.

Returns bool

Whether this row or its descendants contain a collapsed branch. A collapsed leaf without children does not count. onlyVisible filters using visibility flags and visible children; it does not test whether rows are inside the scrolled viewport. Account for the IsVisibleInTree cache limitation.

IsButtonDisabledbool
# IsButtonDisabled
C#
public bool IsButtonDisabled(int column, int buttonIndex);

Whether the button at a nonnegative index is disabled. Does not accept a command ID or a negative index from the end.

Parameters
NameTypeDefault
columnint—
buttonIndexint—
column

Column index from 0 through Tree.Columns - 1.

buttonIndex

Nonnegative button index in the column rather than a command ID.

Returns bool

Whether the button at a nonnegative index is disabled. Does not accept a command ID or a negative index from the end.

IsCheckedbool
# IsChecked
C#
public bool IsChecked(int column);

Stored boolean checkbox state. Check IsIndeterminate separately for a mixed state; this is not Tree row selection.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

Returns bool

Stored boolean checkbox state. Check IsIndeterminate separately for a mixed state; this is not Tree row selection.

IsCollapsedbool
# IsCollapsed
C#
public bool IsCollapsed();

Whether the branch is collapsed; default false. The row remains, while its descendants are omitted from visible traversal and presentation. A change on an attached row emits Tree.ItemCollapsed; equal assignments and assignments on detached rows do nothing. A cursor inside the branch can move onto this row.

Returns bool

Whether the branch is collapsed; default false. The row remains, while its descendants are omitted from visible traversal and presentation. A change on an attached row emits Tree.ItemCollapsed; equal assignments and assignments on detached rows do nothing. A cursor inside the branch can move onto this row.

IsCustomSetAsButtonbool
# IsCustomSetAsButton
C#
public bool IsCustomSetAsButton(int column);

Stored Custom button-style flag. true does not imply an AddButton entry or an active Custom mode.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

Returns bool

Stored Custom button-style flag. true does not imply an AddButton entry or an active Custom mode.

IsEditMultilinebool
# IsEditMultiline
C#
public bool IsEditMultiline(int column);

Whether multiline String editing is configured. Default false; does not mean the editor is currently open.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

Returns bool

Whether multiline String editing is configured. Default false; does not mean the editor is currently open.

IsEditablebool
# IsEditable
C#
public bool IsEditable(int column);

Whether user editing is allowed. Programmatic setters work independently of this flag.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

Returns bool

Whether user editing is allowed. Programmatic setters work independently of this flag.

IsFoldingDisabledbool
# IsFoldingDisabled
C#
public bool IsFoldingDisabled();

Removes the row’s normal folding control. Does not expand an already collapsed branch or block programmatic Collapsed or SetCollapsedRecursive. Explicitly set Collapsed = false when a branch must remain expanded.

Returns bool

Removes the row’s normal folding control. Does not expand an already collapsed branch or block programmatic Collapsed or SetCollapsedRecursive. Explicitly set Collapsed = false when a branch must remain expanded.

IsIndeterminatebool
# IsIndeterminate
C#
public bool IsIndeterminate(int column);

Whether the cell is in a mixed state. Stored separately from checked; read both flags if the model distinguishes on, off and partially on.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

Returns bool

Whether the cell is in a mixed state. Stored separately from checked; read both flags if the model distinguishes on, off and partially on.

IsSelectablebool
# IsSelectable
C#
public bool IsSelectable(int column);

Whether the cell can be selected. Separate from the stored selected flag; changing it does not clear that flag.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

Returns bool

Whether the cell can be selected. Separate from the stored selected flag; changing it does not clear that flag.

IsSelectedbool
# IsSelected
C#
public bool IsSelected(int column);

true only when the cell is selectable and its stored flag is set. With Selectable false it returns false even if GetNextSelected still finds the row through its retained flag.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

Returns bool

true only when the cell is selectable and its stored flag is set. With Selectable false it returns false even if GetNextSelected still finds the row through its retained flag.

IsVisiblebool
# IsVisible
C#
public bool IsVisible();

The row’s own presentation flag, default true. false neither deletes the row nor changes its descendants’ own Visible values. Hiding clears selection flags on this row, but is not a complete reset of descendant selection. Define explicit selection-clearing rules when filtering a branch.

Returns bool

The row’s own presentation flag, default true. false neither deletes the row nor changes its descendants’ own Visible values. Hiding clears selection flags on this row, but is not a complete reset of descendant selection. Define explicit selection-clearing rules when filtering a branch.

IsVisibleInTreebool
# IsVisibleInTree
C#
public bool IsVisibleInTree();

Returns the row’s Visible combined with the cached parent visibility. Does not account for ancestor Collapsed, HideRoot, scrolling or visibility of the UI control itself. Limitation: hiding/showing a higher ancestor can make this return true beneath an intermediate Visible = false row. When accuracy matters, walk GetParent and check IsVisible on each ancestor; check collapse and the hidden root separately.

Returns bool

Returns the row’s Visible combined with the cached parent visibility. Does not account for ancestor Collapsed, HideRoot, scrolling or visibility of the UI control itself. Limitation: hiding/showing a higher ancestor can make this return true beneath an intermediate Visible = false row. When accuracy matters, walk GetParent and check IsVisible on each ancestor; check collapse and the hidden root separately.

MoveAftervoid
# MoveAfter
C#
public void MoveAfter(TreeItem item);

Moves the existing row and its subtree after item. item must have a parent; the root cannot be moved. Do not move a row into its own subtree. Moving across trees can discard trailing columns.

Parameters
NameTypeDefault
itemTreeItem—
item

Row before or after which to insert this row; must have a parent.

MoveBeforevoid
# MoveBefore
C#
public void MoveBefore(TreeItem item);

Moves the existing row and its subtree before item. item must have a parent; the root cannot be moved. Do not move a row into its own subtree. Moving across trees can discard trailing columns.

Parameters
NameTypeDefault
itemTreeItem—
item

Row before or after which to insert this row; must have a parent.

PropagateCheckvoid
# PropagateCheck
C#
public void PropagateCheck(int column, bool emitSignal = true);

Copies this row’s current checked value to all descendants in the column, then recomputes ancestors: all-on children produce checked = true, all-off children produce false, and mixed children produce indeterminate. Ignores Editable and Selectable and emits no ItemEdited. Requires a valid column and a Tree-attached row. With emitSignal, notifies self, depth-first descendants, then ancestors bottom-up, even when values do not change. A descendant with an equal checked value may retain indeterminate; this is not a forced reset of all mixed flags.

Parameters
NameTypeDefault
columnint—
emitSignalbooltrue
column

Column index from 0 through Tree.Columns - 1.

emitSignal

Emit CheckPropagatedToItem for every visited row; false updates data without these notifications.

RemoveChildvoid
# RemoveChild
C#
public void RemoveChild(TreeItem child);

Detaches a direct child and its descendants without deleting them. Their GetTree becomes null. The caller must adopt the subtree elsewhere or Free it.

Parameters
NameTypeDefault
childTreeItem—
child

Subtree: detached for AddChild, or a direct child of this row for RemoveChild.

Select2 overloads
# Select · 1/2
C#
public void Select(int column);

Selects a cell: Single replaces selection, Row selects the row’s selectable cells, and Multi adds a flag without CellSelected/ItemSelected/MultiSelected. setAsCursor only affects Multi; false retains the previous cursor. The overload without bool uses true. Explicitly update the model after programmatically accumulating selection.

Parameters
NameTypeDefault
columnint—
column

Column index from 0 through Tree.Columns - 1.

# Select · 2/2
C#
public void Select(int column, bool setAsCursor = true);

Selects a cell: Single replaces selection, Row selects the row’s selectable cells, and Multi adds a flag without CellSelected/ItemSelected/MultiSelected. setAsCursor only affects Multi; false retains the previous cursor. The overload without bool uses true. Explicitly update the model after programmatically accumulating selection.

Parameters
NameTypeDefault
columnint—
setAsCursorbooltrue
column

Column index from 0 through Tree.Columns - 1.

setAsCursor

Multi only: true also moves the cursor; false changes the flag without moving it.

SetAcceptChildrenvoid
# SetAcceptChildren
C#
public void SetAcceptChildren(bool allowed);

Controls acceptance of child items when calculating drag-and-drop targets. Does not block CreateChild/AddChild from code or enforce model transfer rules. Validate the model in your own drop handler.

Parameters
NameTypeDefault
allowedbool—
allowed

Allow the row to accept children as a drag-and-drop target.

SetAutoTranslateModevoid
# SetAutoTranslateMode
C#
public void SetAutoTranslateMode(int column, Entity.AutoTranslateModeEnum mode);

Sets the cell label translation policy: Inherit follows Tree, Always uses translation, and Disabled retains source text. Does not change GetText or add catalog translations. Editable String cells bypass automatic translation even with Always to avoid replacing user input.

Parameters
NameTypeDefault
columnint—
modeEntity.AutoTranslateModeEnum—
column

Column index from 0 through Tree.Columns - 1.

mode

Label translation policy: Inherit, Always or Disabled; does not alter source text.

SetAutowrapModevoid
# SetAutowrapMode
C#
public void SetAutowrapMode(int column, TextServer.AutowrapMode autowrapMode);

Sets wrapping within available width: Off, Arbitrary, Word or WordSmart. Does not set column width or enable multiline editing. Configure column sizes first; SetEditMultiline controls editing separately.

Parameters
NameTypeDefault
columnint—
autowrapModeTextServer.AutowrapMode—
column

Column index from 0 through Tree.Columns - 1.

autowrapMode

Text wrapping mode within the available cell width.

SetAutowrapTrimFlagsvoid
# SetAutowrapTrimFlags
C#
public void SetAutowrapTrimFlags(int column, TextServer.LineBreakFlag flags);

Sets handling of whitespace at line boundaries. Retains only TrimIndent, TrimStartEdgeSpaces and TrimEndEdgeSpaces; discards Mandatory, WordBound and other flags. Choose wrap points through SetAutowrapMode.

Parameters
NameTypeDefault
columnint—
flagsTextServer.LineBreakFlag—
column

Column index from 0 through Tree.Columns - 1.

flags

TrimIndent and/or TrimStartEdgeSpaces/TrimEndEdgeSpaces. Other bits are discarded.

SetButtonvoid
# SetButton
C#
public void SetButton(int column, int buttonIndex, Texture2D button);

Replaces an existing button’s texture while retaining its ID and other settings. button must not be null. Negative buttonIndex counts from the end: -1 is the last button.

Parameters
NameTypeDefault
columnint—
buttonIndexint—
buttonTexture2D—
column

Column index from 0 through Tree.Columns - 1.

buttonIndex

Index rather than command ID; this setter accepts negative values from the end.

button

Non-null button Texture2D; retained by reference.

SetButtonColorvoid
# SetButtonColor
C#
public void SetButtonColor(int column, int buttonIndex, Color color);

Sets the button texture’s color multiplier, including alpha. buttonIndex is an index; negative values count from the end. Does not change the row’s main icon color or activate the button.

Parameters
NameTypeDefault
columnint—
buttonIndexint—
colorColor—
column

Column index from 0 through Tree.Columns - 1.

buttonIndex

Index rather than command ID; this setter accepts negative values from the end.

color

Button texture color multiplier with alpha.

SetButtonDescriptionvoid
# SetButtonDescription
C#
public void SetButtonDescription(int column, int buttonIndex, string description);

Sets the action’s accessibility description, separate from its tooltip. buttonIndex accepts negative indices from the end. Does not change the command ID or the main cell label.

Parameters
NameTypeDefault
columnint—
buttonIndexint—
descriptionstring—
column

Column index from 0 through Tree.Columns - 1.

buttonIndex

Index rather than command ID; this setter accepts negative values from the end.

description

Action description for accessibility, separate from its tooltip.

SetButtonDisabledvoid
# SetButtonDisabled
C#
public void SetButtonDisabled(int column, int buttonIndex, bool disabled);

Disables user activation of one button without deleting it or disabling the whole row. buttonIndex accepts negative indices from the end. This is UI policy rather than command authorization.

Parameters
NameTypeDefault
columnint—
buttonIndexint—
disabledbool—
column

Column index from 0 through Tree.Columns - 1.

buttonIndex

Index rather than command ID; this setter accepts negative values from the end.

disabled

Disable user activation of this button.

SetButtonTooltipTextvoid
# SetButtonTooltipText
C#
public void SetButtonTooltipText(int column, int buttonIndex, string tooltip);

Changes the button tooltip. buttonIndex is an index, including negative values from the end; an empty string clears the tooltip.

Parameters
NameTypeDefault
columnint—
buttonIndexint—
tooltipstring—
column

Column index from 0 through Tree.Columns - 1.

buttonIndex

Index rather than command ID; this setter accepts negative values from the end.

tooltip

New tooltip text or an empty string to clear it.

SetCellModevoid
# SetCellMode
C#
public void SetCellMode(int column, TreeItem.TreeCellMode mode);

Sets the cell presentation mode. Changing modes resets text, the main icon, checked, numeric value and range (0…100, step 1); Metadata and indeterminate are retained. Reassigning the same mode resets nothing. Set the mode before populating data.

Parameters
NameTypeDefault
columnint—
modeTreeItem.TreeCellMode—
column

Column index from 0 through Tree.Columns - 1.

mode

Cell presentation mode. Changing it resets part of the data; assign before populating.

SetCheckedvoid
# SetChecked
C#
public void SetChecked(int column, bool @checked);

Sets the boolean state without ItemEdited or hierarchy propagation. A changed value clears indeterminate; an equal value retains the mixed flag. Explicitly call PropagateCheck after a hierarchical checkbox change.

Parameters
NameTypeDefault
columnint—
checkedbool—
column

Column index from 0 through Tree.Columns - 1.

checked

Boolean state. An equal value does not clear indeterminate.

SetCollapsedvoid
# SetCollapsed
C#
public void SetCollapsed(bool enable);

Whether the branch is collapsed; default false. The row remains, while its descendants are omitted from visible traversal and presentation. A change on an attached row emits Tree.ItemCollapsed; equal assignments and assignments on detached rows do nothing. A cursor inside the branch can move onto this row.

Parameters
NameTypeDefault
enablebool—
enable

Collapse when true; expand when false.

SetCollapsedRecursivevoid
# SetCollapsedRecursive
C#
public void SetCollapsedRecursive(bool enable);

Applies Collapsed to this row and all descendants, including leaves and hidden rows. Each attached row whose state actually changes emits ItemCollapsed. This is a series of changes rather than one final notification; do not delete rows from a traversal handler.

Parameters
NameTypeDefault
enablebool—
enable

Collapse when true; expand when false.

SetCustomAsButtonvoid
# SetCustomAsButton
C#
public void SetCustomAsButton(int column, bool enable);

Enables button styling for a Custom cell. Does not change CellMode, add an AddButton entry or enable Editable. Configure Custom mode and editing policy separately.

Parameters
NameTypeDefault
columnint—
enablebool—
column

Column index from 0 through Tree.Columns - 1.

enable

Custom button styling without changing CellMode or Editable.

SetCustomBgColorvoid
# SetCustomBgColor
C#
public void SetCustomBgColor(int column, Color color, bool justOutline = false);

Sets an additional local cell background. justOutline true draws only an outline; false draws a fill. Does not change text color or replace the entire theme. Remove it with ClearCustomBgColor.

Parameters
NameTypeDefault
columnint—
colorColor—
justOutlineboolfalse
column

Column index from 0 through Tree.Columns - 1.

color

Local color with alpha; restore theme behavior with the separate Clear method.

justOutline

true draws an outline; false fills the background.

SetCustomColorvoid
# SetCustomColor
C#
public void SetCustomColor(int column, Color color);

Sets a local cell text color, including alpha, instead of the theme text color. Does not recolor the icon or the entire theme. Call ClearCustomColor to restore theme behavior rather than assigning a presumed default color.

Parameters
NameTypeDefault
columnint—
colorColor—
column

Column index from 0 through Tree.Columns - 1.

color

Local color with alpha; restore theme behavior with the separate Clear method.

SetCustomDrawvoid · Deprecated
# SetCustomDraw
C#
public void SetCustomDraw(int column, ReckfellObject @object, StringName callback);

Obsolete drawing binding through an object and method name. Use SetCustomDrawCallback with a Callable instead; the callback receives TreeItem and Rect2. Do not use this method in new code.

Parameters
NameTypeDefault
columnint—
objectReckfellObject—
callbackStringName—
column

Column index from 0 through Tree.Columns - 1.

object

Legacy handler object; use Callable in new code.

callback

Legacy handler method name; migrate to SetCustomDrawCallback.

SetCustomDrawCallbackvoid
# SetCustomDrawCallback
C#
public void SetCustomDrawCallback(int column, Callable callback);

Assigns a Callable for drawing a Custom cell. The callback receives TreeItem and its Rect2 in Tree drawing coordinates; use Tree.GetCustomDrawingCanvasItem for drawing commands. Assignment neither changes CellMode nor invokes the callback immediately. default(Callable) clears it. Do not delete rows or rebuild the hierarchy during drawing.

Parameters
NameTypeDefault
columnint—
callbackCallable—
column

Column index from 0 through Tree.Columns - 1.

callback

Callable accepting TreeItem and Rect2; default clears the callback.

SetCustomFontvoid
# SetCustomFont
C#
public void SetCustomFont(int column, Font font);

Sets a shared Font resource for this cell’s text. null restores the theme font. Configure size separately with SetCustomFontSize; changing the shared resource affects all its users.

Parameters
NameTypeDefault
columnint—
fontFont—
column

Column index from 0 through Tree.Columns - 1.

font

Shared Font or null to use the theme font.

SetCustomFontSizevoid
# SetCustomFontSize
C#
public void SetCustomFontSize(int column, int fontSize);

Local text size in pixels. A positive value overrides the theme size; zero and negative values restore the theme size. Does not change the Font resource or text sizes in other cells.

Parameters
NameTypeDefault
columnint—
fontSizeint—
column

Column index from 0 through Tree.Columns - 1.

fontSize

Positive local pixel size; 0 or less uses the theme size.

SetCustomMinimumHeightvoid
# SetCustomMinimumHeight
C#
public void SetCustomMinimumHeight(int height);

Additional minimum height for the entire row in pixels, default 0. Not a fixed height: fonts, icons, buttons and theme spacing can require more room. Zero removes the additional requirement.

Parameters
NameTypeDefault
heightint—
height

Nonnegative additional row-height minimum in pixels; 0 removes it.

SetCustomStyleboxvoid
# SetCustomStylebox
C#
public void SetCustomStylebox(int column, StyleBox stylebox);

Sets a shared StyleBox drawn in the cell area. null removes the local StyleBox. Does not assign a theme to the whole Tree or replace text or action buttons.

Parameters
NameTypeDefault
columnint—
styleboxStyleBox—
column

Column index from 0 through Tree.Columns - 1.

stylebox

Shared StyleBox or null to remove local styling.

SetDescriptionvoid
# SetDescription
C#
public void SetDescription(int column, string description);

Sets the cell accessibility description. Does not replace the visible label or tooltip; use SetText and SetTooltipText for those.

Parameters
NameTypeDefault
columnint—
descriptionstring—
column

Column index from 0 through Tree.Columns - 1.

description

Accessibility description rather than the visible label.

SetDisableFoldingvoid
# SetDisableFolding
C#
public void SetDisableFolding(bool disable);

Removes the row’s normal folding control. Does not expand an already collapsed branch or block programmatic Collapsed or SetCollapsedRecursive. Explicitly set Collapsed = false when a branch must remain expanded.

Parameters
NameTypeDefault
disablebool—
disable

Remove normal folding controls; programmatic Collapsed still works.

SetEditMultilinevoid
# SetEditMultiline
C#
public void SetEditMultiline(int column, bool multiline);

Chooses multiline editing for String text instead of single-line editing. Does not change the text or enable Editable. Does not turn Range or Check into a multiline editor.

Parameters
NameTypeDefault
columnint—
multilinebool—
column

Column index from 0 through Tree.Columns - 1.

multiline

Use a multiline editor for String; configure Editable separately.

SetEditablevoid
# SetEditable
C#
public void SetEditable(int column, bool enabled);

Allows user editing of the cell; default false. Does not block programmatic SetText, SetChecked, SetRange or PropagateCheck, or enable row selection.

Parameters
NameTypeDefault
columnint—
enabledbool—
column

Column index from 0 through Tree.Columns - 1.

enabled

Allow user editing without restricting programmatic setters.

SetExpandRightvoid
# SetExpandRight
C#
public void SetExpandRight(int column, bool enable);

Allows content to occupy following empty String cells without icons or editing. Does not merge column data or change Tree.Columns. A populated or editable neighboring cell stops expansion.

Parameters
NameTypeDefault
columnint—
enablebool—
column

Column index from 0 through Tree.Columns - 1.

enable

Allow expansion into following empty cells.

SetIconvoid
# SetIcon
C#
public void SetIcon(int column, Texture2D texture);

Sets the cell’s main icon as a shared Texture2D resource. null removes it without deleting action buttons or text. Configure width limits and texture region separately.

Parameters
NameTypeDefault
columnint—
textureTexture2D—
column

Column index from 0 through Tree.Columns - 1.

texture

Shared Texture2D; null clears the corresponding icon or overlay.

SetIconMaxWidthvoid
# SetIconMaxWidth
C#
public void SetIconMaxWidth(int column, int width);

Local icon-width limit. A positive value scales a wider icon down while retaining its aspect ratio; it does not upscale. The stricter positive cell/theme icon_max_width limit wins. A nonpositive value disables only the local limit.

Parameters
NameTypeDefault
columnint—
widthint—
column

Column index from 0 through Tree.Columns - 1.

width

Positive width limit; 0 or less disables the local limit.

SetIconModulatevoid
# SetIconModulate
C#
public void SetIconModulate(int column, Color modulate);

Sets the main icon and overlay color multiplier, including alpha. Does not modify the Texture2D resource or action-button colors.

Parameters
NameTypeDefault
columnint—
modulateColor—
column

Column index from 0 through Tree.Columns - 1.

modulate

Main icon and overlay color multiplier.

SetIconOverlayvoid
# SetIconOverlay
C#
public void SetIconOverlay(int column, Texture2D texture);

Sets a texture overlay on the main icon; null clears it. The overlay is not drawn independently when there is no main icon. Use AddButton for an independent button.

Parameters
NameTypeDefault
columnint—
textureTexture2D—
column

Column index from 0 through Tree.Columns - 1.

texture

Shared Texture2D; null clears the corresponding icon or overlay.

SetIconRegionvoid
# SetIconRegion
C#
public void SetIconRegion(int column, Rect2 region);

Sets the main icon’s source texture region in pixels. An empty Rect2 selects the whole texture. The region determines source icon size before width limiting; the resource itself is neither cropped nor copied.

Parameters
NameTypeDefault
columnint—
regionRect2—
column

Column index from 0 through Tree.Columns - 1.

region

Source texture region in pixels; an empty Rect2 selects the entire texture.

SetIndeterminatevoid
# SetIndeterminate
C#
public void SetIndeterminate(int column, bool indeterminate);

Sets the mixed state. Changing indeterminate resets checked to false; reassigning the same value changes nothing. Does not recalculate descendants or parents or emit ItemEdited.

Parameters
NameTypeDefault
columnint—
indeterminatebool—
column

Column index from 0 through Tree.Columns - 1.

indeterminate

Mixed state; changing it resets checked.

SetLanguagevoid
# SetLanguage
C#
public void SetLanguage(int column, string language);

Sets a text-shaping language hint, such as ar. Does not translate the label or switch the application language. An empty string uses the current locale when shaping.

Parameters
NameTypeDefault
columnint—
languagestring—
column

Column index from 0 through Tree.Columns - 1.

language

Text-shaping language hint; an empty string uses the current locale.

SetMetadatavoid
# SetMetadata
C#
public void SetMetadata(int column, Variant meta);

Stores a Variant in the cell without ItemEdited. Use a stable model key. Arrays, dictionaries and resources are not deep-copied when stored.

Parameters
NameTypeDefault
columnint—
metaVariant—
column

Column index from 0 through Tree.Columns - 1.

meta

Variant value, such as a stable model record identifier.

SetRangevoid
# SetRange
C#
public void SetRange(int column, double value);

Sets the number without ItemEdited: with step > 0, snaps to a multiple of the step relative to zero, then clamps to min/max. A boundary can therefore be off-step. For SetText choices, validates only the numeric range rather than membership in the choice identifiers.

Parameters
NameTypeDefault
columnint—
valuedouble—
column

Column index from 0 through Tree.Columns - 1.

value

New number; snapped by a positive step and clamped to bounds.

SetRangeConfigvoid
# SetRangeConfig
C#
public void SetRangeConfig(int column, double min, double max, double step, bool expr = false);

Sets min, max, step and exponential editing mode. Supply valid bounds with min <= max; the current GetRange value is not recalculated. For a numeric cell, set Range mode, then configure and SetRange. Nonempty SetText in Range defines choices and replaces min/max/step.

Parameters
NameTypeDefault
columnint—
mindouble—
maxdouble—
stepdouble—
exprboolfalse
column

Column index from 0 through Tree.Columns - 1.

min

Lower bound, no greater than max.

max

Upper bound, no less than min.

step

Positive snapping step; 0 disables snapping.

expr

Exponential editing. GetRangeConfig does not reliably return this flag; retain the setting separately.

SetSelectablevoid
# SetSelectable
C#
public void SetSelectable(int column, bool selectable);

Controls whether the cell is selectable without clearing its retained flag or emitting selection signals. false makes IsSelected false; restoring true reveals the old selection. Call Deselect before disabling to remove selection permanently.

Parameters
NameTypeDefault
columnint—
selectablebool—
column

Column index from 0 through Tree.Columns - 1.

selectable

Allow cell selection. false masks the previous flag rather than clearing it.

SetStructuredTextBidiOverridevoid
# SetStructuredTextBidiOverride
C#
public void SetStructuredTextBidiOverride(int column, TextServer.StructuredTextParser parser);

Chooses structured-label BiDi parsing, such as a URI, path, email address or list. Helps preserve separator meaning in mixed LTR/RTL text rather than translating it. Configure the selected parser’s options separately.

Parameters
NameTypeDefault
columnint—
parserTextServer.StructuredTextParser—
column

Column index from 0 through Tree.Columns - 1.

parser

Structured-string parser matching the content type.

SetStructuredTextBidiOverrideOptionsvoid
# SetStructuredTextBidiOverrideOptions
C#
public void SetStructuredTextBidiOverrideOptions(int column, Reckfell.Collections.Array args);

Sets the selected BiDi parser’s options as a shared Array rather than a deep copy. Do not mutate the supplied array in place after assignment: that does not invalidate the text cache. Supply a separately prepared array; for changes, pass a new array with new contents. Equal contents are skipped by the setter, so merely passing Duplicate with old values does not detach the previous container.

Parameters
NameTypeDefault
columnint—
argsReckfell.Collections.Array—
column

Column index from 0 through Tree.Columns - 1.

args

Shared BiDi parser-options array. Do not mutate it in place after assignment.

SetSuffixvoid
# SetSuffix
C#
public void SetSuffix(int column, string text);

Sets a literal suffix for the displayed value. Appended after a space when the label is nonempty; GetText is unchanged. The suffix is not automatically translated with the label, so supply an already localized string.

Parameters
NameTypeDefault
columnint—
textstring—
column

Column index from 0 through Tree.Columns - 1.

text

Literal, already localized suffix, or an empty string to remove it.

SetTextvoid
# SetText
C#
public void SetText(int column, string text);

Sets a cell’s original text without ItemEdited. In Range mode the string defines comma-separated choices with an optional number after a colon: label:value; it is not an ordinary label.

Parameters
NameTypeDefault
columnint—
textstring—
column

Column index from 0 through Tree.Columns - 1.

text

Original text; in Range mode, a comma-separated choice specification.

SetTextAlignmentvoid
# SetTextAlignment
C#
public void SetTextAlignment(int column, HorizontalAlignment textAlignment);

Aligns text within the cell’s available area. Does not change column order, row structure or text direction; configure direction with SetTextDirection.

Parameters
NameTypeDefault
columnint—
textAlignmentHorizontalAlignment—
column

Column index from 0 through Tree.Columns - 1.

textAlignment

Horizontal text alignment within the cell.

SetTextDirectionvoid
# SetTextDirection
C#
public void SetTextDirection(int column, Control.TextDirection direction);

Sets base text direction without changing the original GetText sequence. Inherited follows the Tree layout direction. This is neither horizontal alignment nor translation; use SetTextAlignment for alignment.

Parameters
NameTypeDefault
columnint—
directionControl.TextDirection—
column

Column index from 0 through Tree.Columns - 1.

direction

Base text direction; Inherited uses the Tree layout.

SetTextOverrunBehaviorvoid
# SetTextOverrunBehavior
C#
public void SetTextOverrunBehavior(int column, TextServer.OverrunBehavior overrunBehavior);

Sets text trimming and ellipsis when available space is insufficient. Does not change the original GetText or expand the column. NoTrimming disables trimming but does not guarantee that long text fits the interface.

Parameters
NameTypeDefault
columnint—
overrunBehaviorTextServer.OverrunBehavior—
column

Column index from 0 through Tree.Columns - 1.

overrunBehavior

Text-trimming and ellipsis policy.

SetTooltipTextvoid
# SetTooltipText
C#
public void SetTooltipText(int column, string tooltip);

Sets an explicit cell tooltip, separate from the label and accessibility description. An empty string clears only the explicit tooltip: with Tree.AutoTooltip true, the cell label/value can still be shown.

Parameters
NameTypeDefault
columnint—
tooltipstring—
column

Column index from 0 through Tree.Columns - 1.

tooltip

Explicit tooltip; an empty string allows automatic fallback when AutoTooltip is enabled.

SetVisiblevoid
# SetVisible
C#
public void SetVisible(bool enable);

The row’s own presentation flag, default true. false neither deletes the row nor changes its descendants’ own Visible values. Hiding clears selection flags on this row, but is not a complete reset of descendant selection. Define explicit selection-clearing rules when filtering a branch.

Parameters
NameTypeDefault
enablebool—
enable

The row’s own presentation flag, without deletion or changing descendants’ Visible flags.

UncollapseTreevoid
# UncollapseTree
C#
public void UncollapseTree();

Expands this row and its parent chain through the root. Does not expand sibling branches, enable Visible or scroll the list to the row. Can emit ItemCollapsed for each changed ancestor and the row itself.

TreeItem.TreeCellMode

ValueDescription
Check = 1

Cell shows a checkbox, optionally with text and an icon. The checkbox can be pressed, released, or indeterminate (via TreeItem.SetIndeterminate). The checkbox can't be clicked unless the cell is editable.

Custom = 4

Cell shows as a clickable button. It will display an arrow similar to OptionButton, but doesn't feature a dropdown (for that you can use TreeItem.TreeCellMode.Range). Clicking the button emits the Tree.ItemEdited signal. The button is flat by default, you can use TreeItem.SetCustomAsButton to display it with a StyleBox. This mode also supports custom drawing using TreeItem.SetCustomDrawCallback.

Icon = 3

Cell shows an icon. It can't be edited nor display text. The icon is always centered within the cell.

Range = 2

Cell shows a numeric range. When editable, it can be edited using a range slider. Use TreeItem.SetRange to set the value and TreeItem.SetRangeConfig to configure the range. This cell can also be used in a text dropdown mode when you assign a text with TreeItem.SetText. Separate options with a comma, e.g. "Option1,Option2,Option3".

String = 0

Cell shows a string label, optionally with an icon. When editable, the text can be edited using a LineEdit, or a TextEdit popup if TreeItem.SetEditMultiline is used.

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.