TDME2  1.9.200
GUITabsController.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <string>
4 #include <vector>
5 
6 #include <tdme/tdme.h>
12 
13 using std::string;
14 using std::vector;
15 
23 
24 /**
25  * GUI tabs controller
26  * @author Andreas Drewke
27  */
29  : public GUINodeController
30 {
31  friend class GUITabs;
32  friend class GUITabController;
34 
35 private:
36  vector<GUITabController*> tabControllers;
37  vector<GUITabContentController*> tabContentControllers;
40  bool tabSelected { false };
41 
42  // forbid class copy
44 
45  /**
46  * Private constructor
47  * @param node node
48  */
50 
51  /**
52  * Determine tab controllers
53  */
55 
56  /**
57  * Unselect
58  */
59  void unselect();
60 
61  /**
62  * Select
63  * @param tabElementNode tab element node
64  */
65  void select(GUIElementNode* tabElementNode);
66 
67  /**
68  * Set tab content selected
69  * @param id id
70  */
71  void setTabContentSelected(const string& id);
72 
73  /**
74  * Set tab content selected internal
75  * @param id id
76  */
77  void setTabContentSelectedInternal(const string& id);
78 
79 public:
80  // overridden methods
81  bool isDisabled() override;
82  void setDisabled(bool disabled) override;
83  void initialize() override;
84  void dispose() override;
85  void postLayout() override;
86  void handleMouseEvent(GUINode* node, GUIMouseEvent* event) override;
87  void handleKeyboardEvent(GUIKeyboardEvent* event) override;
88  void tick() override;
89  void onFocusGained() override;
90  void onFocusLost() override;
91  bool hasValue() override;
92  const MutableString& getValue() override;
93  void setValue(const MutableString& value) override;
94  void onSubTreeChange() override;
95 
96 };
void setTabContentSelected(const string &id)
Set tab content selected.
void determineTabContentControllers()
Determine tab controllers.
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 setTabContentSelectedInternal(const string &id)
Set tab content selected internal.
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.
GUITabsHeaderController * tabsHeaderController
GUITabsController(GUINode *node)
Private constructor.
vector< GUITabController * > tabControllers
vector< GUITabContentController * > tabContentControllers
void setDisabled(bool disabled) override
Set disabled.
const MutableString & getValue() override
void onSubTreeChange() override
On sub tree change.
void select(GUIElementNode *tabElementNode)
Select.
GUI tabs element.
Definition: GUITabs.h:27
GUI node controller base class.
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