36 string GUIDropDownOptionController::CONDITION_SELECTED =
"selected";
37 string GUIDropDownOptionController::CONDITION_UNSELECTED =
"unselected";
38 string GUIDropDownOptionController::CONDITION_HIDDEN =
"hidden";
40 GUIDropDownOptionController::GUIDropDownOptionController(
GUINode* node)
44 this->
selected = required_dynamic_cast<GUIElementNode*>(
node)->isSelected();
50 GUIElementController::setDisabled(
disabled);
56 auto& nodeConditions = required_dynamic_cast<GUIElementNode*>(
node)->getActiveConditions();
62 dropDownTextNodeEnabled->setText(dropDownOptionTextNode->getText());
64 dropDownTextNodeDisabled->setText(dropDownOptionTextNode->getText());
69 auto& nodeConditions = required_dynamic_cast<GUIElementNode*>(
node)->getActiveConditions();
76 auto& nodeConditions = required_dynamic_cast<GUIElementNode*>(
node)->getActiveConditions();
83 auto nodeTextLowerCase = StringTools::toLowerCase(dropDownOptionTextNode->getText().getString());
84 if (nodeTextLowerCase.find(
value) == string::npos) {
99 while (
true ==
true) {
113 GUIElementController::initialize();
128 GUIElementController::dispose();
134 GUIElementController::handleMouseEvent(
node, event);
136 event->setProcessed(
true);
137 if (event->
getType() == GUIMouseEvent::MOUSEEVENT_RELEASED) {
138 required_dynamic_cast<GUIDropDownController*>(
dropDownNode->
getController())->select(required_dynamic_cast<GUIElementNode*>(this->node));
147 GUIElementController::handleKeyboardEvent(event);
152 GUIElementController::tick();
GUI drop down controller.
GUI drop down option controller.
void onFocusGained() override
On focus gained.
void dispose() override
Dispose controller.
void postLayout() override
Post layout event.
bool search(const string &value)
Search by string.
GUIParentNode * dropDownContainerNode
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.
void tick() override
Tick method will be executed once per frame.
GUIParentNode * dropDownNode
static STATIC_DLL_IMPEXT string CONDITION_UNSELECTED
void setDisabled(bool disabled) override
Set disabled.
const MutableString & getValue() override
static STATIC_DLL_IMPEXT string CONDITION_HIDDEN
static STATIC_DLL_IMPEXT string CONDITION_SELECTED
GUIMouseEventType getType() const
bool isDisabled() override
GUI element node conditions.
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.
GUINode * getInnerNodeById(const string &nodeId)
Get inner GUI node by id.
GUINode * getNodeById(const string &nodeId)
Get GUI node by id.
Mutable utf8 aware string class.