43 return size - oldSize;
69 const Panel&
get (
int index)
const noexcept {
return sizes.getReference (index); }
73 auto num =
sizes.size();
85 auto newSizes (*
this);
86 auto num = newSizes.sizes.size();
88 newSizes.stretchRange (0, num, totalSpace - newSizes.getTotalSize (0, num),
stretchAll);
98 newSizes.
get(index).
size = panelHeight;
102 auto num =
sizes.size();
104 totalSpace =
jmax (totalSpace, minSize);
125 for (
int attempts = 4; --attempts >= 0 && spaceDiff > 0;)
127 spaceDiff -=
get (
i).expand (spaceDiff);
132 for (
int attempts = 4; --attempts >= 0 && spaceDiff > 0;)
133 for (
int i =
end; --
i >=
start && spaceDiff > 0;)
134 spaceDiff -=
get (
i).expand (spaceDiff);
142 if (
get(
i).canExpand() && !
get(
i).isMinimised())
143 expandableItems.
add (&
get(
i));
145 for (
int attempts = 4; --attempts >= 0 && spaceDiff > 0;)
146 for (
int i = expandableItems.
size(); --
i >= 0 && spaceDiff > 0;)
147 spaceDiff -= expandableItems.
getUnchecked(
i)->expand (spaceDiff / (
i + 1));
155 spaceDiff -=
get(
i).reduce (spaceDiff);
160 for (
int i =
end; --
i >=
start && spaceDiff > 0;)
161 spaceDiff -=
get(
i).reduce (spaceDiff);
231 g.reduceClipRegion (area);
257 if (
e.mouseWasDraggedSinceMouseDown())
260 panel.setLayout (
dragStartSizes.withMovedPanel (panel.holders.indexOf (
this),
262 panel.getHeight()),
false);
275 if (headerComponent !=
nullptr)
292 auto ourIndex = panel.
holders.indexOf (
this);
330 jassert (component !=
nullptr);
333 auto holder =
new PanelHolder (component, takeOwnership);
334 holders.insert (insertIndex, holder);
403 holders.getUnchecked (index)->setCustomHeaderComponent (optional.
release(), takeOwnership);
428 animator.cancelAllAnimations (
false);
430 const int animationDuration = 150;
442 animator.animateComponent (&
p, pos, 1.0f, animationDuration,
false, 1.0, 1.0);
Type jmin(const Type a, const Type b)
Definition MathsFunctions.h:60
Type jmax(const Type a, const Type b)
Definition MathsFunctions.h:48
#define noexcept
Definition DistrhoDefines.h:72
Definition juce_Array.h:56
ElementType getUnchecked(int index) const
Definition juce_Array.h:252
int size() const noexcept
Definition juce_Array.h:215
void add(const ElementType &newElement)
Definition juce_Array.h:418
bool isMouseButtonDown(bool includeChildren=false) const
Definition juce_Component.cpp:3177
void setRepaintsOnMouseActivity(bool shouldRepaint) noexcept
Definition juce_Component.cpp:1881
Component * getParentComponent() const noexcept
Definition juce_Component.h:804
int getHeight() const noexcept
Definition juce_Component.h:274
void addAndMakeVisible(Component *child, int zOrder=-1)
Definition juce_Component.cpp:1554
Component() noexcept
Definition juce_Component.cpp:517
int getY() const noexcept
Definition juce_Component.h:268
void setWantsKeyboardFocus(bool wantsFocus) noexcept
Definition juce_Component.cpp:2842
bool isMouseOver(bool includeChildren=false) const
Definition juce_Component.cpp:3159
int getWidth() const noexcept
Definition juce_Component.h:271
LookAndFeel & getLookAndFeel() const noexcept
Definition juce_Component.cpp:2173
Rectangle< int > getLocalBounds() const noexcept
Definition juce_Component.cpp:2283
Definition juce_ConcertinaPanel.cpp:216
void mouseDown(const MouseEvent &) override
Definition juce_ConcertinaPanel.cpp:249
void resized() override
Definition juce_ConcertinaPanel.cpp:238
void setCustomHeaderComponent(Component *headerComponent, bool shouldTakeOwnership)
Definition juce_ConcertinaPanel.cpp:271
int mouseDownY
Definition juce_ConcertinaPanel.cpp:286
void paint(Graphics &g) override
Definition juce_ConcertinaPanel.cpp:226
void mouseDrag(const MouseEvent &e) override
Definition juce_ConcertinaPanel.cpp:255
int getHeaderSize() const noexcept
Definition juce_ConcertinaPanel.cpp:289
PanelHolder(Component *comp, bool takeOwnership)
Definition juce_ConcertinaPanel.cpp:218
ConcertinaPanel & getPanel() const
Definition juce_ConcertinaPanel.cpp:296
void mouseDoubleClick(const MouseEvent &) override
Definition juce_ConcertinaPanel.cpp:266
OptionalScopedPointer< Component > customHeaderComponent
Definition juce_ConcertinaPanel.cpp:287
PanelSizes dragStartSizes
Definition juce_ConcertinaPanel.cpp:285
OptionalScopedPointer< Component > component
Definition juce_ConcertinaPanel.cpp:282
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() override
Definition juce_ConcertinaPanel.cpp:313
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_MouseEvent.h:39
Definition juce_OptionalScopedPointer.h:38
ObjectType * release() noexcept
Definition juce_OptionalScopedPointer.h:124
Definition juce_Rectangle.h:67
* e
Definition inflate.c:1404
UINT_D64 w
Definition inflate.c:942
int y
Definition inflate.c:1588
int g
Definition inflate.c:1573
register unsigned i
Definition inflate.c:1575
static int int height
Definition pugl.h:1594
virtual ASIOError start()=0
static int JUCE_CDECL comp(const void *a, const void *b)
Definition lsp.c:298
Definition carla_juce.cpp:31
RangedDirectoryIterator end(const RangedDirectoryIterator &)
Definition juce_RangedDirectoryIterator.h:184
Type jlimit(Type lowerLimit, Type upperLimit, Type valueToConstrain) noexcept
Definition juce_MathsFunctions.h:262
@ group
Definition juce_AccessibilityRole.h:61
Definition juce_ConcertinaPanel.cpp:32
int minSize
Definition juce_ConcertinaPanel.cpp:63
int size
Definition juce_ConcertinaPanel.cpp:63
int setSize(int newSize) noexcept
Definition juce_ConcertinaPanel.cpp:38
bool isMinimised() const noexcept
Definition juce_ConcertinaPanel.cpp:61
int reduce(int amount) noexcept
Definition juce_ConcertinaPanel.cpp:53
int maxSize
Definition juce_ConcertinaPanel.cpp:63
Panel(int sz, int mn, int mx) noexcept
Definition juce_ConcertinaPanel.cpp:35
int expand(int amount) noexcept
Definition juce_ConcertinaPanel.cpp:46
bool canExpand() const noexcept
Definition juce_ConcertinaPanel.cpp:60
Definition juce_ConcertinaPanel.cpp:30
PanelSizes withResizedPanel(int index, int panelHeight, int totalSpace) const
Definition juce_ConcertinaPanel.cpp:92
int getTotalSize(int start, int end) const noexcept
Definition juce_ConcertinaPanel.cpp:182
void stretchRange(int start, int end, int amountToAdd, ExpandMode expandMode) noexcept
Definition juce_ConcertinaPanel.cpp:164
const Panel & get(int index) const noexcept
Definition juce_ConcertinaPanel.cpp:69
Panel & get(int index) noexcept
Definition juce_ConcertinaPanel.cpp:68
PanelSizes withMovedPanel(int index, int targetPosition, int totalSpace) const
Definition juce_ConcertinaPanel.cpp:71
Array< Panel > sizes
Definition juce_ConcertinaPanel.cpp:66
void growRangeFirst(int start, int end, int spaceDiff) noexcept
Definition juce_ConcertinaPanel.cpp:123
void growRangeLast(int start, int end, int spaceDiff) noexcept
Definition juce_ConcertinaPanel.cpp:130
void shrinkRangeLast(int start, int end, int spaceDiff) noexcept
Definition juce_ConcertinaPanel.cpp:158
void shrinkRangeFirst(int start, int end, int spaceDiff) noexcept
Definition juce_ConcertinaPanel.cpp:152
ExpandMode
Definition juce_ConcertinaPanel.cpp:117
@ stretchAll
Definition juce_ConcertinaPanel.cpp:118
@ stretchLast
Definition juce_ConcertinaPanel.cpp:120
@ stretchFirst
Definition juce_ConcertinaPanel.cpp:119
int getMinimumSize(int start, int end) const noexcept
Definition juce_ConcertinaPanel.cpp:189
int getMaximumSize(int start, int end) const noexcept
Definition juce_ConcertinaPanel.cpp:196
PanelSizes fittedInto(int totalSpace) const
Definition juce_ConcertinaPanel.cpp:83
void growRangeAll(int start, int end, int spaceDiff) noexcept
Definition juce_ConcertinaPanel.cpp:137
uch * p
Definition crypt.c:594
uch h[RAND_HEAD_LEN]
Definition crypt.c:459
#define const
Definition zconf.h:137