diff --git a/build/macosx/Juce.xcodeproj/project.pbxproj b/build/macosx/Juce.xcodeproj/project.pbxproj index b3bcad6157..7755ab100a 100644 --- a/build/macosx/Juce.xcodeproj/project.pbxproj +++ b/build/macosx/Juce.xcodeproj/project.pbxproj @@ -15,6 +15,10 @@ 840F1DA610AD674F002A03A6 /* juce_CPlusPlusCodeTokeniser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84AB91F910A078190048FC39 /* juce_CPlusPlusCodeTokeniser.cpp */; }; 840F1DA710AD6750002A03A6 /* juce_CPlusPlusCodeTokeniser.h in Headers */ = {isa = PBXBuildFile; fileRef = 84AB91FA10A078190048FC39 /* juce_CPlusPlusCodeTokeniser.h */; }; 840F80BC092B399D005E7B4E /* juce.h in Headers */ = {isa = PBXBuildFile; fileRef = 840F80BB092B399D005E7B4E /* juce.h */; }; + 8414DE78111229B300DAF75A /* juce_NamedValueSet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8414DE76111229B300DAF75A /* juce_NamedValueSet.cpp */; }; + 8414DE79111229B300DAF75A /* juce_NamedValueSet.h in Headers */ = {isa = PBXBuildFile; fileRef = 8414DE77111229B300DAF75A /* juce_NamedValueSet.h */; }; + 8414DE8411122A8D00DAF75A /* juce_DynamicObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8414DE8211122A8D00DAF75A /* juce_DynamicObject.cpp */; }; + 8414DE8511122A8D00DAF75A /* juce_DynamicObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 8414DE8311122A8D00DAF75A /* juce_DynamicObject.h */; }; 843D4A3B10D3C54500624BA6 /* juce_ValueTree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 843D4A3910D3C54500624BA6 /* juce_ValueTree.cpp */; }; 843D4A3C10D3C54500624BA6 /* juce_ValueTree.h in Headers */ = {isa = PBXBuildFile; fileRef = 843D4A3A10D3C54500624BA6 /* juce_ValueTree.h */; }; 844BB95B10C5578800DF5536 /* juce_TargetPlatform.h in Headers */ = {isa = PBXBuildFile; fileRef = 8481730E10832513008FEC33 /* juce_TargetPlatform.h */; }; @@ -1225,6 +1229,10 @@ /* Begin PBXFileReference section */ 840F80BB092B399D005E7B4E /* juce.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; lineEnding = 2; name = juce.h; path = ../../juce.h; sourceTree = SOURCE_ROOT; }; + 8414DE76111229B300DAF75A /* juce_NamedValueSet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = juce_NamedValueSet.cpp; sourceTree = ""; }; + 8414DE77111229B300DAF75A /* juce_NamedValueSet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = juce_NamedValueSet.h; sourceTree = ""; }; + 8414DE8211122A8D00DAF75A /* juce_DynamicObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = juce_DynamicObject.cpp; sourceTree = ""; }; + 8414DE8311122A8D00DAF75A /* juce_DynamicObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = juce_DynamicObject.h; sourceTree = ""; }; 843D4A3910D3C54500624BA6 /* juce_ValueTree.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = juce_ValueTree.cpp; sourceTree = ""; }; 843D4A3A10D3C54500624BA6 /* juce_ValueTree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = juce_ValueTree.h; sourceTree = ""; }; 8456EC6508A2A6C80087C412 /* juce_Config.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; lineEnding = 2; name = juce_Config.h; path = ../../juce_Config.h; sourceTree = SOURCE_ROOT; }; @@ -2175,11 +2183,15 @@ 84F1E8D110403671006A1807 /* juce_ArrayAllocationBase.h */, 84F1E8D210403671006A1807 /* juce_BitArray.cpp */, 84F1E8D310403671006A1807 /* juce_BitArray.h */, + 8414DE8211122A8D00DAF75A /* juce_DynamicObject.cpp */, + 8414DE8311122A8D00DAF75A /* juce_DynamicObject.h */, 84F1E8D410403671006A1807 /* juce_ElementComparator.h */, 84F1E8D510403671006A1807 /* juce_MemoryBlock.cpp */, 84F1E8D610403671006A1807 /* juce_MemoryBlock.h */, 84F1E8D710403671006A1807 /* juce_OwnedArray.h */, 84DEDD9E10EE496500909D01 /* juce_HeapBlock.h */, + 8414DE76111229B300DAF75A /* juce_NamedValueSet.cpp */, + 8414DE77111229B300DAF75A /* juce_NamedValueSet.h */, 84F1E8D810403671006A1807 /* juce_PropertySet.cpp */, 84F1E8D910403671006A1807 /* juce_PropertySet.h */, 84F1E8DA10403671006A1807 /* juce_ReferenceCountedArray.h */, @@ -3560,6 +3572,8 @@ 84BA604110F2017A001D9D70 /* juce_Value.h in Headers */, 848432C310F933B800490977 /* juce_ByteOrder.h in Headers */, 84CABF6A1101292D0088D64D /* juce_TemporaryFile.h in Headers */, + 8414DE79111229B300DAF75A /* juce_NamedValueSet.h in Headers */, + 8414DE8511122A8D00DAF75A /* juce_DynamicObject.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -4202,6 +4216,8 @@ 843D4A3B10D3C54500624BA6 /* juce_ValueTree.cpp in Sources */, 84BA604010F2017A001D9D70 /* juce_Value.cpp in Sources */, 84CABF691101292D0088D64D /* juce_TemporaryFile.cpp in Sources */, + 8414DE78111229B300DAF75A /* juce_NamedValueSet.cpp in Sources */, + 8414DE8411122A8D00DAF75A /* juce_DynamicObject.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/build/win32/vc8/JUCE.vcproj b/build/win32/vc8/JUCE.vcproj index 53de7db406..a03b0fc764 100644 --- a/build/win32/vc8/JUCE.vcproj +++ b/build/win32/vc8/JUCE.vcproj @@ -1081,6 +1081,14 @@ RelativePath="..\..\..\src\containers\juce_BitArray.h" > + + + + @@ -1097,6 +1105,14 @@ RelativePath="..\..\..\src\containers\juce_MemoryBlock.h" > + + + + diff --git a/extras/audio plugins/wrapper/VST/juce_VST_Wrapper.mm b/extras/audio plugins/wrapper/VST/juce_VST_Wrapper.mm index 3add952b0d..1323ae2f10 100644 --- a/extras/audio plugins/wrapper/VST/juce_VST_Wrapper.mm +++ b/extras/audio plugins/wrapper/VST/juce_VST_Wrapper.mm @@ -65,7 +65,7 @@ static pascal OSStatus windowVisibilityBodge (EventHandlerCallRef, EventRef e, v static void updateComponentPos (Component* const comp) { HIViewRef dummyView = (HIViewRef) (void*) (pointer_sized_int) - comp->getComponentProperty ("dummyViewRef", false, String::empty).getHexValue64(); + comp->getProperties() ["dummyViewRef"].toString().getHexValue64(); HIRect r; HIViewGetFrame (dummyView, &r); @@ -128,12 +128,12 @@ void* attachComponentToWindowRef (Component* comp, void* windowRef) HIRect r = { {0, 0}, {comp->getWidth(), comp->getHeight()} }; HIViewSetFrame (dummyView, &r); HIViewAddSubview (parentView, dummyView); - comp->setComponentProperty ("dummyViewRef", String::toHexString ((pointer_sized_int) (void*) dummyView)); + comp->getProperties().set ("dummyViewRef", String::toHexString ((pointer_sized_int) (void*) dummyView)); EventHandlerRef ref; const EventTypeSpec kControlBoundsChangedEvent = { kEventClassControl, kEventControlBoundsChanged }; InstallEventHandler (GetControlEventTarget (dummyView), NewEventHandlerUPP (viewBoundsChangedEvent), 1, &kControlBoundsChangedEvent, (void*) comp, &ref); - comp->setComponentProperty ("boundsEventRef", String::toHexString ((pointer_sized_int) (void*) ref)); + comp->getProperties().set ("boundsEventRef", String::toHexString ((pointer_sized_int) (void*) ref)); updateComponentPos (comp); @@ -168,7 +168,7 @@ void* attachComponentToWindowRef (Component* comp, void* windowRef) NewEventHandlerUPP (windowVisibilityBodge), GetEventTypeCount (eventsToCatch), eventsToCatch, (void*) hostWindow, &ref); - comp->setComponentProperty ("carbonEventRef", String::toHexString ((pointer_sized_int) (void*) ref)); + comp->getProperties().set ("carbonEventRef", String::toHexString ((pointer_sized_int) (void*) ref)); #endif return hostWindow; @@ -180,17 +180,17 @@ void detachComponentFromWindowRef (Component* comp, void* nsWindow) const ScopedAutoReleasePool pool; EventHandlerRef ref = (EventHandlerRef) (void*) (pointer_sized_int) - comp->getComponentProperty ("boundsEventRef", false, String::empty).getHexValue64(); + comp->getProperties() ["boundsEventRef"].toString().getHexValue64(); RemoveEventHandler (ref); #if ADD_CARBON_BODGE ref = (EventHandlerRef) (void*) (pointer_sized_int) - comp->getComponentProperty ("carbonEventRef", false, String::empty).getHexValue64(); + comp->getProperties() ["carbonEventRef"].toString().getHexValue64(); RemoveEventHandler (ref); #endif HIViewRef dummyView = (HIViewRef) (void*) (pointer_sized_int) - comp->getComponentProperty ("dummyViewRef", false, String::empty).getHexValue64(); + comp->getProperties() ["dummyViewRef"].toString().getHexValue64(); if (HIViewIsValid (dummyView)) CFRelease (dummyView); diff --git a/extras/the jucer/src/model/components/jucer_ButtonHandler.h b/extras/the jucer/src/model/components/jucer_ButtonHandler.h index 5b2e007859..03d6651d72 100644 --- a/extras/the jucer/src/model/components/jucer_ButtonHandler.h +++ b/extras/the jucer/src/model/components/jucer_ButtonHandler.h @@ -169,12 +169,12 @@ public: static bool needsButtonListener (Component* button) { - return button->getComponentPropertyBool (T("generateListenerCallback"), false, true); + return button->getProperties().getWithDefault ("generateListenerCallback", true); } static void setNeedsButtonListener (Component* button, const bool shouldDoCallback) { - button->setComponentProperty (T("generateListenerCallback"), shouldDoCallback); + button->getProperties().set ("generateListenerCallback", shouldDoCallback); } //============================================================================== diff --git a/extras/the jucer/src/model/components/jucer_ComboBoxHandler.h b/extras/the jucer/src/model/components/jucer_ComboBoxHandler.h index 1789895bce..a462517fa8 100644 --- a/extras/the jucer/src/model/components/jucer_ComboBoxHandler.h +++ b/extras/the jucer/src/model/components/jucer_ComboBoxHandler.h @@ -53,7 +53,7 @@ public: e->setAttribute (T("editable"), c->isTextEditable()); e->setAttribute (T("layout"), c->getJustificationType().getFlags()); - e->setAttribute (T("items"), c->getComponentProperty (T("items"), false)); + e->setAttribute (T("items"), c->getProperties() ["items"].toString()); e->setAttribute (T("textWhenNonSelected"), c->getTextWhenNothingSelected()); e->setAttribute (T("textWhenNoItems"), c->getTextWhenNoChoicesAvailable()); @@ -72,7 +72,7 @@ public: c->setEditableText (xml.getBoolAttribute (T("editable"), defaultBox.isTextEditable())); c->setJustificationType (Justification (xml.getIntAttribute (T("layout"), defaultBox.getJustificationType().getFlags()))); - c->setComponentProperty (T("items"), xml.getStringAttribute (T("items"), String::empty)); + c->getProperties().set ("items", xml.getStringAttribute (T("items"), String::empty)); c->setTextWhenNothingSelected (xml.getStringAttribute (T("textWhenNonSelected"), defaultBox.getTextWhenNothingSelected())); c->setTextWhenNoChoicesAvailable (xml.getStringAttribute (T("textWhenNoItems"), defaultBox.getTextWhenNoChoicesAvailable())); @@ -114,7 +114,7 @@ public: << memberVariableName << "->setTextWhenNoChoicesAvailable (" << quotedString (c->getTextWhenNoChoicesAvailable()) << ");\n"; StringArray lines; - lines.addLines (c->getComponentProperty (T("items"), false)); + lines.addLines (c->getProperties() ["items"].toString()); int itemId = 1; for (int i = 0; i < lines.size(); ++i) @@ -160,7 +160,7 @@ public: static void updateItems (ComboBox* c) { StringArray lines; - lines.addLines (c->getComponentProperty (T("items"), false)); + lines.addLines (c->getProperties() ["items"].toString()); c->clear(); int itemId = 1; @@ -306,7 +306,7 @@ private: const String getText() const { - return component->getComponentProperty (T("items"), false); + return component->getProperties() ["items"]; } private: @@ -317,13 +317,13 @@ private: : ComponentUndoableAction (comp, layout), newState (newState_) { - oldState = comp->getComponentProperty (T("items"), false); + oldState = comp->getProperties() ["items"]; } bool perform() { showCorrectTab(); - getComponent()->setComponentProperty (T("items"), newState); + getComponent()->getProperties().set ("items", newState); ComboBoxHandler::updateItems (getComponent()); changed(); return true; @@ -332,7 +332,7 @@ private: bool undo() { showCorrectTab(); - getComponent()->setComponentProperty (T("items"), oldState); + getComponent()->getProperties().set ("items", oldState); ComboBoxHandler::updateItems (getComponent()); changed(); return true; diff --git a/extras/the jucer/src/model/components/jucer_ComponentTypeHandler.cpp b/extras/the jucer/src/model/components/jucer_ComponentTypeHandler.cpp index 4b7598e1df..71029d7b02 100644 --- a/extras/the jucer/src/model/components/jucer_ComponentTypeHandler.cpp +++ b/extras/the jucer/src/model/components/jucer_ComponentTypeHandler.cpp @@ -146,8 +146,8 @@ XmlElement* ComponentTypeHandler::createXmlFor (Component* comp, const Component e->setAttribute (T("name"), comp->getName()); e->setAttribute (T("id"), String::toHexString (getComponentId (comp))); - e->setAttribute (T("memberName"), comp->getComponentProperty (T("memberName"), false)); - e->setAttribute (T("virtualName"), comp->getComponentProperty (T("virtualName"), false)); + e->setAttribute (T("memberName"), comp->getProperties() ["memberName"].toString()); + e->setAttribute (T("virtualName"), comp->getProperties() ["virtualName"].toString()); e->setAttribute (T("explicitFocusOrder"), comp->getExplicitFocusOrder()); RelativePositionedRectangle pos (getComponentPosition (comp)); @@ -181,8 +181,8 @@ bool ComponentTypeHandler::restoreFromXml (const XmlElement& xml, comp->setName (xml.getStringAttribute (T("name"), comp->getName())); setComponentId (comp, xml.getStringAttribute (T("id")).getHexValue64()); - comp->setComponentProperty (T("memberName"), xml.getStringAttribute (T("memberName"))); - comp->setComponentProperty (T("virtualName"), xml.getStringAttribute (T("virtualName"))); + comp->getProperties().set ("memberName", xml.getStringAttribute (T("memberName"))); + comp->getProperties().set ("virtualName", xml.getStringAttribute (T("virtualName"))); comp->setExplicitFocusOrder (xml.getIntAttribute (T("explicitFocusOrder"))); RelativePositionedRectangle currentPos (getComponentPosition (comp)); @@ -218,7 +218,7 @@ int64 ComponentTypeHandler::getComponentId (Component* comp) if (comp == 0) return 0; - int64 compId = comp->getComponentProperty (T("jucerCompId"), false).getHexValue64(); + int64 compId = comp->getProperties() ["jucerCompId"].toString().getHexValue64(); if (compId == 0) { @@ -233,17 +233,17 @@ void ComponentTypeHandler::setComponentId (Component* comp, const int64 newID) { jassert (comp != 0); if (newID != 0) - comp->setComponentProperty (T("jucerCompId"), String::toHexString (newID)); + comp->getProperties().set ("jucerCompId", String::toHexString (newID)); } const RelativePositionedRectangle ComponentTypeHandler::getComponentPosition (Component* comp) { RelativePositionedRectangle rp; - rp.rect = PositionedRectangle (comp->getComponentProperty (T("pos"), false)); - rp.relativeToX = comp->getComponentProperty (T("relativeToX"), false).getHexValue64(); - rp.relativeToY = comp->getComponentProperty (T("relativeToY"), false).getHexValue64(); - rp.relativeToW = comp->getComponentProperty (T("relativeToW"), false).getHexValue64(); - rp.relativeToH = comp->getComponentProperty (T("relativeToH"), false).getHexValue64(); + rp.rect = PositionedRectangle (comp->getProperties() ["pos"]); + rp.relativeToX = comp->getProperties() ["relativeToX"].toString().getHexValue64(); + rp.relativeToY = comp->getProperties() ["relativeToY"].toString().getHexValue64(); + rp.relativeToW = comp->getProperties() ["relativeToW"].toString().getHexValue64(); + rp.relativeToH = comp->getProperties() ["relativeToH"].toString().getHexValue64(); return rp; } @@ -252,11 +252,11 @@ void ComponentTypeHandler::setComponentPosition (Component* comp, const RelativePositionedRectangle& newPos, const ComponentLayout* layout) { - comp->setComponentProperty (T("pos"), newPos.rect.toString()); - comp->setComponentProperty (T("relativeToX"), String::toHexString (newPos.relativeToX)); - comp->setComponentProperty (T("relativeToY"), String::toHexString (newPos.relativeToY)); - comp->setComponentProperty (T("relativeToW"), String::toHexString (newPos.relativeToW)); - comp->setComponentProperty (T("relativeToH"), String::toHexString (newPos.relativeToH)); + comp->getProperties().set ("pos", newPos.rect.toString()); + comp->getProperties().set ("relativeToX", String::toHexString (newPos.relativeToX)); + comp->getProperties().set ("relativeToY", String::toHexString (newPos.relativeToY)); + comp->getProperties().set ("relativeToW", String::toHexString (newPos.relativeToW)); + comp->getProperties().set ("relativeToH", String::toHexString (newPos.relativeToH)); comp->setBounds (newPos.getRectangle (Rectangle (0, 0, comp->getParentWidth(), comp->getParentHeight()), layout)); @@ -507,7 +507,7 @@ void ComponentTypeHandler::fillInGeneratedCode (Component* component, GeneratedC void ComponentTypeHandler::fillInMemberVariableDeclarations (GeneratedCode& code, Component* component, const String& memberVariableName) { - const String virtualName (component->getComponentProperty (T("virtualName"), false)); + const String virtualName (component->getProperties() ["virtualName"].toString()); if (virtualName.isNotEmpty()) { @@ -550,7 +550,7 @@ const String ComponentTypeHandler::getCreationParameters (Component* component) void ComponentTypeHandler::fillInCreationCode (GeneratedCode& code, Component* component, const String& memberVariableName) { String params (getCreationParameters (component)); - const String virtualName (component->getComponentProperty (T("virtualName"), false)); + const String virtualName (component->getProperties() ["virtualName"].toString()); String s; s << "addAndMakeVisible (" << memberVariableName << " = new "; diff --git a/extras/the jucer/src/model/components/jucer_ImageButtonHandler.h b/extras/the jucer/src/model/components/jucer_ImageButtonHandler.h index 8a3ba0ad73..39064f8d88 100644 --- a/extras/the jucer/src/model/components/jucer_ImageButtonHandler.h +++ b/extras/the jucer/src/model/components/jucer_ImageButtonHandler.h @@ -247,7 +247,7 @@ public: } else { - button->setComponentProperty ("resource" + String ((int) role), newName); + button->getProperties().set ("resource" + String ((int) role), newName); updateButtonImages (*layout.getDocument(), button); layout.changed(); } @@ -257,7 +257,7 @@ public: static const String getImageResource (ImageButton* button, const ImageRole role) { jassert (role < 3); - return button->getComponentProperty ("resource" + String ((int) role), false); + return button->getProperties() ["resource" + String ((int) role)].toString(); } //============================================================================== @@ -295,7 +295,7 @@ public: static bool doesImageKeepProportions (ImageButton* button) { - return button->getComponentPropertyBool ("keepImageProp", false, true); + return button->getProperties().getWithDefault ("keepImageProp", true); } static void setImageKeepProportions (ComponentLayout& layout, ImageButton* button, const bool newState, const bool undoable) @@ -306,7 +306,7 @@ public: } else { - button->setComponentProperty ("keepImageProp", newState); + button->getProperties().set ("keepImageProp", newState); updateButtonImages (*layout.getDocument(), button); layout.changed(); } @@ -375,7 +375,7 @@ public: static float getImageOpacity (ImageButton* button, const ImageRole role) { - return (float) button->getComponentPropertyDouble ("imageOpacity" + String ((int) role), false, 1.0f); + return (float) button->getProperties().getWithDefault ("imageOpacity" + String ((int) role), 1.0f); } static void setImageOpacity (ComponentLayout& layout, ImageButton* button, const ImageRole role, const float opacity, const bool undoable) @@ -386,7 +386,7 @@ public: } else { - button->setComponentProperty ("imageOpacity" + String ((int) role), opacity); + button->getProperties().set ("imageOpacity" + String ((int) role), opacity); updateButtonImages (*layout.getDocument(), button); layout.changed(); } @@ -459,7 +459,7 @@ public: static const Colour getImageColour (ImageButton* button, const ImageRole role) { - return Colour::fromString (button->getComponentProperty ("imageColour" + String ((int) role), false, "0")); + return Colour::fromString (button->getProperties().getWithDefault ("imageColour" + String ((int) role), "0").toString()); } static void setImageColour (ComponentLayout& layout, ImageButton* button, const ImageRole role, const Colour& colour, const bool undoable) @@ -470,7 +470,7 @@ public: } else { - button->setComponentProperty ("imageColour" + String ((int) role), colour.toString()); + button->getProperties().set ("imageColour" + String ((int) role), colour.toString()); updateButtonImages (*layout.getDocument(), button); layout.changed(); } diff --git a/extras/the jucer/src/model/components/jucer_LabelHandler.h b/extras/the jucer/src/model/components/jucer_LabelHandler.h index 4815775825..9d329e77e5 100644 --- a/extras/the jucer/src/model/components/jucer_LabelHandler.h +++ b/extras/the jucer/src/model/components/jucer_LabelHandler.h @@ -66,7 +66,7 @@ public: e->setAttribute (T("editableDoubleClick"), l->isEditableOnDoubleClick()); e->setAttribute (T("focusDiscardsChanges"), l->doesLossOfFocusDiscardChanges()); - e->setAttribute (T("fontname"), l->getComponentProperty (T("typefaceName"), false, FontPropertyComponent::defaultFont)); + e->setAttribute (T("fontname"), l->getProperties().getWithDefault ("typefaceName", FontPropertyComponent::defaultFont).toString()); e->setAttribute (T("fontsize"), roundToInt (l->getFont().getHeight() * 100.0) / 100.0); e->setAttribute (T("bold"), l->getFont().isBold()); e->setAttribute (T("italic"), l->getFont().isItalic()); @@ -90,7 +90,7 @@ public: font.setItalic (xml.getBoolAttribute (T("italic"), false)); l->setFont (font); - l->setComponentProperty (T("typefaceName"), xml.getStringAttribute (T("fontname"), FontPropertyComponent::defaultFont)); + l->getProperties().set ("typefaceName", xml.getStringAttribute (T("fontname"), FontPropertyComponent::defaultFont)); updateLabelFont (l); l->setJustificationType (Justification (xml.getIntAttribute (T("justification"), Justification::centred))); @@ -107,7 +107,7 @@ public: static void updateLabelFont (Label* label) { Font f (label->getFont()); - f = FontPropertyComponent::applyNameToFont (label->getComponentProperty (T("typefaceName"), false, FontPropertyComponent::defaultFont), f); + f = FontPropertyComponent::applyNameToFont (label->getProperties().getWithDefault ("typefaceName", FontPropertyComponent::defaultFont), f); label->setFont (f); } @@ -129,7 +129,7 @@ public: String s; s << memberVariableName << "->setFont (" - << FontPropertyComponent::getCompleteFontCode (l->getFont(), l->getComponentProperty (T("typefaceName"), false, FontPropertyComponent::defaultFont)) + << FontPropertyComponent::getCompleteFontCode (l->getFont(), l->getProperties().getWithDefault ("typefaceName", FontPropertyComponent::defaultFont)) << ");\n" << memberVariableName << "->setJustificationType (" << justificationToCode (l->getJustificationType()) @@ -463,7 +463,7 @@ private: const String getTypefaceName() const { - return label->getComponentProperty (T("typefaceName"), false, FontPropertyComponent::defaultFont); + return label->getProperties().getWithDefault ("typefaceName", FontPropertyComponent::defaultFont); } void changeListenerCallback (void*) { refresh(); } @@ -479,13 +479,13 @@ private: : ComponentUndoableAction