dynamic::Value simplified

This commit is contained in:
MihailRis
2024-05-07 18:39:12 +03:00
parent 8e83a07094
commit a4c21984d5
26 changed files with 230 additions and 297 deletions
+7 -7
View File
@@ -37,7 +37,7 @@ gui::page_loader_func menus::create_page_loader(Engine* engine) {
return [=](const std::string& query) {
using namespace dynamic;
std::vector<std::unique_ptr<Value>> args;
std::vector<Value> args;
std::string name;
size_t index = query.find('?');
@@ -45,7 +45,7 @@ gui::page_loader_func menus::create_page_loader(Engine* engine) {
auto argstr = query.substr(index+1);
name = query.substr(0, index);
auto map = std::make_unique<Map>();
auto map = std::make_shared<Map>();
BasicParser parser("query for "+name, argstr);
while (parser.hasNext()) {
auto key = parser.readUntil('=');
@@ -53,7 +53,7 @@ gui::page_loader_func menus::create_page_loader(Engine* engine) {
auto value = parser.readUntil('&');
map->put(key, value);
}
args.push_back(value_of(std::move(map)));
args.push_back(map);
} else {
name = query;
}
@@ -69,7 +69,7 @@ gui::page_loader_func menus::create_page_loader(Engine* engine) {
};
}
UiDocument* menus::show(Engine* engine, const std::string& name, std::vector<std::unique_ptr<dynamic::Value>> args) {
UiDocument* menus::show(Engine* engine, const std::string& name, std::vector<dynamic::Value> args) {
auto menu = engine->getGUI()->getMenu();
auto file = engine->getResPaths()->find("layouts/"+name+".xml");
auto fullname = "core:layouts/"+name;
@@ -89,9 +89,9 @@ void menus::show_process_panel(Engine* engine, std::shared_ptr<Task> task, std::
auto menu = engine->getGUI()->getMenu();
menu->reset();
std::vector<std::unique_ptr<Value>> args;
args.emplace_back(value_of(util::wstr2str_utf8(langs::get(text))));
auto doc = menus::show(engine, "process", std::move(args));
auto doc = menus::show(engine, "process", {
util::wstr2str_utf8(langs::get(text))
});
std::dynamic_pointer_cast<Container>(doc->getRoot())->listenInterval(0.01f, [=]() {
task->update();