From cef9e14b989a3ba19321e4fe215ada2ee3998037 Mon Sep 17 00:00:00 2001 From: Thales Lima Oliveira Date: Wed, 3 Jan 2018 19:01:57 -0200 Subject: Some file hand. organization and generalization --- Project/Sum.cpp | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'Project/Sum.cpp') diff --git a/Project/Sum.cpp b/Project/Sum.cpp index 52fe66a..10d515f 100644 --- a/Project/Sum.cpp +++ b/Project/Sum.cpp @@ -15,9 +15,9 @@ * along with this program. If not, see . */ +#include "ConnectionLine.h" #include "Sum.h" #include "SumForm.h" -#include "ConnectionLine.h" Sum::Sum(int id) : ControlElement(id) { @@ -245,3 +245,26 @@ Element* Sum::GetCopy() *copy = *this; return copy; } + +void Sum::SaveElement(rapidxml::xml_document<>& doc, rapidxml::xml_node<>* elementListNode) {} + +bool Sum::OpenElement(rapidxml::xml_node<>* elementNode) +{ + if(!OpenCADProperties(elementNode)) return false; + if(!OpenControlNodes(elementNode)) return false; + + m_signalList.clear(); + auto signsNode = elementNode->first_node("Signs"); + auto sign = signsNode->first_node("Value"); + while(sign) { + long value; + wxString(sign->value()).ToCLong(&value); + m_signalList.push_back(static_cast(value)); + sign = sign->next_sibling("Value"); + } + + StartMove(m_position); + UpdatePoints(); + + return true; +} -- cgit From 76df1de5e2307229da9870306e4a1031170aaadf Mon Sep 17 00:00:00 2001 From: Thales Lima Oliveira Date: Thu, 4 Jan 2018 19:11:08 -0200 Subject: Control elements file handling reorganized --- Project/Sum.cpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'Project/Sum.cpp') 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(m_signalList[i])); + } +} bool Sum::OpenElement(rapidxml::xml_node<>* elementNode) { -- cgit From c11a42ee83fcf535557d4f2cc259efae2da1b7ff Mon Sep 17 00:00:00 2001 From: Thales Lima Oliveira Date: Mon, 8 Jan 2018 20:07:47 -0200 Subject: File handling and control initialization organized --- Project/Sum.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'Project/Sum.cpp') diff --git a/Project/Sum.cpp b/Project/Sum.cpp index 789380a..9908497 100644 --- a/Project/Sum.cpp +++ b/Project/Sum.cpp @@ -246,7 +246,7 @@ Element* Sum::GetCopy() return copy; } -void Sum::SaveElement(rapidxml::xml_document<>& doc, rapidxml::xml_node<>* elementListNode) +rapidxml::xml_node<>* Sum::SaveElement(rapidxml::xml_document<>& doc, rapidxml::xml_node<>* elementListNode) { auto elementNode = XMLParser::AppendNode(doc, elementListNode, "Sum"); XMLParser::SetNodeAttribute(doc, elementNode, "ID", m_elementID); @@ -260,6 +260,8 @@ void Sum::SaveElement(rapidxml::xml_document<>& doc, rapidxml::xml_node<>* eleme auto value = XMLParser::AppendNode(doc, signsNode, "Value"); XMLParser::SetNodeValue(doc, value, static_cast(m_signalList[i])); } + + return elementNode; } bool Sum::OpenElement(rapidxml::xml_node<>* elementNode) -- cgit