GMenuBar.h 482 B

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