TopLevelNoWindowBug.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using Terminal.Gui;
  2. namespace UICatalog {
  3. [ScenarioMetadata (Name: "TopLevelNoWindowBug", Description: "Illustrates that not having a Window causes MenuBar to misbehave. #437")]
  4. [ScenarioCategory ("Bug Repro")]
  5. class TopLevelNoWindowBug : Scenario {
  6. public override void Run ()
  7. {
  8. Top?.Dispose ();
  9. Top = new Toplevel (new Rect (0, 0, Application.Driver.Cols, Application.Driver.Rows));
  10. var menu = new MenuBar (new MenuBarItem [] {
  11. new MenuBarItem ("_Файл", new MenuItem [] {
  12. new MenuItem ("_Создать", "Creates new file", null),
  13. new MenuItem ("_Открыть", "", null),
  14. new MenuItem ("Со_хранить", "", null),
  15. new MenuItem ("_Выход", "", () => Application.RequestStop())
  16. }),
  17. new MenuBarItem ("_Edit", new MenuItem [] {
  18. new MenuItem ("_Copy", "", null),
  19. new MenuItem ("C_ut", "", null),
  20. new MenuItem ("_Paste", "", null)
  21. })
  22. });
  23. Top.Add (menu);
  24. // BUGBUG: #437 This being commented out causes menu to mis-behave
  25. //var win = new Window ($"Scenario: {GetName ()}") {
  26. // X = 0,
  27. // Y = 1,
  28. // Width = Dim.Fill (),
  29. // Height = Dim.Fill ()
  30. //};
  31. //ntop.Add (win);
  32. base.Run ();
  33. }
  34. }
  35. }