move menu pages loader to Lua & add gui.load_document, file.ext(), file.prefix() & add core:gui_util module

This commit is contained in:
MihailRis
2025-01-06 16:07:16 +03:00
parent da471bd4eb
commit 0a1a16299e
16 changed files with 156 additions and 55 deletions
+5 -3
View File
@@ -11,7 +11,7 @@ namespace gui {
bool temporal = false;
};
using page_loader_func = std::function<std::shared_ptr<UINode>(const std::string& name)>;
using PageLoaderFunc = std::function<std::shared_ptr<UINode>(const std::string&)>;
class Menu : public Container {
protected:
@@ -19,7 +19,7 @@ namespace gui {
std::stack<Page> pageStack;
Page current;
std::unordered_map<std::string, supplier<std::shared_ptr<UINode>>> pageSuppliers;
page_loader_func pagesLoader = nullptr;
PageLoaderFunc pagesLoader = nullptr;
public:
Menu();
@@ -49,7 +49,9 @@ namespace gui {
);
/// @brief Page loader is called if accessed page is not found
void setPageLoader(page_loader_func loader);
void setPageLoader(PageLoaderFunc loader);
PageLoaderFunc getPageLoader();
/// @brief Set page to previous saved in history
void back();