TileViewExperiment.cs 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. using System;
  2. using Terminal.Gui;
  3. using Terminal.Gui.Graphs;
  4. using System.Linq;
  5. namespace UICatalog.Scenarios {
  6. [ScenarioMetadata (Name: "Tile View Experiments", Description: "Experiments with Tile View")]
  7. [ScenarioCategory ("Controls")]
  8. [ScenarioCategory ("LineView")]
  9. public class TileViewExperiment : Scenario {
  10. public override void Init (ColorScheme colorScheme)
  11. {
  12. Application.Init ();
  13. }
  14. /// <summary>
  15. /// Setup the scenario.
  16. /// </summary>
  17. public override void Setup ()
  18. {
  19. var menu = new MenuBar (new MenuBarItem [] {
  20. new MenuBarItem ("_File", new MenuItem [] {
  21. new MenuItem ("_Quit", "", () => Application.RequestStop()),
  22. }) });
  23. Application.Top.Add (menu);
  24. var frame1 = new FrameView () {
  25. X = 0,
  26. Y = 1,
  27. Width = 15, //Dim.Fill (),
  28. Height = 15, //Dim.Fill (),
  29. //IgnoreBorderPropertyOnRedraw = true
  30. };
  31. frame1.Border.BorderStyle = BorderStyle.Double;
  32. var frame2 = new FrameView () {
  33. X = 0,
  34. Y = Pos.Bottom (frame1) + 1,
  35. Width = 15, //Dim.Fill (),
  36. Height = 15, //Dim.Fill (),
  37. //IgnoreBorderPropertyOnRedraw = true
  38. };
  39. frame2.Border.BorderStyle = BorderStyle.Single;
  40. //ConsoleDriver.Diagnostics ^= ConsoleDriver.DiagnosticFlags.FrameRuler;
  41. Application.Top.Add (frame1);
  42. Application.Top.Add (frame2);
  43. var view1 = new TextField () {
  44. //Title = "View 1",
  45. Text = "View1 30%/50% Single",
  46. X = 0,
  47. Y = 0,
  48. Width = 14, //Dim.Percent (30) - 5,
  49. Height = 14, //Dim.Percent (50) - 5,
  50. ColorScheme = Colors.ColorSchemes ["Dialog"],
  51. Border = new Border () {
  52. BorderStyle = BorderStyle.Single,
  53. //BorderThickness = new Thickness (1),
  54. DrawMarginFrame = true,
  55. Padding = new Thickness (1),
  56. BorderBrush = Color.BrightMagenta,
  57. Title = "Border Title"
  58. }
  59. };
  60. frame1.Add (view1);
  61. //var view12splitter = new SplitterEventArgs
  62. //var view2 = new FrameView () {
  63. // Title = "View 2",
  64. // Text = "View2 right of view1, 30%/70% Single.",
  65. // X = Pos.Right (view1) - 1,
  66. // Y = -1,
  67. // Width = Dim.Percent (30),
  68. // Height = Dim.Percent (70),
  69. // ColorScheme = Colors.ColorSchemes ["Error"],
  70. // Border = new Border () { BorderStyle = BorderStyle.Single }
  71. //};
  72. //frame.Add (view2);
  73. //var view3 = new FrameView () {
  74. // Title = "View 3",
  75. // Text = "View3 right of View2 Fill/Fill Single",
  76. // X = Pos.Right (view2) - 1,
  77. // Y = -1,
  78. // Width = Dim.Fill (-1),
  79. // Height = Dim.Fill (-1),
  80. // ColorScheme = Colors.ColorSchemes ["Menu"],
  81. // Border = new Border () { BorderStyle = BorderStyle.Single }
  82. //};
  83. //frame.Add (view3);
  84. //var view4 = new FrameView () {
  85. // Title = "View 4",
  86. // Text = "View4 below View2 view2.Width/5 Single",
  87. // X = Pos.Left (view2),
  88. // Y = Pos.Bottom (view2) - 1,
  89. // Width = view2.Width,
  90. // Height = 5,
  91. // ColorScheme = Colors.ColorSchemes ["TopLevel"],
  92. // Border = new Border () { BorderStyle = BorderStyle.Single }
  93. //};
  94. //frame.Add (view4);
  95. //var view5 = new FrameView () {
  96. // Title = "View 5",
  97. // Text = "View5 below View4 view4.Width/5 Double",
  98. // X = Pos.Left (view2),
  99. // Y = Pos.Bottom (view4) - 1,
  100. // Width = view4.Width,
  101. // Height = 5,
  102. // ColorScheme = Colors.ColorSchemes ["TopLevel"],
  103. // Border = new Border () { BorderStyle = BorderStyle.Double }
  104. //};
  105. //frame.Add (view5);
  106. }
  107. }
  108. }