From 04d6241b63f72af7d196e0e14d72b0450f70a3ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89meryc?= Date: Fri, 21 Jul 2023 21:03:35 -0400 Subject: [PATCH] NK-102 - Generic Confirmation Popup --- Editor/src/Misc/PopupHelper.cpp | 32 ++++++++++++++++++++++++++++++++ Editor/src/Misc/PopupHelper.h | 9 +++++++++ 2 files changed, 41 insertions(+) create mode 100644 Editor/src/Misc/PopupHelper.cpp create mode 100644 Editor/src/Misc/PopupHelper.h diff --git a/Editor/src/Misc/PopupHelper.cpp b/Editor/src/Misc/PopupHelper.cpp new file mode 100644 index 00000000..f1a28fd1 --- /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("Test"); + + ImGui::OpenPopup(id.c_str()); +} + +bool PopupHelper::DefineDialog(std::string id, 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..a4550c61 --- /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(std::string id, std::string text); +};