TDME2
1.9.200
src
tdme
gui
elements
GUIContextMenuController.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 context menu controller
27
* @author Andreas Drewke
28
*/
29
class
tdme::gui::elements::GUIContextMenuController
final
30
:
public
GUIElementController
31
{
32
friend
class
GUIContextMenu
;
33
friend
class
GUIContextMenuItemController
;
34
35
private
:
36
STATIC_DLL_IMPEXT
static
string
CONDITION_OPENED
;
37
STATIC_DLL_IMPEXT
static
string
CONDITION_CLOSED
;
38
STATIC_DLL_IMPEXT
static
string
CONDITION_SELECTED
;
39
STATIC_DLL_IMPEXT
static
string
CONDITION_UNSELECTED
;
40
vector<GUIContextMenuItemController*>
menuItemControllers
;
41
MutableString
value
;
42
int
selectedMenuItemControllerIdx
{ -1 };
43
44
private
:
45
// forbid class copy
46
FORBID_CLASS_COPY
(
GUIContextMenuController
)
47
48
/**
49
* Private constructor
50
* @param node node
51
*/
52
GUIContextMenuController
(
GUINode
*
node
);
53
54
/**
55
* @return menu open state
56
*/
57
bool
isOpen
();
58
59
/**
60
* Determine menu item controllers
61
*/
62
void
determineMenuItemControllers
();
63
64
/**
65
* Unselect selection
66
*/
67
void
unselectSelection
();
68
69
/**
70
* Select first menu item
71
*/
72
void
selectFirst
();
73
74
/**
75
* Select next menu item
76
*/
77
void
selectNext
();
78
79
/**
80
* Select previous menu item
81
*/
82
void
selectPrevious
();
83
84
/**
85
* Handle current menu item keyboard event
86
* @param event event
87
*/
88
void
handleCurrentMenuItemKeyboardEvent
(
GUIKeyboardEvent
* event);
89
90
public
:
91
// overridden methods
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
};
GUIElementController.h
MutableString.h
tdme::gui::elements::GUIContextMenuController
GUI context menu controller.
Definition:
GUIContextMenuController.h:31
tdme::gui::elements::GUIContextMenuController::onFocusGained
void onFocusGained() override
On focus gained.
Definition:
GUIContextMenuController.cpp:166
tdme::gui::elements::GUIContextMenuController::dispose
void dispose() override
Dispose controller.
Definition:
GUIContextMenuController.cpp:43
tdme::gui::elements::GUIContextMenuController::CONDITION_SELECTED
static STATIC_DLL_IMPEXT string CONDITION_SELECTED
Definition:
GUIContextMenuController.h:38
tdme::gui::elements::GUIContextMenuController::CONDITION_UNSELECTED
static STATIC_DLL_IMPEXT string CONDITION_UNSELECTED
Definition:
GUIContextMenuController.h:39
tdme::gui::elements::GUIContextMenuController::postLayout
void postLayout() override
Post layout event.
Definition:
GUIContextMenuController.cpp:48
tdme::gui::elements::GUIContextMenuController::initialize
void initialize() override
Initialize controller after element has been created.
Definition:
GUIContextMenuController.cpp:37
tdme::gui::elements::GUIContextMenuController::isOpen
bool isOpen()
tdme::gui::elements::GUIContextMenuController::handleKeyboardEvent
void handleKeyboardEvent(GUIKeyboardEvent *event) override
Handle keyboard event.
Definition:
GUIContextMenuController.cpp:139
tdme::gui::elements::GUIContextMenuController::selectedMenuItemControllerIdx
int selectedMenuItemControllerIdx
Definition:
GUIContextMenuController.h:42
tdme::gui::elements::GUIContextMenuController::handleCurrentMenuItemKeyboardEvent
void handleCurrentMenuItemKeyboardEvent(GUIKeyboardEvent *event)
Handle current menu item keyboard event.
Definition:
GUIContextMenuController.cpp:127
tdme::gui::elements::GUIContextMenuController::determineMenuItemControllers
void determineMenuItemControllers()
Determine menu item controllers.
Definition:
GUIContextMenuController.cpp:52
tdme::gui::elements::GUIContextMenuController::selectNext
void selectNext()
Select next menu item.
Definition:
GUIContextMenuController.cpp:82
tdme::gui::elements::GUIContextMenuController::onFocusLost
void onFocusLost() override
On focus lost.
Definition:
GUIContextMenuController.cpp:170
tdme::gui::elements::GUIContextMenuController::setValue
void setValue(const MutableString &value) override
Set value.
Definition:
GUIContextMenuController.cpp:185
tdme::gui::elements::GUIContextMenuController::handleMouseEvent
void handleMouseEvent(GUINode *node, GUIMouseEvent *event) override
Handle mouse event.
Definition:
GUIContextMenuController.cpp:134
tdme::gui::elements::GUIContextMenuController::selectFirst
void selectFirst()
Select first menu item.
Definition:
GUIContextMenuController.cpp:74
tdme::gui::elements::GUIContextMenuController::tick
void tick() override
Tick method will be executed once per frame.
Definition:
GUIContextMenuController.cpp:161
tdme::gui::elements::GUIContextMenuController::unselectSelection
void unselectSelection()
Unselect selection.
Definition:
GUIContextMenuController.cpp:67
tdme::gui::elements::GUIContextMenuController::value
MutableString value
Definition:
GUIContextMenuController.h:41
tdme::gui::elements::GUIContextMenuController::CONDITION_OPENED
static STATIC_DLL_IMPEXT string CONDITION_OPENED
Definition:
GUIContextMenuController.h:36
tdme::gui::elements::GUIContextMenuController::CONDITION_CLOSED
static STATIC_DLL_IMPEXT string CONDITION_CLOSED
Definition:
GUIContextMenuController.h:37
tdme::gui::elements::GUIContextMenuController::GUIContextMenuController
GUIContextMenuController(GUINode *node)
Private constructor.
Definition:
GUIContextMenuController.cpp:32
tdme::gui::elements::GUIContextMenuController::getValue
const MutableString & getValue() override
Definition:
GUIContextMenuController.cpp:179
tdme::gui::elements::GUIContextMenuController::onSubTreeChange
void onSubTreeChange() override
On sub tree change.
Definition:
GUIContextMenuController.cpp:190
tdme::gui::elements::GUIContextMenuController::hasValue
bool hasValue() override
Definition:
GUIContextMenuController.cpp:174
tdme::gui::elements::GUIContextMenuController::menuItemControllers
vector< GUIContextMenuItemController * > menuItemControllers
Definition:
GUIContextMenuController.h:40
tdme::gui::elements::GUIContextMenuController::selectPrevious
void selectPrevious()
Select previous menu item.
Definition:
GUIContextMenuController.cpp:104
tdme::gui::elements::GUIContextMenuItemController
GUI context menu item controller.
Definition:
GUIContextMenuItemController.h:28
tdme::gui::elements::GUIContextMenu
GUI context menu element.
Definition:
GUIContextMenu.h:27
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