Skip to content

Modern Tui TuiTree

Paul Squires edited this page Oct 19, 2026 · 7 revisions

Home › Terminal TUI Library › Overlays and Chrome › TuiTree

TuiTree

Draws a tree of nodes that the user expands and collapses with the arrow keys.

Syntax

type TuiTree extends TuiWidget
    as TuiTreeNodeArray nodes
    as TuiTreeState ptr state
    as TuiStyle normal, selectedStyle
    as boolean useUnicode
end type

Description

A collapsible tree with guides and its own scroll. Left collapses, right expands, and only visible nodes are counted for scrolling. Like TuiList and TuiTable it clamps the offset in Render, in both directions, so it scrolls up or down to reveal a selection.

Example

#import "std/tui"
using tui

dim as TuiTreeState st
dim as TuiTree t
t.Add( "src", 0, TRUE, 1 )
t.Add( "std", 1, TRUE, 2 )
t.Add( "tui.tiko", 2, FALSE, 3 )
t.Add( "docs", 0, TRUE, 4 )
t.state = @st
t.useUnicode = TRUE

print t.nodes.Count( )            '' 4
print t.VisibleCount( ) <= 4       '' -1 (true)  -- collapsed nodes hide children

See also

TuiPopup TuiMessageBox.Cancelled TuiMenuBar.IsOpen TuiStatusBar
TuiMessageBox TuiMenu TuiStatusItem TuiStatusBar.Add
TuiMessageBox.Accepted TuiMenuBar TuiStatusItemOf TuiTreeNode

Library: Terminal TUI Library
Category: Terminal TUI Library
Documented under: Overlays and Chrome
Working examples: hello.tiko · form.tiko · dashboard.tiko


Home · Keyword Index

Clone this wiki locally