content menu moved to xml (no icons yet)

This commit is contained in:
MihailRis 2024-04-18 22:15:23 +03:00
parent 49d57b307b
commit 64820020f8
14 changed files with 91 additions and 172 deletions

View file

@ -268,11 +268,14 @@ void Menu::addSupplier(std::string name, supplier<std::shared_ptr<UINode>> pageS
pageSuppliers[name] = pageSupplier;
}
std::shared_ptr<UINode> Menu::fetchPage(std::string name) {
std::shared_ptr<UINode> Menu::fetchPage(const std::string& name) {
auto found = pages.find(name);
if (found == pages.end()) {
auto supplier = pageSuppliers.find(name);
if (supplier == pageSuppliers.end()) {
if (pagesLoader) {
return pagesLoader(name);
}
return nullptr;
} else {
return supplier->second();
@ -318,6 +321,10 @@ void Menu::back() {
setPage(page, false);
}
void Menu::setPageLoader(page_loader_func loader) {
pagesLoader = loader;
}
Page& Menu::getCurrent() {
return current;
}