]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.databoard/cpp/DataBoardTest/DataBoard/NumberType.cpp
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.databoard / cpp / DataBoardTest / DataBoard / NumberType.cpp
diff --git a/bundles/org.simantics.databoard/cpp/DataBoardTest/DataBoard/NumberType.cpp b/bundles/org.simantics.databoard/cpp/DataBoardTest/DataBoard/NumberType.cpp
new file mode 100644 (file)
index 0000000..6cb9e16
--- /dev/null
@@ -0,0 +1,98 @@
+#include "NumberType.h"\r
+\r
+#include "Range.h"\r
+\r
+#include "Constants.h"\r
+\r
+namespace Databoard {\r
+       namespace Type {\r
+\r
+               NumberType::NumberType()\r
+               {\r
+                       range = NULL;\r
+               }\r
+\r
+               NumberType::NumberType(std::string unit)\r
+               {\r
+                       this->unit = unit;\r
+                       range = new Range();\r
+               }\r
+\r
+               NumberType::NumberType(std::string unit, Range* range)\r
+               {\r
+                       this->unit = unit;\r
+                       this->range = range;\r
+               }\r
+\r
+               NumberType::~NumberType()\r
+               {\r
+                       if(range != NULL)\r
+                       {\r
+                               delete range;\r
+                       }\r
+               }\r
+\r
+               std::string NumberType::getUnit()\r
+               {\r
+                       return unit;\r
+               }\r
+\r
+               void NumberType::setUnit(std::string unit)\r
+               {\r
+                       this->unit = unit;\r
+               }\r
+\r
+               Range* NumberType::getRange()\r
+               {\r
+                       return range;\r
+               }\r
+\r
+               void NumberType::setRange(Range* value)\r
+               {\r
+                       this->range = value;\r
+               }\r
+\r
+               std::string NumberType::writeOut(int /*indent*/)\r
+               {\r
+                       std::string s;\r
+\r
+                       bool parenthesis = false;\r
+\r
+                       if(unit.size() != 0)\r
+                       {\r
+                               s += "(";\r
+                               s.append(STR_UNIT);\r
+                               s += "=\"" + unit + "\"";\r
+\r
+\r
+                               parenthesis = true;\r
+                       }\r
+\r
+                       if(range != NULL)\r
+                       {\r
+                               if(parenthesis == false)\r
+                               {\r
+                                       s += "(";\r
+                               }\r
+                               else\r
+                               {\r
+                                       s += ", ";\r
+                               }\r
+\r
+                               s.append(STR_RANGE);\r
+                               s += "=" + range->writeOut();\r
+\r
+                               parenthesis = true;\r
+                       }\r
+\r
+                       if(parenthesis == true)\r
+                       {\r
+                               s += ")";\r
+                       }\r
+\r
+\r
+\r
+                       return s;\r
+               }\r
+       }\r
+}\r