summaryrefslogtreecommitdiffstats
path: root/Project/Constant.cpp
diff options
context:
space:
mode:
authorThales Lima Oliveira <thaleslima.ufu@gmail.com>2018-01-08 20:09:35 -0200
committerGitHub <noreply@github.com>2018-01-08 20:09:35 -0200
commit29af4e28898f44df444fef5534134c6b6000418d (patch)
tree13fd8f4449f2cfeed8a6185e96a6889f9529285d /Project/Constant.cpp
parent0c0280cfcf540f943fd2dbfdf7ac0304ea96a465 (diff)
parentc11a42ee83fcf535557d4f2cc259efae2da1b7ff (diff)
downloadPSP.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.cpp29
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;
+}