diff --git a/Editor/src/Misc/PopupHelper.cpp b/Editor/src/Misc/PopupHelper.cpp new file mode 100644 index 00000000..6159234a --- /dev/null +++ b/Editor/src/Misc/PopupHelper.cpp @@ -0,0 +1,32 @@ +#include "PopupHelper.h" +#include "imgui/imgui.h" + + +void PopupHelper::Confirmation(const std::string& id) +{ + ImGui::TextWrapped(id.c_str()); + + ImGui::OpenPopup(id.c_str()); +} + +bool PopupHelper::DefineDialog(const std::string& id, const std::string& text) +{ + bool result = false; + + ImVec2 center = ImGui::GetMainViewport()->GetCenter(); + ImGui::SetNextWindowPos(center, ImGuiCond_Appearing, ImVec2(0.5f, 0.5f)); + + if (ImGui::BeginPopupModal(id.c_str(), NULL, ImGuiWindowFlags_AlwaysAutoResize)) + { + ImGui::Text((text + "\n\n").c_str()); + ImGui::Separator(); + + if (ImGui::Button("OK", ImVec2(120, 0))) { result = true; ImGui::CloseCurrentPopup(); } + ImGui::SetItemDefaultFocus(); + ImGui::SameLine(); + if (ImGui::Button("Cancel", ImVec2(120, 0))) { ImGui::CloseCurrentPopup(); } + ImGui::EndPopup(); + } + + return result; +} diff --git a/Editor/src/Misc/PopupHelper.h b/Editor/src/Misc/PopupHelper.h new file mode 100644 index 00000000..74304103 --- /dev/null +++ b/Editor/src/Misc/PopupHelper.h @@ -0,0 +1,9 @@ +#pragma once +#include + +class PopupHelper +{ +public: + static void Confirmation(const std::string& id); + static bool DefineDialog(const std::string& id, const std::string& text); +};