mirror of
https://github.com/nsnail/spectre.console.git
synced 2025-04-14 16:02:50 +08:00
Add layout documentation
This commit is contained in:
parent
bc6ba26840
commit
eba2a8cc76
3
docs/input/assets/casts/layout-plain.cast
Normal file
3
docs/input/assets/casts/layout-plain.cast
Normal file
@ -0,0 +1,3 @@
|
||||
{"version": 2, "width": 82, "height": 24, "title": "layout (plain)", "env": {"TERM": "Spectre.Console"}}
|
||||
[0, "o", "\u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\u250C\u2500Top (40 x 12)\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\r\n\u2502 \u2502\u2502 \u2502\r\n\u2502 \u2502\u2502 \u2502\r\n\u2502 \u2502\u2502 \u2502\r\n\u2502 \u2502\u2502 \u2502\r\n\u2502 \u2502\u2502 Placeholder \u2502\r\n\u2502 \u2502\u2502 \u2502\r\n\u2502 \u2502\u2502 \u2502\r\n\u2502 \u2502\u2502 \u2502\r\n\u2502 \u2502\u2502 \u2502\r\n\u2502 \u2502\u2502 \u2502\r\n\u2502 Hello \u001B[34mWorld!\u001B[0m \u2502\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\r\n\u2502 \u2502\u250C\u2500Bottom (40 x 12)\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\r\n\u2502 \u2502\u2502 \u2502\r\n\u2502 \u2502\u2502 \u2502\r\n\u2502 \u2502\u2502 \u2502\r\n\u2502 \u2502\u2502 \u2502\r\n\u2502 \u2502\u2502 Placeholder \u2502\r\n\u2502 \u2502\u2502 \u2502\r\n\u2502 \u2502\u2502 \u2502\r\n\u2502 \u2502\u2502 \u2502\r\n\u2502 \u2502\u2502 \u2502\r\n\u2502 \u2502\u2502 \u2502\r\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518"]
|
||||
|
3
docs/input/assets/casts/layout-rich.cast
Normal file
3
docs/input/assets/casts/layout-rich.cast
Normal file
@ -0,0 +1,3 @@
|
||||
{"version": 2, "width": 82, "height": 24, "title": "layout (rich)", "env": {"TERM": "Spectre.Console"}}
|
||||
[0, "o", "\u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\u256D\u2500Top (40 x 12)\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256E\r\n\u2502 \u2502\u2502 \u2502\r\n\u2502 \u2502\u2502 \u2502\r\n\u2502 \u2502\u2502 \u2502\r\n\u2502 \u2502\u2502 \u2502\r\n\u2502 \u2502\u2502 Placeholder \u2502\r\n\u2502 \u2502\u2502 \u2502\r\n\u2502 \u2502\u2502 \u2502\r\n\u2502 \u2502\u2502 \u2502\r\n\u2502 \u2502\u2502 \u2502\r\n\u2502 \u2502\u2502 \u2502\r\n\u2502 Hello \u001B[38;5;12mWorld!\u001B[0m \u2502\u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256F\r\n\u2502 \u2502\u256D\u2500Bottom (40 x 12)\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256E\r\n\u2502 \u2502\u2502 \u2502\r\n\u2502 \u2502\u2502 \u2502\r\n\u2502 \u2502\u2502 \u2502\r\n\u2502 \u2502\u2502 \u2502\r\n\u2502 \u2502\u2502 Placeholder \u2502\r\n\u2502 \u2502\u2502 \u2502\r\n\u2502 \u2502\u2502 \u2502\r\n\u2502 \u2502\u2502 \u2502\r\n\u2502 \u2502\u2502 \u2502\r\n\u2502 \u2502\u2502 \u2502\r\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256F"]
|
||||
|
64
docs/input/widgets/layout.md
Normal file
64
docs/input/widgets/layout.md
Normal file
@ -0,0 +1,64 @@
|
||||
Title: Layout
|
||||
Order: 45
|
||||
Description: "Use **Layout** to layout widgets in the terminal."
|
||||
Reference: T:Spectre.Console.Layout
|
||||
|
||||
---
|
||||
|
||||
Use `Layout` to layout widgets in the terminal.
|
||||
|
||||
<?# AsciiCast cast="layout" /?>
|
||||
|
||||
## Usage
|
||||
|
||||
```csharp
|
||||
// Create the layout
|
||||
var layout = new Layout("Root")
|
||||
.SplitColumns(
|
||||
new Layout("Left"),
|
||||
new Layout("Right")
|
||||
.SplitRows(
|
||||
new Layout("Top"),
|
||||
new Layout("Bottom")));
|
||||
|
||||
// Update the left column
|
||||
layout["Left"].Update(
|
||||
new Panel(
|
||||
Align.Center(
|
||||
new Markup("Hello [blue]World![/]"),
|
||||
VerticalAlignment.Middle))
|
||||
.Expand());
|
||||
|
||||
// Render the layout
|
||||
AnsiConsole.Write(layout);
|
||||
```
|
||||
|
||||
## Setting minimum size
|
||||
|
||||
```csharp
|
||||
layout["Left"].MinimumSize(10);
|
||||
```
|
||||
|
||||
## Setting ratio
|
||||
|
||||
```csharp
|
||||
layout["Left"].Ratio(2);
|
||||
```
|
||||
|
||||
## Settings explicit size
|
||||
|
||||
```csharp
|
||||
layout["Left"].Size(32);
|
||||
```
|
||||
|
||||
## Hide layout
|
||||
|
||||
```csharp
|
||||
layout["Left"].Invisible();
|
||||
```
|
||||
|
||||
## Show layout
|
||||
|
||||
```csharp
|
||||
layout["Left"].Visible();
|
||||
```
|
@ -0,0 +1,30 @@
|
||||
using Spectre.Console;
|
||||
using Spectre.Console.Json;
|
||||
|
||||
namespace Generator.Commands.Samples
|
||||
{
|
||||
public class LayoutSample : BaseSample
|
||||
{
|
||||
public override (int Cols, int Rows) ConsoleSize => (80, 24);
|
||||
|
||||
public override void Run(IAnsiConsole console)
|
||||
{
|
||||
var layout = new Layout("Root")
|
||||
.SplitColumns(
|
||||
new Layout("Left"),
|
||||
new Layout("Right")
|
||||
.SplitRows(
|
||||
new Layout("Top"),
|
||||
new Layout("Bottom")));
|
||||
|
||||
layout["Left"].Update(
|
||||
new Panel(
|
||||
Align.Center(
|
||||
new Markup("Hello [blue]World![/]"),
|
||||
VerticalAlignment.Middle))
|
||||
.Expand());
|
||||
|
||||
AnsiConsole.Write(layout);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user