Browse Source

Projucer: Update internal property components

v6.1.6
ed 3 years ago
parent
commit
2b6dc9f7d2
2 changed files with 35 additions and 31 deletions
  1. +11
    -7
      extras/Projucer/Source/Utility/UI/PropertyComponents/jucer_FilePathPropertyComponent.h
  2. +24
    -24
      extras/Projucer/Source/Utility/UI/PropertyComponents/jucer_PropertyComponentsWithEnablement.h

+ 11
- 7
extras/Projucer/Source/Utility/UI/PropertyComponents/jucer_FilePathPropertyComponent.h View File

@@ -48,8 +48,12 @@ public:
}
/** Displays a default value when no value is specified by the user. */
FilePathPropertyComponent (ValueWithDefault& valueToControl, const String& propertyName, bool isDir, bool thisOS = true,
const String& wildcardsToUse = "*", const File& relativeRoot = File())
FilePathPropertyComponent (ValueTreePropertyWithDefault valueToControl,
const String& propertyName,
bool isDir,
bool thisOS = true,
const String& wildcardsToUse = "*",
const File& relativeRoot = File())
: PropertyComponent (propertyName),
text (valueToControl, propertyName, 1024, false),
isDirectory (isDir), isThisOS (thisOS), wildcards (wildcardsToUse), root (relativeRoot)
@@ -211,8 +215,8 @@ private:
class FilePathPropertyComponentWithEnablement : public FilePathPropertyComponent
{
public:
FilePathPropertyComponentWithEnablement (ValueWithDefault& valueToControl,
ValueWithDefault valueToListenTo,
FilePathPropertyComponentWithEnablement (const ValueTreePropertyWithDefault& valueToControl,
ValueTreePropertyWithDefault valueToListenTo,
const String& propertyName,
bool isDir,
bool thisOS = true,
@@ -224,7 +228,7 @@ public:
thisOS,
wildcardsToUse,
relativeRoot),
valueWithDefault (valueToListenTo),
propertyWithDefault (valueToListenTo),
value (valueToListenTo.getPropertyAsValue())
{
value.addListener (this);
@@ -237,9 +241,9 @@ private:
void valueChanged (Value& v) override
{
FilePathPropertyComponent::valueChanged (v);
setEnabled (valueWithDefault.get());
setEnabled (propertyWithDefault.get());
}
ValueWithDefault valueWithDefault;
ValueTreePropertyWithDefault propertyWithDefault;
Value value;
};

+ 24
- 24
extras/Projucer/Source/Utility/UI/PropertyComponents/jucer_PropertyComponentsWithEnablement.h View File

@@ -31,26 +31,26 @@ class TextPropertyComponentWithEnablement : public TextPropertyComponent,
private Value::Listener
{
public:
TextPropertyComponentWithEnablement (ValueWithDefault& valueToControl,
ValueWithDefault valueToListenTo,
TextPropertyComponentWithEnablement (const ValueTreePropertyWithDefault& valueToControl,
ValueTreePropertyWithDefault valueToListenTo,
const String& propertyName,
int maxNumChars,
bool multiLine)
: TextPropertyComponent (valueToControl, propertyName, maxNumChars, multiLine),
valueWithDefault (valueToListenTo),
value (valueWithDefault.getPropertyAsValue())
propertyWithDefault (valueToListenTo),
value (propertyWithDefault.getPropertyAsValue())
{
value.addListener (this);
setEnabled (valueWithDefault.get());
setEnabled (propertyWithDefault.get());
}
~TextPropertyComponentWithEnablement() override { value.removeListener (this); }
~TextPropertyComponentWithEnablement() override { value.removeListener (this); }
private:
ValueWithDefault valueWithDefault;
ValueTreePropertyWithDefault propertyWithDefault;
Value value;
void valueChanged (Value&) override { setEnabled (valueWithDefault.get()); }
void valueChanged (Value&) override { setEnabled (propertyWithDefault.get()); }
};
//==============================================================================
@@ -58,21 +58,21 @@ class ChoicePropertyComponentWithEnablement : public ChoicePropertyComponent,
private Value::Listener
{
public:
ChoicePropertyComponentWithEnablement (ValueWithDefault& valueToControl,
ValueWithDefault valueToListenTo,
ChoicePropertyComponentWithEnablement (const ValueTreePropertyWithDefault& valueToControl,
ValueTreePropertyWithDefault valueToListenTo,
const String& propertyName,
const StringArray& choiceToUse,
const Array<var>& correspondingValues)
: ChoicePropertyComponent (valueToControl, propertyName, choiceToUse, correspondingValues),
valueWithDefault (valueToListenTo),
propertyWithDefault (valueToListenTo),
value (valueToListenTo.getPropertyAsValue())
{
value.addListener (this);
valueChanged (value);
}
ChoicePropertyComponentWithEnablement (ValueWithDefault& valueToControl,
ValueWithDefault valueToListenTo,
ChoicePropertyComponentWithEnablement (const ValueTreePropertyWithDefault& valueToControl,
ValueTreePropertyWithDefault valueToListenTo,
const Identifier& multiChoiceID,
const String& propertyName,
const StringArray& choicesToUse,
@@ -87,11 +87,11 @@ public:
valueChanged (value);
}
ChoicePropertyComponentWithEnablement (ValueWithDefault& valueToControl,
ValueWithDefault valueToListenTo,
ChoicePropertyComponentWithEnablement (const ValueTreePropertyWithDefault& valueToControl,
ValueTreePropertyWithDefault valueToListenTo,
const String& propertyName)
: ChoicePropertyComponent (valueToControl, propertyName),
valueWithDefault (valueToListenTo),
propertyWithDefault (valueToListenTo),
value (valueToListenTo.getPropertyAsValue())
{
value.addListener (this);
@@ -101,7 +101,7 @@ public:
~ChoicePropertyComponentWithEnablement() override { value.removeListener (this); }
private:
ValueWithDefault valueWithDefault;
ValueTreePropertyWithDefault propertyWithDefault;
Value value;
bool isMultiChoice = false;
@@ -111,7 +111,7 @@ private:
{
jassert (isMultiChoice);
auto v = valueWithDefault.get();
auto v = propertyWithDefault.get();
if (auto* varArray = v.getArray())
return varArray->contains (idToCheck.toString());
@@ -125,7 +125,7 @@ private:
if (isMultiChoice)
setEnabled (checkMultiChoiceVar());
else
setEnabled (valueWithDefault.get());
setEnabled (propertyWithDefault.get());
}
};
@@ -134,8 +134,8 @@ class MultiChoicePropertyComponentWithEnablement : public MultiChoiceProperty
private Value::Listener
{
public:
MultiChoicePropertyComponentWithEnablement (ValueWithDefault& valueToControl,
ValueWithDefault valueToListenTo,
MultiChoicePropertyComponentWithEnablement (const ValueTreePropertyWithDefault& valueToControl,
ValueTreePropertyWithDefault valueToListenTo,
const String& propertyName,
const StringArray& choices,
const Array<var>& correspondingValues)
@@ -143,7 +143,7 @@ public:
propertyName,
choices,
correspondingValues),
valueWithDefault (valueToListenTo),
propertyWithDefault (valueToListenTo),
value (valueToListenTo.getPropertyAsValue())
{
value.addListener (this);
@@ -153,8 +153,8 @@ public:
~MultiChoicePropertyComponentWithEnablement() override { value.removeListener (this); }
private:
void valueChanged (Value&) override { setEnabled (valueWithDefault.get()); }
void valueChanged (Value&) override { setEnabled (propertyWithDefault.get()); }
ValueWithDefault valueWithDefault;
ValueTreePropertyWithDefault propertyWithDefault;
Value value;
};

Loading…
Cancel
Save