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. */ /** 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), : PropertyComponent (propertyName),
text (valueToControl, propertyName, 1024, false), text (valueToControl, propertyName, 1024, false),
isDirectory (isDir), isThisOS (thisOS), wildcards (wildcardsToUse), root (relativeRoot) isDirectory (isDir), isThisOS (thisOS), wildcards (wildcardsToUse), root (relativeRoot)
@@ -211,8 +215,8 @@ private:
class FilePathPropertyComponentWithEnablement : public FilePathPropertyComponent class FilePathPropertyComponentWithEnablement : public FilePathPropertyComponent
{ {
public: public:
FilePathPropertyComponentWithEnablement (ValueWithDefault& valueToControl,
ValueWithDefault valueToListenTo,
FilePathPropertyComponentWithEnablement (const ValueTreePropertyWithDefault& valueToControl,
ValueTreePropertyWithDefault valueToListenTo,
const String& propertyName, const String& propertyName,
bool isDir, bool isDir,
bool thisOS = true, bool thisOS = true,
@@ -224,7 +228,7 @@ public:
thisOS, thisOS,
wildcardsToUse, wildcardsToUse,
relativeRoot), relativeRoot),
valueWithDefault (valueToListenTo),
propertyWithDefault (valueToListenTo),
value (valueToListenTo.getPropertyAsValue()) value (valueToListenTo.getPropertyAsValue())
{ {
value.addListener (this); value.addListener (this);
@@ -237,9 +241,9 @@ private:
void valueChanged (Value& v) override void valueChanged (Value& v) override
{ {
FilePathPropertyComponent::valueChanged (v); FilePathPropertyComponent::valueChanged (v);
setEnabled (valueWithDefault.get());
setEnabled (propertyWithDefault.get());
} }
ValueWithDefault valueWithDefault;
ValueTreePropertyWithDefault propertyWithDefault;
Value value; 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 private Value::Listener
{ {
public: public:
TextPropertyComponentWithEnablement (ValueWithDefault& valueToControl,
ValueWithDefault valueToListenTo,
TextPropertyComponentWithEnablement (const ValueTreePropertyWithDefault& valueToControl,
ValueTreePropertyWithDefault valueToListenTo,
const String& propertyName, const String& propertyName,
int maxNumChars, int maxNumChars,
bool multiLine) bool multiLine)
: TextPropertyComponent (valueToControl, propertyName, maxNumChars, multiLine), : TextPropertyComponent (valueToControl, propertyName, maxNumChars, multiLine),
valueWithDefault (valueToListenTo),
value (valueWithDefault.getPropertyAsValue())
propertyWithDefault (valueToListenTo),
value (propertyWithDefault.getPropertyAsValue())
{ {
value.addListener (this); value.addListener (this);
setEnabled (valueWithDefault.get());
setEnabled (propertyWithDefault.get());
} }
~TextPropertyComponentWithEnablement() override { value.removeListener (this); }
~TextPropertyComponentWithEnablement() override { value.removeListener (this); }
private: private:
ValueWithDefault valueWithDefault;
ValueTreePropertyWithDefault propertyWithDefault;
Value value; 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 private Value::Listener
{ {
public: public:
ChoicePropertyComponentWithEnablement (ValueWithDefault& valueToControl,
ValueWithDefault valueToListenTo,
ChoicePropertyComponentWithEnablement (const ValueTreePropertyWithDefault& valueToControl,
ValueTreePropertyWithDefault valueToListenTo,
const String& propertyName, const String& propertyName,
const StringArray& choiceToUse, const StringArray& choiceToUse,
const Array<var>& correspondingValues) const Array<var>& correspondingValues)
: ChoicePropertyComponent (valueToControl, propertyName, choiceToUse, correspondingValues), : ChoicePropertyComponent (valueToControl, propertyName, choiceToUse, correspondingValues),
valueWithDefault (valueToListenTo),
propertyWithDefault (valueToListenTo),
value (valueToListenTo.getPropertyAsValue()) value (valueToListenTo.getPropertyAsValue())
{ {
value.addListener (this); value.addListener (this);
valueChanged (value); valueChanged (value);
} }
ChoicePropertyComponentWithEnablement (ValueWithDefault& valueToControl,
ValueWithDefault valueToListenTo,
ChoicePropertyComponentWithEnablement (const ValueTreePropertyWithDefault& valueToControl,
ValueTreePropertyWithDefault valueToListenTo,
const Identifier& multiChoiceID, const Identifier& multiChoiceID,
const String& propertyName, const String& propertyName,
const StringArray& choicesToUse, const StringArray& choicesToUse,
@@ -87,11 +87,11 @@ public:
valueChanged (value); valueChanged (value);
} }
ChoicePropertyComponentWithEnablement (ValueWithDefault& valueToControl,
ValueWithDefault valueToListenTo,
ChoicePropertyComponentWithEnablement (const ValueTreePropertyWithDefault& valueToControl,
ValueTreePropertyWithDefault valueToListenTo,
const String& propertyName) const String& propertyName)
: ChoicePropertyComponent (valueToControl, propertyName), : ChoicePropertyComponent (valueToControl, propertyName),
valueWithDefault (valueToListenTo),
propertyWithDefault (valueToListenTo),
value (valueToListenTo.getPropertyAsValue()) value (valueToListenTo.getPropertyAsValue())
{ {
value.addListener (this); value.addListener (this);
@@ -101,7 +101,7 @@ public:
~ChoicePropertyComponentWithEnablement() override { value.removeListener (this); } ~ChoicePropertyComponentWithEnablement() override { value.removeListener (this); }
private: private:
ValueWithDefault valueWithDefault;
ValueTreePropertyWithDefault propertyWithDefault;
Value value; Value value;
bool isMultiChoice = false; bool isMultiChoice = false;
@@ -111,7 +111,7 @@ private:
{ {
jassert (isMultiChoice); jassert (isMultiChoice);
auto v = valueWithDefault.get();
auto v = propertyWithDefault.get();
if (auto* varArray = v.getArray()) if (auto* varArray = v.getArray())
return varArray->contains (idToCheck.toString()); return varArray->contains (idToCheck.toString());
@@ -125,7 +125,7 @@ private:
if (isMultiChoice) if (isMultiChoice)
setEnabled (checkMultiChoiceVar()); setEnabled (checkMultiChoiceVar());
else else
setEnabled (valueWithDefault.get());
setEnabled (propertyWithDefault.get());
} }
}; };
@@ -134,8 +134,8 @@ class MultiChoicePropertyComponentWithEnablement : public MultiChoiceProperty
private Value::Listener private Value::Listener
{ {
public: public:
MultiChoicePropertyComponentWithEnablement (ValueWithDefault& valueToControl,
ValueWithDefault valueToListenTo,
MultiChoicePropertyComponentWithEnablement (const ValueTreePropertyWithDefault& valueToControl,
ValueTreePropertyWithDefault valueToListenTo,
const String& propertyName, const String& propertyName,
const StringArray& choices, const StringArray& choices,
const Array<var>& correspondingValues) const Array<var>& correspondingValues)
@@ -143,7 +143,7 @@ public:
propertyName, propertyName,
choices, choices,
correspondingValues), correspondingValues),
valueWithDefault (valueToListenTo),
propertyWithDefault (valueToListenTo),
value (valueToListenTo.getPropertyAsValue()) value (valueToListenTo.getPropertyAsValue())
{ {
value.addListener (this); value.addListener (this);
@@ -153,8 +153,8 @@ public:
~MultiChoicePropertyComponentWithEnablement() override { value.removeListener (this); } ~MultiChoicePropertyComponentWithEnablement() override { value.removeListener (this); }
private: private:
void valueChanged (Value&) override { setEnabled (valueWithDefault.get()); }
void valueChanged (Value&) override { setEnabled (propertyWithDefault.get()); }
ValueWithDefault valueWithDefault;
ValueTreePropertyWithDefault propertyWithDefault;
Value value; Value value;
}; };

Loading…
Cancel
Save