AdornmentExperiments.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. using Terminal.Gui;
  2. namespace UICatalog.Scenarios;
  3. [ScenarioMetadata ("Adornment Experiments", "Playground for Adornment experiments")]
  4. [ScenarioCategory ("Controls")]
  5. public class AdornmentExperiments : Scenario
  6. {
  7. private ViewDiagnosticFlags _diagnosticFlags;
  8. private View _frameView;
  9. public override void Init ()
  10. {
  11. Application.Init ();
  12. ConfigurationManager.Themes.Theme = Theme;
  13. ConfigurationManager.Apply ();
  14. Top = new ();
  15. Top.ColorScheme = Colors.ColorSchemes [TopLevelColorScheme];
  16. _diagnosticFlags = View.Diagnostics;
  17. //View.Diagnostics = ViewDiagnosticFlags.MouseEnter;
  18. _frameView = new View ()
  19. {
  20. Title = "Frame View",
  21. X = 0,
  22. Y = 0,
  23. Width = Dim.Percent (90),
  24. Height = Dim.Percent (90),
  25. CanFocus = true,
  26. };
  27. Top.Add (_frameView);
  28. _frameView.Initialized += FrameView_Initialized;
  29. Top.Closed += (s, e) => View.Diagnostics = _diagnosticFlags;
  30. }
  31. private void FrameView_Initialized (object sender, System.EventArgs e)
  32. {
  33. _frameView.Border.Thickness = new (1, 1, 1, 1);
  34. _frameView.Padding.Thickness = new (0, 10, 0, 0);
  35. _frameView.Padding.ColorScheme = Colors.ColorSchemes ["Error"];
  36. var label = new Label ()
  37. {
  38. Text = "In Padding",
  39. X = Pos.Center (),
  40. Y = 0,
  41. BorderStyle = LineStyle.Dashed
  42. };
  43. _frameView.Padding.Add (label);
  44. }
  45. }