diff --git a/modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp b/modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp index 4c4b2f4bce..1b88add1a2 100644 --- a/modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp +++ b/modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp @@ -117,8 +117,8 @@ LivePropertyEditorBase::LivePropertyEditorBase (LiveValueBase& v, CodeDocument& name.setFont (13.0f); name.setText (v.name, dontSendNotification); - valueEditor.setMultiLine (true); - valueEditor.setReturnKeyStartsNewLine (true); + valueEditor.setMultiLine (v.isString()); + valueEditor.setReturnKeyStartsNewLine (v.isString()); valueEditor.setText (v.getStringValue (wasHex), dontSendNotification); valueEditor.addListener (this); sourceEditor.setReadOnly (true); diff --git a/modules/juce_gui_extra/misc/juce_LiveConstantEditor.h b/modules/juce_gui_extra/misc/juce_LiveConstantEditor.h index c33c9db703..44c312cd19 100644 --- a/modules/juce_gui_extra/misc/juce_LiveConstantEditor.h +++ b/modules/juce_gui_extra/misc/juce_LiveConstantEditor.h @@ -67,6 +67,9 @@ namespace LiveConstantEditor inline String getAsString (uint64 v, bool preferHex) { return intToString ((int64) v, preferHex); } inline String getAsString (Colour v, bool) { return intToString ((int) v.getARGB(), true); } + template struct isStringType { enum { value = 0 }; }; + template <> struct isStringType { enum { value = 1 }; }; + template inline String getAsCode (Type& v, bool preferHex) { return getAsString (v, preferHex); } inline String getAsCode (Colour v, bool) { return "Colour (0x" + String::toHexString ((int) v.getARGB()).paddedLeft ('0', 8) + ")"; } @@ -90,6 +93,7 @@ namespace LiveConstantEditor virtual String getCodeValue (bool preferHex) const = 0; virtual void setStringValue (const String&) = 0; virtual String getOriginalStringValue (bool preferHex) const = 0; + virtual bool isString() const = 0; String name, sourceFile; int sourceLine; @@ -175,6 +179,7 @@ namespace LiveConstantEditor String getCodeValue (bool preferHex) const override { return getAsCode (value, preferHex); } String getOriginalStringValue (bool preferHex) const override { return getAsString (originalValue, preferHex); } void setStringValue (const String& s) override { setFromString (value, s); } + bool isString() const override { return isStringType::value; } Type value, originalValue;