Table of Contents

Class InlineMultiColumnSelect

Namespace
ItTiger.TigerCli.Tui.Controls
Assembly
ItTiger.TigerCli.dll
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

shell ICliAppShell
The shell that supplies the theme, culture, and viewport.
columns IReadOnlyList<SelectColumn>
The column definitions, from left to right.
rows IReadOnlyList<SelectRow>
The rows available for selection.
preselectIndex int?
The initially selected row index, or null for 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

bool

ControlDecoration

The scroll indicators or scrollbars requested for the control's default widget.
public override CliControlDecoration ControlDecoration { get; }

Property Value

CliControlDecoration

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

InlineDialogArea

Hint

Optional status/hint text shown by the hosting dialog.
public override string? Hint { get; }

Property Value

string

Payload

Optional value produced by this control when its hosting dialog completes.
public override object? Payload { get; }

Property Value

object

ScrollMode

The scroll modes requested for the control's default widget.
public override CliScrollMode ScrollMode { get; }

Property Value

CliScrollMode

ThumbMode

Controls whether scroll thumbs track offsets or the logical active point.
public override CliScrollThumbMode ThumbMode { get; }

Property Value

CliScrollThumbMode

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

IReadOnlyList<InlineDialogWidget>

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

key KeyEvent

Returns

InlineKeyResult

ToGrid()

Converts the component into a grid for measurement and rendering.
public override CliGrid ToGrid()

Returns

CliGrid