36 if (first.toString() > second.toString())
38 else if (first.toString() < second.toString())
48 .withAlpha (usingDefault ? 0.4f : 1.0f));
79 if (
static_cast<bool> (newValue))
82 temp.remove (temp.size() - 2);
129 if (
auto* arr =
v.getArray())
147 if (
value.isUsingDefault())
150 arrayToControl.
set (
v.getArray(),
false);
152 if (arrayToControl !=
nullptr)
154 auto temp = *arrayToControl;
156 bool newState = newValue;
158 if (
value.isUsingDefault())
160 if (
auto* defaultArray =
v.getArray())
170 temp.remove (temp.size() - 2);
182 if (temp.size() == 0)
183 value.resetToDefault();
219 for (
auto choice : choices)
232 expandShape.
addTriangle ({ 0, 0 }, { 5, 10 }, { 10, 0});
244 const String& propertyName,
255 correspondingValues[
i],
260 const String& propertyName,
266 value = valueToControl;
273 correspondingValues[
i],
283 g.fillRect (
getLookAndFeel().getPropertyComponentContentPosition (*
this));
298 auto bounds =
getLookAndFeel().getPropertyComponentContentPosition (*
this);
302 bounds.removeFromBottom (5);
304 auto buttonSlice = bounds.removeFromBottom (10);
306 expandButton.setCentrePosition (buttonSlice.getCentre());
315 b->setVisible (
true);
316 b->setBounds (bounds.removeFromTop (
buttonHeight).reduced (5, 2));
320 b->setVisible (
false);
335 propertyPanel->resized();
351 expandButton.setColours (iconColour, iconColour.darker(), iconColour.darker());
353 const auto usingDefault =
value.isUsingDefault();
Definition juce_Array.h:56
int size() const noexcept
Definition juce_Array.h:215
void addAndMakeVisible(Component *child, int zOrder=-1)
Definition juce_Component.cpp:1554
void repaint()
Definition juce_Component.cpp:1917
TargetClass * findParentComponentOfClass() const
Definition juce_Component.h:813
Colour findColour(int colourID, bool inheritFromParent=false) const
Definition juce_Component.cpp:2219
LookAndFeel & getLookAndFeel() const noexcept
Definition juce_Component.cpp:2173
Definition juce_GraphicsContext.h:45
@ centredLeft
Definition juce_Justification.h:143
Definition juce_MultiChoicePropertyComponent.cpp:54
var varToControl
Definition juce_MultiChoicePropertyComponent.cpp:98
void valueChanged(Value &) override
Definition juce_MultiChoicePropertyComponent.cpp:103
int maxChoices
Definition juce_MultiChoicePropertyComponent.cpp:100
Value sourceValue
Definition juce_MultiChoicePropertyComponent.cpp:97
void setValue(const var &newValue) override
Definition juce_MultiChoicePropertyComponent.cpp:73
MultiChoiceRemapperSource(const Value &source, var v, int c)
Definition juce_MultiChoicePropertyComponent.cpp:56
var getValue() const override
Definition juce_MultiChoicePropertyComponent.cpp:64
Definition juce_MultiChoicePropertyComponent.cpp:112
ValueTreePropertyWithDefault value
Definition juce_MultiChoicePropertyComponent.cpp:192
void valueChanged(Value &) override
Definition juce_MultiChoicePropertyComponent.cpp:189
void setValue(const var &newValue) override
Definition juce_MultiChoicePropertyComponent.cpp:141
Value sourceValue
Definition juce_MultiChoicePropertyComponent.cpp:194
ToggleButton * buttonToControl
Definition juce_MultiChoicePropertyComponent.cpp:198
int maxChoices
Definition juce_MultiChoicePropertyComponent.cpp:196
var varToControl
Definition juce_MultiChoicePropertyComponent.cpp:193
MultiChoiceRemapperSourceWithDefault(const ValueTreePropertyWithDefault &val, var v, int c, ToggleButton *b)
Definition juce_MultiChoicePropertyComponent.cpp:114
var getValue() const override
Definition juce_MultiChoicePropertyComponent.cpp:125
static constexpr int buttonHeight
Definition juce_MultiChoicePropertyComponent.h:127
int numHidden
Definition juce_MultiChoicePropertyComponent.h:130
void resized() override
Definition juce_MultiChoicePropertyComponent.cpp:296
int maxHeight
Definition juce_MultiChoicePropertyComponent.h:130
bool expanded
Definition juce_MultiChoicePropertyComponent.h:131
bool expandable
Definition juce_MultiChoicePropertyComponent.h:131
void paint(Graphics &g) override
Definition juce_MultiChoicePropertyComponent.cpp:280
ValueTreePropertyWithDefault value
Definition juce_MultiChoicePropertyComponent.h:133
static int getTotalButtonsHeight(int)
Definition juce_MultiChoicePropertyComponent.cpp:205
ShapeButton expandButton
Definition juce_MultiChoicePropertyComponent.h:135
bool isExpandable() const noexcept
Definition juce_MultiChoicePropertyComponent.h:89
static constexpr int expandAreaHeight
Definition juce_MultiChoicePropertyComponent.h:128
bool isExpanded() const noexcept
Definition juce_MultiChoicePropertyComponent.h:86
MultiChoicePropertyComponent(const String &, const StringArray &, const Array< var > &)
Definition juce_MultiChoicePropertyComponent.cpp:210
void setExpanded(bool expanded) noexcept
Definition juce_MultiChoicePropertyComponent.cpp:326
void lookAndFeelChanged() override
Definition juce_MultiChoicePropertyComponent.cpp:348
OwnedArray< ToggleButton > choiceButtons
Definition juce_MultiChoicePropertyComponent.h:134
std::function< void()> onHeightChange
Definition juce_MultiChoicePropertyComponent.h:106
static constexpr int collapsedHeight
Definition juce_MultiChoicePropertyComponent.h:126
Definition juce_OptionalScopedPointer.h:38
void set(ObjectType *newObject, bool takeOwnership)
Definition juce_OptionalScopedPointer.h:147
Definition juce_Path.h:65
void addTriangle(float x1, float y1, float x2, float y2, float x3, float y3)
Definition juce_Path.cpp:417
PropertyComponent(const String &propertyName, int preferredHeight=25)
Definition juce_PropertyComponent.cpp:29
int preferredHeight
Definition juce_PropertyComponent.h:139
void paint(Graphics &) override
Definition juce_PropertyComponent.cpp:37
Definition juce_StringArray.h:35
int size() const noexcept
Definition juce_StringArray.h:136
Definition juce_MultiChoicePropertyComponent.cpp:32
static int compareElements(var first, var second)
Definition juce_MultiChoicePropertyComponent.cpp:34
Definition juce_String.h:53
@ backgroundColourId
Definition juce_TextEditor.h:209
Definition juce_Value.h:139
Definition juce_Value.h:180
void sendChangeMessage(bool dispatchSynchronously)
Definition juce_Value.cpp:43
friend class Value
Definition juce_Value.h:203
Definition juce_Value.h:51
var getValue() const
Definition juce_Value.cpp:151
Definition juce_ValueTreePropertyWithDefault.h:39
Definition juce_Variant.h:42
bool isArray() const noexcept
Definition juce_Variant.cpp:561
unsigned v[N_MAX]
Definition inflate.c:1584
int g
Definition inflate.c:1573
register unsigned i
Definition inflate.c:1575
int val
Definition jpeglib.h:956
Definition carla_juce.cpp:31
constexpr Type jmin(Type a, Type b)
Definition juce_MathsFunctions.h:106
static void updateButtonTickColour(ToggleButton *button, bool usingDefault)
Definition juce_MultiChoicePropertyComponent.cpp:45
@ button
Definition juce_AccessibilityRole.h:38
static constexpr FloatType twoPi
Definition juce_MathsFunctions.h:385
static constexpr FloatType pi
Definition juce_MathsFunctions.h:382
return c
Definition crypt.c:175