Add PopupManager: integrate PopupManager class and PopupParams structure for enhanced popup handling

This commit is contained in:
scawful
2025-02-10 11:51:03 -05:00
parent 4c3e9e4286
commit c66541db87
3 changed files with 14 additions and 13 deletions

View File

@@ -7,6 +7,7 @@
#include "app/editor/system/command_manager.h" #include "app/editor/system/command_manager.h"
#include "app/editor/system/extension_manager.h" #include "app/editor/system/extension_manager.h"
#include "app/editor/system/history_manager.h" #include "app/editor/system/history_manager.h"
#include "app/editor/system/popup_manager.h"
namespace yaze { namespace yaze {
@@ -20,6 +21,7 @@ struct EditorContext {
CommandManager command_manager; CommandManager command_manager;
ExtensionManager extension_manager; ExtensionManager extension_manager;
HistoryManager history_manager; HistoryManager history_manager;
PopupManager popup_manager;
}; };
enum class EditorType { enum class EditorType {

View File

@@ -1,19 +1,26 @@
#ifndef YAZE_APP_EDITOR_POPUP_MANAGER_H #ifndef YAZE_APP_EDITOR_POPUP_MANAGER_H
#define YAZE_APP_EDITOR_POPUP_MANAGER_H #define YAZE_APP_EDITOR_POPUP_MANAGER_H
#include <string>
namespace yaze { namespace yaze {
namespace editor { namespace editor {
struct PopupParams {
std::string name;
};
// ImGui popup manager. // ImGui popup manager.
class PopupManager { class PopupManager {
public: public:
PopupManager();
~PopupManager();
void Show(const char* name); void Show(const char* name);
private:
std::vector<PopupParams> popups_;
}; };
} // namespace editor } // namespace editor
} // namespace yaze } // namespace yaze
#endif // YAZE_APP_EDITOR_POPUP_MANAGER_H #endif // YAZE_APP_EDITOR_POPUP_MANAGER_H

View File

@@ -10,24 +10,16 @@ namespace yaze {
namespace editor { namespace editor {
using ImGui::BeginChild; using ImGui::BeginChild;
using ImGui::BeginMenu;
using ImGui::BeginTabBar; using ImGui::BeginTabBar;
using ImGui::BeginTabItem; using ImGui::BeginTabItem;
using ImGui::BeginTable; using ImGui::BeginTable;
using ImGui::Checkbox;
using ImGui::EndChild; using ImGui::EndChild;
using ImGui::EndMenu;
using ImGui::EndTabBar; using ImGui::EndTabBar;
using ImGui::EndTabItem; using ImGui::EndTabItem;
using ImGui::EndTable; using ImGui::EndTable;
using ImGui::TableHeader;
using ImGui::TableHeadersRow; using ImGui::TableHeadersRow;
using ImGui::TableNextColumn; using ImGui::TableNextColumn;
using ImGui::TableNextRow;
using ImGui::TableSetBgColor;
using ImGui::TableSetColumnIndex;
using ImGui::TableSetupColumn; using ImGui::TableSetupColumn;
using ImGui::Text;
absl::Status SettingsEditor::Update() { absl::Status SettingsEditor::Update() {
if (BeginTabBar("Settings", ImGuiTabBarFlags_None)) { if (BeginTabBar("Settings", ImGuiTabBarFlags_None)) {