LMMS
Loading...
Searching...
No Matches
juce_ConcertinaPanel.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{
41public:
46
48 ~ConcertinaPanel() override;
49
59 void addPanel (int insertIndex, Component* component, bool takeOwnership);
60
65 void removePanel (Component* panelComponent);
66
70 int getNumPanels() const noexcept;
71
75 Component* getPanel (int index) const noexcept;
76
82 bool setPanelSize (Component* panelComponent, int newHeight, bool animate);
83
90 bool expandPanelFully (Component* panelComponent, bool animate);
91
93 void setMaximumPanelSize (Component* panelComponent, int maximumSize);
94
96 void setPanelHeaderSize (Component* panelComponent, int headerSize);
97
109 void setCustomPanelHeader (Component* panelComponent, Component* customHeaderComponent, bool takeOwnership);
110
111 //==============================================================================
114 {
115 virtual ~LookAndFeelMethods() = default;
116
118 bool isMouseOver, bool isMouseDown,
120 };
121
122private:
123 std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
124 void resized() override;
125
126 class PanelHolder;
127 struct PanelSizes;
128 std::unique_ptr<PanelSizes> currentSizes;
132
133 int indexOfComp (Component*) const noexcept;
135 void applyLayout (const PanelSizes&, bool animate);
136 void setLayout (const PanelSizes&, bool animate);
138
140};
141
142} // namespace juce
Definition juce_ComponentAnimator.h:54
Component() noexcept
Definition juce_Component.cpp:517
bool isMouseOver(bool includeChildren=false) const
Definition juce_Component.cpp:3159
Definition juce_ConcertinaPanel.cpp:216
void setMaximumPanelSize(Component *panelComponent, int maximumSize)
Definition juce_ConcertinaPanel.cpp:368
void panelHeaderDoubleClicked(Component *)
Definition juce_ConcertinaPanel.cpp:456
int getNumPanels() const noexcept
Definition juce_ConcertinaPanel.cpp:315
void setCustomPanelHeader(Component *panelComponent, Component *customHeaderComponent, bool takeOwnership)
Definition juce_ConcertinaPanel.cpp:395
int headerHeight
Definition juce_ConcertinaPanel.h:131
std::unique_ptr< PanelSizes > currentSizes
Definition juce_ConcertinaPanel.h:128
void setPanelHeaderSize(Component *panelComponent, int headerSize)
Definition juce_ConcertinaPanel.cpp:380
void addPanel(int insertIndex, Component *component, bool takeOwnership)
Definition juce_ConcertinaPanel.cpp:328
PanelSizes getFittedSizes() const
Definition juce_ConcertinaPanel.cpp:420
ComponentAnimator animator
Definition juce_ConcertinaPanel.h:130
void setLayout(const PanelSizes &, bool animate)
Definition juce_ConcertinaPanel.cpp:450
Component * getPanel(int index) const noexcept
Definition juce_ConcertinaPanel.cpp:320
bool expandPanelFully(Component *panelComponent, bool animate)
Definition juce_ConcertinaPanel.cpp:363
bool setPanelSize(Component *panelComponent, int newHeight, bool animate)
Definition juce_ConcertinaPanel.cpp:352
ConcertinaPanel()
Definition juce_ConcertinaPanel.cpp:307
void applyLayout(const PanelSizes &, bool animate)
Definition juce_ConcertinaPanel.cpp:425
int indexOfComp(Component *) const noexcept
Definition juce_ConcertinaPanel.cpp:411
void resized() override
Definition juce_ConcertinaPanel.cpp:406
std::unique_ptr< AccessibilityHandler > createAccessibilityHandler() override
Definition juce_ConcertinaPanel.cpp:463
OwnedArray< PanelHolder > holders
Definition juce_ConcertinaPanel.h:129
void removePanel(Component *panelComponent)
Definition juce_ConcertinaPanel.cpp:340
Definition juce_GraphicsContext.h:45
Definition juce_OwnedArray.h:51
Definition juce_Rectangle.h:67
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
#define JUCE_API
Definition juce_StandardHeader.h:152
Definition carla_juce.cpp:31
Definition juce_ConcertinaPanel.h:114
virtual void drawConcertinaPanelHeader(Graphics &, const Rectangle< int > &area, bool isMouseOver, bool isMouseDown, ConcertinaPanel &, Component &)=0
Definition juce_ConcertinaPanel.cpp:30