From ec296d8c4cd4736367c14066447d3fe4b67d79cf Mon Sep 17 00:00:00 2001 From: ed Date: Wed, 21 Mar 2018 12:12:33 +0000 Subject: [PATCH] Projucer: Removed a hardcoded String in the logic for resizing PropertyComponents in PropertyGroupComponent --- .../Project/UI/jucer_ContentViewComponents.h | 58 +++++++++++-------- 1 file changed, 34 insertions(+), 24 deletions(-) diff --git a/extras/Projucer/Source/Project/UI/jucer_ContentViewComponents.h b/extras/Projucer/Source/Project/UI/jucer_ContentViewComponents.h index f56974c96d..8a250c8fb3 100644 --- a/extras/Projucer/Source/Project/UI/jucer_ContentViewComponents.h +++ b/extras/Projucer/Source/Project/UI/jucer_ContentViewComponents.h @@ -294,7 +294,8 @@ public: pp->setBounds (40, height, width - 50, propertyHeight); - resizePropertyComponent (pp); + if (shouldResizePropertyComponent (pp)) + resizePropertyComponent (pp); height += pp->getHeight() + 10; } @@ -318,6 +319,37 @@ public: descriptionLayout.draw (g, textArea); } + OwnedArray properties; + +private: + OwnedArray infoButtons; + ContentViewHeader header; + AttributedString description; + TextLayout descriptionLayout; + int headerSize = 40; + + //============================================================================== + bool shouldResizePropertyComponent (PropertyComponent* p) + { + if (auto* textComp = dynamic_cast (p)) + return ! textComp->isTextEditorMultiLine(); + + return (dynamic_cast (p) != nullptr + || dynamic_cast (p) != nullptr + || dynamic_cast (p) != nullptr); + } + + void resizePropertyComponent (PropertyComponent* pp) + { + for (auto i = pp->getNumChildComponents() - 1; i >= 0; --i) + { + auto* child = pp->getChildComponent (i); + + auto bounds = child->getBounds(); + child->setBounds (bounds.withSizeKeepingCentre (child->getWidth(), pp->getPreferredHeight())); + } + } + int getHeightMultiplier (PropertyComponent* pp) { auto availableTextWidth = ProjucerLookAndFeel::getTextWidthForPropertyComponent (pp); @@ -331,28 +363,6 @@ public: return static_cast (nameWidth / availableTextWidth); } - void resizePropertyComponent (PropertyComponent* pp) - { - if (pp->getName() == "Dependencies") - return; - - for (auto i = pp->getNumChildComponents() - 1; i >= 0; --i) - { - auto* child = pp->getChildComponent (i); - - auto bounds = child->getBounds(); - child->setBounds (bounds.withSizeKeepingCentre (child->getWidth(), pp->getPreferredHeight())); - } - } - - OwnedArray properties; - -private: - OwnedArray infoButtons; - ContentViewHeader header; - AttributedString description; - TextLayout descriptionLayout; - int headerSize = 40; - + //============================================================================== JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (PropertyGroupComponent) };