TDME2
1.9.200
src
tdme
gui
elements
GUIMenuHeaderItemController.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <string>
4
#include <vector>
5
6
#include <
tdme/tdme.h
>
7
#include <
tdme/gui/elements/fwd-tdme.h
>
8
#include <
tdme/gui/events/fwd-tdme.h
>
9
#include <
tdme/gui/nodes/fwd-tdme.h
>
10
#include <
tdme/gui/nodes/GUIElementController.h
>
11
#include <
tdme/utilities/MutableString.h
>
12
13
using
std::string;
14
using
std::vector;
15
16
using
tdme::gui::events::GUIKeyboardEvent
;
17
using
tdme::gui::events::GUIMouseEvent
;
18
using
tdme::gui::nodes::GUIElementController
;
19
using
tdme::gui::nodes::GUIElementNode
;
20
using
tdme::gui::nodes::GUINode
;
21
using
tdme::gui::nodes::GUINodeController
;
22
using
tdme::gui::nodes::GUIParentNode
;
23
using
tdme::utilities::MutableString
;
24
25
/**
26
* GUI menu header item controller
27
* @author Andreas Drewke
28
*/
29
class
tdme::gui::elements::GUIMenuHeaderItemController
final
30
:
public
GUIElementController
31
{
32
friend
class
GUIMenuHeaderController
;
33
friend
class
GUIMenuHeaderItem
;
34
friend
class
GUIMenuHeaderItemOptionController
;
35
friend
class
GUIMenuItemController
;
36
37
private
:
38
STATIC_DLL_IMPEXT
static
string
CONDITION_OPENED
;
39
STATIC_DLL_IMPEXT
static
string
CONDITION_CLOSED
;
40
STATIC_DLL_IMPEXT
static
string
CONDITION_SELECTED
;
41
STATIC_DLL_IMPEXT
static
string
CONDITION_UNSELECTED
;
42
GUIElementNode
*
menuHeaderNode
{
nullptr
};
43
vector<GUIMenuItemController*>
menuItemControllers
;
44
bool
open
;
45
bool
selected
;
46
MutableString
value
;
47
int
selectedMenuItemControllerIdx
{ -1 };
48
49
private
:
50
// forbid class copy
51
FORBID_CLASS_COPY
(
GUIMenuHeaderItemController
)
52
53
/**
54
* Private constructor
55
* @param node node
56
*/
57
GUIMenuHeaderItemController
(
GUINode
*
node
);
58
59
/**
60
* @return menu open state
61
*/
62
bool
isOpen
();
63
64
/**
65
* @return is selected
66
*/
67
bool
isSelected
();
68
69
/**
70
* Select
71
*/
72
void
select
();
73
74
/**
75
* Unselect
76
*/
77
void
unselect
();
78
79
/**
80
* Toggle open state
81
*/
82
void
toggleOpenState
();
83
84
/**
85
* Determine menu item controllers
86
*/
87
void
determineMenuItemControllers
();
88
89
/**
90
* Unselect selection
91
*/
92
void
unselectSelection
();
93
94
/**
95
* Select first menu item
96
*/
97
void
selectFirst
();
98
99
/**
100
* Select next menu item
101
*/
102
void
selectNext
();
103
104
/**
105
* Select previous menu item
106
*/
107
void
selectPrevious
();
108
109
/**
110
* Handle current menu item keyboard event
111
* @param event event
112
*/
113
void
handleCurrentMenuItemKeyboardEvent
(
GUIKeyboardEvent
* event);
114
115
public
:
116
// overridden methods
117
void
initialize
()
override
;
118
void
dispose
()
override
;
119
void
postLayout
()
override
;
120
void
handleMouseEvent
(
GUINode
*
node
,
GUIMouseEvent
* event)
override
;
121
void
handleKeyboardEvent
(
GUIKeyboardEvent
* event)
override
;
122
void
tick
()
override
;
123
void
onFocusGained
()
override
;
124
void
onFocusLost
()
override
;
125
bool
hasValue
()
override
;
126
const
MutableString
&
getValue
()
override
;
127
void
setValue
(
const
MutableString
&
value
)
override
;
128
void
onSubTreeChange
()
override
;
129
130
};
GUIElementController.h
MutableString.h
tdme::gui::elements::GUIMenuHeaderController
GUI menu header controller.
Definition:
GUIMenuHeaderController.h:27
tdme::gui::elements::GUIMenuHeaderItemController
GUI menu header item controller.
Definition:
GUIMenuHeaderItemController.h:31
tdme::gui::elements::GUIMenuHeaderItemController::GUIMenuHeaderItemController
GUIMenuHeaderItemController(GUINode *node)
Private constructor.
Definition:
GUIMenuHeaderItemController.cpp:48
tdme::gui::elements::GUIMenuHeaderItemController::menuHeaderNode
GUIElementNode * menuHeaderNode
Definition:
GUIMenuHeaderItemController.h:42
tdme::gui::elements::GUIMenuHeaderItemController::onFocusGained
void onFocusGained() override
On focus gained.
Definition:
GUIMenuHeaderItemController.cpp:253
tdme::gui::elements::GUIMenuHeaderItemController::dispose
void dispose() override
Dispose controller.
Definition:
GUIMenuHeaderItemController.cpp:96
tdme::gui::elements::GUIMenuHeaderItemController::CONDITION_CLOSED
static STATIC_DLL_IMPEXT string CONDITION_CLOSED
Definition:
GUIMenuHeaderItemController.h:39
tdme::gui::elements::GUIMenuHeaderItemController::postLayout
void postLayout() override
Post layout event.
Definition:
GUIMenuHeaderItemController.cpp:101
tdme::gui::elements::GUIMenuHeaderItemController::initialize
void initialize() override
Initialize controller after element has been created.
Definition:
GUIMenuHeaderItemController.cpp:76
tdme::gui::elements::GUIMenuHeaderItemController::isOpen
bool isOpen()
Definition:
GUIMenuHeaderItemController.cpp:105
tdme::gui::elements::GUIMenuHeaderItemController::handleKeyboardEvent
void handleKeyboardEvent(GUIKeyboardEvent *event) override
Handle keyboard event.
Definition:
GUIMenuHeaderItemController.cpp:242
tdme::gui::elements::GUIMenuHeaderItemController::selectedMenuItemControllerIdx
int selectedMenuItemControllerIdx
Definition:
GUIMenuHeaderItemController.h:47
tdme::gui::elements::GUIMenuHeaderItemController::handleCurrentMenuItemKeyboardEvent
void handleCurrentMenuItemKeyboardEvent(GUIKeyboardEvent *event)
Handle current menu item keyboard event.
Definition:
GUIMenuHeaderItemController.cpp:192
tdme::gui::elements::GUIMenuHeaderItemController::menuItemControllers
vector< GUIMenuItemController * > menuItemControllers
Definition:
GUIMenuHeaderItemController.h:43
tdme::gui::elements::GUIMenuHeaderItemController::toggleOpenState
void toggleOpenState()
Toggle open state.
Definition:
GUIMenuHeaderItemController.cpp:110
tdme::gui::elements::GUIMenuHeaderItemController::determineMenuItemControllers
void determineMenuItemControllers()
Determine menu item controllers.
Definition:
GUIMenuHeaderItemController.cpp:118
tdme::gui::elements::GUIMenuHeaderItemController::selectNext
void selectNext()
Select next menu item.
Definition:
GUIMenuHeaderItemController.cpp:148
tdme::gui::elements::GUIMenuHeaderItemController::isSelected
bool isSelected()
Definition:
GUIMenuHeaderItemController.cpp:55
tdme::gui::elements::GUIMenuHeaderItemController::onFocusLost
void onFocusLost() override
On focus lost.
Definition:
GUIMenuHeaderItemController.cpp:257
tdme::gui::elements::GUIMenuHeaderItemController::setValue
void setValue(const MutableString &value) override
Set value.
Definition:
GUIMenuHeaderItemController.cpp:272
tdme::gui::elements::GUIMenuHeaderItemController::handleMouseEvent
void handleMouseEvent(GUINode *node, GUIMouseEvent *event) override
Handle mouse event.
Definition:
GUIMenuHeaderItemController.cpp:199
tdme::gui::elements::GUIMenuHeaderItemController::selectFirst
void selectFirst()
Select first menu item.
Definition:
GUIMenuHeaderItemController.cpp:140
tdme::gui::elements::GUIMenuHeaderItemController::GUIMenuHeaderItemOptionController
friend class GUIMenuHeaderItemOptionController
Definition:
GUIMenuHeaderItemController.h:34
tdme::gui::elements::GUIMenuHeaderItemController::tick
void tick() override
Tick method will be executed once per frame.
Definition:
GUIMenuHeaderItemController.cpp:247
tdme::gui::elements::GUIMenuHeaderItemController::unselect
void unselect()
Unselect.
Definition:
GUIMenuHeaderItemController.cpp:68
tdme::gui::elements::GUIMenuHeaderItemController::open
bool open
Definition:
GUIMenuHeaderItemController.h:44
tdme::gui::elements::GUIMenuHeaderItemController::unselectSelection
void unselectSelection()
Unselect selection.
Definition:
GUIMenuHeaderItemController.cpp:133
tdme::gui::elements::GUIMenuHeaderItemController::CONDITION_UNSELECTED
static STATIC_DLL_IMPEXT string CONDITION_UNSELECTED
Definition:
GUIMenuHeaderItemController.h:41
tdme::gui::elements::GUIMenuHeaderItemController::selected
bool selected
Definition:
GUIMenuHeaderItemController.h:45
tdme::gui::elements::GUIMenuHeaderItemController::value
MutableString value
Definition:
GUIMenuHeaderItemController.h:46
tdme::gui::elements::GUIMenuHeaderItemController::getValue
const MutableString & getValue() override
Definition:
GUIMenuHeaderItemController.cpp:266
tdme::gui::elements::GUIMenuHeaderItemController::onSubTreeChange
void onSubTreeChange() override
On sub tree change.
Definition:
GUIMenuHeaderItemController.cpp:277
tdme::gui::elements::GUIMenuHeaderItemController::hasValue
bool hasValue() override
Definition:
GUIMenuHeaderItemController.cpp:261
tdme::gui::elements::GUIMenuHeaderItemController::CONDITION_OPENED
static STATIC_DLL_IMPEXT string CONDITION_OPENED
Definition:
GUIMenuHeaderItemController.h:38
tdme::gui::elements::GUIMenuHeaderItemController::select
void select()
Select.
Definition:
GUIMenuHeaderItemController.cpp:60
tdme::gui::elements::GUIMenuHeaderItemController::CONDITION_SELECTED
static STATIC_DLL_IMPEXT string CONDITION_SELECTED
Definition:
GUIMenuHeaderItemController.h:40
tdme::gui::elements::GUIMenuHeaderItemController::selectPrevious
void selectPrevious()
Select previous menu item.
Definition:
GUIMenuHeaderItemController.cpp:170
tdme::gui::elements::GUIMenuHeaderItem
GUI menu header item element.
Definition:
GUIMenuHeaderItem.h:27
tdme::gui::elements::GUIMenuItemController
GUI menu item controller.
Definition:
GUIMenuItemController.h:28
tdme::gui::events::GUIKeyboardEvent
GUI keyboard event.
Definition:
GUIKeyboardEvent.h:12
tdme::gui::events::GUIMouseEvent
GUI mouse event.
Definition:
GUIMouseEvent.h:12
tdme::gui::nodes::GUIElementController
GUI element controller.
Definition:
GUIElementController.h:25
tdme::gui::nodes::GUIElementNode
GUI element node.
Definition:
GUIElementNode.h:37
tdme::gui::nodes::GUINodeController
GUI node controller base class.
Definition:
GUINodeController.h:18
tdme::gui::nodes::GUINodeController::node
GUINode * node
Definition:
GUINodeController.h:20
tdme::gui::nodes::GUINode
GUI node base class.
Definition:
GUINode.h:64
tdme::gui::nodes::GUIParentNode
GUI parent node base class thats supporting child nodes.
Definition:
GUIParentNode.h:42
tdme::utilities::MutableString
Mutable utf8 aware string class.
Definition:
MutableString.h:23
fwd-tdme.h
fwd-tdme.h
fwd-tdme.h
tdme.h
STATIC_DLL_IMPEXT
#define STATIC_DLL_IMPEXT
Definition:
tdme.h:15
FORBID_CLASS_COPY
#define FORBID_CLASS_COPY(CLASS)
Definition:
tdme.h:6
Generated by
1.9.1