TDME2  1.9.200
GUISelectorHController.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <memory>
4 #include <string>
5 #include <vector>
6 
7 #include <tdme/tdme.h>
13 
14 using std::make_unique;
15 using std::string;
16 using std::unique_ptr;
17 using std::vector;
18 
28 
29 /**
30  * GUI selector horizontal controller
31  * @author Andreas Drewke
32  */
34  : public GUIElementController
35 {
36  friend class GUISelectorH;
38 
39 private:
42  vector<GUISelectorHOptionController*> selectorHOptionControllers;
43  bool disabled;
45  string search;
47  unique_ptr<GUIActionListener> actionListener;
48  GUIParentNode* innerNode { nullptr };
49 
50 private:
51  // forbid class copy
53 
54  /**
55  * Private constructor
56  * @param node node
57  */
59 
60  /**
61  * Unselect
62  */
63  void unselect();
64 
65  /**
66  * Select by index
67  * @param idx index
68  */
69  void select(int idx);
70 
71  /**
72  * Select by option element node
73  * @param selectedSelectorHOptionElementNode selected selector horizontal option element node
74  */
75  void select(GUIElementNode* selectedSelectorHOptionElementNode);
76 
77  /**
78  * Determine drop down option controllers
79  */
81 
82  /**
83  * Select next node
84  */
85  void selectNext();
86 
87  /**
88  * Select previous
89  */
90  void selectPrevious();
91 
92 public:
93  // overridden methods
94  bool isDisabled() override;
95  void setDisabled(bool disabled) override;
96  void initialize() override;
97  void dispose() override;
98  void postLayout() override;
99  void handleMouseEvent(GUINode* node, GUIMouseEvent* event) override;
100  void handleKeyboardEvent(GUIKeyboardEvent* event) override;
101  void tick() override;
102  void onFocusGained() override;
103  void onFocusLost() override;
104  bool hasValue() override;
105  const MutableString& getValue() override;
106  void setValue(const MutableString& value) override;
107  void onSubTreeChange() override;
108 
109 };
GUI selector horizontal controller.
vector< GUISelectorHOptionController * > selectorHOptionControllers
void initialize() override
Initialize controller after element has been created.
unique_ptr< GUIActionListener > actionListener
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.
static STATIC_DLL_IMPEXT string CONDITION_DISABLED
static STATIC_DLL_IMPEXT string CONDITION_ENABLED
void setDisabled(bool disabled) override
Set disabled.
GUISelectorHController(GUINode *node)
Private constructor.
void onSubTreeChange() override
On sub tree change.
void determineSelectorHOptionControllers()
Determine drop down option controllers.
GUI selector horizontal element.
Definition: GUISelectorH.h:27
GUI node controller base class.
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
GUI action listener interface.
#define STATIC_DLL_IMPEXT
Definition: tdme.h:15
#define FORBID_CLASS_COPY(CLASS)
Definition: tdme.h:6