TDME2  1.9.200
GUIGridItemController.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <string>
4 
5 #include <tdme/tdme.h>
11 
12 using std::string;
13 
22 
23 /**
24  * GUI grid item controller
25  * @author Andreas Drewke
26  */
28 {
29  friend class GUIGridItem;
30  friend class GUIGridController;
31 
32 protected:
33  GUIParentNode* gridNode { nullptr };
34 
35 private:
43  bool selected;
44  bool focussed;
46 
47  // forbid class copy
49 
50  /**
51  * Private constructor
52  * @param node node
53  */
55 
56  /**
57  * @return is selected
58  */
59  inline bool isSelected() {
60  return selected;
61  }
62 
63  /**
64  * Select
65  */
66  void select();
67 
68  /**
69  * Unselect
70  */
71  void unselect();
72 
73  /**
74  * Toggle selection
75  */
76  void toggle();
77 
78  /**
79  * @return is focussed
80  */
81  inline bool isFocussed() {
82  return focussed;
83  }
84 
85  /**
86  * Focus
87  */
88  void focus();
89 
90  /**
91  * Unfocus
92  */
93  void unfocus();
94 
95 public:
96  // overridden methods
97  void setDisabled(bool disabled) override;
98  void initialize() override;
99  void dispose() override;
100  void postLayout() override;
101  void handleMouseEvent(GUINode* node, GUIMouseEvent* event) override;
102  void handleKeyboardEvent(GUIKeyboardEvent* event) override;
103  void onFocusGained() override;
104  void onFocusLost() override;
105  bool hasValue() override;
106  const MutableString& getValue() override;
107  void setValue(const MutableString& value) override;
108 
109 };
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 setValue(const MutableString &value) override
Set value.
void handleMouseEvent(GUINode *node, GUIMouseEvent *event) override
Handle mouse event.
static STATIC_DLL_IMPEXT string CONDITION_DISABLED
static STATIC_DLL_IMPEXT string CONDITION_ENABLED
static STATIC_DLL_IMPEXT string CONDITION_UNSELECTED
void setDisabled(bool disabled) override
Set disabled.
GUIGridItemController(GUINode *node)
Private constructor.
static STATIC_DLL_IMPEXT string CONDITION_FOCUSSED
static STATIC_DLL_IMPEXT string CONDITION_SELECTED
static STATIC_DLL_IMPEXT string CONDITION_UNFOCUSSED
GUI grid item element.
Definition: GUIGridItem.h:27
GUI node base class.
Definition: GUINode.h:64
GUI parent node base class thats supporting child nodes.
Definition: GUIParentNode.h:42
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