TDME2  1.9.200
GUINodeController.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <tdme/tdme.h>
7 
12 
13 /**
14  * GUI node controller base class
15  * @author Andreas Drewke
16  */
18 {
19 protected:
20  GUINode* node { nullptr };
21 
22  // forbid class copy
24 
25  /**
26  * Private constructor
27  */
29 
30 public:
31  /**
32  * Destructor
33  */
34  inline virtual ~GUINodeController() {}
35 
36  /**
37  * @return node
38  */
39  inline GUINode* getNode() {
40  return node;
41  }
42 
43  /**
44  * Initialize controller after element has been created
45  */
46  virtual void initialize() = 0;
47 
48  /**
49  * Dispose controller
50  */
51  virtual void dispose() = 0;
52 
53  /**
54  * Post layout event
55  */
56  virtual void postLayout() = 0;
57 
58  /**
59  * Handle mouse event
60  * @param node node
61  * @param event event
62  */
63  virtual void handleMouseEvent(GUINode* node, GUIMouseEvent* event) = 0;
64 
65  /**
66  * Handle keyboard event
67  * @param event event
68  */
69  virtual void handleKeyboardEvent(GUIKeyboardEvent* event) = 0;
70 
71  /**
72  * Tick method will be executed once per frame
73  */
74  virtual void tick() = 0;
75 
76  /**
77  * On focus gained
78  */
79  virtual void onFocusGained() = 0;
80 
81  /**
82  * On focus lost
83  */
84  virtual void onFocusLost() = 0;
85 
86  /**
87  * @return has value
88  */
89  virtual bool hasValue() = 0;
90 
91  /**
92  * @return value
93  */
94  virtual const MutableString& getValue() = 0;
95 
96  /**
97  * Set value
98  * @param value value
99  */
100  virtual void setValue(const MutableString& value) = 0;
101 
102  /**
103  * @return is disabled
104  */
105  virtual bool isDisabled() = 0;
106 
107  /**
108  * Set disabled
109  * @param disabled disabled
110  */
111  virtual void setDisabled(bool disabled) = 0;
112 
113  /**
114  * On sub tree change
115  */
116  virtual void onSubTreeChange() = 0;
117 
118 };
GUI node controller base class.
virtual void postLayout()=0
Post layout event.
virtual void onFocusLost()=0
On focus lost.
virtual void setValue(const MutableString &value)=0
Set value.
virtual const MutableString & getValue()=0
virtual void setDisabled(bool disabled)=0
Set disabled.
virtual void onFocusGained()=0
On focus gained.
virtual void initialize()=0
Initialize controller after element has been created.
virtual void onSubTreeChange()=0
On sub tree change.
virtual void handleKeyboardEvent(GUIKeyboardEvent *event)=0
Handle keyboard event.
virtual void handleMouseEvent(GUINode *node, GUIMouseEvent *event)=0
Handle mouse event.
virtual void dispose()=0
Dispose controller.
virtual void tick()=0
Tick method will be executed once per frame.
GUI node base class.
Definition: GUINode.h:64
Mutable utf8 aware string class.
Definition: MutableString.h:23
#define FORBID_CLASS_COPY(CLASS)
Definition: tdme.h:6