Files
Terminal.Gui/UICatalog/Scenarios/AutoSizeAndDirectionText.cs
BDisp 239191cde0 Fixes #1434. Regenerating the docs. (#1528)
* Fixes #1434. Regenerating the docs.

* Fixing warnings on docs regeneration and improving.
2021-12-18 05:33:40 -08:00

66 lines
1.7 KiB
C#

using Terminal.Gui;
namespace UICatalog.Scenarios {
[ScenarioMetadata (Name: "AutoSize and Direction Text", Description: "Demonstrates the text auto-size and direction manipulation.")]
[ScenarioCategory ("Text")]
public class AutoSizeAndDirectionText : Scenario {
public override void Setup ()
{
var text = "Hello World";
var color = Colors.Dialog;
var labelH = new Label (text, TextDirection.LeftRight_TopBottom) {
X = 1,
Y = 1,
ColorScheme = color
};
Win.Add (labelH);
var labelV = new Label (text, TextDirection.TopBottom_LeftRight) {
X = 70,
Y = 1,
ColorScheme = color
};
Win.Add (labelV);
var editText = new TextView () {
X = Pos.Center (),
Y = Pos.Center (),
Width = 20,
Height = 5,
ColorScheme = color,
Text = text
};
editText.SetFocus ();
Win.Add (editText);
var ckbDirection = new CheckBox ("Toggle Direction") {
X = Pos.Center (),
Y = Pos.Center () + 3
};
ckbDirection.Toggled += (_) => {
if (labelH.TextDirection == TextDirection.LeftRight_TopBottom) {
labelH.TextDirection = TextDirection.TopBottom_LeftRight;
labelV.TextDirection = TextDirection.LeftRight_TopBottom;
} else {
labelH.TextDirection = TextDirection.LeftRight_TopBottom;
labelV.TextDirection = TextDirection.TopBottom_LeftRight;
}
};
Win.Add (ckbDirection);
var ckbAutoSize = new CheckBox ("Auto Size") {
X = Pos.Center (),
Y = Pos.Center () + 5,
Checked = labelH.AutoSize = labelV.AutoSize
};
ckbAutoSize.Toggled += (_) => labelH.AutoSize = labelV.AutoSize = ckbAutoSize.Checked;
Win.Add (ckbAutoSize);
Win.KeyUp += (_) =>
labelH.Text = labelV.Text = text = editText.Text.ToString ();
}
}
}