Rows
IRows is the simplest vertical container. Each child renders on its own row, in order. No borders, no headers, no padding.
When to use
- Stacking widgets vertically when you don't need a Panel border or Layout's sized regions.
- Building dashboards by composing several widgets top-to-bottom.
Basic usage
pascal
var
rs : IRows;
begin
rs := Widgets.Rows;
rs.Add(Widgets.Markup('[bold]Status[/]'));
rs.Add(Widgets.Markup('[green]All systems operational[/]'));
rs.Add(Widgets.Rule);
rs.Add(Widgets.Markup('Last checked: 10:24 UTC'));
AnsiConsole.Write(rs);
end;1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
Configuration
Rows is intentionally minimal:
| Method | Purpose |
|---|---|
Add(child : IRenderable) : IRows | Append a row. Returns Self for chaining. |
pascal
AnsiConsole.Write(
Widgets.Rows
.Add(Widgets.Markup('[bold]header[/]'))
.Add(Widgets.Rule)
.Add(Widgets.Markup('body line 1'))
.Add(Widgets.Markup('body line 2')));1
2
3
4
5
6
2
3
4
5
6
Composition
Rows works inside panels, table cells, and layout regions:
pascal
AnsiConsole.Write(
Widgets.Panel(
Widgets.Rows
.Add(Widgets.Markup('[bold]Title[/]'))
.Add(Widgets.Markup('Subtitle'))
.Add(Widgets.Rule)
.Add(table)));1
2
3
4
5
6
7
2
3
4
5
6
7
API reference
Widgets.Rows— empty row stack.IRows— interface.