TDME2  1.9.200
GUIElementController.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <string>
4 
5 #include <tdme/tdme.h>
10 
11 using std::string;
12 
18 
19 /**
20  * GUI element controller
21  * @author Andreas Drewke
22  */
24  : public GUINodeController
25 {
26  friend class GUIElementNode;
27 
28 private:
29  static constexpr int64_t TIME_DOUBLECLICK { 250LL };
30 
31  bool disabled;
35  int64_t timeLastClicked { -1LL };
36 
37  int mouseLastX { -1 };
38  int mouseLastY { -1 };
39 
40 protected:
43 
44  // forbid class copy
46 
47  /**
48  * Constructor
49  * @param node node
50  */
52 
53 public:
54  // overridden methods
55  bool isDisabled() override;
56  void setDisabled(bool disabled) override;
57  void initialize() override;
58  void dispose() override;
59  void postLayout() override;
60  void handleMouseEvent(GUINode* node, GUIMouseEvent* event) override;
61  void handleKeyboardEvent(GUIKeyboardEvent* event) override;
62  void tick() override;
63  void onFocusGained() override;
64  void onFocusLost() override;
65  bool hasValue() override;
66  const MutableString& getValue() override;
67  void setValue(const MutableString& value) override;
68  void onSubTreeChange() override;
69 };
void onFocusGained() override
On focus gained.
void dispose() override
Dispose controller.
void postLayout() override
Post layout event.
void initialize() override
Initialize controller after element has been created.
void handleKeyboardEvent(GUIKeyboardEvent *event) override
Handle keyboard event.
void onFocusLost() override
On focus lost.
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.
static STATIC_DLL_IMPEXT string CONDITION_DISABLED
static STATIC_DLL_IMPEXT string CONDITION_ENABLED
void setDisabled(bool disabled) override
Set disabled.
const MutableString & getValue() override
void onSubTreeChange() override
On sub tree change.
GUIElementController(GUINode *node)
Constructor.
GUI node controller base class.
GUI node base class.
Definition: GUINode.h:64
Mutable utf8 aware string class.
Definition: MutableString.h:23
#define STATIC_DLL_IMPEXT
Definition: tdme.h:15
#define FORBID_CLASS_COPY(CLASS)
Definition: tdme.h:6