From d2139026487ea4abc1b4917e12bba7463fd2d9c1 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Sun, 21 Apr 2024 02:37:44 +0300 Subject: [PATCH] minor refactor --- src/frontend/InventoryView.h | 2 +- src/frontend/UiDocument.cpp | 2 +- src/frontend/hud.cpp | 2 +- src/frontend/menu.cpp | 36 ++++++++++- src/frontend/menu.hpp | 5 ++ src/graphics/ui/GUI.cpp | 2 +- src/graphics/ui/elements/UINode.cpp | 2 +- .../ui/elements/{UINode.h => UINode.hpp} | 0 src/graphics/ui/elements/control/TrackBar.hpp | 2 +- src/graphics/ui/elements/display/Image.hpp | 2 +- src/graphics/ui/elements/display/Label.hpp | 2 +- src/graphics/ui/elements/display/Plotter.hpp | 2 +- src/graphics/ui/elements/layout/Container.hpp | 2 +- src/logic/EngineController.cpp | 63 +++---------------- src/logic/scripting/lua/libgui.cpp | 2 +- 15 files changed, 60 insertions(+), 66 deletions(-) rename src/graphics/ui/elements/{UINode.h => UINode.hpp} (100%) diff --git a/src/frontend/InventoryView.h b/src/frontend/InventoryView.h index 9bb86e7b..da953a12 100644 --- a/src/frontend/InventoryView.h +++ b/src/frontend/InventoryView.h @@ -5,7 +5,7 @@ #include #include -#include "../graphics/ui/elements/UINode.h" +#include "../graphics/ui/elements/UINode.hpp" #include "../graphics/ui/elements/layout/Container.hpp" #include "../items/ItemStack.h" #include "../typedefs.h" diff --git a/src/frontend/UiDocument.cpp b/src/frontend/UiDocument.cpp index f31d1706..217da699 100644 --- a/src/frontend/UiDocument.cpp +++ b/src/frontend/UiDocument.cpp @@ -1,7 +1,7 @@ #include "UiDocument.h" #include "../files/files.h" -#include "../graphics/ui/elements/UINode.h" +#include "../graphics/ui/elements/UINode.hpp" #include "../graphics/ui/gui_xml.h" #include "../logic/scripting/scripting.h" #include "InventoryView.h" diff --git a/src/frontend/hud.cpp b/src/frontend/hud.cpp index 79ad514e..676249c0 100644 --- a/src/frontend/hud.cpp +++ b/src/frontend/hud.cpp @@ -15,7 +15,7 @@ #include "../graphics/core/Texture.h" #include "../graphics/render/BlocksPreview.h" #include "../graphics/render/WorldRenderer.h" -#include "../graphics/ui/elements/UINode.h" +#include "../graphics/ui/elements/UINode.hpp" #include "../graphics/ui/elements/layout/Menu.hpp" #include "../graphics/ui/elements/layout/Panel.hpp" #include "../graphics/ui/elements/display/Plotter.hpp" diff --git a/src/frontend/menu.cpp b/src/frontend/menu.cpp index 6cf69eef..8797c56a 100644 --- a/src/frontend/menu.cpp +++ b/src/frontend/menu.cpp @@ -1,14 +1,14 @@ #include "menu.hpp" -#include -#include #include #include #include "../delegates.h" #include "../engine.h" +#include "../interfaces/Task.h" #include "../files/engine_paths.h" #include "../graphics/ui/elements/display/Label.hpp" +#include "../graphics/ui/elements/layout/Panel.hpp" #include "../graphics/ui/elements/layout/Menu.hpp" #include "../graphics/ui/gui_util.h" #include "../graphics/ui/GUI.h" @@ -16,6 +16,7 @@ #include "../settings.h" #include "../util/stringutil.h" #include "../window/Window.h" +#include "locale/langs.h" #include "UiDocument.h" namespace fs = std::filesystem; @@ -46,3 +47,34 @@ void menus::create_menus(Engine* engine) { return document->getRoot(); }); } + +void menus::show_process_panel(Engine* engine, std::shared_ptr task, std::wstring text) { + auto menu = engine->getGUI()->getMenu(); + auto panel = std::dynamic_pointer_cast(guiutil::create( + "" + "" + "" + )); auto subpanel = std::dynamic_pointer_cast(guiutil::create( "" "" @@ -131,13 +88,12 @@ static void show_content_missing( for (auto& entry : lut->getMissingContent()) { std::string contentname = contenttype_name(entry.type); - auto hpanel = std::dynamic_pointer_cast(guiutil::create( + subpanel->add(guiutil::create( "" "" "" "" )); - subpanel->add(hpanel); } panel->add(std::make_shared( @@ -145,6 +101,7 @@ static void show_content_missing( menu->back(); } )); + menu->addPage("missing-content", panel); menu->setPage("missing-content"); } @@ -181,7 +138,7 @@ void EngineController::openWorld(std::string name, bool confirmConvert) { show_content_missing(engine, content, lut); } else { if (confirmConvert) { - show_process_panel(engine, create_converter(engine, folder, content, lut, [=]() { + menus::show_process_panel(engine, create_converter(engine, folder, content, lut, [=]() { openWorld(name, false); }), L"Converting world..."); } else { diff --git a/src/logic/scripting/lua/libgui.cpp b/src/logic/scripting/lua/libgui.cpp index 546c8cfe..5d00c092 100644 --- a/src/logic/scripting/lua/libgui.cpp +++ b/src/logic/scripting/lua/libgui.cpp @@ -9,7 +9,7 @@ #include "../../../engine.h" #include "../../../assets/Assets.h" #include "../../../graphics/ui/gui_util.h" -#include "../../../graphics/ui/elements/UINode.h" +#include "../../../graphics/ui/elements/UINode.hpp" #include "../../../graphics/ui/elements/control/Button.hpp" #include "../../../graphics/ui/elements/control/CheckBox.hpp" #include "../../../graphics/ui/elements/control/TextBox.hpp"