29 GUIMenuHeaderController::GUIMenuHeaderController(
GUINode* node)
64 vector<GUINode*> childControllerNodes;
65 required_dynamic_cast<GUIParentNode*>(
node)->getChildControllerNodes(childControllerNodes);
66 for (
auto i = 0; i < childControllerNodes.size(); i++) {
67 auto childControllerNode = childControllerNodes[i];
68 auto childController = childControllerNode->getController();
70 auto menuHeaderItemController = required_dynamic_cast<GUIMenuHeaderItemController*>(childController);
71 if (menuHeaderItemController ==
nullptr)
96 auto disabledItems = 0;
120 auto disabledItems = 0;
146 auto selectedMenuHeaderItemController = required_dynamic_cast<GUIMenuHeaderItemController*>(elementNode->
getController());
149 if (menuHeaderItemController == selectedMenuHeaderItemController) {
160 event->setProcessed(
true);
161 if (event->
getType() == GUIMouseEvent::MOUSEEVENT_RELEASED) {
170 case GUIKeyboardEvent::KEYCODE_ESCAPE: {
178 case GUIKeyboardEvent::KEYCODE_LEFT: {
179 event->setProcessed(
true);
180 if (event->
getType() == GUIKeyboardEvent::KEYBOARDEVENT_KEY_PRESSED) {
185 case GUIKeyboardEvent::KEYCODE_RIGHT: {
186 event->setProcessed(
true);
187 if (event->
getType() == GUIKeyboardEvent::KEYBOARDEVENT_KEY_PRESSED) {
192 case GUIKeyboardEvent::KEYCODE_UP: {
193 event->setProcessed(
true);
194 if (event->
getType() == GUIKeyboardEvent::KEYBOARDEVENT_KEY_PRESSED) {
206 case GUIKeyboardEvent::KEYCODE_DOWN: {
207 event->setProcessed(
true);
208 if (event->
getType() == GUIKeyboardEvent::KEYBOARDEVENT_KEY_PRESSED) {
220 case GUIKeyboardEvent::KEYCODE_SPACE: {
void setFoccussedNode(GUIElementNode *newFoccussedNode)
Set focussed node.
int32_t getKeyCode() const
GUIKeyboardEventType getType() const
GUIMouseEventType getType() const
GUI node controller base class.
bool isEventBelongingToNode(GUIMouseEvent *event, Vector2 &nodeCoordinate)
Is event belonging to node.
GUINodeController * getController()
GUIScreenNode * getScreenNode()
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.