summaryrefslogtreecommitdiffstats
path: root/Project/Sum.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Project/Sum.cpp')
-rw-r--r--Project/Sum.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/Project/Sum.cpp b/Project/Sum.cpp
index 10d515f..789380a 100644
--- a/Project/Sum.cpp
+++ b/Project/Sum.cpp
@@ -246,7 +246,21 @@ Element* Sum::GetCopy()
return copy;
}
-void Sum::SaveElement(rapidxml::xml_document<>& doc, rapidxml::xml_node<>* elementListNode) {}
+void Sum::SaveElement(rapidxml::xml_document<>& doc, rapidxml::xml_node<>* elementListNode)
+{
+ auto elementNode = XMLParser::AppendNode(doc, elementListNode, "Sum");
+ XMLParser::SetNodeAttribute(doc, elementNode, "ID", m_elementID);
+
+ SaveCADProperties(doc, elementNode);
+ SaveControlNodes(doc, elementNode);
+
+ // Element properties
+ auto signsNode = XMLParser::AppendNode(doc, elementNode, "Signs");
+ for(unsigned int i = 0; i < m_signalList.size(); ++i) {
+ auto value = XMLParser::AppendNode(doc, signsNode, "Value");
+ XMLParser::SetNodeValue(doc, value, static_cast<int>(m_signalList[i]));
+ }
+}
bool Sum::OpenElement(rapidxml::xml_node<>* elementNode)
{