diff options
author | Thales Lima Oliveira <thaleslima.ufu@gmail.com> | 2018-01-08 20:09:35 -0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-08 20:09:35 -0200 |
commit | 29af4e28898f44df444fef5534134c6b6000418d (patch) | |
tree | 13fd8f4449f2cfeed8a6185e96a6889f9529285d /Project/Constant.cpp | |
parent | 0c0280cfcf540f943fd2dbfdf7ac0304ea96a465 (diff) | |
parent | c11a42ee83fcf535557d4f2cc259efae2da1b7ff (diff) | |
download | PSP.git-29af4e28898f44df444fef5534134c6b6000418d.tar.gz PSP.git-29af4e28898f44df444fef5534134c6b6000418d.tar.xz PSP.git-29af4e28898f44df444fef5534134c6b6000418d.zip |
Merge pull request #44 from Thales1330/org/file-handling-and-ctrl-init
Org file handling and ctrl init
Diffstat (limited to 'Project/Constant.cpp')
-rw-r--r-- | Project/Constant.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/Project/Constant.cpp b/Project/Constant.cpp index f99eab6..c81a0cf 100644 --- a/Project/Constant.cpp +++ b/Project/Constant.cpp @@ -32,6 +32,7 @@ Constant::~Constant() { if(m_glText) delete m_glText; } + void Constant::Draw(wxPoint2DDouble translation, double scale) const { glLineWidth(1.0); @@ -127,3 +128,31 @@ bool Constant::UpdateText() if(!m_glText->IsTextureOK()) return false; return true; } + +rapidxml::xml_node<>* Constant::SaveElement(rapidxml::xml_document<>& doc, rapidxml::xml_node<>* elementListNode) +{ + auto elementNode = XMLParser::AppendNode(doc, elementListNode, "Constant"); + 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); + + return elementNode; +} + +bool Constant::OpenElement(rapidxml::xml_node<>* elementNode) +{ + if(!OpenCADProperties(elementNode)) return false; + if(!OpenControlNodes(elementNode)) return false; + + // Element properties + double value = XMLParser::GetNodeValueDouble(elementNode, "Value"); + + SetPosition(m_position); + SetValue(value); + return true; +} |