class

TuiEditor::PropertyInspector

Inherits Tui::Panel / Tui::Widget / Tui::Reactive / Reference / Object

Constants

HALIGN_OPTIONS = ["stretch", "left", "center", "right"]
PROPERTIES = {"Panel" => [PropertyField.new("title", "Title"), PropertyField.new("id", "ID"), PropertyField.new("align", "Align", :select, VALIGN_OPTIONS)], "VBox" => [PropertyField.new("id", "ID"), PropertyField.new("align", "Align", :select, VALIGN_OPTIONS)], "HBox" => [PropertyField.new("id", "ID"), PropertyField.new("align", "Align", :select, HALIGN_OPTIONS)], "VStack" => [PropertyField.new("id", "ID"), PropertyField.new("align", "Align", :select, VALIGN_OPTIONS)], "HStack" => [PropertyField.new("id", "ID"), PropertyField.new("align", "Align", :select, HALIGN_OPTIONS)], "Grid" => [PropertyField.new("id", "ID"), PropertyField.new("columns", "Columns", :number), PropertyField.new("align", "Align", :select, VALIGN_OPTIONS)], "Button" => [PropertyField.new("id", "ID"), PropertyField.new("label", "Label")], "Input" => [PropertyField.new("id", "ID"), PropertyField.new("placeholder", "Placeholder")], "Checkbox" => [PropertyField.new("id", "ID"), PropertyField.new("label", "Label")], "Switch" => [PropertyField.new("id", "ID")], "Slider" => [PropertyField.new("id", "ID"), PropertyField.new("min", "Min", :number), PropertyField.new("max", "Max", :number)], "Label" => [PropertyField.new("id", "ID"), PropertyField.new("text", "Text")], "Header" => [PropertyField.new("id", "ID"), PropertyField.new("title", "Title")], "Footer" => [PropertyField.new("id", "ID")], "ProgressBar" => [PropertyField.new("id", "ID"), PropertyField.new("value", "Value", :number)], "Rule" => [PropertyField.new("id", "ID")], "Tree" => [PropertyField.new("id", "ID")], "ListView" => [PropertyField.new("id", "ID")], "DataTable" => [PropertyField.new("id", "ID")], "Log" => [PropertyField.new("id", "ID")]}

Property definitions per widget type

VALIGN_OPTIONS = ["stretch", "top", "center", "bottom"]

Alignment options

Constructors

Instance methods

handle_event(event : Tui::Event) : Bool

KISS event handling with capture support Flow: on_capture → children → on_event Override on_capture to intercept before children Override on_event to handle after children

Source
node=(node : CanvasNode | Nil) : Nil
Source
on_change
Source
render(buffer : Tui::Buffer, clip : Tui::Rect) : Nil

Override to render widget content

Source