TreeItem
Tree row with cells, child rows and explicit lifetime.
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
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
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
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
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
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
button | Texture2D | — |
id | int | — |
disabled | bool | — |
tooltipText | string | — |
columnColumn index from 0 through Tree.Columns - 1.
buttonNon-null button Texture2D; retained by reference.
idCommand ID. AddButton replaces a negative value with the current button count; GetButtonById searches for this ID.
disabledDisable user activation of this button.
tooltipTextTooltip text; an empty string means no tooltip.
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
button | Texture2D | — |
id | int | -1 |
disabled | bool | false |
tooltipText | string | "" |
description | string | "" |
columnColumn index from 0 through Tree.Columns - 1.
buttonNon-null button Texture2D; retained by reference.
idCommand ID. AddButton replaces a negative value with the current button count; GetButtonById searches for this ID.
disabledDisable user activation of this button.
tooltipTextTooltip text; an empty string means no tooltip.
descriptionAction description for accessibility, separate from its tooltip.
AddChildvoid
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.
| Name | Type | Default |
|---|---|---|
child | TreeItem | — |
childSubtree: detached for AddChild, or a direct child of this row for RemoveChild.
CallRecursive2 overloads
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.
| Name | Type | Default |
|---|---|---|
method | StringName | — |
args | Variant[] | — |
methodNative method name, preferably a TreeItem.MethodName constant.
argsMethod arguments shared by every row; the array or ReadOnlySpan is used during the call.
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.
| Name | Type | Default |
|---|---|---|
method | StringName | — |
args | ReadOnlySpan<Variant> | — |
methodNative method name, preferably a TreeItem.MethodName constant.
argsMethod arguments shared by every row; the array or ReadOnlySpan is used during the call.
ClearButtonsvoid
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
public void ClearCustomBgColor(int column);Removes the local fill/outline. Does not remove CustomStylebox or change the theme or row selection.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
ClearCustomColorvoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
CreateChildTreeItem
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.
| Name | Type | Default |
|---|---|---|
index | int | -1 |
indexStructural child index. During creation a negative value appends; for GetChild a negative value counts from the end.
TreeItemCreates 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
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
EraseButtonvoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
buttonIndex | int | — |
columnColumn index from 0 through Tree.Columns - 1.
buttonIndexNonnegative button index in the column rather than a command ID.
GetAutoTranslateModeEntity.AutoTranslateModeEnum
public Entity.AutoTranslateModeEnum GetAutoTranslateMode(int column);Stored label translation policy, default Inherit. Not the current application locale or proof that a translation exists.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
Entity.AutoTranslateModeEnumStored label translation policy, default Inherit. Not the current application locale or proof that a translation exists.
GetAutowrapModeTextServer.AutowrapMode
public TextServer.AutowrapMode GetAutowrapMode(int column);Stored wrapping mode, default Off. Does not report the number of laid-out lines.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
TextServer.AutowrapModeStored wrapping mode, default Off. Does not report the number of laid-out lines.
GetAutowrapTrimFlagsTextServer.LineBreakFlag
public TextServer.LineBreakFlag GetAutowrapTrimFlags(int column);Stored trim flags after masking rather than the complete text line-breaking rules.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
TextServer.LineBreakFlagStored trim flags after masking rather than the complete text line-breaking rules.
GetButtonTexture2D
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
buttonIndex | int | — |
columnColumn index from 0 through Tree.Columns - 1.
buttonIndexNonnegative button index in the column rather than a command ID.
Texture2DButton texture at a nonnegative index. Returns the shared resource rather than an image copy. Do not confuse the index with a command ID.
GetButtonByIdint
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
id | int | — |
columnColumn index from 0 through Tree.Columns - 1.
idCommand ID. AddButton replaces a negative value with the current button count; GetButtonById searches for this ID.
intIndex 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
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
id | int | — |
columnColumn index from 0 through Tree.Columns - 1.
idDespite the id name, this argument requires a nonnegative button index.
ColorButton 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
public int GetButtonCount(int column);Number of action buttons in the column. The main icon and CustomAsButton styling are not counted.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
intNumber of action buttons in the column. The main icon and CustomAsButton styling are not counted.
GetButtonIdint
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
buttonIndex | int | — |
columnColumn index from 0 through Tree.Columns - 1.
buttonIndexNonnegative button index in the column rather than a command ID.
intButton command ID at a nonnegative index. This is a stored value rather than the current index; duplicate IDs are technically allowed.
GetButtonTooltipTextstring
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
buttonIndex | int | — |
columnColumn index from 0 through Tree.Columns - 1.
buttonIndexNonnegative button index in the column rather than a command ID.
stringOriginal button tooltip at a nonnegative index. Does not return the accessibility description or accept a command ID.
GetCellModeTreeItem.TreeCellMode
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
TreeItem.TreeCellModeCurrent cell mode: String, Check, Range, Icon or Custom. A new cell uses String; mode is separate from editing permission.
GetChildTreeItem
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.
| Name | Type | Default |
|---|---|---|
index | int | — |
indexStructural child index. During creation a negative value appends; for GetChild a negative value counts from the end.
TreeItemReturns 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
public int GetChildCount();Number of direct children, including hidden children and children of a collapsed row. Does not recursively count all descendants.
intNumber of direct children, including hidden children and children of a collapsed row. Does not recursively count all descendants.
GetChildrenReckfell.Collections.Array<TreeItem>
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.
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
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
ColorStored 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
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
ColorLocal 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
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
CallableStored 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
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
FontLocal Font resource or null when the theme font is used. Does not return the effective font or a resource copy.
GetCustomFontSizeint
public int GetCustomFontSize(int column);Stored local size, default -1. A nonpositive value means theme fallback rather than a negative effective text size.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
intStored local size, default -1. A nonpositive value means theme fallback rather than a negative effective text size.
GetCustomMinimumHeightint
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.
intAdditional 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
public StyleBox GetCustomStylebox(int column);Shared local StyleBox or null. Changing this resource also affects other cells using the same object.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
StyleBoxShared local StyleBox or null. Changing this resource also affects other cells using the same object.
GetDescriptionstring
public string GetDescription(int column);Stored accessibility description, independent of visible text and tooltip.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
stringStored accessibility description, independent of visible text and tooltip.
GetExpandRightbool
public bool GetExpandRight(int column);Whether expansion into following empty columns is enabled. true is layout permission rather than confirmation that expansion occurred.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
boolWhether expansion into following empty columns is enabled. true is layout permission rather than confirmation that expansion occurred.
GetFirstChildTreeItem
public TreeItem GetFirstChild();Returns the first direct child or null. Uses structural order rather than row collapse or visibility.
TreeItemReturns the first direct child or null. Uses structural order rather than row collapse or visibility.
GetIconTexture2D
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
Texture2DCell’s main Texture2D or null. Returns the shared resource at its original size; visual IconMaxWidth constraints do not resize the texture itself.
GetIconMaxWidthint
public int GetIconMaxWidth(int column);Stored local width limit rather than the final image width. The theme and available space can further constrain presentation.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
intStored local width limit rather than the final image width. The theme and available space can further constrain presentation.
GetIconModulateColor
public Color GetIconModulate(int column);Stored icon color multiplier rather than an action-button color.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
ColorStored icon color multiplier rather than an action-button color.
GetIconOverlayTexture2D
public Texture2D GetIconOverlay(int column);Shared icon-overlay resource or null. This is not an independent action button.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
Texture2DShared icon-overlay resource or null. This is not an independent action button.
GetIconRegionRect2
public Rect2 GetIconRegion(int column);Stored source texture region rather than a screen rectangle. An empty Rect2 means the entire texture.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
Rect2Stored source texture region rather than a screen rectangle. An empty Rect2 means the entire texture.
GetIndexint
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.
intCurrent 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
public string GetLanguage(int column);Stored shaping-language hint, or an empty string for the default locale. Does not return translated text.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
stringStored shaping-language hint, or an empty string for the default locale. Does not return translated text.
GetMetadataVariant
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
VariantReturns the Variant stored in the cell. Dispose the returned C# Variant wrapper after use; this does not delete the row.
GetNextTreeItem
public TreeItem GetNext();Next sibling with the same parent, or null. Does not descend into children.
TreeItemNext sibling with the same parent, or null. Does not descend into children.
GetNextInTreeTreeItem
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.
| Name | Type | Default |
|---|---|---|
wrap | bool | false |
wrapContinue at the other boundary after reaching the end. Account for the documented hidden-root and reverse-traversal exceptions.
TreeItemNext 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
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.
| Name | Type | Default |
|---|---|---|
wrap | bool | false |
wrapContinue at the other boundary after reaching the end. Account for the documented hidden-root and reverse-traversal exceptions.
TreeItemNext 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
public TreeItem GetParent();Returns the parent TreeItem; null for the root and for the root of a detached subtree.
TreeItemReturns the parent TreeItem; null for the root and for the root of a detached subtree.
GetPrevTreeItem
public TreeItem GetPrev();Previous sibling with the same parent, or null. Does not perform a reverse traversal through descendants.
TreeItemPrevious sibling with the same parent, or null. Does not perform a reverse traversal through descendants.
GetPrevInTreeTreeItem
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.
| Name | Type | Default |
|---|---|---|
wrap | bool | false |
wrapContinue at the other boundary after reaching the end. Account for the documented hidden-root and reverse-traversal exceptions.
TreeItemPrevious 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
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.
| Name | Type | Default |
|---|---|---|
wrap | bool | false |
wrapContinue at the other boundary after reaching the end. Account for the documented hidden-root and reverse-traversal exceptions.
TreeItemPrevious 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
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
doubleStored 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
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
Reckfell.Collections.DictionaryNew 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
public TextServer.StructuredTextParser GetStructuredTextBidiOverride(int column);Stored structured-text parser; Default uses ordinary Unicode BiDi. Does not return the direction of each string segment.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
TextServer.StructuredTextParserStored structured-text parser; Default uses ordinary Unicode BiDi. Does not return the direction of each string segment.
GetStructuredTextBidiOverrideOptionsReckfell.Collections.Array
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
Reckfell.Collections.ArrayWrapper 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
public string GetSuffix(int column);Stored suffix, separate from the original GetText and numeric GetRange. Changing CellMode does not reset it.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
stringStored suffix, separate from the original GetText and numeric GetRange. Changing CellMode does not reset it.
GetTextstring
public string GetText(int column);Returns the original SetText string rather than its automatically translated presentation or a model identifier.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
stringReturns the original SetText string rather than its automatically translated presentation or a model identifier.
GetTextAlignmentHorizontalAlignment
public HorizontalAlignment GetTextAlignment(int column);Stored cell text alignment rather than text direction or a column coordinate.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
HorizontalAlignmentStored cell text alignment rather than text direction or a column coordinate.
GetTextDirectionControl.TextDirection
public Control.TextDirection GetTextDirection(int column);Stored base text direction. Inherited means inheritance from Tree rather than a resolved LTR/RTL value.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
Control.TextDirectionStored base text direction. Inherited means inheritance from Tree rather than a resolved LTR/RTL value.
GetTextOverrunBehaviorTextServer.OverrunBehavior
public TextServer.OverrunBehavior GetTextOverrunBehavior(int column);Stored text-trimming policy. Does not return the trimmed string or test actual overflow.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
TextServer.OverrunBehaviorStored text-trimming policy. Does not return the trimmed string or test actual overflow.
GetTooltipTextstring
public string GetTooltipText(int column);Stored explicit cell tooltip. Does not compute the automatic label tooltip or return an individual action-button tooltip.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
stringStored explicit cell tooltip. Does not compute the automatic label tooltip or return an individual action-button tooltip.
GetTreeTree
public Tree GetTree();Returns the owning UI Tree control, or null for a detached subtree. This is not EntityTree.
TreeReturns the owning UI Tree control, or null for a detached subtree. This is not EntityTree.
IsAcceptingChildrenbool
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.
boolStored child-acceptance policy for drag-and-drop. false does not mean that the row has no children or that CreateChild is blocked.
IsAnyCollapsedbool
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.
| Name | Type | Default |
|---|---|---|
onlyVisible | bool | false |
onlyVisibleFilter branches by visibility; does not mean visibility inside the scrolled viewport.
boolWhether 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
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
buttonIndex | int | — |
columnColumn index from 0 through Tree.Columns - 1.
buttonIndexNonnegative button index in the column rather than a command ID.
boolWhether the button at a nonnegative index is disabled. Does not accept a command ID or a negative index from the end.
IsCheckedbool
public bool IsChecked(int column);Stored boolean checkbox state. Check IsIndeterminate separately for a mixed state; this is not Tree row selection.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
boolStored boolean checkbox state. Check IsIndeterminate separately for a mixed state; this is not Tree row selection.
IsCollapsedbool
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.
boolWhether 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
public bool IsCustomSetAsButton(int column);Stored Custom button-style flag. true does not imply an AddButton entry or an active Custom mode.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
boolStored Custom button-style flag. true does not imply an AddButton entry or an active Custom mode.
IsEditMultilinebool
public bool IsEditMultiline(int column);Whether multiline String editing is configured. Default false; does not mean the editor is currently open.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
boolWhether multiline String editing is configured. Default false; does not mean the editor is currently open.
IsEditablebool
public bool IsEditable(int column);Whether user editing is allowed. Programmatic setters work independently of this flag.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
boolWhether user editing is allowed. Programmatic setters work independently of this flag.
IsFoldingDisabledbool
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.
boolRemoves 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
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
boolWhether the cell is in a mixed state. Stored separately from checked; read both flags if the model distinguishes on, off and partially on.
IsSelectablebool
public bool IsSelectable(int column);Whether the cell can be selected. Separate from the stored selected flag; changing it does not clear that flag.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
boolWhether the cell can be selected. Separate from the stored selected flag; changing it does not clear that flag.
IsSelectedbool
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
booltrue 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
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.
boolThe 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
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.
boolReturns 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
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.
| Name | Type | Default |
|---|---|---|
item | TreeItem | — |
itemRow before or after which to insert this row; must have a parent.
MoveBeforevoid
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.
| Name | Type | Default |
|---|---|---|
item | TreeItem | — |
itemRow before or after which to insert this row; must have a parent.
PropagateCheckvoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
emitSignal | bool | true |
columnColumn index from 0 through Tree.Columns - 1.
emitSignalEmit CheckPropagatedToItem for every visited row; false updates data without these notifications.
RemoveChildvoid
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.
| Name | Type | Default |
|---|---|---|
child | TreeItem | — |
childSubtree: detached for AddChild, or a direct child of this row for RemoveChild.
Select2 overloads
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
columnColumn index from 0 through Tree.Columns - 1.
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
setAsCursor | bool | true |
columnColumn index from 0 through Tree.Columns - 1.
setAsCursorMulti only: true also moves the cursor; false changes the flag without moving it.
SetAcceptChildrenvoid
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.
| Name | Type | Default |
|---|---|---|
allowed | bool | — |
allowedAllow the row to accept children as a drag-and-drop target.
SetAutoTranslateModevoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
mode | Entity.AutoTranslateModeEnum | — |
columnColumn index from 0 through Tree.Columns - 1.
modeLabel translation policy: Inherit, Always or Disabled; does not alter source text.
SetAutowrapModevoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
autowrapMode | TextServer.AutowrapMode | — |
columnColumn index from 0 through Tree.Columns - 1.
autowrapModeText wrapping mode within the available cell width.
SetAutowrapTrimFlagsvoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
flags | TextServer.LineBreakFlag | — |
columnColumn index from 0 through Tree.Columns - 1.
flagsTrimIndent and/or TrimStartEdgeSpaces/TrimEndEdgeSpaces. Other bits are discarded.
SetButtonvoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
buttonIndex | int | — |
button | Texture2D | — |
columnColumn index from 0 through Tree.Columns - 1.
buttonIndexIndex rather than command ID; this setter accepts negative values from the end.
buttonNon-null button Texture2D; retained by reference.
SetButtonColorvoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
buttonIndex | int | — |
color | Color | — |
columnColumn index from 0 through Tree.Columns - 1.
buttonIndexIndex rather than command ID; this setter accepts negative values from the end.
colorButton texture color multiplier with alpha.
SetButtonDescriptionvoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
buttonIndex | int | — |
description | string | — |
columnColumn index from 0 through Tree.Columns - 1.
buttonIndexIndex rather than command ID; this setter accepts negative values from the end.
descriptionAction description for accessibility, separate from its tooltip.
SetButtonDisabledvoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
buttonIndex | int | — |
disabled | bool | — |
columnColumn index from 0 through Tree.Columns - 1.
buttonIndexIndex rather than command ID; this setter accepts negative values from the end.
disabledDisable user activation of this button.
SetButtonTooltipTextvoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
buttonIndex | int | — |
tooltip | string | — |
columnColumn index from 0 through Tree.Columns - 1.
buttonIndexIndex rather than command ID; this setter accepts negative values from the end.
tooltipNew tooltip text or an empty string to clear it.
SetCellModevoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
mode | TreeItem.TreeCellMode | — |
columnColumn index from 0 through Tree.Columns - 1.
modeCell presentation mode. Changing it resets part of the data; assign before populating.
SetCheckedvoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
checked | bool | — |
columnColumn index from 0 through Tree.Columns - 1.
checkedBoolean state. An equal value does not clear indeterminate.
SetCollapsedvoid
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.
| Name | Type | Default |
|---|---|---|
enable | bool | — |
enableCollapse when true; expand when false.
SetCollapsedRecursivevoid
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.
| Name | Type | Default |
|---|---|---|
enable | bool | — |
enableCollapse when true; expand when false.
SetCustomAsButtonvoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
enable | bool | — |
columnColumn index from 0 through Tree.Columns - 1.
enableCustom button styling without changing CellMode or Editable.
SetCustomBgColorvoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
color | Color | — |
justOutline | bool | false |
columnColumn index from 0 through Tree.Columns - 1.
colorLocal color with alpha; restore theme behavior with the separate Clear method.
justOutlinetrue draws an outline; false fills the background.
SetCustomColorvoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
color | Color | — |
columnColumn index from 0 through Tree.Columns - 1.
colorLocal color with alpha; restore theme behavior with the separate Clear method.
SetCustomDrawvoid · Deprecated
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
object | ReckfellObject | — |
callback | StringName | — |
columnColumn index from 0 through Tree.Columns - 1.
objectLegacy handler object; use Callable in new code.
callbackLegacy handler method name; migrate to SetCustomDrawCallback.
SetCustomDrawCallbackvoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
callback | Callable | — |
columnColumn index from 0 through Tree.Columns - 1.
callbackCallable accepting TreeItem and Rect2; default clears the callback.
SetCustomFontvoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
font | Font | — |
columnColumn index from 0 through Tree.Columns - 1.
fontShared Font or null to use the theme font.
SetCustomFontSizevoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
fontSize | int | — |
columnColumn index from 0 through Tree.Columns - 1.
fontSizePositive local pixel size; 0 or less uses the theme size.
SetCustomMinimumHeightvoid
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.
| Name | Type | Default |
|---|---|---|
height | int | — |
heightNonnegative additional row-height minimum in pixels; 0 removes it.
SetCustomStyleboxvoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
stylebox | StyleBox | — |
columnColumn index from 0 through Tree.Columns - 1.
styleboxShared StyleBox or null to remove local styling.
SetDescriptionvoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
description | string | — |
columnColumn index from 0 through Tree.Columns - 1.
descriptionAccessibility description rather than the visible label.
SetDisableFoldingvoid
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.
| Name | Type | Default |
|---|---|---|
disable | bool | — |
disableRemove normal folding controls; programmatic Collapsed still works.
SetEditMultilinevoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
multiline | bool | — |
columnColumn index from 0 through Tree.Columns - 1.
multilineUse a multiline editor for String; configure Editable separately.
SetEditablevoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
enabled | bool | — |
columnColumn index from 0 through Tree.Columns - 1.
enabledAllow user editing without restricting programmatic setters.
SetExpandRightvoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
enable | bool | — |
columnColumn index from 0 through Tree.Columns - 1.
enableAllow expansion into following empty cells.
SetIconvoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
texture | Texture2D | — |
columnColumn index from 0 through Tree.Columns - 1.
textureShared Texture2D; null clears the corresponding icon or overlay.
SetIconMaxWidthvoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
width | int | — |
columnColumn index from 0 through Tree.Columns - 1.
widthPositive width limit; 0 or less disables the local limit.
SetIconModulatevoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
modulate | Color | — |
columnColumn index from 0 through Tree.Columns - 1.
modulateMain icon and overlay color multiplier.
SetIconOverlayvoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
texture | Texture2D | — |
columnColumn index from 0 through Tree.Columns - 1.
textureShared Texture2D; null clears the corresponding icon or overlay.
SetIconRegionvoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
region | Rect2 | — |
columnColumn index from 0 through Tree.Columns - 1.
regionSource texture region in pixels; an empty Rect2 selects the entire texture.
SetIndeterminatevoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
indeterminate | bool | — |
columnColumn index from 0 through Tree.Columns - 1.
indeterminateMixed state; changing it resets checked.
SetLanguagevoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
language | string | — |
columnColumn index from 0 through Tree.Columns - 1.
languageText-shaping language hint; an empty string uses the current locale.
SetMetadatavoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
meta | Variant | — |
columnColumn index from 0 through Tree.Columns - 1.
metaVariant value, such as a stable model record identifier.
SetRangevoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
value | double | — |
columnColumn index from 0 through Tree.Columns - 1.
valueNew number; snapped by a positive step and clamped to bounds.
SetRangeConfigvoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
min | double | — |
max | double | — |
step | double | — |
expr | bool | false |
columnColumn index from 0 through Tree.Columns - 1.
minLower bound, no greater than max.
maxUpper bound, no less than min.
stepPositive snapping step; 0 disables snapping.
exprExponential editing. GetRangeConfig does not reliably return this flag; retain the setting separately.
SetSelectablevoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
selectable | bool | — |
columnColumn index from 0 through Tree.Columns - 1.
selectableAllow cell selection. false masks the previous flag rather than clearing it.
SetStructuredTextBidiOverridevoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
parser | TextServer.StructuredTextParser | — |
columnColumn index from 0 through Tree.Columns - 1.
parserStructured-string parser matching the content type.
SetStructuredTextBidiOverrideOptionsvoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
args | Reckfell.Collections.Array | — |
columnColumn index from 0 through Tree.Columns - 1.
argsShared BiDi parser-options array. Do not mutate it in place after assignment.
SetSuffixvoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
text | string | — |
columnColumn index from 0 through Tree.Columns - 1.
textLiteral, already localized suffix, or an empty string to remove it.
SetTextvoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
text | string | — |
columnColumn index from 0 through Tree.Columns - 1.
textOriginal text; in Range mode, a comma-separated choice specification.
SetTextAlignmentvoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
textAlignment | HorizontalAlignment | — |
columnColumn index from 0 through Tree.Columns - 1.
textAlignmentHorizontal text alignment within the cell.
SetTextDirectionvoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
direction | Control.TextDirection | — |
columnColumn index from 0 through Tree.Columns - 1.
directionBase text direction; Inherited uses the Tree layout.
SetTextOverrunBehaviorvoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
overrunBehavior | TextServer.OverrunBehavior | — |
columnColumn index from 0 through Tree.Columns - 1.
overrunBehaviorText-trimming and ellipsis policy.
SetTooltipTextvoid
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.
| Name | Type | Default |
|---|---|---|
column | int | — |
tooltip | string | — |
columnColumn index from 0 through Tree.Columns - 1.
tooltipExplicit tooltip; an empty string allows automatic fallback when AutoTooltip is enabled.
SetVisiblevoid
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.
| Name | Type | Default |
|---|---|---|
enable | bool | — |
enableThe row’s own presentation flag, without deletion or changing descendants’ Visible flags.
UncollapseTreevoid
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
| Value | Description |
|---|---|
Check = 1 | Cell shows a checkbox, optionally with text and an icon. The checkbox can be pressed, released, or indeterminate (via |
Custom = 4 | Cell shows as a clickable button. It will display an arrow similar to |
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 |
String = 0 | Cell shows a string label, optionally with an icon. When editable, the text can be edited using a |