Browse Source

Cleaned out some defunct ComponentBuilder code.

tags/2021-05-28
jules 13 years ago
parent
commit
e3537ba57a
37 changed files with 34 additions and 608 deletions
  1. +0
    -21
      extras/Introjucer/JuceLibraryCode/BinaryData.h
  2. +2
    -28
      extras/Introjucer/Source/Project Saving/jucer_ResourceFile.cpp
  3. +12
    -12
      extras/Introjucer/Source/Project/jucer_Project.cpp
  4. +1
    -1
      extras/Introjucer/Source/Project/jucer_Project.h
  5. +1
    -0
      extras/Introjucer/Source/Utility/jucer_PresetIDs.h
  6. +0
    -21
      extras/JuceDemo/JuceLibraryCode/BinaryData.h
  7. +0
    -21
      extras/the jucer/JuceLibraryCode/BinaryData.h
  8. +1
    -1
      modules/juce_browser_plugin/wrapper/juce_ActiveX_GlueCode.cpp
  9. +0
    -26
      modules/juce_gui_basics/buttons/juce_Button.cpp
  10. +0
    -11
      modules/juce_gui_basics/buttons/juce_Button.h
  11. +0
    -12
      modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp
  12. +0
    -8
      modules/juce_gui_basics/buttons/juce_HyperlinkButton.h
  13. +0
    -53
      modules/juce_gui_basics/buttons/juce_ImageButton.cpp
  14. +0
    -10
      modules/juce_gui_basics/buttons/juce_ImageButton.h
  15. +0
    -2
      modules/juce_gui_basics/buttons/juce_TextButton.cpp
  16. +0
    -7
      modules/juce_gui_basics/buttons/juce_TextButton.h
  17. +8
    -8
      modules/juce_gui_basics/buttons/juce_ToggleButton.cpp
  18. +6
    -13
      modules/juce_gui_basics/buttons/juce_ToggleButton.h
  19. +2
    -93
      modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp
  20. +0
    -15
      modules/juce_gui_basics/layout/juce_ComponentBuilder.h
  21. +0
    -12
      modules/juce_gui_basics/layout/juce_GroupComponent.cpp
  22. +0
    -8
      modules/juce_gui_basics/layout/juce_GroupComponent.h
  23. +0
    -13
      modules/juce_gui_basics/layout/juce_Viewport.cpp
  24. +0
    -8
      modules/juce_gui_basics/layout/juce_Viewport.h
  25. +0
    -36
      modules/juce_gui_basics/widgets/juce_ComboBox.cpp
  26. +0
    -8
      modules/juce_gui_basics/widgets/juce_ComboBox.h
  27. +0
    -25
      modules/juce_gui_basics/widgets/juce_ImageComponent.cpp
  28. +0
    -9
      modules/juce_gui_basics/widgets/juce_ImageComponent.h
  29. +0
    -19
      modules/juce_gui_basics/widgets/juce_Label.cpp
  30. +0
    -8
      modules/juce_gui_basics/widgets/juce_Label.h
  31. +0
    -13
      modules/juce_gui_basics/widgets/juce_ListBox.cpp
  32. +0
    -8
      modules/juce_gui_basics/widgets/juce_ListBox.h
  33. +0
    -30
      modules/juce_gui_basics/widgets/juce_Slider.cpp
  34. +0
    -9
      modules/juce_gui_basics/widgets/juce_Slider.h
  35. +0
    -29
      modules/juce_gui_basics/widgets/juce_TextEditor.cpp
  36. +0
    -9
      modules/juce_gui_basics/widgets/juce_TextEditor.h
  37. +1
    -1
      modules/juce_gui_basics/windows/juce_ResizableWindow.cpp

+ 0
- 21
extras/Introjucer/JuceLibraryCode/BinaryData.h View File

@@ -49,25 +49,4 @@ namespace BinaryData
// If you provide the name of one of the binary resource variables above, this function will
// return the corresponding data and its size (or a null pointer if the name isn't found).
const char* getNamedResource (const char* resourceNameUTF8, int& dataSizeInBytes) throw();
//==============================================================================
// This class acts as an ImageProvider that will access the BinaryData images
class ImageProvider : public juce::ComponentBuilder::ImageProvider
{
public:
ImageProvider() noexcept {}
juce::Image getImageForIdentifier (const juce::var& imageIdentifier)
{
int dataSize = 0;
const char* const data = getNamedResource (imageIdentifier.toString().toUTF8(), dataSize);
if (data != nullptr)
return juce::ImageCache::getFromMemory (data, dataSize);
return juce::Image();
}
juce::var getIdentifierForImage (const juce::Image&) { return juce::var(); }
};
}

+ 2
- 28
extras/Introjucer/Source/Project Saving/jucer_ResourceFile.cpp View File

@@ -193,34 +193,8 @@ bool ResourceFile::write (const File& cppFile, OutputStream& cpp, OutputStream&
header << " // If you provide the name of one of the binary resource variables above, this function will" << newLine
<< " // return the corresponding data and its size (or a null pointer if the name isn't found)." << newLine
<< " const char* getNamedResource (const char* resourceNameUTF8, int& dataSizeInBytes) throw();" << newLine;
if (containsAnyImages)
{
header << newLine
<< " //==============================================================================" << newLine
<< " // This class acts as an ImageProvider that will access the BinaryData images" << newLine
<< " class ImageProvider : public juce::ComponentBuilder::ImageProvider" << newLine
<< " {" << newLine
<< " public:" << newLine
<< " ImageProvider() noexcept {}" << newLine
<< newLine
<< " juce::Image getImageForIdentifier (const juce::var& imageIdentifier)" << newLine
<< " {" << newLine
<< " int dataSize = 0;" << newLine
<< " const char* const data = getNamedResource (imageIdentifier.toString().toUTF8(), dataSize);" << newLine
<< newLine
<< " if (data != nullptr)" << newLine
<< " return juce::ImageCache::getFromMemory (data, dataSize);" << newLine
<< newLine
<< " return juce::Image();" << newLine
<< " }" << newLine
<< newLine
<< " juce::var getIdentifierForImage (const juce::Image&) { return juce::var(); }" << newLine
<< " };" << newLine;
}
header << "}" << newLine;
<< " const char* getNamedResource (const char* resourceNameUTF8, int& dataSizeInBytes) throw();" << newLine
<< "}" << newLine;
return true;
}


+ 12
- 12
extras/Introjucer/Source/Project/jucer_Project.cpp View File

@@ -94,8 +94,8 @@ void Project::updateProjectSettings()
void Project::setMissingDefaultValues()
{
if (! projectRoot.hasProperty (ComponentBuilder::idProperty))
projectRoot.setProperty (ComponentBuilder::idProperty, createAlphaNumericUID(), nullptr);
if (! projectRoot.hasProperty (Ids::ID))
projectRoot.setProperty (Ids::ID, createAlphaNumericUID(), nullptr);
// Create main file group if missing
if (! projectRoot.getChildWithName (Tags::projectMainGroup).isValid())
@@ -431,8 +431,8 @@ Project::Item::Item (const Item& other)
Project::Item Project::Item::createCopy() { Item i (*this); i.state = i.state.createCopy(); return i; }
String Project::Item::getID() const { return state [ComponentBuilder::idProperty]; }
void Project::Item::setID (const String& newID) { state.setProperty (ComponentBuilder::idProperty, newID, nullptr); }
String Project::Item::getID() const { return state [Ids::ID]; }
void Project::Item::setID (const String& newID) { state.setProperty (Ids::ID, newID, nullptr); }
String Project::Item::getImageFileID() const { return "id:" + getID(); }
@@ -458,7 +458,7 @@ bool Project::Item::isImageFile() const { return isFile() && getFile().hasFi
Project::Item Project::Item::findItemWithID (const String& targetId) const
{
if (state [ComponentBuilder::idProperty] == targetId)
if (state [Ids::ID] == targetId)
return *this;
if (isGroup())
@@ -603,7 +603,7 @@ File Project::Item::determineGroupFolder() const
void Project::Item::initialiseMissingProperties()
{
if (! state.hasProperty (ComponentBuilder::idProperty))
if (! state.hasProperty (Ids::ID))
setID (createAlphaNumericUID());
if (isFile())
@@ -841,7 +841,7 @@ bool Project::isModuleEnabled (const String& moduleID) const
ValueTree modules (projectRoot.getChildWithName (Tags::modulesGroup));
for (int i = 0; i < modules.getNumChildren(); ++i)
if (modules.getChild(i) [ComponentBuilder::idProperty] == moduleID)
if (modules.getChild(i) [Ids::ID] == moduleID)
return true;
return false;
@@ -849,13 +849,13 @@ bool Project::isModuleEnabled (const String& moduleID) const
Value Project::shouldShowAllModuleFilesInProject (const String& moduleID)
{
return getModulesNode().getChildWithProperty (ComponentBuilder::idProperty, moduleID)
return getModulesNode().getChildWithProperty (Ids::ID, moduleID)
.getPropertyAsValue (Ids::showAllCode, getUndoManagerFor (getModulesNode()));
}
Value Project::shouldCopyModuleFilesLocally (const String& moduleID)
{
return getModulesNode().getChildWithProperty (ComponentBuilder::idProperty, moduleID)
return getModulesNode().getChildWithProperty (Ids::ID, moduleID)
.getPropertyAsValue (Ids::useLocalCopy, getUndoManagerFor (getModulesNode()));
}
@@ -864,7 +864,7 @@ void Project::addModule (const String& moduleID, bool shouldCopyFilesLocally)
if (! isModuleEnabled (moduleID))
{
ValueTree module (Tags::module);
module.setProperty (ComponentBuilder::idProperty, moduleID, nullptr);
module.setProperty (Ids::ID, moduleID, nullptr);
ValueTree modules (getModulesNode());
modules.addChild (module, -1, getUndoManagerFor (modules));
@@ -881,7 +881,7 @@ void Project::removeModule (const String& moduleID)
ValueTree modules (getModulesNode());
for (int i = 0; i < modules.getNumChildren(); ++i)
if (modules.getChild(i) [ComponentBuilder::idProperty] == moduleID)
if (modules.getChild(i) [Ids::ID] == moduleID)
modules.removeChild (i, getUndoManagerFor (modules));
}
@@ -899,7 +899,7 @@ int Project::getNumModules() const
String Project::getModuleID (int index) const
{
return projectRoot.getChildWithName (Tags::modulesGroup).getChild (index) [ComponentBuilder::idProperty].toString();
return projectRoot.getChildWithName (Tags::modulesGroup).getChild (index) [Ids::ID].toString();
}
//==============================================================================


+ 1
- 1
extras/Introjucer/Source/Project/jucer_Project.h View File

@@ -58,7 +58,7 @@ public:
String getTitle() const;
Value getProjectNameValue() { return getMainGroup().getNameValue(); }
String getProjectFilenameRoot() { return File::createLegalFileName (getDocumentTitle()); }
String getProjectUID() const { return projectRoot [ComponentBuilder::idProperty]; }
String getProjectUID() const { return projectRoot [Ids::ID]; }
//==============================================================================
template <class FileType>


+ 1
- 0
extras/Introjucer/Source/Utility/jucer_PresetIDs.h View File

@@ -126,6 +126,7 @@ namespace Ids
DECLARE_ID (androidKeyAliasPass);
DECLARE_ID (font);
DECLARE_ID (colour);
const Identifier ID ("id");
const Identifier class_ ("class");
#undef DECLARE_ID


+ 0
- 21
extras/JuceDemo/JuceLibraryCode/BinaryData.h View File

@@ -25,25 +25,4 @@ namespace BinaryData
// If you provide the name of one of the binary resource variables above, this function will
// return the corresponding data and its size (or a null pointer if the name isn't found).
const char* getNamedResource (const char* resourceNameUTF8, int& dataSizeInBytes) throw();
//==============================================================================
// This class acts as an ImageProvider that will access the BinaryData images
class ImageProvider : public juce::ComponentBuilder::ImageProvider
{
public:
ImageProvider() noexcept {}
juce::Image getImageForIdentifier (const juce::var& imageIdentifier)
{
int dataSize = 0;
const char* const data = getNamedResource (imageIdentifier.toString().toUTF8(), dataSize);
if (data != nullptr)
return juce::ImageCache::getFromMemory (data, dataSize);
return juce::Image();
}
juce::var getIdentifierForImage (const juce::Image&) { return juce::var(); }
};
}

+ 0
- 21
extras/the jucer/JuceLibraryCode/BinaryData.h View File

@@ -22,25 +22,4 @@ namespace BinaryData
// If you provide the name of one of the binary resource variables above, this function will
// return the corresponding data and its size (or a null pointer if the name isn't found).
const char* getNamedResource (const char* resourceNameUTF8, int& dataSizeInBytes) throw();
//==============================================================================
// This class acts as an ImageProvider that will access the BinaryData images
class ImageProvider : public juce::ComponentBuilder::ImageProvider
{
public:
ImageProvider() noexcept {}
juce::Image getImageForIdentifier (const juce::var& imageIdentifier)
{
int dataSize = 0;
const char* const data = getNamedResource (imageIdentifier.toString().toUTF8(), dataSize);
if (data != nullptr)
return juce::ImageCache::getFromMemory (data, dataSize);
return juce::Image();
}
juce::var getIdentifierForImage (const juce::Image&) { return juce::var(); }
};
}

+ 1
- 1
modules/juce_browser_plugin/wrapper/juce_ActiveX_GlueCode.cpp View File

@@ -457,7 +457,7 @@ public:
void resized()
{
if (child != nullptr)
child->setBounds (0, 0, getWidth(), getHeight());
child->setBounds (getLocalBounds());
}
var getObject() { return child->getJavascriptObject(); }


+ 0
- 26
modules/juce_gui_basics/buttons/juce_Button.cpp View File

@@ -663,29 +663,3 @@ Button::RepeatTimer& Button::getRepeatTimer()
return *repeatTimer;
}
const Identifier Button::Ids::text ("text");
const Identifier Button::Ids::radioGroup ("radioGroup");
const Identifier Button::Ids::connectedLeft ("connectedLeft");
const Identifier Button::Ids::connectedRight ("connectedRight");
const Identifier Button::Ids::connectedTop ("connectedTop");
const Identifier Button::Ids::connectedBottom ("connectedBottom");
void Button::refreshFromValueTree (const ValueTree& state, ComponentBuilder&)
{
ComponentBuilder::refreshBasicComponentProperties (*this, state);
setButtonText (state [Ids::text].toString());
setRadioGroupId (state [Ids::radioGroup]);
setConnectedEdges (getConnectedFlags (state));
}
int Button::getConnectedFlags (const ValueTree& state)
{
int connected = 0;
if (state [Button::Ids::connectedLeft]) connected |= Button::ConnectedOnLeft;
if (state [Button::Ids::connectedRight]) connected |= Button::ConnectedOnRight;
if (state [Button::Ids::connectedTop]) connected |= Button::ConnectedOnTop;
if (state [Button::Ids::connectedBottom]) connected |= Button::ConnectedOnBottom;
return connected;
}

+ 0
- 11
modules/juce_gui_basics/buttons/juce_Button.h View File

@@ -30,7 +30,6 @@
#include "../keyboard/juce_KeyListener.h"
#include "../commands/juce_ApplicationCommandManager.h"
#include "../windows/juce_TooltipWindow.h"
#include "../layout/juce_ComponentBuilder.h"
//==============================================================================
@@ -368,16 +367,6 @@ public:
void setState (const ButtonState newState);
//==============================================================================
struct Ids
{
static const Identifier text, radioGroup,
connectedLeft, connectedRight, connectedTop, connectedBottom;
};
void refreshFromValueTree (const ValueTree&, ComponentBuilder&);
static int getConnectedFlags (const ValueTree& state);
//==============================================================================
// These are deprecated - please use addListener() and removeListener() instead!
JUCE_DEPRECATED (void addButtonListener (Listener*));


+ 0
- 12
modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp View File

@@ -108,15 +108,3 @@ void HyperlinkButton::paintButton (Graphics& g,
justification.getOnlyHorizontalFlags() | Justification::verticallyCentred,
true);
}
const Identifier HyperlinkButton::Ids::tagType ("HYPERLINKBUTTON");
const Identifier HyperlinkButton::Ids::text ("text");
const Identifier HyperlinkButton::Ids::url ("url");
void HyperlinkButton::refreshFromValueTree (const ValueTree& state, ComponentBuilder&)
{
ComponentBuilder::refreshBasicComponentProperties (*this, state);
setButtonText (state [Ids::text].toString());
setURL (URL (state [Ids::url].toString()));
}

+ 0
- 8
modules/juce_gui_basics/buttons/juce_HyperlinkButton.h View File

@@ -93,14 +93,6 @@ public:
*/
void changeWidthToFitText();
//==============================================================================
struct Ids
{
static const Identifier tagType, text, url;
};
void refreshFromValueTree (const ValueTree&, ComponentBuilder&);
protected:
//==============================================================================
/** @internal */


+ 0
- 53
modules/juce_gui_basics/buttons/juce_ImageButton.cpp View File

@@ -188,56 +188,3 @@ bool ImageButton::hitTest (int x, int y)
&& alphaThreshold < im.getPixelAt (((x - imageBounds.getX()) * im.getWidth()) / imageBounds.getWidth(),
((y - imageBounds.getY()) * im.getHeight()) / imageBounds.getHeight()).getAlpha());
}
const Identifier ImageButton::Ids::tagType ("IMAGEBUTTON");
const Identifier ImageButton::Ids::upImage ("upImage");
const Identifier ImageButton::Ids::overImage ("overImage");
const Identifier ImageButton::Ids::downImage ("downImage");
const Identifier ImageButton::Ids::upOverlay ("upOverlay");
const Identifier ImageButton::Ids::overOverlay ("overOverlay");
const Identifier ImageButton::Ids::downOverlay ("downOverlay");
const Identifier ImageButton::Ids::upOpacity ("upOpacity");
const Identifier ImageButton::Ids::overOpacity ("overOpacity");
const Identifier ImageButton::Ids::downOpacity ("downOpacity");
namespace ImageButtonHelpers
{
static Colour getColourFromVar (const var& col)
{
return col.isString() ? Colour::fromString (col.toString())
: Colours::transparentBlack;
}
static float getOpacityFromVar (const var& v)
{
return v.isVoid() ? 1.0f : static_cast<float> (v);
}
}
void ImageButton::refreshFromValueTree (const ValueTree& state, ComponentBuilder& builder)
{
Button::refreshFromValueTree (state, builder);
const var upImageIdentifier (state [Ids::upImage]),
overImageIdentifier (state [Ids::overImage]),
downImageIdentifier (state [Ids::downImage]);
ComponentBuilder::ImageProvider* const imageProvider = builder.getImageProvider();
jassert (imageProvider != nullptr || upImageIdentifier.isVoid());
Image newUpImage, newOverImage, newDownImage;
if (imageProvider != nullptr)
{
newUpImage = imageProvider->getImageForIdentifier (upImageIdentifier);
newOverImage = imageProvider->getImageForIdentifier (overImageIdentifier);
newDownImage = imageProvider->getImageForIdentifier (downImageIdentifier);
}
using namespace ImageButtonHelpers;
setImages (false, true, true,
newUpImage, getOpacityFromVar (state[Ids::upOpacity]), getColourFromVar (state[Ids::upOverlay]),
newOverImage, getOpacityFromVar (state[Ids::overOpacity]), getColourFromVar (state[Ids::overOverlay]),
newDownImage, getOpacityFromVar (state[Ids::downOpacity]), getColourFromVar (state[Ids::downOverlay]));
}

+ 0
- 10
modules/juce_gui_basics/buttons/juce_ImageButton.h View File

@@ -127,16 +127,6 @@ public:
*/
Image getDownImage() const;
//==============================================================================
struct Ids
{
static const Identifier tagType, upImage, overImage, downImage,
upOverlay, overOverlay, downOverlay,
upOpacity, overOpacity, downOpacity;
};
void refreshFromValueTree (const ValueTree&, ComponentBuilder&);
protected:
//==============================================================================
/** @internal */


+ 0
- 2
modules/juce_gui_basics/buttons/juce_TextButton.cpp View File

@@ -67,5 +67,3 @@ void TextButton::changeWidthToFitText (const int newHeight)
setSize (getFont().getStringWidth (getButtonText()) + getHeight(),
getHeight());
}
const Identifier TextButton::Ids::tagType ("TEXTBUTTON");

+ 0
- 7
modules/juce_gui_basics/buttons/juce_TextButton.h View File

@@ -89,12 +89,6 @@ public:
*/
virtual Font getFont();
//==============================================================================
struct Ids
{
static const Identifier tagType;
};
protected:
/** @internal */
void paintButton (Graphics& g, bool isMouseOverButton, bool isButtonDown);
@@ -102,7 +96,6 @@ protected:
void colourChanged();
private:
//==============================================================================
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (TextButton);
};


+ 8
- 8
modules/juce_gui_basics/buttons/juce_ToggleButton.cpp View File

@@ -23,6 +23,12 @@
==============================================================================
*/
ToggleButton::ToggleButton()
: Button (String::empty)
{
setClickingTogglesState (true);
}
ToggleButton::ToggleButton (const String& buttonText)
: Button (buttonText)
{
@@ -33,13 +39,9 @@ ToggleButton::~ToggleButton()
{
}
void ToggleButton::paintButton (Graphics& g,
bool isMouseOverButton,
bool isButtonDown)
void ToggleButton::paintButton (Graphics& g, bool isMouseOverButton, bool isButtonDown)
{
getLookAndFeel().drawToggleButton (g, *this,
isMouseOverButton,
isButtonDown);
getLookAndFeel().drawToggleButton (g, *this, isMouseOverButton, isButtonDown);
}
void ToggleButton::changeWidthToFitText()
@@ -51,5 +53,3 @@ void ToggleButton::colourChanged()
{
repaint();
}
const Identifier ToggleButton::Ids::tagType ("TOGGLEBUTTON");

+ 6
- 13
modules/juce_gui_basics/buttons/juce_ToggleButton.h View File

@@ -42,20 +42,22 @@ class JUCE_API ToggleButton : public Button
{
public:
//==============================================================================
/** Creates a ToggleButton. */
ToggleButton();
/** Creates a ToggleButton.
@param buttonText the text to put in the button (the component's name is also
initially set to this string, but these can be changed later
using the setName() and setButtonText() methods)
*/
explicit ToggleButton (const String& buttonText = String::empty);
explicit ToggleButton (const String& buttonText);
/** Destructor. */
~ToggleButton();
//==============================================================================
/** Resizes the button to fit neatly around its current text.
The button's height won't be affected, only its width.
*/
void changeWidthToFitText();
@@ -73,23 +75,14 @@ public:
textColourId = 0x1006501 /**< The colour to use for the button's text. */
};
//==============================================================================
struct Ids
{
static const Identifier tagType;
};
protected:
//==============================================================================
/** @internal */
void paintButton (Graphics& g,
bool isMouseOverButton,
bool isButtonDown);
void paintButton (Graphics&, bool isMouseOverButton, bool isButtonDown);
/** @internal */
void colourChanged();
private:
//==============================================================================
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ToggleButton);
};


+ 2
- 93
modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp View File

@@ -154,7 +154,6 @@ namespace ComponentBuilderHelpers
//=============================================================================
const Identifier ComponentBuilder::idProperty ("id");
const Identifier ComponentBuilder::positionID ("position");
ComponentBuilder::ComponentBuilder()
: imageProvider (nullptr)
@@ -242,18 +241,6 @@ ComponentBuilder::TypeHandler* ComponentBuilder::getHandler (const int index) co
void ComponentBuilder::registerStandardComponentTypes()
{
Drawable::registerDrawableTypeHandlers (*this);
registerTypeHandler (new ComponentBuilderHelpers::StandardTypeHandler <ComboBox>());
registerTypeHandler (new ComponentBuilderHelpers::StandardTypeHandler <Slider>());
registerTypeHandler (new ComponentBuilderHelpers::StandardTypeHandler <Label>());
registerTypeHandler (new ComponentBuilderHelpers::StandardTypeHandler <Slider>());
registerTypeHandler (new ComponentBuilderHelpers::StandardTypeHandler <TextEditor>());
registerTypeHandler (new ComponentBuilderHelpers::StandardTypeHandler <GroupComponent>());
registerTypeHandler (new ComponentBuilderHelpers::StandardTypeHandler <TextButton>());
registerTypeHandler (new ComponentBuilderHelpers::StandardTypeHandler <ToggleButton>());
registerTypeHandler (new ComponentBuilderHelpers::StandardTypeHandler <ImageButton>());
registerTypeHandler (new ComponentBuilderHelpers::StandardTypeHandler <ImageComponent>());
registerTypeHandler (new ComponentBuilderHelpers::StandardTypeHandler <HyperlinkButton>());
}
void ComponentBuilder::setImageProvider (ImageProvider* newImageProvider) noexcept
@@ -321,12 +308,11 @@ void ComponentBuilder::updateChildComponents (Component& parent, const ValueTree
OwnedArray<Component> existingComponents;
existingComponents.ensureStorageAllocated (numExistingChildComps);
int i;
for (i = 0; i < numExistingChildComps; ++i)
for (int i = 0; i < numExistingChildComps; ++i)
existingComponents.add (parent.getChildComponent (i));
const int newNumChildren = children.getNumChildren();
for (i = 0; i < newNumChildren; ++i)
for (int i = 0; i < newNumChildren; ++i)
{
const ValueTree childState (children.getChild (i));
Component* c = removeComponentWithID (existingComponents, getStateId (childState));
@@ -362,80 +348,3 @@ static void updateMarkers (MarkerList* const list, const ValueTree& state)
if (list != nullptr)
MarkerList::ValueTreeWrapper (state).applyTo (*list);
}
void ComponentBuilder::initialiseRecursively (Component& comp, const ValueTree& state)
{
refreshBasicComponentProperties (comp, state);
updateMarkers (comp.getMarkers (true), state.getChildWithName ("MARKERS_X"));
updateMarkers (comp.getMarkers (false), state.getChildWithName ("MARKERS_Y"));
const ValueTree childList (state.getChildWithName ("COMPONENTS"));
if (childList.isValid())
{
updateChildComponents (comp, childList);
for (int i = 0; i < childList.getNumChildren(); ++i)
{
const ValueTree childState (childList.getChild(i));
Component* const c = ComponentBuilderHelpers::findComponentWithID (comp, ComponentBuilderHelpers::getStateId (childState));
if (c != nullptr)
{
ComponentBuilder::TypeHandler* const type = getHandlerForState (childState);
if (type != nullptr)
type->updateComponentFromState (c, childState);
else
initialiseRecursively (*c, childState);
}
}
}
}
void ComponentBuilder::initialiseFromValueTree (Component& comp,
const ValueTree& state,
ImageProvider* const imageProvider)
{
ComponentBuilder builder;
builder.setImageProvider (imageProvider);
builder.registerStandardComponentTypes();
builder.initialiseRecursively (comp, state);
}
RelativeRectangle ComponentBuilder::getComponentBounds (const ValueTree& state)
{
try
{
return RelativeRectangle (state [positionID].toString());
}
catch (Expression::ParseError&)
{}
return RelativeRectangle();
}
void ComponentBuilder::refreshBasicComponentProperties (Component& comp, const ValueTree& state)
{
static const Identifier focusOrderID ("focusOrder");
static const Identifier tooltipID ("tooltip");
static const Identifier nameID ("name");
comp.setName (state [nameID].toString());
if (state.hasProperty (positionID))
getComponentBounds (state).applyToComponent (comp);
comp.setExplicitFocusOrder (state [focusOrderID]);
const var tip (state [tooltipID]);
if (! tip.isVoid())
{
SettableTooltipClient* tooltipClient = dynamic_cast <SettableTooltipClient*> (&comp);
if (tooltipClient != nullptr)
tooltipClient->setTooltip (tip.toString());
}
ComponentBuilderHelpers::updateComponentColours (comp, state.getChildWithName ("COLOURS"));
}

+ 0
- 15
modules/juce_gui_basics/layout/juce_ComponentBuilder.h View File

@@ -227,18 +227,6 @@ public:
*/
static const Identifier idProperty;
/**
*/
static void initialiseFromValueTree (Component& component,
const ValueTree& state,
ImageProvider* imageProvider);
//=============================================================================
/** @internal */
static void refreshBasicComponentProperties (Component&, const ValueTree&);
/** @internal */
static RelativeRectangle getComponentBounds (const ValueTree&);
private:
//=============================================================================
OwnedArray <TypeHandler> types;
@@ -254,9 +242,6 @@ private:
void valueTreeChildOrderChanged (ValueTree&);
void valueTreeParentChanged (ValueTree&);
static const Identifier positionID;
void initialiseRecursively (Component&, const ValueTree&);
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ComponentBuilder);
};


+ 0
- 12
modules/juce_gui_basics/layout/juce_GroupComponent.cpp View File

@@ -78,15 +78,3 @@ void GroupComponent::colourChanged()
{
repaint();
}
const Identifier GroupComponent::Ids::tagType ("GROUPCOMPONENT");
const Identifier GroupComponent::Ids::text ("text");
const Identifier GroupComponent::Ids::justification ("justification");
void GroupComponent::refreshFromValueTree (const ValueTree& state, ComponentBuilder&)
{
ComponentBuilder::refreshBasicComponentProperties (*this, state);
setText (state [Ids::text].toString());
setTextLabelPosition (static_cast <int> (state [Ids::justification]));
}

+ 0
- 8
modules/juce_gui_basics/layout/juce_GroupComponent.h View File

@@ -85,14 +85,6 @@ public:
textColourId = 0x1005410 /**< The colour to use to draw the text label. */
};
//==============================================================================
struct Ids
{
static const Identifier tagType, text, justification;
};
void refreshFromValueTree (const ValueTree&, ComponentBuilder&);
//==============================================================================
/** @internal */
void paint (Graphics& g);


+ 0
- 13
modules/juce_gui_basics/layout/juce_Viewport.cpp View File

@@ -424,16 +424,3 @@ bool Viewport::keyPressed (const KeyPress& key)
return false;
}
//==============================================================================
const Identifier Viewport::Ids::showScrollBarV ("showScrollBarV");
const Identifier Viewport::Ids::showScrollBarH ("showScrollBarH");
const Identifier Viewport::Ids::scrollBarWidth ("scrollBarWidth");
void Viewport::refreshFromValueTree (const ValueTree& state, ComponentBuilder&)
{
ComponentBuilder::refreshBasicComponentProperties (*this, state);
setScrollBarsShown (state [Ids::showScrollBarV], state [Ids::showScrollBarH]);
setScrollBarThickness (state [Ids::scrollBarWidth]);
}

+ 0
- 8
modules/juce_gui_basics/layout/juce_Viewport.h View File

@@ -236,14 +236,6 @@ public:
ScrollBar* getHorizontalScrollBar() noexcept { return &horizontalScrollBar; }
//==============================================================================
struct Ids
{
static const Identifier showScrollBarV, showScrollBarH, scrollBarWidth;
};
void refreshFromValueTree (const ValueTree&, ComponentBuilder&);
//==============================================================================
/** @internal */
void resized();


+ 0
- 36
modules/juce_gui_basics/widgets/juce_ComboBox.cpp View File

@@ -596,39 +596,3 @@ void ComboBox::handleAsyncUpdate()
Component::BailOutChecker checker (this);
listeners.callChecked (checker, &ComboBoxListener::comboBoxChanged, this); // (can't use ComboBox::Listener due to idiotic VC2005 bug)
}
const Identifier ComboBox::Ids::tagType ("COMBOBOX");
const Identifier ComboBox::Ids::items ("items");
const Identifier ComboBox::Ids::editable ("editable");
const Identifier ComboBox::Ids::textJustification ("textJustification");
const Identifier ComboBox::Ids::unselectedText ("unselectedText");
const Identifier ComboBox::Ids::noItemsText ("noItemsText");
void ComboBox::refreshFromValueTree (const ValueTree& state, ComponentBuilder&)
{
ComponentBuilder::refreshBasicComponentProperties (*this, state);
{
StringArray items;
items.addLines (state [Ids::items].toString());
items.removeEmptyStrings (true);
StringArray existingItems;
for (int i = 0; i < getNumItems(); ++i)
existingItems.add (getItemText (i));
if (existingItems != items)
{
clear();
for (int i = 0; i < items.size(); ++i)
addItem (items[i], i + 1);
}
}
setEditableText (state [Ids::editable]);
setJustificationType ((int) state [Ids::textJustification]);
setTextWhenNothingSelected (state [Ids::unselectedText].toString());
setTextWhenNoChoicesAvailable (state [Ids::noItemsText].toString());
}

+ 0
- 8
modules/juce_gui_basics/widgets/juce_ComboBox.h View File

@@ -338,14 +338,6 @@ public:
arrowColourId = 0x1000e00, /**< The colour for the arrow shape that pops up the menu */
};
//==============================================================================
struct Ids
{
static const Identifier tagType, items, editable, textJustification, unselectedText, noItemsText;
};
void refreshFromValueTree (const ValueTree&, ComponentBuilder&);
//==============================================================================
/** @internal */
void labelTextChanged (Label*);


+ 0
- 25
modules/juce_gui_basics/widgets/juce_ImageComponent.cpp View File

@@ -76,28 +76,3 @@ void ImageComponent::paint (Graphics& g)
g.setOpacity (1.0f);
g.drawImageWithin (image, 0, 0, getWidth(), getHeight(), placement, false);
}
const Identifier ImageComponent::Ids::tagType ("IMAGECOMPONENT");
const Identifier ImageComponent::Ids::image ("image");
const Identifier ImageComponent::Ids::placement ("placement");
void ImageComponent::refreshFromValueTree (const ValueTree& state, ComponentBuilder& builder)
{
ComponentBuilder::refreshBasicComponentProperties (*this, state);
Image newImage;
const var imageIdentifier (state [Ids::image]);
ComponentBuilder::ImageProvider* const imageProvider = builder.getImageProvider();
jassert (imageProvider != nullptr || imageIdentifier.isVoid());
if (imageProvider != nullptr)
newImage = imageProvider->getImageForIdentifier (imageIdentifier);
setImage (newImage, getPlacement (state));
}
RectanglePlacement ImageComponent::getPlacement (const ValueTree& state)
{
return RectanglePlacement (static_cast <int> (state [Ids::placement]));
}

+ 0
- 9
modules/juce_gui_basics/widgets/juce_ImageComponent.h View File

@@ -67,15 +67,6 @@ public:
/** Returns the current image placement. */
const RectanglePlacement getImagePlacement() const;
//==============================================================================
struct Ids
{
static const Identifier tagType, image, placement;
};
void refreshFromValueTree (const ValueTree&, ComponentBuilder&);
static RectanglePlacement getPlacement (const ValueTree& state);
//==============================================================================
/** @internal */
void paint (Graphics& g);


+ 0
- 19
modules/juce_gui_basics/widgets/juce_Label.cpp View File

@@ -448,22 +448,3 @@ void Label::textEditorFocusLost (TextEditor& ed)
{
textEditorTextChanged (ed);
}
const Identifier Label::Ids::tagType ("LABEL");
const Identifier Label::Ids::text ("text");
const Identifier Label::Ids::font ("font");
const Identifier Label::Ids::editMode ("editMode");
const Identifier Label::Ids::justification ("justification");
const Identifier Label::Ids::focusLossDiscardsChanges ("focusLossDiscardsChanges");
void Label::refreshFromValueTree (const ValueTree& state, ComponentBuilder&)
{
ComponentBuilder::refreshBasicComponentProperties (*this, state);
setText (state [Ids::text].toString(), false);
setFont (Font::fromString (state [Ids::font]));
const int editMode = static_cast <int> (state [Ids::editMode]);
setEditable (editMode == 2, editMode == 3, static_cast <bool> (state [Ids::focusLossDiscardsChanges]));
setJustificationType (static_cast <int> (state [Ids::justification]));
}

+ 0
- 8
modules/juce_gui_basics/widgets/juce_Label.h View File

@@ -253,14 +253,6 @@ public:
/** Returns true if the editor is currently focused and active. */
bool isBeingEdited() const noexcept;
//==============================================================================
struct Ids
{
static const Identifier tagType, text, font, editMode, justification, focusLossDiscardsChanges;
};
void refreshFromValueTree (const ValueTree&, ComponentBuilder&);
protected:
//==============================================================================
/** Creates the TextEditor component that will be used when the user has clicked on the label.


+ 0
- 13
modules/juce_gui_basics/widgets/juce_ListBox.cpp View File

@@ -928,19 +928,6 @@ void ListBox::startDragAndDrop (const MouseEvent& e, const var& dragDescription,
}
}
//==============================================================================
const Identifier ListBox::Ids::rowHeight ("rowHeight");
const Identifier ListBox::Ids::borderThickness ("borderThickness");
void ListBox::refreshFromValueTree (const ValueTree& state, ComponentBuilder&)
{
ComponentBuilder::refreshBasicComponentProperties (*this, state);
setRowHeight (state.getProperty (Ids::rowHeight, defaultListRowHeight));
setOutlineThickness (state.getProperty (Ids::borderThickness, 0));
}
//==============================================================================
Component* ListBoxModel::refreshComponentForRow (int, bool, Component* existingComponentToUpdate)
{


+ 0
- 8
modules/juce_gui_basics/widgets/juce_ListBox.h View File

@@ -525,14 +525,6 @@ public:
*/
Viewport* getViewport() const noexcept;
//==============================================================================
struct Ids
{
static const Identifier rowHeight, borderThickness;
};
void refreshFromValueTree (const ValueTree&, ComponentBuilder&);
//==============================================================================
/** @internal */
bool keyPressed (const KeyPress&);


+ 0
- 30
modules/juce_gui_basics/widgets/juce_Slider.cpp View File

@@ -1566,33 +1566,3 @@ void Slider::mouseWheelMove (const MouseEvent& e, const MouseWheelDetails& wheel
void SliderListener::sliderDragStarted (Slider*) {} // (can't write Slider::Listener due to idiotic VC2005 bug)
void SliderListener::sliderDragEnded (Slider*) {}
//==============================================================================
const Identifier Slider::Ids::tagType ("SLIDER");
const Identifier Slider::Ids::min ("min");
const Identifier Slider::Ids::max ("max");
const Identifier Slider::Ids::interval ("interval");
const Identifier Slider::Ids::type ("type");
const Identifier Slider::Ids::editable ("editable");
const Identifier Slider::Ids::textBoxPos ("textBoxPos");
const Identifier Slider::Ids::textBoxWidth ("textBoxWidth");
const Identifier Slider::Ids::textBoxHeight ("textBoxHeight");
const Identifier Slider::Ids::skew ("skew");
void Slider::refreshFromValueTree (const ValueTree& state, ComponentBuilder&)
{
ComponentBuilder::refreshBasicComponentProperties (*this, state);
setRange (static_cast <double> (state [Ids::min]),
static_cast <double> (state [Ids::max]),
static_cast <double> (state [Ids::interval]));
setSliderStyle ((SliderStyle) static_cast <int> (state [Ids::type]));
setTextBoxStyle ((TextEntryBoxPosition) static_cast <int> (state [Ids::textBoxPos]),
! static_cast <bool> (state [Ids::editable]),
static_cast <int> (state [Ids::textBoxWidth]),
static_cast <int> (state [Ids::textBoxHeight]));
setSkewFactor (static_cast <double> (state [Ids::skew]));
}

+ 0
- 9
modules/juce_gui_basics/widgets/juce_Slider.h View File

@@ -780,15 +780,6 @@ public:
textBoxOutlineColourId = 0x1001700 /**< The colour to use for a border around the text-editor box. */
};
//==============================================================================
struct Ids
{
static const Identifier tagType, min, max, interval, type, editable,
textBoxPos, textBoxWidth, textBoxHeight, skew;
};
void refreshFromValueTree (const ValueTree&, ComponentBuilder&);
protected:
//==============================================================================
/** @internal */


+ 0
- 29
modules/juce_gui_basics/widgets/juce_TextEditor.cpp View File

@@ -2611,32 +2611,3 @@ void TextEditor::Listener::textEditorTextChanged (TextEditor&) {}
void TextEditor::Listener::textEditorReturnKeyPressed (TextEditor&) {}
void TextEditor::Listener::textEditorEscapeKeyPressed (TextEditor&) {}
void TextEditor::Listener::textEditorFocusLost (TextEditor&) {}
//==============================================================================
const Identifier TextEditor::Ids::tagType ("TEXTEDITOR");
const Identifier TextEditor::Ids::text ("text");
const Identifier TextEditor::Ids::font ("font");
const Identifier TextEditor::Ids::mode ("mode");
const Identifier TextEditor::Ids::readOnly ("readOnly");
const Identifier TextEditor::Ids::scrollbarsShown ("scrollbarsShown");
const Identifier TextEditor::Ids::caretVisible ("caretVisible");
const Identifier TextEditor::Ids::popupMenuEnabled ("popupMenuEnabled");
void TextEditor::refreshFromValueTree (const ValueTree& state, ComponentBuilder&)
{
ComponentBuilder::refreshBasicComponentProperties (*this, state);
setReadOnly (state [Ids::readOnly]);
setScrollbarsShown (state [Ids::scrollbarsShown]);
setCaretVisible (state [Ids::caretVisible]);
setPopupMenuEnabled (state [Ids::popupMenuEnabled]);
const int mode = state [Ids::mode];
setMultiLine (mode > 1, true);
setReturnKeyStartsNewLine (mode != 3);
const Font font (Font::fromString (state [Ids::font]));
if (getFont() != font)
applyFontToAllText (font);
setText (state [Ids::text].toString());
}

+ 0
- 9
modules/juce_gui_basics/widgets/juce_TextEditor.h View File

@@ -534,15 +534,6 @@ public:
*/
virtual void performPopupMenuAction (int menuItemID);
//==============================================================================
struct Ids
{
static const Identifier tagType, text, font, mode, readOnly, scrollbarsShown,
caretVisible, popupMenuEnabled;
};
void refreshFromValueTree (const ValueTree&, ComponentBuilder&);
//==============================================================================
/** @internal */
void paint (Graphics& g);


+ 1
- 1
modules/juce_gui_basics/windows/juce_ResizableWindow.cpp View File

@@ -501,7 +501,7 @@ void ResizableWindow::updateLastPos()
void ResizableWindow::parentSizeChanged()
{
if (isFullScreen() && getParentComponent() != nullptr)
setBounds (0, 0, getParentWidth(), getParentHeight());
setBounds (getParentComponent()->getLocalBounds());
}
//==============================================================================


Loading…
Cancel
Save