Class InlineMultiColumnSelect
Dialog-hostable single-selection control over structured, multi-column rows. It wraps an
InlineMultiColumnSelectWidget and behaves like InlineSelect — keyboard
navigation, Enter confirms the highlighted row (payload = its index), Escape cancels — but each row is
laid out across several aligned columns instead of a single preformatted line.
public sealed class InlineMultiColumnSelect : InlineControlBase, ICliRenderable
- Inheritance
-
InlineMultiColumnSelect
- Implements
- Inherited Members
Constructors
InlineMultiColumnSelect(ICliAppShell, IReadOnlyList<SelectColumn>, IReadOnlyList<SelectRow>, int?)
Creates a dialog-hostable single-selection control for structured rows.
public InlineMultiColumnSelect(ICliAppShell shell, IReadOnlyList<SelectColumn> columns, IReadOnlyList<SelectRow> rows, int? preselectIndex = null)
Parameters
shellICliAppShell- The shell that supplies the theme, culture, and viewport.
columnsIReadOnlyList<SelectColumn>- The column definitions, from left to right.
rowsIReadOnlyList<SelectRow>- The rows available for selection.
preselectIndexint?- The initially selected row index, or
nullfor the first enabled row.
Properties
CanConfirm
True when the hosting dialog may complete this control with an Enter/OK action.
public override bool CanConfirm { get; }
Property Value
ControlDecoration
The scroll indicators or scrollbars requested for the control's default widget.
public override CliControlDecoration ControlDecoration { get; }
Property Value
DialogArea
The dialog area this control's single top-level widget is placed into. Controls that expose
multiple widgets override GetWidgets() instead and may ignore this.
public override InlineDialogArea DialogArea { get; }
Property Value
Hint
Optional status/hint text shown by the hosting dialog.
public override string? Hint { get; }
Property Value
Payload
Optional value produced by this control when its hosting dialog completes.
public override object? Payload { get; }
Property Value
ScrollMode
The scroll modes requested for the control's default widget.
public override CliScrollMode ScrollMode { get; }
Property Value
ThumbMode
Controls whether scroll thumbs track offsets or the logical active point.
public override CliScrollThumbMode ThumbMode { get; }
Property Value
Methods
GetWidgets()
Exposes the top-level widgets the hosting
InlineDialog should place. The default
wraps the control's own ToGrid() output into one focused
widget, preserving the legacy single-content behavior. Composite controls override this to
expose several widgets across different InlineDialogArea areas.public override IReadOnlyList<InlineDialogWidget> GetWidgets()
Returns
HandleKey(KeyEvent)
Handles a key and optionally requests a dialog result. Returning
NotHandled lets the hosting dialog apply fallback keys.
public override InlineKeyResult HandleKey(KeyEvent key)
Parameters
keyKeyEvent
Returns
ToGrid()
Converts the component into a grid for measurement and rendering.
public override CliGrid ToGrid()