TileViewExperiment.cs 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  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 frame = new FrameView () {
  25. X = 0,
  26. Y = 1,
  27. Width = Dim.Fill (),
  28. Height = Dim.Fill (),
  29. IgnoreBorderPropertyOnRedraw = true
  30. };
  31. frame.Border.BorderStyle = BorderStyle.Double;
  32. Application.Top.Add (frame);
  33. var view1 = new FrameView () {
  34. Title = "View 1",
  35. Text = "View1 30%/50% Single",
  36. X = -1,
  37. Y = -1,
  38. Width = Dim.Percent (30),
  39. Height = Dim.Percent (50),
  40. ColorScheme = Colors.ColorSchemes ["Dialog"],
  41. Border = new Border () { BorderStyle = BorderStyle.Single }
  42. };
  43. frame.Add (view1);
  44. var view2 = new FrameView () {
  45. Title = "View 2",
  46. Text = "View2 right of view1, 30%/Fill Single.",
  47. X = Pos.Right (view1) - 1,
  48. Y = -1,
  49. Width = Dim.Percent (30),
  50. Height = Dim.Fill (-1),
  51. ColorScheme = Colors.ColorSchemes ["Error"],
  52. Border = new Border () { BorderStyle = BorderStyle.Single }
  53. };
  54. frame.Add (view2);
  55. var view3 = new FrameView () {
  56. Title = "View 3",
  57. Text = "View3 right of View2 Fill/Fill Single",
  58. X = Pos.Right (view2) - 1,
  59. Y = -1,
  60. Width = Dim.Fill (-1),
  61. Height = Dim.Fill (-1),
  62. ColorScheme = Colors.ColorSchemes ["Menu"],
  63. Border = new Border () { BorderStyle = BorderStyle.Single }
  64. };
  65. frame.Add (view3);
  66. var view4 = new FrameView () {
  67. Title = "View 4",
  68. Text = "View4 below View1 30%/5 Single",
  69. X = -1,
  70. Y = Pos.Bottom (view1)-1,
  71. Width = Dim.Percent (30),
  72. Height = 5,
  73. ColorScheme = Colors.ColorSchemes ["TopLevel"],
  74. Border = new Border () { BorderStyle = BorderStyle.Single }
  75. };
  76. frame.Add (view4);
  77. var view5 = new FrameView () {
  78. Title = "View 5",
  79. Text = "View5 below View4 view4.Width/5 Double",
  80. X = -1,
  81. Y = Pos.Bottom (view4) - 1,
  82. Width = view4.Width,
  83. Height = 5,
  84. ColorScheme = Colors.ColorSchemes ["TopLevel"],
  85. Border = new Border () { BorderStyle = BorderStyle.Double }
  86. };
  87. frame.Add (view5);
  88. }
  89. }
  90. }