#pragma once #include "WSMenu.h" #include #include #include class WSMenuBar : public Weakable { public: WSMenuBar(int client_id, int menubar_id); ~WSMenuBar(); int client_id() const { return m_client_id; } int menubar_id() const { return m_menubar_id; } void add_menu(WSMenu* menu) { m_menus.append(menu); } template void for_each_menu(Callback callback) { for (auto& menu : m_menus) { if (!callback(*menu)) return; } } private: int m_client_id { 0 }; int m_menubar_id { 0 }; Vector m_menus; };