From a15e5e823d60d14daded2709e5586e0a432ffcf6 Mon Sep 17 00:00:00 2001 From: SweetId <2630750+SweetId@users.noreply.github.com> Date: Wed, 11 Oct 2023 20:24:28 -0400 Subject: [PATCH] bit of renaming --- include/NazaraEditor/Core/UI/MainWindow.h | 17 ++++++++++++++ include/NazaraEditor/Core/UI/Window.hpp | 7 ++++-- include/NazaraEditor/Editor/Application.hpp | 9 +++++--- .../NazaraEditor/Editor/UI/AssetsWindow.hpp | 6 ++--- .../Editor/UI/InspectorWindow.hpp | 6 ++--- .../NazaraEditor/Editor/UI/LevelWindow.hpp | 10 ++++----- include/NazaraEditor/Editor/UI/MainWindow.hpp | 10 ++++----- src/NazaraEditor/Core/UI/MainWindow.cpp | 21 ++++++++++++++++++ src/NazaraEditor/Core/UI/Window.cpp | 15 ++++++------- src/NazaraEditor/Editor/UI/AssetsWindow.cpp | 8 +++---- .../Editor/UI/InspectorWindow.cpp | 12 +++++----- src/NazaraEditor/Editor/UI/LevelWindow.cpp | 8 +++---- src/NazaraEditor/Editor/UI/MainWindow.cpp | 22 +++++++++---------- src/NazaraEditor/Editor/main.cpp | 10 ++++----- 14 files changed, 102 insertions(+), 59 deletions(-) create mode 100644 include/NazaraEditor/Core/UI/MainWindow.h create mode 100644 src/NazaraEditor/Core/UI/MainWindow.cpp diff --git a/include/NazaraEditor/Core/UI/MainWindow.h b/include/NazaraEditor/Core/UI/MainWindow.h new file mode 100644 index 0000000..2ea7454 --- /dev/null +++ b/include/NazaraEditor/Core/UI/MainWindow.h @@ -0,0 +1,17 @@ +#pragma once + +#include + +namespace Nz +{ + class NAZARAEDITOR_CORE_API EditorMainWindow + : public EditorWindow + { + public: + EditorMainWindow(EditorBaseApplication* app, const std::string& name = ""); + virtual ~EditorMainWindow() = default; + + protected: + virtual void OnRenderImgui() override; + }; +} \ No newline at end of file diff --git a/include/NazaraEditor/Core/UI/Window.hpp b/include/NazaraEditor/Core/UI/Window.hpp index 680e2c2..0f17d54 100644 --- a/include/NazaraEditor/Core/UI/Window.hpp +++ b/include/NazaraEditor/Core/UI/Window.hpp @@ -15,7 +15,7 @@ namespace Nz { public: EditorWindow(EditorBaseApplication* app, const std::string& name = ""); - ~EditorWindow(); + virtual ~EditorWindow(); EditorWindow(const EditorWindow&) = delete; EditorWindow& operator=(const EditorWindow&) = delete; @@ -26,10 +26,13 @@ namespace Nz void AddMenuSeparator(const std::string& path); protected: + void DrawMenus(); + virtual void OnEditorGUI() {}; + virtual ImGuiWindowFlags GetCustomWindowFlags() const { return ImGuiWindowFlags_None; } + private: - void DrawMenus(); EditorBaseApplication* m_application; std::string m_windowName; diff --git a/include/NazaraEditor/Editor/Application.hpp b/include/NazaraEditor/Editor/Application.hpp index 85404d4..3882b43 100644 --- a/include/NazaraEditor/Editor/Application.hpp +++ b/include/NazaraEditor/Editor/Application.hpp @@ -2,8 +2,11 @@ #include -class EditorApplication - : public Nz::EditorBaseApplication +namespace NzEditor { + class Application + : public Nz::EditorBaseApplication + { -}; \ No newline at end of file + }; +} \ No newline at end of file diff --git a/include/NazaraEditor/Editor/UI/AssetsWindow.hpp b/include/NazaraEditor/Editor/UI/AssetsWindow.hpp index 5f72fa3..d4a548e 100644 --- a/include/NazaraEditor/Editor/UI/AssetsWindow.hpp +++ b/include/NazaraEditor/Editor/UI/AssetsWindow.hpp @@ -1,12 +1,12 @@ #include -namespace Nz +namespace NzEditor { - class EditorAssetsWindow + class AssetsWindow : public Nz::EditorWindow { public: - EditorAssetsWindow(EditorBaseApplication* app); + AssetsWindow(Nz::EditorBaseApplication* app); void ImportAsset(); diff --git a/include/NazaraEditor/Editor/UI/InspectorWindow.hpp b/include/NazaraEditor/Editor/UI/InspectorWindow.hpp index 3b1a2b9..5960501 100644 --- a/include/NazaraEditor/Editor/UI/InspectorWindow.hpp +++ b/include/NazaraEditor/Editor/UI/InspectorWindow.hpp @@ -2,13 +2,13 @@ #include -namespace Nz +namespace NzEditor { - class EditorInspectorWindow + class InspectorWindow : public Nz::EditorWindow { public: - EditorInspectorWindow(EditorBaseApplication* app); + InspectorWindow(Nz::EditorBaseApplication* app); virtual void OnEditorGUI() override; diff --git a/include/NazaraEditor/Editor/UI/LevelWindow.hpp b/include/NazaraEditor/Editor/UI/LevelWindow.hpp index b117338..698c93f 100644 --- a/include/NazaraEditor/Editor/UI/LevelWindow.hpp +++ b/include/NazaraEditor/Editor/UI/LevelWindow.hpp @@ -1,22 +1,22 @@ -#include +#include #include #include -namespace Nz +namespace NzEditor { - class EditorLevelWindow + class LevelWindow : public Nz::EditorWindow { public: - EditorLevelWindow(EditorBaseApplication* app); + LevelWindow(Nz::EditorBaseApplication* app); virtual void OnEditorGUI() override; protected: void RefreshEntities(); - Nz::EnttWorld* m_currentWorld; + Nz::Level& m_currentLevel; bool m_dirty; std::vector m_rootNodes; diff --git a/include/NazaraEditor/Editor/UI/MainWindow.hpp b/include/NazaraEditor/Editor/UI/MainWindow.hpp index 4a8f658..4e4d611 100644 --- a/include/NazaraEditor/Editor/UI/MainWindow.hpp +++ b/include/NazaraEditor/Editor/UI/MainWindow.hpp @@ -1,12 +1,12 @@ -#include +#include -namespace Nz +namespace NzEditor { - class EditorMainWindow - : public Nz::EditorWindow + class MainWindow + : public Nz::EditorMainWindow { public: - EditorMainWindow(EditorBaseApplication* app); + MainWindow(Nz::EditorBaseApplication* app); bool Quit(); diff --git a/src/NazaraEditor/Core/UI/MainWindow.cpp b/src/NazaraEditor/Core/UI/MainWindow.cpp new file mode 100644 index 0000000..14127a2 --- /dev/null +++ b/src/NazaraEditor/Core/UI/MainWindow.cpp @@ -0,0 +1,21 @@ +#include + +namespace Nz +{ + EditorMainWindow::EditorMainWindow(EditorBaseApplication* app, const std::string& name) + : EditorWindow(app, name) + { } + + void EditorMainWindow::OnRenderImgui() + { + if (ImGui::BeginMainMenuBar()) + { + DrawMenus(); + + ImGui::EndMainMenuBar(); + } + + // Create docks everywhere in the main area + ImGui::DockSpaceOverViewport(); + } +} \ No newline at end of file diff --git a/src/NazaraEditor/Core/UI/Window.cpp b/src/NazaraEditor/Core/UI/Window.cpp index e120fa9..3fea116 100644 --- a/src/NazaraEditor/Core/UI/Window.cpp +++ b/src/NazaraEditor/Core/UI/Window.cpp @@ -20,10 +20,13 @@ namespace Nz { bool bNeedsMenu = !m_root.entries.empty(); ImGuiWindowFlags flags = (bNeedsMenu ? ImGuiWindowFlags_MenuBar : 0); - if (ImGui::Begin(m_windowName.c_str(), nullptr, flags)) { - DrawMenus(); + if (ImGui::BeginMenuBar()) + { + DrawMenus(); + ImGui::EndMenuBar(); + } OnEditorGUI(); @@ -80,12 +83,8 @@ namespace Nz }, menu); }; - if (ImGui::BeginMenuBar()) - { - for (auto& menu : m_root.entries) - visitor(menu); - ImGui::EndMenuBar(); - } + for (auto& menu : m_root.entries) + visitor(menu); } EditorWindow::MenuList& EditorWindow::GetOrCreateMenuHierarchy(const std::vector& hierarchy) diff --git a/src/NazaraEditor/Editor/UI/AssetsWindow.cpp b/src/NazaraEditor/Editor/UI/AssetsWindow.cpp index 083b81b..9a81041 100644 --- a/src/NazaraEditor/Editor/UI/AssetsWindow.cpp +++ b/src/NazaraEditor/Editor/UI/AssetsWindow.cpp @@ -1,19 +1,19 @@ #include -namespace Nz +namespace NzEditor { - EditorAssetsWindow::EditorAssetsWindow(EditorBaseApplication* app) + AssetsWindow::AssetsWindow(Nz::EditorBaseApplication* app) : Nz::EditorWindow(app, "Assets Browser") { BuildMenuBar(); } - void EditorAssetsWindow::ImportAsset() + void AssetsWindow::ImportAsset() { } - void EditorAssetsWindow::BuildMenuBar() + void AssetsWindow::BuildMenuBar() { AddMenuAction("Import", "Ctrl+I", [this]() { ImportAsset(); }); } diff --git a/src/NazaraEditor/Editor/UI/InspectorWindow.cpp b/src/NazaraEditor/Editor/UI/InspectorWindow.cpp index 239fa56..213100e 100644 --- a/src/NazaraEditor/Editor/UI/InspectorWindow.cpp +++ b/src/NazaraEditor/Editor/UI/InspectorWindow.cpp @@ -2,15 +2,15 @@ #include -namespace Nz +namespace NzEditor { - EditorInspectorWindow::EditorInspectorWindow(EditorBaseApplication* app) + InspectorWindow::InspectorWindow(Nz::EditorBaseApplication* app) : Nz::EditorWindow(app, "Inspector") { - app->OnEntitySelected.Connect(this, &EditorInspectorWindow::OnEntitySelected); + app->OnEntitySelected.Connect(this, &InspectorWindow::OnEntitySelected); } - void EditorInspectorWindow::OnEditorGUI() + void InspectorWindow::OnEditorGUI() { if (!m_currentEntity) return; @@ -20,12 +20,12 @@ namespace Nz ImGui::End(); } - void EditorInspectorWindow::OnEntitySelected(entt::handle entity) + void InspectorWindow::OnEntitySelected(entt::handle entity) { m_currentEntity = entity; } - void EditorInspectorWindow::OnEntityDeselected(entt::handle) + void InspectorWindow::OnEntityDeselected(entt::handle) { m_currentEntity = {}; } diff --git a/src/NazaraEditor/Editor/UI/LevelWindow.cpp b/src/NazaraEditor/Editor/UI/LevelWindow.cpp index fcb1701..afdb683 100644 --- a/src/NazaraEditor/Editor/UI/LevelWindow.cpp +++ b/src/NazaraEditor/Editor/UI/LevelWindow.cpp @@ -2,9 +2,9 @@ #include -namespace Nz +namespace NzEditor { - EditorLevelWindow::EditorLevelWindow(EditorBaseApplication* app) + LevelWindow::LevelWindow(Nz::EditorBaseApplication* app) : Nz::EditorWindow(app, "Level") , m_currentWorld(app->GetCurrentWorld()) , m_dirty(true) @@ -15,7 +15,7 @@ namespace Nz app->OnEntityParentChanged.Connect([this](entt::handle) { m_dirty = true; }); } - void EditorLevelWindow::OnEditorGUI() + void LevelWindow::OnEditorGUI() { RefreshEntities(); @@ -32,7 +32,7 @@ namespace Nz drawHierarchy(node); } - void EditorLevelWindow::RefreshEntities() + void LevelWindow::RefreshEntities() { if (!m_dirty) return; diff --git a/src/NazaraEditor/Editor/UI/MainWindow.cpp b/src/NazaraEditor/Editor/UI/MainWindow.cpp index 5d68056..82da791 100644 --- a/src/NazaraEditor/Editor/UI/MainWindow.cpp +++ b/src/NazaraEditor/Editor/UI/MainWindow.cpp @@ -1,14 +1,14 @@ #include -namespace Nz +namespace NzEditor { - EditorMainWindow::EditorMainWindow(EditorBaseApplication* app) - : Nz::EditorWindow(app, "MainWindow") + MainWindow::MainWindow(Nz::EditorBaseApplication* app) + : Nz::EditorMainWindow(app, "MainWindow") { BuildMenuBar(); } - void EditorMainWindow::BuildMenuBar() + void MainWindow::BuildMenuBar() { AddMenuAction("File|Project|New", "Ctrl+Shift+N", [this]() { NewProject(); }); AddMenuAction("File|Project|Open", "Ctrl+Shift+O", [this]() { OpenProject(); }); @@ -20,37 +20,37 @@ namespace Nz AddMenuAction("File|Quit", "Ctrl+W", [this]() { Quit(); }); } - bool EditorMainWindow::Quit() + bool MainWindow::Quit() { return true; } - bool EditorMainWindow::NewLevel() + bool MainWindow::NewLevel() { return true; } - bool EditorMainWindow::OpenLevel() + bool MainWindow::OpenLevel() { return true; } - bool EditorMainWindow::SaveLevel() + bool MainWindow::SaveLevel() { return true; } - bool EditorMainWindow::NewProject() + bool MainWindow::NewProject() { return true; } - bool EditorMainWindow::OpenProject() + bool MainWindow::OpenProject() { return true; } - bool EditorMainWindow::SaveProject() + bool MainWindow::SaveProject() { return true; } diff --git a/src/NazaraEditor/Editor/main.cpp b/src/NazaraEditor/Editor/main.cpp index 65207c0..8cae399 100644 --- a/src/NazaraEditor/Editor/main.cpp +++ b/src/NazaraEditor/Editor/main.cpp @@ -25,14 +25,14 @@ int WinMain(int argc, char* argv[]) NazaraUnused(argc); NazaraUnused(argv); - EditorApplication app; + NzEditor::Application app; ImGui::EnsureContextOnThisThread(); - app.RegisterWindow(); - app.RegisterWindow(); - app.RegisterWindow(); - app.RegisterWindow(); + app.RegisterWindow(); + app.RegisterWindow(); + app.RegisterWindow(); + app.RegisterWindow(); entt::meta() .type(entt::type_hash::value())