TUI::Form::FormFieldCell(M)
Inherits TUI::Widget < Reference < Object
One form row as its own composited Widget: a label plus whichever
FormField edit session field.build constructs (or, for a
dropdown_options field, a TUI::DropdownPicker popup pushed
through popup instead — see #start_editing). Grid
(src/tui/layout/grid.cr) positions and focuses one of these per
field; Form::Host builds one FormFieldCell per FieldSpec and
attaches them into its internal Grid, rather than looping over
@fields and hand-computing row/column coordinates itself the way
it used to.
field.get/field.set are the only way this class reads or
writes @model — a FieldSpec cannot exist without both, so every
cell rendered or committed here is guaranteed to be backed by a
real accessor on M, never a value invented independently of the
model. This mirrors the invariant Form::Host itself used to state.
Constants
Constructors
Instance methods
Applied to a dropdown popup's own border when this cell opens one (see #open_dropdown) — passed in from Form::Host's own border_style so a dropdown popup visually matches the form it was opened from, the same styling Form::Host applied directly before this logic moved into FormFieldCell.
Applied to a dropdown popup's own border when this cell opens one (see #open_dropdown) — passed in from Form::Host's own border_style so a dropdown popup visually matches the form it was opened from, the same styling Form::Host applied directly before this logic moved into FormFieldCell.
Draw into @buffer using LOCAL coordinates (0, 0 = this widget's own
top-left). Widgets never need to know their own x/y offset to draw
themselves — that arithmetic is handled entirely by composite.
Plain text describing the actions available in the widget's current state. Rendered by the App in the global status bar at the bottom of the screen — widgets must NOT draw their own hint lines.