|
|
@@ -489,14 +489,14 @@ Text Element::getAttributeValue(int i) const
|
|
|
|
|
|
// gibt den Wert eines Attributes zurück
|
|
|
// attribut: Der Name des Attributes
|
|
|
-Text Element::getAttributeValue(Text attribut) const
|
|
|
+const Text& Element::getAttributeValue(const Text& attribut) const
|
|
|
{
|
|
|
for (auto i = attributes->begin(), j = attributeValues->begin(); i && j;
|
|
|
i++, j++)
|
|
|
{
|
|
|
- if (i->istGleich(attribut)) return j->getText();
|
|
|
+ if (i->istGleich(attribut)) return *j.val();
|
|
|
}
|
|
|
- return "";
|
|
|
+ return Text::EMPTY;
|
|
|
}
|
|
|
|
|
|
// gibt einen iterator zurück mit dem durch alle Attribut Namen iteriert werden
|
|
|
@@ -582,10 +582,7 @@ Element* Element::dublicate() const
|
|
|
Editor::Editor(RCArray<Element>* elements)
|
|
|
: ReferenceCounter()
|
|
|
{
|
|
|
- this->elements = new RCArray<Element>();
|
|
|
- for (auto i : *elements)
|
|
|
- this->elements->add(dynamic_cast<XML::Element*>(i->getThis()));
|
|
|
- elements->release();
|
|
|
+ this->elements = elements;
|
|
|
}
|
|
|
|
|
|
Editor::Editor(const Editor& e)
|
|
|
@@ -695,19 +692,21 @@ ArrayIterator<Element*> Editor::end()
|
|
|
return elements->end();
|
|
|
}
|
|
|
|
|
|
+void Editor::selectAllElements(RCArray<Element>* zResult)
|
|
|
+{
|
|
|
+ for (auto i : *elements)
|
|
|
+ {
|
|
|
+ zResult->add(dynamic_cast<XML::Element*>(i->getThis()));
|
|
|
+ i->selectChildren().selectAllElements(zResult);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
//! Gibt einen selector zurück der alle elemente beinhaltet die in diesem
|
|
|
//! selector vorkommen und rekursiv alle Kinder der elemente Enthält
|
|
|
Editor Editor::selectAllElements()
|
|
|
{
|
|
|
RCArray<Element>* list = new RCArray<Element>();
|
|
|
- for (auto i : *elements)
|
|
|
- {
|
|
|
- list->add(dynamic_cast<XML::Element*>(i->getThis()));
|
|
|
- for (Element* j : i->selectChildren().selectAllElements())
|
|
|
- {
|
|
|
- list->add(dynamic_cast<XML::Element*>(j->getThis()));
|
|
|
- }
|
|
|
- }
|
|
|
+ selectAllElements(list);
|
|
|
return Editor(list);
|
|
|
}
|
|
|
|