LMMS
Loading...
Searching...
No Matches
juce_ToolbarItemComponent.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//==============================================================================
50{
51public:
52 //==============================================================================
63 const String& labelText,
65
67 ~ToolbarItemComponent() override;
68
69 //==============================================================================
73 int getItemId() const noexcept { return itemId; }
74
78 Toolbar* getToolbar() const;
79
83 bool isToolbarVertical() const;
84
91
99 virtual void setStyle (const Toolbar::ToolbarItemStyle& newStyle);
100
110
111 //==============================================================================
129 virtual bool getToolbarItemSizes (int toolbarThickness,
131 int& preferredSize,
132 int& minSize,
133 int& maxSize) = 0;
134
143 virtual void paintButtonArea (Graphics& g,
144 int width, int height,
145 bool isMouseOver, bool isMouseDown) = 0;
146
154 virtual void contentAreaChanged (const Rectangle<int>& newBounds) = 0;
155
156
157 //==============================================================================
169
175 void setEditingMode (const ToolbarEditingMode newMode);
176
183
184
185 //==============================================================================
187 void paintButton (Graphics&, bool isMouseOver, bool isMouseDown) override;
189 void resized() override;
190
191private:
192 friend class Toolbar;
195
196 std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
197
198 const int itemId;
201 std::unique_ptr<Component> overlayComp;
205
207};
208
209} // namespace juce
#define noexcept
Definition DistrhoDefines.h:72
Button(const String &buttonName)
Definition juce_Button.cpp:76
bool isMouseOver(bool includeChildren=false) const
Definition juce_Component.cpp:3159
Definition juce_GraphicsContext.h:45
Definition juce_Rectangle.h:67
Definition juce_String.h:53
Definition juce_Toolbar.h:55
ToolbarItemStyle
Definition juce_Toolbar.h:168
Definition juce_ToolbarItemComponent.cpp:34
virtual void contentAreaChanged(const Rectangle< int > &newBounds)=0
const int itemId
Definition juce_ToolbarItemComponent.h:198
virtual bool getToolbarItemSizes(int toolbarThickness, bool isToolbarVertical, int &preferredSize, int &minSize, int &maxSize)=0
int dragOffsetX
Definition juce_ToolbarItemComponent.h:202
int dragOffsetY
Definition juce_ToolbarItemComponent.h:202
ToolbarEditingMode
Definition juce_ToolbarItemComponent.h:162
@ editableOnToolbar
Definition juce_ToolbarItemComponent.h:164
@ normalMode
Definition juce_ToolbarItemComponent.h:163
@ editableOnPalette
Definition juce_ToolbarItemComponent.h:166
virtual void paintButtonArea(Graphics &g, int width, int height, bool isMouseOver, bool isMouseDown)=0
int getItemId() const noexcept
Definition juce_ToolbarItemComponent.h:73
Rectangle< int > getContentArea() const noexcept
Definition juce_ToolbarItemComponent.h:109
bool isActive
Definition juce_ToolbarItemComponent.h:203
friend class Toolbar
Definition juce_ToolbarItemComponent.h:192
std::unique_ptr< Component > overlayComp
Definition juce_ToolbarItemComponent.h:201
ToolbarEditingMode mode
Definition juce_ToolbarItemComponent.h:199
std::unique_ptr< AccessibilityHandler > createAccessibilityHandler() override
Definition juce_ToolbarItemComponent.cpp:243
bool isBeingDragged
Definition juce_ToolbarItemComponent.h:203
Toolbar::ToolbarItemStyle toolbarStyle
Definition juce_ToolbarItemComponent.h:200
ToolbarItemComponent(int itemId, const String &labelText, bool isBeingUsedAsAButton)
Definition juce_ToolbarItemComponent.cpp:124
Rectangle< int > contentArea
Definition juce_ToolbarItemComponent.h:204
ToolbarEditingMode getEditingMode() const noexcept
Definition juce_ToolbarItemComponent.h:182
Toolbar::ToolbarItemStyle getStyle() const noexcept
Definition juce_ToolbarItemComponent.h:90
bool isToolbarVertical() const
Definition juce_ToolbarItemComponent.cpp:151
bool isBeingUsedAsAButton
Definition juce_ToolbarItemComponent.h:203
int g
Definition inflate.c:1573
static int int height
Definition pugl.h:1594
static int width
Definition pugl.h:1593
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
#define JUCE_API
Definition juce_StandardHeader.h:152
Definition carla_juce.cpp:31
#define const
Definition zconf.h:137