TopLevelNoWindowBug.cs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  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. var ntop = new Toplevel (new Rect (0, 0, Application.Driver.Cols, Application.Driver.Rows));
  9. var menu = new MenuBar (new MenuBarItem [] {
  10. new MenuBarItem ("_Файл", new MenuItem [] {
  11. new MenuItem ("_Создать", "Creates new file", null),
  12. new MenuItem ("_Открыть", "", null),
  13. new MenuItem ("Со_хранить", "", null),
  14. new MenuItem ("_Выход", "", () => ntop.Running = false )
  15. }),
  16. new MenuBarItem ("_Edit", new MenuItem [] {
  17. new MenuItem ("_Copy", "", null),
  18. new MenuItem ("C_ut", "", null),
  19. new MenuItem ("_Paste", "", null)
  20. })
  21. });
  22. ntop.Add (menu);
  23. // BUGBUG: #437 This being commmented out causes menu to mis-behave
  24. var win = new Window ($"Scenario: {GetName ()}") {
  25. X = 0,
  26. Y = 1,
  27. Width = Dim.Fill (),
  28. Height = Dim.Fill ()
  29. };
  30. ntop.Add (win);
  31. Application.Run (ntop);
  32. }
  33. }
  34. }