Browse Source

A few more internal updates for better smart pointer use

tags/2021-05-28
jules 6 years ago
parent
commit
c6d1828a32
8 changed files with 37 additions and 48 deletions
  1. +1
    -1
      extras/NetworkGraphicsDemo/Source/Demos.h
  2. +6
    -7
      extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineClient.cpp
  3. +3
    -3
      extras/Projucer/Source/Project/jucer_Project.cpp
  4. +2
    -6
      extras/Projucer/Source/Settings/jucer_AppearanceSettings.cpp
  5. +3
    -6
      modules/juce_core/xml/juce_XmlDocument.h
  6. +1
    -1
      modules/juce_gui_basics/misc/juce_JUCESplashScreen.cpp
  7. +16
    -19
      modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp
  8. +5
    -5
      modules/juce_gui_basics/widgets/juce_TreeView.cpp

+ 1
- 1
extras/NetworkGraphicsDemo/Source/Demos.h View File

@@ -84,7 +84,7 @@ struct BackgroundLogo : public AnimatedContent
</svg>
)blahblah";
logo.reset (Drawable::createFromSVG (*parseXML (logoData)));
logo = Drawable::createFromSVG (*parseXML (logoData));
}
String getName() const override { return "Background Image"; }


+ 6
- 7
extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineClient.cpp View File

@@ -429,14 +429,13 @@ private:
{
auto liveModules = project.getProjectRoot().getChildWithName (Ids::MODULES);
auto xml = parseXML (project.getFile());
if (xml == nullptr || ! xml->hasTagName (Ids::JUCERPROJECT.toString()))
return false;
auto diskModules = ValueTree::fromXml (*xml).getChildWithName (Ids::MODULES);
if (auto xml = parseXMLIfTagMatches (project.getFile(), Ids::JUCERPROJECT.toString()))
{
auto diskModules = ValueTree::fromXml (*xml).getChildWithName (Ids::MODULES);
return liveModules.isEquivalentTo (diskModules);
}
return liveModules.isEquivalentTo (diskModules);
return false;
}
static bool areAnyModulesMissing (Project& project)


+ 3
- 3
extras/Projucer/Source/Project/jucer_Project.cpp View File

@@ -575,9 +575,9 @@ static void forgetRecentFile (const File& file)
//==============================================================================
Result Project::loadDocument (const File& file)
{
auto xml = parseXML (file);
auto xml = parseXMLIfTagMatches (file, Ids::JUCERPROJECT.toString());
if (xml == nullptr || ! xml->hasTagName (Ids::JUCERPROJECT.toString()))
if (xml == nullptr)
return Result::fail ("Not a valid Jucer project!");
auto newTree = ValueTree::fromXml (*xml);
@@ -1239,7 +1239,7 @@ std::unique_ptr<Drawable> Project::Item::loadAsImageFile() const
return nullptr;
if (isValid())
return std::unique_ptr<Drawable> (Drawable::createFromImageFile (getFile()));
return Drawable::createFromImageFile (getFile());
return {};
}


+ 2
- 6
extras/Projucer/Source/Settings/jucer_AppearanceSettings.cpp View File

@@ -153,13 +153,9 @@ StringArray AppearanceSettings::getColourNames() const
{
StringArray s;
for (int i = 0; i < settings.getNumChildren(); ++i)
{
const ValueTree c (settings.getChild(i));
for (auto c : settings)
if (c.hasType ("COLOUR"))
s.add (c [Ids::name]);
}
s.add (c[Ids::name]);
return s;
}


+ 3
- 6
modules/juce_core/xml/juce_XmlDocument.h View File

@@ -32,19 +32,16 @@ namespace juce
e.g.
@code
XmlDocument myDocument (File ("myfile.xml"));
std::unique_ptr<XmlElement> mainElement (myDocument.getDocumentElement());
if (mainElement == nullptr)
if (auto mainElement = myDocument.getDocumentElement())
{
String error = myDocument.getLastParseError();
..use the element
}
else
{
..use the element
String error = myDocument.getLastParseError();
}
@endcode
Or you can use the helper functions for much less verbose parsing..


+ 1
- 1
modules/juce_gui_basics/misc/juce_JUCESplashScreen.cpp View File

@@ -296,7 +296,7 @@ std::unique_ptr<Drawable> JUCESplashScreen::getSplashScreenLogo()
auto svgXml = parseXML (svgData);
jassert (svgXml != nullptr);
return std::unique_ptr<Drawable> (Drawable::createFromSVG (*svgXml));
return Drawable::createFromSVG (*svgXml);
}
void JUCESplashScreen::paint (Graphics& g)


+ 16
- 19
modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp View File

@@ -436,32 +436,29 @@ String TableHeaderComponent::toString() const
void TableHeaderComponent::restoreFromString (const String& storedVersion)
{
if (auto storedXML = parseXML (storedVersion))
if (auto storedXML = parseXMLIfTagMatches (storedVersion, "TABLELAYOUT"))
{
if (storedXML->hasTagName ("TABLELAYOUT"))
int index = 0;
forEachXmlChildElement (*storedXML, col)
{
int index = 0;
auto tabId = col->getIntAttribute ("id");
forEachXmlChildElement (*storedXML, col)
if (auto* ci = getInfoForId (tabId))
{
auto tabId = col->getIntAttribute ("id");
if (auto* ci = getInfoForId (tabId))
{
columns.move (columns.indexOf (ci), index);
ci->width = col->getIntAttribute ("width");
setColumnVisible (tabId, col->getBoolAttribute ("visible"));
}
++index;
columns.move (columns.indexOf (ci), index);
ci->width = col->getIntAttribute ("width");
setColumnVisible (tabId, col->getBoolAttribute ("visible"));
}
columnsResized = true;
sendColumnsChanged();
setSortColumnId (storedXML->getIntAttribute ("sortedCol"),
storedXML->getBoolAttribute ("sortForwards", true));
++index;
}
columnsResized = true;
sendColumnsChanged();
setSortColumnId (storedXML->getIntAttribute ("sortedCol"),
storedXML->getBoolAttribute ("sortForwards", true));
}
}


+ 5
- 5
modules/juce_gui_basics/widgets/juce_TreeView.cpp View File

@@ -610,13 +610,13 @@ static void addAllSelectedItemIds (TreeViewItem* item, XmlElement& parent)
addAllSelectedItemIds (item->getSubItem(i), parent);
}
std::unique_ptr<XmlElement> TreeView::getOpennessState (const bool alsoIncludeScrollPosition) const
std::unique_ptr<XmlElement> TreeView::getOpennessState (bool alsoIncludeScrollPosition) const
{
XmlElement* e = nullptr;
std::unique_ptr<XmlElement> e;
if (rootItem != nullptr)
{
e = rootItem->getOpennessState (false);
e.reset (rootItem->getOpennessState (false));
if (e != nullptr)
{
@@ -627,7 +627,7 @@ std::unique_ptr<XmlElement> TreeView::getOpennessState (const bool alsoIncludeSc
}
}
return std::unique_ptr<XmlElement> (e);
return e;
}
void TreeView::restoreOpennessState (const XmlElement& newState, const bool restoreStoredSelection)
@@ -1863,7 +1863,7 @@ std::unique_ptr<XmlElement> TreeViewItem::getOpennessState() const
return std::unique_ptr<XmlElement> (getOpennessState (true));
}
XmlElement* TreeViewItem::getOpennessState (const bool canReturnNull) const
XmlElement* TreeViewItem::getOpennessState (bool canReturnNull) const
{
auto name = getUniqueName();


Loading…
Cancel
Save