TDME2  1.9.200
GUIElementIgnoreEventsController.cpp
Go to the documentation of this file.
2 
3 #include <tdme/tdme.h>
9 #include <tdme/gui/GUI.h>
10 
17 using tdme::gui::GUI;
18 
19 GUIElementIgnoreEventsController::GUIElementIgnoreEventsController(GUINode* node)
20  : GUINodeController(node)
21 {
22  this->disabled = required_dynamic_cast<GUIElementNode*>(node)->isDisabled();
23 }
24 
27 
29 {
30  return disabled;
31 }
32 
34 {
35  auto& nodeConditions = required_dynamic_cast<GUIElementNode*>(node)->getActiveConditions();
36  nodeConditions.remove(this->disabled == true?CONDITION_DISABLED:CONDITION_ENABLED);
37  this->disabled = disabled;
38  nodeConditions.add(this->disabled == true?CONDITION_DISABLED:CONDITION_ENABLED);
39 }
40 
42 {
44 }
45 
47 {
48 }
49 
51 {
52 }
53 
55 {
56  if (disabled == false && node == this->node && node->isEventBelongingToNode(event) && event->getButton() == MOUSE_BUTTON_LEFT) {
57  if (event->getType() == GUIMouseEvent::MOUSEEVENT_PRESSED) {
58  if (required_dynamic_cast<GUIElementNode*>(node)->isFocusable() == true) {
59  node->getScreenNode()->getGUI()->setFoccussedNode(required_dynamic_cast<GUIElementNode*>(node));
60  }
61  }
62  }
63 }
64 
66 {
67 }
68 
70 {
71 }
72 
74 {
75 }
76 
78 {
79 }
80 
82 {
83  return false;
84 }
85 
87 {
88  return value;
89 }
90 
92 {
93 }
94 
96 {
97 }
98 
#define MOUSE_BUTTON_LEFT
GUI module class.
Definition: GUI.h:64
void setFoccussedNode(GUIElementNode *newFoccussedNode)
Set focussed node.
Definition: GUI.cpp:267
GUIMouseEventType getType() const
Definition: GUIMouseEvent.h:78
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.
GUI element node conditions.
GUI node controller base class.
GUI node base class.
Definition: GUINode.h:64
bool isEventBelongingToNode(GUIMouseEvent *event, Vector2 &nodeCoordinate)
Is event belonging to node.
Definition: GUINode.h:604
GUIScreenNode * getScreenNode()
Definition: GUINode.h:325
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