30 GUITabsController::GUITabsController(
GUINode* node)
37 vector<GUINode*> childControllerNodes;
38 required_dynamic_cast<GUIParentNode*>(
node)->getChildControllerNodes(childControllerNodes);
39 for (
auto i = 0; i < childControllerNodes.size(); i++) {
40 auto childControllerNode = childControllerNodes[i];
41 auto childController = childControllerNode->getController();
43 auto tabContentController = required_dynamic_cast<GUITabContentController*>(childController);
44 if (
static_cast<GUINode*
>(tabContentController->getNode()->getParentControllerNode()->getParentControllerNode()) !=
node)
63 vector<GUINode*> childControllerNodes;
64 required_dynamic_cast<GUIParentNode*>(
node)->getChildControllerNodes(childControllerNodes);
65 for (
auto i = 0; i < childControllerNodes.size(); i++) {
66 auto childControllerNode = childControllerNodes[i];
67 auto childController = childControllerNode->getController();
69 auto _tabsHeaderController = required_dynamic_cast<GUITabsHeaderController*>(childController);
70 if (
static_cast<GUINode*
>(_tabsHeaderController->getNode()->getParentControllerNode()) !=
node)
75 auto preselectedTabIdx = 0;
78 if (tabContentController->isSelected() ==
true) preselectedTabIdx = i;
105 auto tabContentNodeId =
id +
"-content";
107 auto select = tabContentNodeId == tabContentController->getNode()->getId();
108 tabContentController->setSelected(
select);
154 if (tabElementNode !=
nullptr) {
158 Console::println(
"GUITabsController::setValue(): tab with id '" +
value.
getString() +
"' not found");
GUI tab content controller.
void setTabContentSelected(const string &id)
Set tab content selected.
void determineTabContentControllers()
Determine tab controllers.
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 setTabContentSelectedInternal(const string &id)
Set tab content selected internal.
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.
GUITabsHeaderController * tabsHeaderController
vector< GUITabContentController * > tabContentControllers
void setDisabled(bool disabled) override
Set disabled.
const MutableString & getValue() override
bool isDisabled() override
void onSubTreeChange() override
On sub tree change.
void select(GUIElementNode *tabElementNode)
Select.
GUI node controller base class.
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.
GUINode * getNodeById(const string &nodeId)
Get GUI node by id.
Mutable utf8 aware string class.
bool equals(const string &s2) const
Equals.
const string & getString() const
MutableString & set(char c)
Set character.