38 string GUIMenuItemController::CONDITION_SELECTED =
"selected";
39 string GUIMenuItemController::CONDITION_UNSELECTED =
"unselected";
41 GUIMenuItemController::GUIMenuItemController(
GUINode* node)
44 this->
selected = required_dynamic_cast<GUIElementNode*>(
node)->isSelected();
54 auto& nodeConditions = required_dynamic_cast<GUIElementNode*>(
node)->getActiveConditions();
62 auto& nodeConditions = required_dynamic_cast<GUIElementNode*>(
node)->getActiveConditions();
72 while (
true ==
true) {
86 GUIElementController::initialize();
95 GUIElementController::dispose();
100 GUIElementController::handleMouseEvent(
node, event);
101 if (
node == this->node &&
103 event->
getType() == GUIMouseEvent::MOUSEEVENT_RELEASED &&
106 menuHeaderItemController->toggleOpenState();
107 menuHeaderItemController->unselect();
108 menuHeaderItemController->unselectSelection();
109 event->setProcessed(
true);
115 GUIElementController::handleKeyboardEvent(event);
116 if (
isDisabled() ==
false && event->
getType() == GUIKeyboardEvent::KEYBOARDEVENT_KEY_PRESSED) {
118 case GUIKeyboardEvent::KEYCODE_SPACE: {
120 menuHeaderItemController->toggleOpenState();
121 menuHeaderItemController->unselect();
122 menuHeaderItemController->unselectSelection();
123 event->setProcessed(
true);
131 GUIElementController::tick();
int32_t getKeyCode() const
GUIKeyboardEventType getType() const
GUIMouseEventType getType() const
void setDisabled(bool disabled) override
Set disabled.
bool isDisabled() override
GUI element node conditions.
bool isEventBelongingToNode(GUIMouseEvent *event, Vector2 &nodeCoordinate)
Is event belonging to node.
GUINodeController * getController()
GUIParentNode * getParentControllerNode()
GUI parent node base class thats supporting child nodes.
GUI screen node that represents a screen that can be rendered via GUI system.
Mutable utf8 aware string class.