27 string GUIGridItemController::CONDITION_SELECTED =
"selected";
28 string GUIGridItemController::CONDITION_UNSELECTED =
"unselected";
29 string GUIGridItemController::CONDITION_FOCUSSED =
"focussed";
30 string GUIGridItemController::CONDITION_UNFOCUSSED =
"unfocussed";
31 string GUIGridItemController::CONDITION_DISABLED =
"disabled";
32 string GUIGridItemController::CONDITION_ENABLED =
"enabled";
34 GUIGridItemController::GUIGridItemController(
GUINode* node)
38 this->
selected = required_dynamic_cast<GUIElementNode*>(
node)->isSelected();
45 GUIElementController::setDisabled(
disabled);
50 auto& nodeConditions = required_dynamic_cast<GUIElementNode*>(
node)->getActiveConditions();
62 auto& nodeConditions = required_dynamic_cast<GUIElementNode*>(
node)->getActiveConditions();
83 auto& nodeConditions = required_dynamic_cast<GUIElementNode*>(
node)->getActiveConditions();
91 auto& nodeConditions = required_dynamic_cast<GUIElementNode*>(
node)->getActiveConditions();
100 while (
true ==
true) {
113 GUIElementController::initialize();
118 GUIElementController::dispose();
133 GUIElementController::handleMouseEvent(
node, event);
135 auto multipleSelection = required_dynamic_cast<GUIGridController*>(
gridNode->
getController())->isMultipleSelection();
137 event->setProcessed(
true);
138 if (event->
getType() == GUIMouseEvent::MOUSEEVENT_PRESSED) {
140 auto gridItemElementNode = required_dynamic_cast<GUIElementNode*>(
node);
141 gridController->unfocus();
142 if (multipleSelection ==
true && gridController->isKeyControlDown() ==
true) {
143 gridController->toggle(gridItemElementNode);
144 gridController->focus(gridItemElementNode);
146 gridController->unselect();
147 gridController->select(gridItemElementNode);
148 gridController->focus(gridItemElementNode);
163 GUIElementController::handleKeyboardEvent(event);
void setFoccussedNode(GUIElementNode *newFoccussedNode)
Set focussed node.
GUI grid item controller.
void onFocusGained() override
On focus gained.
void dispose() override
Dispose controller.
void postLayout() override
Post layout event.
void initialize() override
Initialize controller after element has been created.
void handleKeyboardEvent(GUIKeyboardEvent *event) override
Handle keyboard event.
void onFocusLost() override
On focus lost.
void setValue(const MutableString &value) override
Set value.
void handleMouseEvent(GUINode *node, GUIMouseEvent *event) override
Handle mouse event.
static STATIC_DLL_IMPEXT string CONDITION_DISABLED
static STATIC_DLL_IMPEXT string CONDITION_ENABLED
static STATIC_DLL_IMPEXT string CONDITION_UNSELECTED
void setDisabled(bool disabled) override
Set disabled.
const MutableString & getValue() override
static STATIC_DLL_IMPEXT string CONDITION_FOCUSSED
void toggle()
Toggle selection.
static STATIC_DLL_IMPEXT string CONDITION_SELECTED
static STATIC_DLL_IMPEXT string CONDITION_UNFOCUSSED
GUIMouseEventType getType() const
GUI element node conditions.
GUI node controller base class.
void scrollToNodeY(GUIParentNode *toNode=nullptr)
Scroll to node Y.
void scrollToNodeX(GUIParentNode *toNode=nullptr)
Scroll to node X.
bool isEventBelongingToNode(GUIMouseEvent *event, Vector2 &nodeCoordinate)
Is event belonging to node.
GUINodeController * getController()
GUIParentNode * getParentControllerNode()
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.
void forwardChange(GUIElementNode *node)
Forward change event.
void forwardContextMenuRequest(GUIElementNode *node, int mouseX, int mouseY)
Forward context menu request event.
Mutable utf8 aware string class.