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 1/5] 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); +}; From 5ef8cb80615321996928c83df4fd3c3a18d34bbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89meryc?= Date: Fri, 21 Jul 2023 21:04:04 -0400 Subject: [PATCH 2/5] NK-102 - I forgor --- Editor/src/Misc/PopupHelper.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Editor/src/Misc/PopupHelper.cpp b/Editor/src/Misc/PopupHelper.cpp index f1a28fd1..49f81a3e 100644 --- a/Editor/src/Misc/PopupHelper.cpp +++ b/Editor/src/Misc/PopupHelper.cpp @@ -4,7 +4,7 @@ void PopupHelper::Confirmation(const std::string& id) { - ImGui::TextWrapped("Test"); + ImGui::TextWrapped(id.c_str()); ImGui::OpenPopup(id.c_str()); } From 63b5958a640cc924d02dbeb6bb3dc8d021e92f2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89meryc?= Date: Fri, 21 Jul 2023 21:07:11 -0400 Subject: [PATCH 3/5] NK-102 - PR Comments --- Editor/src/Misc/PopupHelper.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Editor/src/Misc/PopupHelper.h b/Editor/src/Misc/PopupHelper.h index a4550c61..e8613bae 100644 --- a/Editor/src/Misc/PopupHelper.h +++ b/Editor/src/Misc/PopupHelper.h @@ -5,5 +5,5 @@ class PopupHelper { public: static void Confirmation(const std::string& id); - static bool DefineDialog(std::string id, std::string text); + static bool DefineDialog(std::string& id, std::string& text); }; From 4c0d1ffc43eaa2d032f96fd6bf6c648e48562df4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89meryc?= Date: Fri, 21 Jul 2023 21:08:02 -0400 Subject: [PATCH 4/5] NK-102 - ... --- Editor/src/Misc/PopupHelper.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Editor/src/Misc/PopupHelper.cpp b/Editor/src/Misc/PopupHelper.cpp index 49f81a3e..e117054d 100644 --- a/Editor/src/Misc/PopupHelper.cpp +++ b/Editor/src/Misc/PopupHelper.cpp @@ -9,7 +9,7 @@ void PopupHelper::Confirmation(const std::string& id) ImGui::OpenPopup(id.c_str()); } -bool PopupHelper::DefineDialog(std::string id, std::string text) +bool PopupHelper::DefineDialog(std::string& id, std::string& text) { bool result = false; From f95f4ad8cbf8a3bd6271ddc6d99e1bd7da40b1cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89meryc?= Date: Fri, 21 Jul 2023 21:11:52 -0400 Subject: [PATCH 5/5] NK-102 - Added 'const' --- Editor/src/Misc/PopupHelper.cpp | 2 +- Editor/src/Misc/PopupHelper.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Editor/src/Misc/PopupHelper.cpp b/Editor/src/Misc/PopupHelper.cpp index e117054d..6159234a 100644 --- a/Editor/src/Misc/PopupHelper.cpp +++ b/Editor/src/Misc/PopupHelper.cpp @@ -9,7 +9,7 @@ void PopupHelper::Confirmation(const std::string& id) ImGui::OpenPopup(id.c_str()); } -bool PopupHelper::DefineDialog(std::string& id, std::string& text) +bool PopupHelper::DefineDialog(const std::string& id, const std::string& text) { bool result = false; diff --git a/Editor/src/Misc/PopupHelper.h b/Editor/src/Misc/PopupHelper.h index e8613bae..74304103 100644 --- a/Editor/src/Misc/PopupHelper.h +++ b/Editor/src/Misc/PopupHelper.h @@ -5,5 +5,5 @@ class PopupHelper { public: static void Confirmation(const std::string& id); - static bool DefineDialog(std::string& id, std::string& text); + static bool DefineDialog(const std::string& id, const std::string& text); };