onclick event moved to UINode
This commit is contained in:
+11
-11
@@ -99,6 +99,17 @@ static void _readUINode(UiXmlReader& reader, xml::xmlelement element, UINode& no
|
|||||||
element->attr("gravity").getText()
|
element->attr("gravity").getText()
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (element->has("onclick")) {
|
||||||
|
auto callback = scripting::create_runnable(
|
||||||
|
reader.getEnvironment().getId(),
|
||||||
|
element->attr("onclick").getText(),
|
||||||
|
reader.getFilename()
|
||||||
|
);
|
||||||
|
node.listenAction([callback](GUI*) {
|
||||||
|
callback();
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -224,17 +235,6 @@ static std::shared_ptr<UINode> readButton(UiXmlReader& reader, xml::xmlelement e
|
|||||||
button = std::make_shared<Button>(text, glm::vec4(0.0f), nullptr);
|
button = std::make_shared<Button>(text, glm::vec4(0.0f), nullptr);
|
||||||
_readPanel(reader, element, *button, true);
|
_readPanel(reader, element, *button, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (element->has("onclick")) {
|
|
||||||
auto callback = scripting::create_runnable(
|
|
||||||
reader.getEnvironment().getId(),
|
|
||||||
element->attr("onclick").getText(),
|
|
||||||
reader.getFilename()
|
|
||||||
);
|
|
||||||
button->listenAction([callback](GUI*) {
|
|
||||||
callback();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
if (element->has("text-align")) {
|
if (element->has("text-align")) {
|
||||||
button->setTextAlign(align_from_string(element->attr("text-align").getText(), button->getTextAlign()));
|
button->setTextAlign(align_from_string(element->attr("text-align").getText(), button->getTextAlign()));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user