LineCanvasExperiment.cs 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. 
  2. namespace UICatalog.Scenarios;
  3. [ScenarioMetadata ("LineCanvas Experiments", "Experiments with LineCanvas")]
  4. [ScenarioCategory ("Drawing")]
  5. [ScenarioCategory ("Adornments")]
  6. [ScenarioCategory ("Proof of Concept")]
  7. public class LineCanvasExperiment : Scenario
  8. {
  9. public override void Main ()
  10. {
  11. Application.Init ();
  12. Window app = new ()
  13. {
  14. Title = GetQuitKeyAndName (),
  15. BorderStyle = LineStyle.None
  16. };
  17. var frame1 = new FrameView
  18. {
  19. Title = "_SuperView",
  20. X = 0,
  21. Y = 0,
  22. Width = Dim.Fill (),
  23. Height = Dim.Fill (),
  24. SchemeName = "Base"
  25. ,
  26. SuperViewRendersLineCanvas = true
  27. };
  28. frame1.BorderStyle = LineStyle.None;
  29. //View.Diagnostics ^= DiagnosticFlags.FrameRuler;
  30. app.Add (frame1);
  31. var win1 = new Window
  32. {
  33. Title = "win1",
  34. Text = "Win1 - 0,0",
  35. X = 0,
  36. Y = 0,
  37. Width = 30,
  38. Height = 10,
  39. //BorderStyle = LineStyle.Heavy,
  40. SuperViewRendersLineCanvas = true
  41. };
  42. frame1.Add (win1);
  43. var win2 = new Window
  44. {
  45. Title = "win2",
  46. Text = "Win2 right of win1",
  47. X = Pos.Right (win1) - 1,
  48. Y = 0,
  49. Width = Dim.Percent (30),
  50. Height = Dim.Percent (70),
  51. //Scheme = Colors.Schemes ["Error"],
  52. SuperViewRendersLineCanvas = true
  53. };
  54. var subViewOfWin2 = new FrameView
  55. {
  56. Title = "subViewOfWin2",
  57. X = 0,
  58. Y = 0,
  59. Width = Dim.Fill (),
  60. Height = Dim.Fill (),
  61. SuperViewRendersLineCanvas = true
  62. //Scheme = Colors.Schemes ["Menu"],
  63. };
  64. win2.Add (subViewOfWin2);
  65. frame1.Add (win2);
  66. var view4 = new FrameView
  67. {
  68. Title = "View 4",
  69. Text = "View4 below win2 win2.Width/5 Single",
  70. X = Pos.Right (win1) - 1,
  71. Y = Pos.Bottom (win2) - 1,
  72. Width = win2.Width,
  73. Height = 5,
  74. SuperViewRendersLineCanvas = true
  75. };
  76. frame1.Add (view4);
  77. //var win5 = new Window
  78. //{
  79. // Title = "Win 5",
  80. // Text = "win5 below View4 view4.Width/5 Double",
  81. // X = Pos.Left (win2),
  82. // Y = Pos.Bottom (view4) - 1,
  83. // Width = view4.Width,
  84. // Height = 5,
  85. // //Scheme = Colors.Schemes ["Runnable"],
  86. // SuperViewRendersLineCanvas = true,
  87. // BorderStyle = LineStyle.Double
  88. //};
  89. //frame1.Add (win5);
  90. //var line = new Line
  91. //{
  92. // X = 1,
  93. // Y = 1,
  94. // Width = 10,
  95. // Height = 1,
  96. // Orientation = Orientation.Horizontal,
  97. // SuperViewRendersLineCanvas = true
  98. //};
  99. //frame1.Add (line);
  100. //var marginWindow = new Window
  101. //{
  102. // Title = "Positive Margin",
  103. // X = 0,
  104. // Y = 8,
  105. // Width = 25,
  106. // Height = 10,
  107. // //Scheme = Colors.Schemes ["Error"],
  108. // SuperViewRendersLineCanvas = true
  109. //};
  110. //marginWindow.Margin!.Scheme = Colors.Schemes ["Error"];
  111. //marginWindow.Margin!.Thickness = new (1);
  112. //marginWindow.Border!.Thickness = new (1, 2, 1, 1);
  113. //frame1.Add (marginWindow);
  114. Application.Run (app);
  115. app.Dispose ();
  116. Application.Shutdown ();
  117. }
  118. }