Improved scenario to allow flipping splitter orientation

This commit is contained in:
Thomas
2022-12-23 14:54:11 +00:00
parent 9f26734a03
commit ca0cd7cfae
2 changed files with 40 additions and 0 deletions

View File

@@ -1,5 +1,6 @@
using Terminal.Gui;
using System;
using Terminal.Gui.Graphs;
namespace UICatalog.Scenarios {
[ScenarioMetadata (Name: "Split Container", Description: "Demonstrates the SplitContainer functionality")]
@@ -8,6 +9,9 @@ namespace UICatalog.Scenarios {
private SplitContainer splitContainer;
private MenuItem miVertical;
/// <summary>
/// Setup the scenario.
/// </summary>
@@ -15,6 +19,7 @@ namespace UICatalog.Scenarios {
{
// Scenario Window's.
Win.Title = this.GetName ();
Win.Y = 1;
splitContainer = new SplitContainer {
Width = Dim.Fill (),
@@ -23,10 +28,43 @@ namespace UICatalog.Scenarios {
};
Label lbl1;
splitContainer.Panel1.Add (new Label ("Hello"));
splitContainer.Panel1.Add (lbl1 = new Label ("Type Something:"){Y=2});
splitContainer.Panel1.Add (new TextField (){Width = Dim.Fill(),Y=2,X=Pos.Right(lbl1)+1});
Label lbl2;
splitContainer.Panel2.Add (new Label ("World"));
splitContainer.Panel2.Add (lbl2 = new Label ("Type Here Too:"){Y=2});
splitContainer.Panel2.Add (new TextField (){Width = Dim.Fill(),Y=2,X=Pos.Right(lbl2)+1});
Win.Add (splitContainer);
var menu = new MenuBar (new MenuBarItem [] {
new MenuBarItem ("_File", new MenuItem [] {
new MenuItem ("_Quit", "", () => Quit()),
}),
new MenuBarItem ("_Options", new MenuItem [] {
miVertical = new MenuItem ("_Vertical", "", () => ToggleOrientation())
{
Checked = splitContainer.Orientation == Orientation.Vertical,
CheckType = MenuItemCheckStyle.Checked
}})
});
Application.Top.Add (menu);
}
public void ToggleOrientation()
{
miVertical.Checked = !miVertical.Checked;
splitContainer.Orientation = miVertical.Checked ? Orientation.Vertical : Orientation.Horizontal;
}
private void Quit ()
{
Application.RequestStop ();
}
}
}