class
TUI::EnumField
- TUI::EnumField
- TUI::FormField
- Reference
- Object
Overview
Single-select from a fixed Array(FormEnumOption), tracked by
@focus_index — focus and selection are the same thing here, unlike
FlagsField where they're independent. Wire format is the focused
option's wire_value (see #value/#start); #value falls back to
"" if @options is empty or @focus_index is somehow out of range,
rather than raising. Up/Down move focus; Space or Enter commit; Esc
cancels without writing back, per FormField's stated rationale that a
picker with nothing chosen yet has no sensible commit value.
Defined in:
tui/form/enum_field.crConstructors
Instance Method Summary
-
#handle_key(ev : KeyEvent) : Symbol | Nil
Returns :commit or :cancel once the edit finishes; nil while it's still in progress (the key was consumed either way).
-
#render(buffer : Buffer, y : Int32, x : Int32, width : Int32, height : Int32 = 1, focused : Bool = true) : Nil
Draws this field's current edit state.
-
#start(current_value : String) : Nil
Loads a persisted wire-value string into this field's edit state.
-
#status_hint : String
Fragment of a host's status-bar hint describing this field's own key bindings while it's being edited — owned here (rather than left for a host to re-derive per kind) so the bindings shown to the user can never drift from what #handle_key actually does.
-
#value : String
The composed value after a :commit result.
Instance methods inherited from class TUI::FormField
handle_key(ev : KeyEvent) : Symbol | Nil
handle_key,
render(buffer : Buffer, y : Int32, x : Int32, width : Int32, height : Int32 = 1, focused : Bool = true) : Nil
render,
start(current_value : String) : Nil
start,
status_hint : String
status_hint,
value : String
value
Constructor Detail
Instance Method Detail
Returns :commit or :cancel once the edit finishes; nil while it's still in progress (the key was consumed either way).
Draws this field's current edit state. height bounds how many
buffer rows this field may draw into. focused gates any
keyboard-cursor decoration that should be suppressed when
rendering a persisted value outside an active edit session (only
FlagsField uses this — see its #render).
Loads a persisted wire-value string into this field's edit state.
Fragment of a host's status-bar hint describing this field's own key bindings while it's being edited — owned here (rather than left for a host to re-derive per kind) so the bindings shown to the user can never drift from what #handle_key actually does.
The composed value after a :commit result.