mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2026-01-02 01:03:29 +01:00
Improved scenario to allow flipping splitter orientation
This commit is contained in:
@@ -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 ();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user