17 GUINodeConditions::GUINodeConditions(
GUIElementNode* elementNode): elementNode(elementNode)
25 if (parentNode !=
nullptr) {
26 for (
auto i = 0; i < parentNode->subNodes.size(); i++) {
27 auto guiSubNode = parentNode->
subNodes[i];
46 auto elementNodeToNodeMappingIt = screenNode->elementNodeToNodeMapping.find(
elementNode->
getId());
47 if (elementNodeToNodeMappingIt != screenNode->elementNodeToNodeMapping.end()) {
48 for (
const auto& nodeId: elementNodeToNodeMappingIt->second) {
49 auto node = screenNode->getNodeById(nodeId);
50 if (node ==
nullptr)
continue;
52 screenNode->invalidateLayout(node);
GUI element node conditions.
GUIElementNode * elementNode
void updateNode(GUINode *node, const vector< string > &conditions) const
Update node.
void updateElementNode(const vector< string > &conditions) const
Update element node.
vector< string > conditions
GUI node requested constraints requested constraints type enum.
void onSetConditions(const vector< string > &conditions)
On set condition.
GUIScreenNode * getScreenNode()
bool checkConditions()
Check if conditions are met.
GUI parent node base class thats supporting child nodes.
vector< GUINode * > subNodes
GUI screen node that represents a screen that can be rendered via GUI system.
void invalidateLayout(GUINode *node)
Mark a node to be invalidated regarding layout.