#pragma once #include class MainMenuBarModel : public juce::MenuBarModel { public: MainMenuBarModel(); ~MainMenuBarModel(); void addTopLevelMenu(const juce::String& name); void addMenuItem(int topLevelMenuIndex, const juce::String& name, std::function action); std::function customMenuLogic; std::function customMenuSelectedLogic; private: juce::StringArray getMenuBarNames() override; juce::PopupMenu getMenuForIndex(int topLevelMenuIndex, const juce::String& menuName) override; void menuItemSelected(int menuItemID, int topLevelMenuIndex) override; void menuBarActivated(bool isActive); juce::StringArray topLevelMenuNames; std::vector>>> menuItems; };