LineCanvasExperiment.cs 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. using System;
  2. using Terminal.Gui;
  3. using System.Linq;
  4. namespace UICatalog.Scenarios {
  5. [ScenarioMetadata (Name: "LineCanvas Experiments", Description: "Experiments with LineCanvas")]
  6. [ScenarioCategory ("LineCanvas")]
  7. public class LineCanvasExperiment : Scenario {
  8. public override void Init ()
  9. {
  10. Application.Init ();
  11. }
  12. /// <summary>
  13. /// Setup the scenario.
  14. /// </summary>
  15. public override void Setup ()
  16. {
  17. //var menu = new MenuBar (new MenuBarItem [] {
  18. //new MenuBarItem ("_File", new MenuItem [] {
  19. // new MenuItem ("_Quit", "", () => Application.RequestStop()),
  20. //}) });
  21. //Application.Top.Add (menu);
  22. var frame1 = new FrameView () {
  23. Title = "LineCanvas Experiments",
  24. X = 0,
  25. Y = 0,
  26. Width = Dim.Fill (),
  27. Height = Dim.Fill (),
  28. ColorScheme = Colors.ColorSchemes ["Base"],
  29. };
  30. frame1.BorderStyle = LineStyle.Double;
  31. //ConsoleDriver.Diagnostics ^= ConsoleDriver.DiagnosticFlags.FrameRuler;
  32. Application.Top.Add (frame1);
  33. var win1 = new Window () {
  34. AutoSize = false,
  35. Title = "win1",
  36. Text = "Win1 30%/50% Single",
  37. X = 20,
  38. Y = 0,
  39. Width = 30, //Dim.Percent (30) - 5,
  40. Height = 10, //Dim.Percent (50) - 5,
  41. //ColorScheme = Colors.ColorSchemes ["Base"],
  42. BorderStyle = LineStyle.Double,
  43. SuperViewRendersLineCanvas = true
  44. };
  45. win1.Padding.Thickness = new Thickness (1);
  46. frame1.Add (win1);
  47. var win2 = new Window () {
  48. Title = "win2",
  49. Text = "Win2 right of win1, 30%/70% Single.",
  50. X = Pos.Right (win1) - 1,
  51. Y = 0,
  52. Width = Dim.Percent (30),
  53. Height = Dim.Percent (70),
  54. //ColorScheme = Colors.ColorSchemes ["Error"],
  55. SuperViewRendersLineCanvas = true
  56. };
  57. frame1.Add (win2);
  58. var view3 = new FrameView () {
  59. Title = "View 3",
  60. Text = "View3 right of win2 Fill/Fill Single",
  61. X = Pos.Right (win2) - 1,
  62. Y = 0,
  63. Width = Dim.Fill (-1),
  64. Height = Dim.Fill (-1),
  65. SuperViewRendersLineCanvas = true,
  66. //ColorScheme = Colors.ColorSchemes ["Menu"],
  67. };
  68. frame1.Add (view3);
  69. var view4 = new FrameView () {
  70. Title = "View 4",
  71. Text = "View4 below win2 win2.Width/5 Single",
  72. X = Pos.Left (win2),
  73. Y = Pos.Bottom (win2) - 1,
  74. Width = win2.Width,
  75. Height = 5,
  76. SuperViewRendersLineCanvas = true,
  77. //ColorScheme = Colors.ColorSchemes ["TopLevel"],
  78. };
  79. frame1.Add (view4);
  80. var win5 = new Window () {
  81. Title = "Win 5",
  82. Text = "win5 below View4 view4.Width/5 Double",
  83. X = Pos.Left (win2),
  84. Y = Pos.Bottom (view4) - 1,
  85. Width = view4.Width,
  86. Height = 5,
  87. //ColorScheme = Colors.ColorSchemes ["TopLevel"],
  88. SuperViewRendersLineCanvas = true,
  89. BorderStyle = LineStyle.Double
  90. };
  91. frame1.Add (win5);
  92. var line = new Line () {
  93. X = 1,
  94. Y = 1,
  95. Width = 10,
  96. Height = 1,
  97. Orientation = Orientation.Horizontal,
  98. SuperViewRendersLineCanvas = true
  99. };
  100. frame1.Add (line);
  101. var marginWindow = new Window () {
  102. Title = "Positive Margin",
  103. X = 0,
  104. Y = 8,
  105. Width = 25,
  106. Height = 10,
  107. //ColorScheme = Colors.Error,
  108. SuperViewRendersLineCanvas = true
  109. };
  110. marginWindow.Margin.ColorScheme = Colors.Dialog;
  111. marginWindow.Margin.Thickness = new Thickness (1);
  112. marginWindow.Border.Thickness = new Thickness (1,2,1,1);
  113. frame1.Add (marginWindow);
  114. }
  115. }
  116. }