A vertical icon rail (Blender/VSCode-style activity bar): fixed-width column of tabs, one active at a time with an accent indicator. onSelect(index) fires on change.

Constructor

new(width:Float, height:Float, tabs:Array<UIRailTab>, ?onSelect:Int ‑> Void)

Parameters:

width

the rail width

height

the rail height

tabs

the initial tab set

onSelect

fired with the new index when the active tab changes

Variables

cellH:Float

Per-tab cell height.

@:value(0)read onlyselectedIndex:Int = 0

@:value(null)onSelect:Int ‑> Void = null

Methods

select(index:Int):Void

Programmatically activates a tab.

Parameters:

index

the tab to activate (fires onSelect when it changed)

setTabs(tabs:Array<UIRailTab>):Void

Replaces the tab set (the selection clamps to 0 when out of range).

Parameters:

tabs

the new tabs

Inherited Variables

Defined by UIComponent

@:value(true)enabled:Bool = true

Disabled widgets ignore the pointer and typically render dimmed.

@:value(0)read onlyh:Float = 0

Layout height in UI units.

@:value(MouseCursor.BUTTON)hoverCursor:MouseCursor = MouseCursor.BUTTON

Native cursor while hovering (interactive widgets; null keeps the arrow).

@:value(false)read onlyhovered:Bool = false

true while the cursor is over this widget.

@:value(null)onClick:() ‑> Void = null

Fired on a completed click (press + release on this widget).

@:value(null)onHover:() ‑> Void = null

Fired when the cursor first enters this widget (hover-driven descriptions/previews).

@:value(null)onRightClick:() ‑> Void = null

Fired on a right mouse press over this widget (context menus).

@:value(false)read onlypressed:Bool = false

true while a press that started here is held.

@:value(null)tooltip:String = null

Optional tooltip text (already-localized or a fixed string).

@:value(null)tooltipShortcut:String = null

Optional right-aligned shortcut hint rendered in the tooltip.

@:value(0)read onlyw:Float = 0

Layout width in UI units (independent of DisplayObject's content-derived width).

Inherited Methods

Defined by UIComponent

dispose():Void

Tears the widget down: listeners, pointer references, children, parent link.

invalidate():Void

Schedules a repaint for the next frame (cheap; deduplicated).

resize(width:Float, height:Float):Void

Sets the layout size and repaints when it changed.

Parameters:

width

the new layout width in UI units

height

the new layout height in UI units