TDME2  1.9.200
GUISelectorHOptionController.cpp
Go to the documentation of this file.
2 
3 #include <string>
4 
5 #include <tdme/tdme.h>
10 #include <tdme/gui/nodes/GUINode.h>
15 #include <tdme/gui/GUI.h>
18 
19 using std::string;
20 
22 
32 using tdme::gui::GUI;
35 
36 string GUISelectorHOptionController::CONDITION_SELECTED = "selected";
37 string GUISelectorHOptionController::CONDITION_UNSELECTED = "unselected";
38 
39 GUISelectorHOptionController::GUISelectorHOptionController(GUINode* node)
40  : GUIElementController(node)
41 {
42  this->selected = required_dynamic_cast<GUIElementNode*>(node)->isSelected();
43  this->hidden = false;
44 }
45 
47 {
48  GUIElementController::setDisabled(disabled);
49  unselect();
50 }
51 
53 {
54  auto& nodeConditions = required_dynamic_cast<GUIElementNode*>(node)->getActiveConditions();
55  nodeConditions.remove(this->selected == true?CONDITION_SELECTED:CONDITION_UNSELECTED);
56  this->selected = true;
57  nodeConditions.add(this->selected == true?CONDITION_SELECTED:CONDITION_UNSELECTED);
58 }
59 
61 {
62  auto& nodeConditions = required_dynamic_cast<GUIElementNode*>(node)->getActiveConditions();
63  nodeConditions.remove(this->selected == true?CONDITION_SELECTED:CONDITION_UNSELECTED);
64  this->selected = false;
65  nodeConditions.add(this->selected == true?CONDITION_SELECTED:CONDITION_UNSELECTED);
66 }
67 
69 {
70  //
72  while (true == true) {
73  if (dynamic_cast<GUISelectorHController*>(selectorHNode->getController()) != nullptr) {
74  break;
75  }
77  }
78  if (selected == true) {
79  required_dynamic_cast<GUISelectorHController*>(selectorHNode->getController())->select(required_dynamic_cast<GUIElementNode*>(this->node));
80  } else {
81  unselect();
82  }
83 
84  //
85  GUIElementController::initialize();
86 }
87 
89 {
90 }
91 
93 {
94  GUIElementController::dispose();
95 }
96 
98 {
99  GUIElementController::handleMouseEvent(node, event);
100 }
101 
103 {
104  GUIElementController::handleKeyboardEvent(event);
105 }
106 
108 {
109  GUIElementController::tick();
110 }
111 
113 {
114 }
115 
117 {
118 }
119 
121 {
122  return false;
123 }
124 
126 {
127  return value;
128 }
129 
131 {
132 }
GUI module class.
Definition: GUI.h:64
GUI selector horizontal controller.
void initialize() override
Initialize controller after element has been created.
void handleKeyboardEvent(GUIKeyboardEvent *event) override
Handle keyboard event.
void setValue(const MutableString &value) override
Set value.
void handleMouseEvent(GUINode *node, GUIMouseEvent *event) override
Handle mouse event.
void tick() override
Tick method will be executed once per frame.
void setDisabled(bool disabled) override
Set disabled.
GUI element node conditions.
GUI node base class.
Definition: GUINode.h:64
GUINodeController * getController()
Definition: GUINode.h:661
GUIParentNode * getParentControllerNode()
Definition: GUINode.cpp:1011
GUI parent node base class thats supporting child nodes.
Definition: GUIParentNode.h:42
GUI screen node that represents a screen that can be rendered via GUI system.
Definition: GUIScreenNode.h:72
Mutable utf8 aware string class.
Definition: MutableString.h:23
String tools class.
Definition: StringTools.h:22