Files
Basalt2/docs/references/elements/Tree.md
2025-09-14 10:11:36 +00:00

1.9 KiB

Tree

This is the tree class. It provides a hierarchical view of nodes that can be expanded and collapsed, with support for selection and scrolling.

Extends: VisualElement

Properties

Property Type Default Description
nodes table {} The tree structure containing node objects with {text, children} properties
expandedNodes table {} Table of nodes that are currently expanded
scrollOffset number 0 Current vertical scroll position
horizontalOffset number 0 Current horizontal scroll position
nodeColor color white Color of unselected nodes
selectedColor color lightBlue Background color of selected node

Functions

Method Returns Description
Tree:expandNode Tree Expands a node to show its children
Tree:collapseNode Tree Collapses a node to hide its children
Tree:toggleNode Tree Toggles between expanded and collapsed state
Tree:onSelect Tree Registers a callback for when a node is selected
Tree:getNodeSize number, number Gets the size of the tree

Tree:expandNode(node)

Expands a node

Parameters

  • node table The node to expand

Returns

  • Tree self The Tree instance

Tree:collapseNode(node)

Collapses a node

Parameters

  • node table The node to collapse

Returns

  • Tree self The Tree instance

Tree:toggleNode(node)

Toggles a node's expanded state

Parameters

  • node table The node to toggle

Returns

  • Tree self The Tree instance

Tree:onSelect(callback)

Registers a callback for when a node is selected

Parameters

  • callback function The callback function

Returns

  • Tree self The Tree instance

Tree:getNodeSize()

Gets the size of the tree

Returns

  • number width The width of the tree
  • number height The height of the tree