summaryrefslogtreecommitdiffstats
path: root/Project/FileHanding.cpp
diff options
context:
space:
mode:
authorThales Lima Oliveira <thaleslima.ufu@gmail.com>2017-10-10 17:34:59 -0300
committerThales Lima Oliveira <thaleslima.ufu@gmail.com>2017-10-10 17:34:59 -0300
commit4c162c4ef7386b8fea0ad82a0019a5434adc13fb (patch)
tree68fcc445fbe668084eba4775db8fd9ee44271041 /Project/FileHanding.cpp
parenteea796f53f5d9dc1444a620713b3326f04b73339 (diff)
downloadPSP.git-4c162c4ef7386b8fea0ad82a0019a5434adc13fb.tar.gz
PSP.git-4c162c4ef7386b8fea0ad82a0019a5434adc13fb.tar.xz
PSP.git-4c162c4ef7386b8fea0ad82a0019a5434adc13fb.zip
Some control elements improvements
Diffstat (limited to 'Project/FileHanding.cpp')
-rw-r--r--Project/FileHanding.cpp75
1 files changed, 38 insertions, 37 deletions
diff --git a/Project/FileHanding.cpp b/Project/FileHanding.cpp
index 78abaa0..79dd800 100644
--- a/Project/FileHanding.cpp
+++ b/Project/FileHanding.cpp
@@ -1994,9 +1994,9 @@ void FileHanding::SaveControlElements(rapidxml::xml_document<>& doc,
auto nodeList = AppendNode(doc, multiplierNode, "NodeList");
SaveControlNodes(doc, nodeList, multiplier->GetNodeList());
} //}
-
+
//{ Divider
- /*auto dividersNode = AppendNode(doc, elementsNode, "DividerList");
+ auto dividersNode = AppendNode(doc, elementsNode, "DividerList");
auto dividersList = ctrlContainer->GetDividerList();
for(auto it = dividersList.begin(), itEnd = dividersList.end(); it != itEnd; ++it) {
Divider* divider = *it;
@@ -2019,7 +2019,7 @@ void FileHanding::SaveControlElements(rapidxml::xml_document<>& doc,
// Nodes
auto nodeList = AppendNode(doc, dividerNode, "NodeList");
SaveControlNodes(doc, nodeList, divider->GetNodeList());
- }*/ //}
+ } //}
//{ Rate limiter
auto rateLimitersNode = AppendNode(doc, elementsNode, "RateLimiterList");
@@ -2407,41 +2407,42 @@ bool FileHanding::OpenControlElements(rapidxml::xml_document<>& doc,
multiplierNode = multiplierNode->next_sibling("Multiplier");
}
//}
-
- //{ Divider
- /*auto dividerListNode = elementsNode->first_node("DividerList");
- if(!dividerListNode) return false;
- auto dividerNode = dividerListNode->first_node("Divider");
- while(dividerNode) {
- int id = GetAttributeValueInt(dividerNode, "ID");
- Divider* divider = new Divider(id);
-
- auto cadPropNode = dividerNode->first_node("CADProperties");
- if(!cadPropNode) return false;
- auto position = cadPropNode->first_node("Position");
- double posX = GetNodeValueDouble(position, "X");
- double posY = GetNodeValueDouble(position, "Y");
- auto size = cadPropNode->first_node("Size");
- double width = GetNodeValueDouble(size, "Width");
- double height = GetNodeValueDouble(size, "Height");
- double angle = GetNodeValueDouble(cadPropNode, "Angle");
-
- std::vector<Node*> nodeVector;
- if(!OpenControlNodeList(dividerNode, nodeVector)) return false;
-
- divider->SetWidth(width);
- divider->SetHeight(height);
- divider->SetAngle(angle);
- divider->SetPosition(wxPoint2DDouble(posX, posY));
-
- divider->StartMove(divider->GetPosition());
- divider->SetNodeList(nodeVector);
- divider->UpdatePoints();
- elementList.push_back(divider);
-
- dividerNode = dividerNode->next_sibling("Divider");
- }*/
+ //{ Divider
+ auto dividerListNode = elementsNode->first_node("DividerList");
+ if(dividerListNode) {
+ auto dividerNode = dividerListNode->first_node("Divider");
+ while(dividerNode) {
+ int id = GetAttributeValueInt(dividerNode, "ID");
+ Divider* divider = new Divider(id);
+
+ auto cadPropNode = dividerNode->first_node("CADProperties");
+ if(!cadPropNode) return false;
+
+ auto position = cadPropNode->first_node("Position");
+ double posX = GetNodeValueDouble(position, "X");
+ double posY = GetNodeValueDouble(position, "Y");
+ auto size = cadPropNode->first_node("Size");
+ double width = GetNodeValueDouble(size, "Width");
+ double height = GetNodeValueDouble(size, "Height");
+ double angle = GetNodeValueDouble(cadPropNode, "Angle");
+
+ std::vector<Node*> nodeVector;
+ if(!OpenControlNodeList(dividerNode, nodeVector)) return false;
+
+ divider->SetWidth(width);
+ divider->SetHeight(height);
+ divider->SetAngle(angle);
+ divider->SetPosition(wxPoint2DDouble(posX, posY));
+
+ divider->StartMove(divider->GetPosition());
+ divider->SetNodeList(nodeVector);
+ divider->UpdatePoints();
+ elementList.push_back(divider);
+
+ dividerNode = dividerNode->next_sibling("Divider");
+ }
+ }
//}
//{ Rate limiter