GMenuBar.h 485 B

12345678910111213141516171819202122232425
  1. #pragma once
  2. #include <AK/Badge.h>
  3. #include <AK/NonnullOwnPtrVector.h>
  4. #include <LibGUI/GMenu.h>
  5. class GApplication;
  6. class GMenuBar {
  7. public:
  8. GMenuBar();
  9. ~GMenuBar();
  10. void add_menu(NonnullOwnPtr<GMenu>&&);
  11. void notify_added_to_application(Badge<GApplication>);
  12. void notify_removed_from_application(Badge<GApplication>);
  13. private:
  14. int realize_menubar();
  15. void unrealize_menubar();
  16. int m_menubar_id { -1 };
  17. NonnullOwnPtrVector<GMenu> m_menus;
  18. };