TDME2  1.9.200
GUITabsHeaderController.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <vector>
4 
5 #include <tdme/tdme.h>
11 
12 using std::vector;
13 
20 
21 /**
22  * GUI tabs header controller
23  * @author Andreas Drewke
24  */
26  : public GUIElementController
27 {
28  friend class GUITabsHeader;
29  friend class GUITabController;
30 
31 private:
32  GUINode* tabsNode { nullptr };
33  vector<GUITabController*> tabControllers;
34  int tabControllerIdx { -1 };
35  bool focus;
37 
38  // forbid class copy
40 
41  /**
42  * Private constructor
43  * @param node node
44  */
46 
47  /**
48  * @return has focus
49  */
50  bool hasFocus();
51 
52  /**
53  * Determine select box option controllers
54  */
56 
57  /**
58  * Select next node
59  */
60  void selectNext();
61 
62  /**
63  * Select previous
64  */
65  void selectPrevious();
66 
67  /**
68  * Select current
69  */
70  void selectCurrent();
71 
72 public:
73  /**
74  * Unselect selected tab
75  */
76  void unselect();
77 
78  /**
79  * Select selected tab
80  */
81  void select();
82 
83  /**
84  * Select tab by index
85  * @param idx index
86  */
87  void select(int idx);
88 
89  /**
90  * Select tab by index
91  * @param tabElementNode tab element node
92  */
93  void select(GUIElementNode* tabElementNode);
94 
95  // overridden methods
96  bool isDisabled() override;
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 tick() override;
104  void onFocusGained() override;
105  void onFocusLost() override;
106  bool hasValue() override;
107  const MutableString& getValue() override;
108  void setValue(const MutableString& value) override;
109  void onSubTreeChange() override;
110 
111 };
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.
GUITabsHeaderController(GUINode *node)
Private constructor.
void tick() override
Tick method will be executed once per frame.
void setDisabled(bool disabled) override
Set disabled.
void determineTabControllers()
Determine select box option controllers.
void onSubTreeChange() override
On sub tree change.
GUI tabs header element.
Definition: GUITabsHeader.h:27
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