LMMS
Loading...
Searching...
No Matches
juce_BurgerMenuComponent.h
Go to the documentation of this file.
1/*
2 ==============================================================================
3
4 This file is part of the JUCE library.
5 Copyright (c) 2022 - Raw Material Software Limited
6
7 JUCE is an open source library subject to commercial or open-source
8 licensing.
9
10 By using JUCE, you agree to the terms of both the JUCE 7 End-User License
11 Agreement and JUCE Privacy Policy.
12
13 End User License Agreement: www.juce.com/juce-7-licence
14 Privacy Policy: www.juce.com/juce-privacy-policy
15
16 Or: You may also use this code under the terms of the GPL v3 (see
17 www.gnu.org/licenses).
18
19 JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
20 EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
21 DISCLAIMED.
22
23 ==============================================================================
24*/
25
26namespace juce
27{
28
29//==============================================================================
40 private ListBoxModel,
42{
43public:
44 //==============================================================================
54
56 ~BurgerMenuComponent() override;
57
58 //==============================================================================
67 void setModel (MenuBarModel* newModel);
68
70 MenuBarModel* getModel() const noexcept;
71
73 void lookAndFeelChanged() override;
74
75private:
76 //==============================================================================
83
84 std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
85 void refresh();
86 void paint (Graphics&) override;
87 int getNumRows() override;
88 void paintListBoxItem (int, Graphics&, int, int, bool) override;
89 void listBoxItemClicked (int, const MouseEvent&) override;
90 Component* refreshComponentForRow (int, bool, Component*) override;
91 void resized() override;
92 void menuBarItemsChanged (MenuBarModel*) override;
94 void mouseUp (const MouseEvent&) override;
95 void handleCommandMessage (int) override;
97 static bool hasSubMenu (const PopupMenu::Item&);
98
99 //==============================================================================
100 MenuBarModel* model = nullptr;
101 ListBox listBox {"BurgerMenuListBox", this};
103
105
106 //==============================================================================
108};
109
110} // namespace juce
Definition juce_Array.h:56
void menuCommandInvoked(MenuBarModel *, const ApplicationCommandTarget::InvocationInfo &) override
Definition juce_BurgerMenuComponent.cpp:243
void resized() override
Definition juce_BurgerMenuComponent.cpp:233
void menuBarItemsChanged(MenuBarModel *) override
Definition juce_BurgerMenuComponent.cpp:238
int getNumRows() override
Definition juce_BurgerMenuComponent.cpp:141
void lookAndFeelChanged() override
Definition juce_BurgerMenuComponent.cpp:291
int inputSourceIndexOfLastClick
Definition juce_BurgerMenuComponent.h:104
void paint(Graphics &) override
Definition juce_BurgerMenuComponent.cpp:146
Component * refreshComponentForRow(int, bool, Component *) override
Definition juce_BurgerMenuComponent.cpp:203
MenuBarModel * model
Definition juce_BurgerMenuComponent.h:100
ListBox listBox
Definition juce_BurgerMenuComponent.h:101
Array< Row > rows
Definition juce_BurgerMenuComponent.h:102
void setModel(MenuBarModel *newModel)
Definition juce_BurgerMenuComponent.cpp:79
static bool hasSubMenu(const PopupMenu::Item &)
Definition juce_BurgerMenuComponent.cpp:186
BurgerMenuComponent(MenuBarModel *model=nullptr)
Definition juce_BurgerMenuComponent.cpp:64
void handleCommandMessage(int) override
Definition juce_BurgerMenuComponent.cpp:279
MenuBarModel * getModel() const noexcept
Definition juce_BurgerMenuComponent.cpp:96
int lastRowClicked
Definition juce_BurgerMenuComponent.h:104
void addMenuBarItemsForMenu(PopupMenu &, int)
Definition juce_BurgerMenuComponent.cpp:125
void mouseUp(const MouseEvent &) override
Definition juce_BurgerMenuComponent.cpp:247
void refresh()
Definition juce_BurgerMenuComponent.cpp:101
void listBoxItemClicked(int, const MouseEvent &) override
Definition juce_BurgerMenuComponent.cpp:191
void paintListBoxItem(int, Graphics &, int, int, bool) override
Definition juce_BurgerMenuComponent.cpp:151
std::unique_ptr< AccessibilityHandler > createAccessibilityHandler() override
Definition juce_BurgerMenuComponent.cpp:297
int topLevelIndexClicked
Definition juce_BurgerMenuComponent.h:104
Component() noexcept
Definition juce_Component.cpp:517
Definition juce_GraphicsContext.h:45
Definition juce_ListBox.h:38
friend class ListBox
Definition juce_ListBox.h:169
Definition juce_MenuBarModel.h:79
Definition juce_MenuBarModel.h:42
Definition juce_MouseEvent.h:39
Definition juce_PopupMenu.h:80
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
Definition carla_juce.cpp:31
Definition juce_ApplicationCommandTarget.h:61
Definition juce_BurgerMenuComponent.h:78
bool isMenuHeader
Definition juce_BurgerMenuComponent.h:79
int topLevelMenuIndex
Definition juce_BurgerMenuComponent.h:80
PopupMenu::Item item
Definition juce_BurgerMenuComponent.h:81
Definition juce_PopupMenu.h:111