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/IOControl.cpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'Project/IOControl.cpp') diff --git a/Project/IOControl.cpp b/Project/IOControl.cpp index 193986e..f40232a 100644 --- a/Project/IOControl.cpp +++ b/Project/IOControl.cpp @@ -270,3 +270,30 @@ bool IOControl::UpdateText() if(!m_glText->IsTextureOK()) return false; return true; } + +void IOControl::SaveElement(rapidxml::xml_document<>& doc, rapidxml::xml_node<>* elementListNode) +{ + auto elementNode = XMLParser::AppendNode(doc, elementListNode, "IO"); + XMLParser::SetNodeAttribute(doc, elementNode, "ID", m_elementID); + + SaveCADProperties(doc, elementNode); + SaveControlNodes(doc, elementNode); + + // Element properties + auto value = XMLParser::AppendNode(doc, elementNode, "Value"); + XMLParser::SetNodeValue(doc, value, m_value); + auto ioFlags = XMLParser::AppendNode(doc, elementNode, "IOFlags"); + XMLParser::SetNodeValue(doc, ioFlags, m_ioFlags); +} + +bool IOControl::OpenElement(rapidxml::xml_node<>* elementNode) +{ + if(!OpenCADProperties(elementNode)) return false; + if(!OpenControlNodes(elementNode)) return false; + + // Element properties + IOControl::IOFlags value = static_cast(XMLParser::GetNodeValueInt(elementNode, "Value")); + SetValue(value); + + return true; +} -- 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/IOControl.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'Project/IOControl.cpp') diff --git a/Project/IOControl.cpp b/Project/IOControl.cpp index f40232a..114e8bf 100644 --- a/Project/IOControl.cpp +++ b/Project/IOControl.cpp @@ -271,7 +271,7 @@ bool IOControl::UpdateText() return true; } -void IOControl::SaveElement(rapidxml::xml_document<>& doc, rapidxml::xml_node<>* elementListNode) +rapidxml::xml_node<>* IOControl::SaveElement(rapidxml::xml_document<>& doc, rapidxml::xml_node<>* elementListNode) { auto elementNode = XMLParser::AppendNode(doc, elementListNode, "IO"); XMLParser::SetNodeAttribute(doc, elementNode, "ID", m_elementID); @@ -284,6 +284,8 @@ void IOControl::SaveElement(rapidxml::xml_document<>& doc, rapidxml::xml_node<>* XMLParser::SetNodeValue(doc, value, m_value); auto ioFlags = XMLParser::AppendNode(doc, elementNode, "IOFlags"); XMLParser::SetNodeValue(doc, ioFlags, m_ioFlags); + + return elementNode; } bool IOControl::OpenElement(rapidxml::xml_node<>* elementNode) -- cgit