TDME2  1.9.200
GUIMenuHeaderController.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 menu header controller
23  * @author Andreas Drewke
24  */
26  : public GUINodeController
27 {
28  friend class GUIMenuHeader;
30 
31 private:
32  vector<GUIMenuHeaderItemController*> menuHeaderItemControllers;
33  bool focus;
36 
37  // forbid class copy
39 
40  /**
41  * Private constructor
42  * @param node node
43  */
45 
46  /**
47  * @return has focus
48  */
49  bool hasFocus();
50 
51  /**
52  * Determine menu header item controllers
53  */
55 
56  /**
57  * @return if menu is open
58  */
59  bool isOpen();
60 
61  /**
62  * Unselect
63  */
64  void unselect();
65 
66  /**
67  * Select next node
68  */
69  void selectNext();
70 
71  /**
72  * Select previous
73  */
74  void selectPrevious();
75 
76  /**
77  * Select by index
78  * @param idx index
79  */
80  void select(int idx);
81 
82  /**
83  * Select element node
84  * @param elementNode element node
85  */
86  void select(GUIElementNode* elementNode);
87 
88 public:
89  // overridden methods
90  bool isDisabled() override;
91  void setDisabled(bool disabled) override;
92  void initialize() override;
93  void dispose() override;
94  void postLayout() override;
95  void handleMouseEvent(GUINode* node, GUIMouseEvent* event) override;
96  void handleKeyboardEvent(GUIKeyboardEvent* event) override;
97  void tick() override;
98  void onFocusGained() override;
99  void onFocusLost() override;
100  bool hasValue() override;
101  const MutableString& getValue() override;
102  void setValue(const MutableString& value) override;
103  void onSubTreeChange() override;
104 
105 };
void determineMenuHeaderItemControllers()
Determine menu header item controllers.
vector< GUIMenuHeaderItemController * > menuHeaderItemControllers
GUIMenuHeaderController(GUINode *node)
Private constructor.
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.
void tick() override
Tick method will be executed once per frame.
void setDisabled(bool disabled) override
Set disabled.
void onSubTreeChange() override
On sub tree change.
GUI menu header element.
Definition: GUIMenuHeader.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