From 2a61f0b20ab0e8be956341d00967ace6c9fb403a Mon Sep 17 00:00:00 2001 From: ssdfasd <2156608475@qq.com> Date: Mon, 6 Apr 2026 20:02:34 +0800 Subject: [PATCH] Refactor XCEditor into library-style layout --- docs/plan/XCUI完整架构设计与执行计划.md | 21 ++-- new_editor/CMakeLists.txt | 96 ++++++++++--------- new_editor/{src/Host => app}/Application.cpp | 18 ++-- new_editor/{src/Host => app}/Application.h | 20 ++-- .../Platform => app/Host}/AutoScreenshot.cpp | 8 +- .../XCNewEditor => app}/Host/AutoScreenshot.h | 4 +- .../Host/InputModifierTracker.h | 4 +- .../Platform => app/Host}/NativeRenderer.cpp | 6 +- .../XCNewEditor => app}/Host/NativeRenderer.h | 4 +- new_editor/app/main.cpp | 5 + .../Core}/UIEditorCommandDispatcher.h | 6 +- .../Core}/UIEditorCommandRegistry.h | 6 +- .../Core}/UIEditorMenuModel.h | 6 +- .../Core}/UIEditorPanelRegistry.h | 4 +- .../Core}/UIEditorShortcutManager.h | 6 +- .../Core}/UIEditorWorkspaceController.h | 8 +- .../UIEditorWorkspaceLayoutPersistence.h | 6 +- .../Core}/UIEditorWorkspaceModel.h | 4 +- .../Core}/UIEditorWorkspaceSession.h | 8 +- .../Widgets/UIEditorCollectionPrimitives.h | 14 +-- .../Widgets/UIEditorPanelChrome.h | 56 ++++++----- .../src/{editor => Core}/EditorShellAsset.cpp | 4 +- .../src/{editor => Core}/EditorShellAsset.h | 12 +-- .../src/Core/UIEditorCommandDispatcher.cpp | 6 +- .../src/Core/UIEditorCommandRegistry.cpp | 6 +- new_editor/src/Core/UIEditorMenuModel.cpp | 8 +- new_editor/src/Core/UIEditorPanelRegistry.cpp | 6 +- .../src/Core/UIEditorShortcutManager.cpp | 6 +- .../src/Core/UIEditorWorkspaceController.cpp | 6 +- .../UIEditorWorkspaceLayoutPersistence.cpp | 6 +- .../src/Core/UIEditorWorkspaceModel.cpp | 8 +- .../src/Core/UIEditorWorkspaceSession.cpp | 6 +- .../Widgets/UIEditorCollectionPrimitives.cpp | 24 ++--- new_editor/src/main.cpp | 5 - new_editor/ui/views/editor_shell.xcui | 2 +- .../Editor/integration/shared/CMakeLists.txt | 4 +- .../integration/shared/src/Application.h | 12 +-- .../shell/menu_bar_basic/CMakeLists.txt | 6 +- .../integration/shell/menu_bar_basic/main.cpp | 76 +++++++-------- .../state/layout_persistence/CMakeLists.txt | 6 +- .../state/layout_persistence/main.cpp | 56 +++++------ .../state/panel_session_flow/CMakeLists.txt | 6 +- .../state/panel_session_flow/main.cpp | 46 ++++----- .../state/shortcut_dispatch/CMakeLists.txt | 6 +- .../state/shortcut_dispatch/main.cpp | 56 +++++------ tests/UI/Editor/unit/CMakeLists.txt | 3 +- .../test_editor_shell_asset_validation.cpp | 14 +-- .../unit/test_input_modifier_tracker.cpp | 4 +- .../unit/test_structured_editor_shell.cpp | 10 +- .../test_ui_editor_collection_primitives.cpp | 4 +- .../test_ui_editor_command_dispatcher.cpp | 32 +++---- .../unit/test_ui_editor_command_registry.cpp | 16 ++-- .../Editor/unit/test_ui_editor_menu_model.cpp | 44 ++++----- .../unit/test_ui_editor_panel_chrome.cpp | 18 ++-- .../unit/test_ui_editor_panel_registry.cpp | 14 +-- .../unit/test_ui_editor_shortcut_manager.cpp | 34 +++---- .../test_ui_editor_workspace_controller.cpp | 32 +++---- ...ui_editor_workspace_layout_persistence.cpp | 44 ++++----- .../unit/test_ui_editor_workspace_model.cpp | 26 ++--- .../unit/test_ui_editor_workspace_session.cpp | 42 ++++---- 60 files changed, 524 insertions(+), 502 deletions(-) rename new_editor/{src/Host => app}/Application.cpp (98%) rename new_editor/{src/Host => app}/Application.h (83%) rename new_editor/{src/Platform => app/Host}/AutoScreenshot.cpp (96%) rename new_editor/{include/XCNewEditor => app}/Host/AutoScreenshot.h (94%) rename new_editor/{include/XCNewEditor => app}/Host/InputModifierTracker.h (98%) rename new_editor/{src/Platform => app/Host}/NativeRenderer.cpp (99%) rename new_editor/{include/XCNewEditor => app}/Host/NativeRenderer.h (95%) create mode 100644 new_editor/app/main.cpp rename new_editor/include/{XCNewEditor/Editor => XCEditor/Core}/UIEditorCommandDispatcher.h (93%) rename new_editor/include/{XCNewEditor/Editor => XCEditor/Core}/UIEditorCommandRegistry.h (92%) rename new_editor/include/{XCNewEditor/Editor => XCEditor/Core}/UIEditorMenuModel.h (96%) rename new_editor/include/{XCNewEditor/Editor => XCEditor/Core}/UIEditorPanelRegistry.h (94%) rename new_editor/include/{XCNewEditor/Editor => XCEditor/Core}/UIEditorShortcutManager.h (95%) rename new_editor/include/{XCNewEditor/Editor => XCEditor/Core}/UIEditorWorkspaceController.h (95%) rename new_editor/include/{XCNewEditor/Editor => XCEditor/Core}/UIEditorWorkspaceLayoutPersistence.h (92%) rename new_editor/include/{XCNewEditor/Editor => XCEditor/Core}/UIEditorWorkspaceModel.h (97%) rename new_editor/include/{XCNewEditor/Editor => XCEditor/Core}/UIEditorWorkspaceSession.h (94%) rename new_editor/include/{XCNewEditor => XCEditor}/Widgets/UIEditorCollectionPrimitives.h (81%) rename new_editor/include/{XCNewEditor => XCEditor}/Widgets/UIEditorPanelChrome.h (58%) rename new_editor/src/{editor => Core}/EditorShellAsset.cpp (98%) rename new_editor/src/{editor => Core}/EditorShellAsset.h (79%) delete mode 100644 new_editor/src/main.cpp diff --git a/docs/plan/XCUI完整架构设计与执行计划.md b/docs/plan/XCUI完整架构设计与执行计划.md index c7935351..593ee64f 100644 --- a/docs/plan/XCUI完整架构设计与执行计划.md +++ b/docs/plan/XCUI完整架构设计与执行计划.md @@ -170,9 +170,10 @@ tests/ - `editor/` 当前视为 ImGui 版本冻结区;在 XCUI editor shell 成熟前,不直接在该目录中推进替换开发。 - `tests/UI` 是当前 `Editor` 基础层的唯一实验场;所有基础能力验证、交互试验、状态流检查都必须优先放在 `tests/UI/Editor/unit` 与 `tests/UI/Editor/integration`。 -- `new_editor/` 当前冻结为空壳目录,不承担实验场职责;在 `Editor` 基础层尚未通过测试体系收口前,禁止继续往其中添加新功能、新面板或新的验证入口。 +- `new_editor/` 当前不作为试验场;它承载 `Editor` 基础层库与临时宿主骨架,禁止往其中追加业务面板、临时验证逻辑或与 `tests/UI` 重复的实验入口。 +- `new_editor/` 当前目录结构按库式 `Editor UI` 形态维护:公共头放在 `include/XCEditor/Core|Widgets`,实现放在 `src/Core|Widgets`,宿主代码放在 `app/Application.*|Host/*`,不再把库层与宿主层揉成一套业务目录。 - `engine/UI` 当前继续只放 `Core / Runtime / shared` 部分,不再继续沉积 editor-only 代码。 -- 等 `Editor` 基础层在 `tests/UI/Editor` 中稳定收口后,如确有宿主集成需要,再单独规划 `new_editor/` 或正式 `editor/` 的接入阶段。 +- 等 `Editor` 基础层在 `tests/UI/Editor` 中稳定收口后,再规划从 `new_editor/` 迁入正式 `editor/` 的接入阶段,而不是继续在旧 `editor/` 与 `new_editor/` 之间双线推进。 #### 当前过渡期目录(自 2026-04-06 起执行) ```text @@ -182,10 +183,11 @@ engine/ # 只承载 Core / Runtime / shared UI 基础层 new_editor/ + include/XCEditor/ src/ + app/ ui/ - captures/ - # 当前冻结为空壳,不作为基础层开发或实验入口 + # Editor 基础层库 + 临时宿主骨架;不承载测试验证入口与业务面板 editor/ # 当前 ImGui 版本冻结,不作为本阶段 XCUI 主实现目录 @@ -1418,7 +1420,7 @@ tests/UI/Editor/ 1. 冻结当前基于 ImGui 的 `editor/` 目录,不把它作为本阶段 XCUI 替换开发的主工作区。 2. 当前阶段所有 `Editor` 基础层实验、交互验证、状态流验证,一律放在 `tests/UI/Editor` 中完成。 -3. `new_editor/` 保持空壳冻结;在基础层未成熟前,不把它当作试验场,不往里面追加功能。 +3. `new_editor/` 不作为试验场;当前只允许维护 `Editor` 基础层库与宿主骨架,不往里面追加业务面板或验证逻辑。 4. 在具体 editor 面板之前,优先完成 editor shell 基础能力: - Splitter / pane resize - Tab strip @@ -1439,7 +1441,7 @@ tests/UI/Editor/ - 凡是发现 `layout / input / style / text / render contract / shared widget` 等共享能力缺口,必须优先回补到 `Core` 或 shared UI 层。 - 禁止在 `Editor` 层硬写临时替代实现去绕过 `Core` 缺口;否则后面迁移到正式 editor 时会再次返工。 - `tests/UI/Editor` 是当前 `Editor` 基础层的唯一实验与验证入口;需要人工操作检查的内容,也必须做成这里的集成测试场景。 -- `new_editor/` 当前保持空壳冻结,不作为试验场,不作为基础层功能承载目录,更不允许在基础层未成熟前向其中堆任何业务或验证逻辑。 +- `new_editor/` 当前不作为试验场,但作为 `Editor` 基础层库与临时宿主骨架存在;允许承载迁移必需的基础层代码,不允许堆业务面板或测试验证逻辑。 - `tests/UI/Editor` 当前只验证 `Editor` 基础壳层与状态流,不提前承担具体业务面板复刻。 ### 24.3 Editor基础层当前推进顺序(2026-04-06) @@ -1451,6 +1453,13 @@ tests/UI/Editor/ 3. 打通 `open / close / show / hide / activate` 的基础状态流,并让 tab 选择与 active panel 始终一致。 4. 先补 `tests/UI/Editor/unit` 对上述状态机与装配规则的覆盖,再补一个专注状态流的 `integration` 场景。 5. 上述基础层稳定后,再继续推进 `MenuBar / ShortcutManager / DockHost layout persistence`,最后才轮到具体业务面板迁移。 +### 24.4 当前下一阶段主线(2026-04-06) +结合当前实现进度,下一阶段执行顺序补充固定为: + +1. 先在 `tests/UI/Core` 回补共享 `popup / menu overlay primitive`,包括 `open/close`、anchor/placement、outside click dismiss、`Escape` dismiss、submenu path。 +2. 再补 `popup overlay` 与现有 `focus / input / capture / shortcut scope` 的契约收口,先做 `unit`,再做一个只验证单场景的 `integration` exe。 +3. 上述 Core 能力稳定后,再在 `tests/UI/Editor` 中推进 `MenuBar / MenuPopup / ContextMenu` 对这套 primitive 的复用,不在 `Editor` 层另写临时实现绕过 Core。 +4. 最后继续 `TabStrip / DockHost shell / workspace compose` 的真实渲染、命中与状态联动,直到 `Editor shell` 基础层具备替换当前 ImGui shell 的必要能力。 ## 25. 人力与节奏建议 若按 1 名主导工程师 + AI 辅助估算: diff --git a/new_editor/CMakeLists.txt b/new_editor/CMakeLists.txt index c13d7326..d9661639 100644 --- a/new_editor/CMakeLists.txt +++ b/new_editor/CMakeLists.txt @@ -1,117 +1,121 @@ cmake_minimum_required(VERSION 3.15) -project(XCNewEditor VERSION 0.1 LANGUAGES CXX) +project(XCUIEditor VERSION 0.1 LANGUAGES CXX) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) -file(TO_CMAKE_PATH "${CMAKE_SOURCE_DIR}" XCNEWEDITOR_REPO_ROOT_PATH) +file(TO_CMAKE_PATH "${CMAKE_SOURCE_DIR}" XCUIEDITOR_REPO_ROOT_PATH) -set(NEW_EDITOR_RESOURCE_FILES +set(XCUI_EDITOR_RESOURCE_FILES ui/views/editor_shell.xcui ui/themes/editor_shell.xctheme ) -add_library(XCNewEditorLib STATIC - src/editor/EditorShellAsset.cpp - src/editor/UIEditorCommandDispatcher.cpp - src/editor/UIEditorCommandRegistry.cpp - src/editor/UIEditorMenuModel.cpp - src/editor/UIEditorPanelRegistry.cpp - src/editor/UIEditorShortcutManager.cpp - src/editor/UIEditorWorkspaceLayoutPersistence.cpp - src/editor/UIEditorWorkspaceController.cpp - src/editor/UIEditorWorkspaceModel.cpp - src/editor/UIEditorWorkspaceSession.cpp +add_library(XCUIEditorLib STATIC + src/Core/EditorShellAsset.cpp + src/Core/UIEditorCommandDispatcher.cpp + src/Core/UIEditorCommandRegistry.cpp + src/Core/UIEditorMenuModel.cpp + src/Core/UIEditorPanelRegistry.cpp + src/Core/UIEditorShortcutManager.cpp + src/Core/UIEditorWorkspaceLayoutPersistence.cpp + src/Core/UIEditorWorkspaceController.cpp + src/Core/UIEditorWorkspaceModel.cpp + src/Core/UIEditorWorkspaceSession.cpp src/Widgets/UIEditorCollectionPrimitives.cpp ) -target_include_directories(XCNewEditorLib +target_include_directories(XCUIEditorLib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include - ${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/engine/include + PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/src ) -target_compile_definitions(XCNewEditorLib PUBLIC +target_compile_definitions(XCUIEditorLib PUBLIC UNICODE _UNICODE - XCNEWEDITOR_REPO_ROOT="${XCNEWEDITOR_REPO_ROOT_PATH}" + XCUIEDITOR_REPO_ROOT="${XCUIEDITOR_REPO_ROOT_PATH}" ) if(MSVC) - target_compile_options(XCNewEditorLib PRIVATE /utf-8 /FS) - set_property(TARGET XCNewEditorLib PROPERTY + target_compile_options(XCUIEditorLib PRIVATE /utf-8 /FS) + set_property(TARGET XCUIEditorLib PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>DLL") endif() -target_link_libraries(XCNewEditorLib PUBLIC +target_link_libraries(XCUIEditorLib PUBLIC XCEngine ) -add_library(XCNewEditorHost STATIC - src/Host/AutoScreenshot.cpp - src/Host/NativeRenderer.cpp +add_library(XCUIEditorHost STATIC + app/Host/AutoScreenshot.cpp + app/Host/NativeRenderer.cpp ) -target_include_directories(XCNewEditorHost +target_include_directories(XCUIEditorHost PUBLIC + ${CMAKE_CURRENT_SOURCE_DIR}/app + ${CMAKE_SOURCE_DIR}/engine/include + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include ${CMAKE_CURRENT_SOURCE_DIR}/src - ${CMAKE_SOURCE_DIR}/engine/include ) -target_compile_definitions(XCNewEditorHost PUBLIC +target_compile_definitions(XCUIEditorHost PUBLIC UNICODE _UNICODE ) if(MSVC) - target_compile_options(XCNewEditorHost PRIVATE /utf-8 /FS) - set_property(TARGET XCNewEditorHost PROPERTY + target_compile_options(XCUIEditorHost PRIVATE /utf-8 /FS) + set_property(TARGET XCUIEditorHost PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>DLL") endif() -target_link_libraries(XCNewEditorHost PUBLIC +target_link_libraries(XCUIEditorHost PUBLIC XCEngine d2d1.lib dwrite.lib windowscodecs.lib ) -if(XCENGINE_BUILD_NEW_EDITOR) - add_executable(XCNewEditorApp WIN32 - src/main.cpp - src/Host/Application.cpp - ${NEW_EDITOR_RESOURCE_FILES} +if(XCENGINE_BUILD_XCUI_EDITOR_APP) + add_executable(XCUIEditorApp WIN32 + app/main.cpp + app/Application.cpp + ${XCUI_EDITOR_RESOURCE_FILES} ) - target_include_directories(XCNewEditorApp PRIVATE + target_include_directories(XCUIEditorApp PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/app ${CMAKE_CURRENT_SOURCE_DIR}/include ${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/engine/include ) - target_compile_definitions(XCNewEditorApp PRIVATE + target_compile_definitions(XCUIEditorApp PRIVATE UNICODE _UNICODE - XCNEWEDITOR_REPO_ROOT="${XCNEWEDITOR_REPO_ROOT_PATH}" + XCUIEDITOR_REPO_ROOT="${XCUIEDITOR_REPO_ROOT_PATH}" ) if(MSVC) - target_compile_options(XCNewEditorApp PRIVATE /utf-8 /FS) - set_property(TARGET XCNewEditorApp PROPERTY + target_compile_options(XCUIEditorApp PRIVATE /utf-8 /FS) + set_property(TARGET XCUIEditorApp PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>DLL") endif() - target_link_libraries(XCNewEditorApp PRIVATE - XCNewEditorLib - XCNewEditorHost + target_link_libraries(XCUIEditorApp PRIVATE + XCUIEditorLib + XCUIEditorHost ) - set_target_properties(XCNewEditorApp PROPERTIES - OUTPUT_NAME "XCNewEditor" + set_target_properties(XCUIEditorApp PROPERTIES + OUTPUT_NAME "XCUIEditor" RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/bin" ) endif() -source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}" FILES ${NEW_EDITOR_RESOURCE_FILES}) +source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}" FILES ${XCUI_EDITOR_RESOURCE_FILES}) diff --git a/new_editor/src/Host/Application.cpp b/new_editor/app/Application.cpp similarity index 98% rename from new_editor/src/Host/Application.cpp rename to new_editor/app/Application.cpp index e3526abe..057d660f 100644 --- a/new_editor/src/Host/Application.cpp +++ b/new_editor/app/Application.cpp @@ -11,11 +11,11 @@ #include #include -#ifndef XCNEWEDITOR_REPO_ROOT -#define XCNEWEDITOR_REPO_ROOT "." +#ifndef XCUIEDITOR_REPO_ROOT +#define XCUIEDITOR_REPO_ROOT "." #endif -namespace XCEngine::NewEditor { +namespace XCEngine::UI::Editor { namespace { @@ -30,8 +30,8 @@ using ::XCEngine::UI::UIRect; using ::XCEngine::UI::Runtime::UIScreenFrameInput; using ::XCEngine::Input::KeyCode; -constexpr const wchar_t* kWindowClassName = L"XCNewEditorShellHost"; -constexpr const wchar_t* kWindowTitle = L"XCUI New Editor"; +constexpr const wchar_t* kWindowClassName = L"XCUIEditorShellHost"; +constexpr const wchar_t* kWindowTitle = L"XCUI Editor"; constexpr auto kReloadPollInterval = std::chrono::milliseconds(150); constexpr UIColor kOverlayBgColor(0.10f, 0.10f, 0.10f, 0.95f); @@ -561,7 +561,7 @@ void Application::AppendRuntimeOverlay(UIDrawData& drawData, float width, float const float panelHeight = 38.0f + static_cast(detailLines.size()) * 18.0f; const UIRect panelRect(width - panelWidth - 16.0f, height - panelHeight - 42.0f, panelWidth, panelHeight); - UIDrawList& overlay = drawData.EmplaceDrawList("NewEditor Runtime Overlay"); + UIDrawList& overlay = drawData.EmplaceDrawList("XCUI Editor Runtime Overlay"); overlay.AddFilledRect(panelRect, kOverlayBgColor, 10.0f); overlay.AddRectOutline(panelRect, kOverlayBorderColor, 1.0f, 10.0f); overlay.AddFilledRect( @@ -589,7 +589,7 @@ void Application::AppendRuntimeOverlay(UIDrawData& drawData, float width, float } std::filesystem::path Application::ResolveRepoRootPath() { - std::string root = XCNEWEDITOR_REPO_ROOT; + std::string root = XCUIEDITOR_REPO_ROOT; if (root.size() >= 2u && root.front() == '"' && root.back() == '"') { root = root.substr(1u, root.size() - 2u); } @@ -717,9 +717,9 @@ LRESULT CALLBACK Application::WndProc(HWND hwnd, UINT message, WPARAM wParam, LP return DefWindowProcW(hwnd, message, wParam, lParam); } -int RunNewEditor(HINSTANCE hInstance, int nCmdShow) { +int RunXCUIEditorApp(HINSTANCE hInstance, int nCmdShow) { Application application; return application.Run(hInstance, nCmdShow); } -} // namespace XCEngine::NewEditor +} // namespace XCEngine::UI::Editor diff --git a/new_editor/src/Host/Application.h b/new_editor/app/Application.h similarity index 83% rename from new_editor/src/Host/Application.h rename to new_editor/app/Application.h index 5c245295..0b0542d5 100644 --- a/new_editor/src/Host/Application.h +++ b/new_editor/app/Application.h @@ -4,11 +4,11 @@ #define NOMINMAX #endif -#include -#include -#include +#include "Host/AutoScreenshot.h" +#include "Host/InputModifierTracker.h" +#include "Host/NativeRenderer.h" -#include "editor/EditorShellAsset.h" +#include "Core/EditorShellAsset.h" #include #include @@ -22,7 +22,7 @@ #include #include -namespace XCEngine::NewEditor { +namespace XCEngine::UI::Editor { class Application { public: @@ -59,8 +59,8 @@ private: HWND m_hwnd = nullptr; HINSTANCE m_hInstance = nullptr; ATOM m_windowClassAtom = 0; - ::XCEngine::XCUI::Host::NativeRenderer m_renderer; - ::XCEngine::XCUI::Host::AutoScreenshotController m_autoScreenshot; + ::XCEngine::UI::Editor::Host::NativeRenderer m_renderer; + ::XCEngine::UI::Editor::Host::AutoScreenshotController m_autoScreenshot; ::XCEngine::UI::Runtime::UIDocumentScreenHost m_documentHost; ::XCEngine::UI::Runtime::UIScreenPlayer m_screenPlayer; ::XCEngine::UI::Runtime::UIScreenAsset m_screenAsset = {}; @@ -71,13 +71,13 @@ private: std::chrono::steady_clock::time_point m_lastReloadPollTime = {}; std::uint64_t m_frameIndex = 0; std::vector<::XCEngine::UI::UIInputEvent> m_pendingInputEvents = {}; - ::XCEngine::XCUI::Host::InputModifierTracker m_inputModifierTracker = {}; + ::XCEngine::UI::Editor::Host::InputModifierTracker m_inputModifierTracker = {}; bool m_trackingMouseLeave = false; bool m_useStructuredScreen = false; std::string m_runtimeStatus = {}; std::string m_runtimeError = {}; }; -int RunNewEditor(HINSTANCE hInstance, int nCmdShow); +int RunXCUIEditorApp(HINSTANCE hInstance, int nCmdShow); -} // namespace XCEngine::NewEditor +} // namespace XCEngine::UI::Editor diff --git a/new_editor/src/Platform/AutoScreenshot.cpp b/new_editor/app/Host/AutoScreenshot.cpp similarity index 96% rename from new_editor/src/Platform/AutoScreenshot.cpp rename to new_editor/app/Host/AutoScreenshot.cpp index 44f6803c..ef919f6f 100644 --- a/new_editor/src/Platform/AutoScreenshot.cpp +++ b/new_editor/app/Host/AutoScreenshot.cpp @@ -1,6 +1,6 @@ -#include +#include "AutoScreenshot.h" -#include +#include "NativeRenderer.h" #include #include @@ -8,7 +8,7 @@ #include #include -namespace XCEngine::XCUI::Host { +namespace XCEngine::UI::Editor::Host { void AutoScreenshotController::Initialize(const std::filesystem::path& captureRoot) { m_captureRoot = captureRoot.lexically_normal(); @@ -163,4 +163,4 @@ std::string AutoScreenshotController::SanitizeReason(std::string_view reason) { return sanitized.empty() ? "capture" : sanitized; } -} // namespace XCEngine::XCUI::Host +} // namespace XCEngine::UI::Editor::Host diff --git a/new_editor/include/XCNewEditor/Host/AutoScreenshot.h b/new_editor/app/Host/AutoScreenshot.h similarity index 94% rename from new_editor/include/XCNewEditor/Host/AutoScreenshot.h rename to new_editor/app/Host/AutoScreenshot.h index 3e3dc282..cb04e5f3 100644 --- a/new_editor/include/XCNewEditor/Host/AutoScreenshot.h +++ b/new_editor/app/Host/AutoScreenshot.h @@ -11,7 +11,7 @@ #include #include -namespace XCEngine::XCUI::Host { +namespace XCEngine::UI::Editor::Host { class NativeRenderer; @@ -49,4 +49,4 @@ private: bool m_capturePending = false; }; -} // namespace XCEngine::XCUI::Host +} // namespace XCEngine::UI::Editor::Host diff --git a/new_editor/include/XCNewEditor/Host/InputModifierTracker.h b/new_editor/app/Host/InputModifierTracker.h similarity index 98% rename from new_editor/include/XCNewEditor/Host/InputModifierTracker.h rename to new_editor/app/Host/InputModifierTracker.h index 3a174cba..c7ea143a 100644 --- a/new_editor/include/XCNewEditor/Host/InputModifierTracker.h +++ b/new_editor/app/Host/InputModifierTracker.h @@ -11,7 +11,7 @@ #include #include -namespace XCEngine::XCUI::Host { +namespace XCEngine::UI::Editor::Host { class InputModifierTracker { public: @@ -170,4 +170,4 @@ private: bool m_rightSuper = false; }; -} // namespace XCEngine::XCUI::Host +} // namespace XCEngine::UI::Editor::Host diff --git a/new_editor/src/Platform/NativeRenderer.cpp b/new_editor/app/Host/NativeRenderer.cpp similarity index 99% rename from new_editor/src/Platform/NativeRenderer.cpp rename to new_editor/app/Host/NativeRenderer.cpp index 7cc3ab4e..0a7f77a8 100644 --- a/new_editor/src/Platform/NativeRenderer.cpp +++ b/new_editor/app/Host/NativeRenderer.cpp @@ -1,10 +1,10 @@ -#include +#include "NativeRenderer.h" #include #include #include -namespace XCEngine::XCUI::Host { +namespace XCEngine::UI::Editor::Host { namespace { @@ -482,4 +482,4 @@ std::wstring NativeRenderer::Utf8ToWide(std::string_view text) { return wideText; } -} // namespace XCEngine::XCUI::Host +} // namespace XCEngine::UI::Editor::Host diff --git a/new_editor/include/XCNewEditor/Host/NativeRenderer.h b/new_editor/app/Host/NativeRenderer.h similarity index 95% rename from new_editor/include/XCNewEditor/Host/NativeRenderer.h rename to new_editor/app/Host/NativeRenderer.h index 0d6bc6fd..82f07332 100644 --- a/new_editor/include/XCNewEditor/Host/NativeRenderer.h +++ b/new_editor/app/Host/NativeRenderer.h @@ -18,7 +18,7 @@ #include #include -namespace XCEngine::XCUI::Host { +namespace XCEngine::UI::Editor::Host { class NativeRenderer { public: @@ -62,4 +62,4 @@ private: bool m_wicComInitialized = false; }; -} // namespace XCEngine::XCUI::Host +} // namespace XCEngine::UI::Editor::Host diff --git a/new_editor/app/main.cpp b/new_editor/app/main.cpp new file mode 100644 index 00000000..99224c12 --- /dev/null +++ b/new_editor/app/main.cpp @@ -0,0 +1,5 @@ +#include "Application.h" + +int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE, LPWSTR, int nCmdShow) { + return XCEngine::UI::Editor::RunXCUIEditorApp(hInstance, nCmdShow); +} diff --git a/new_editor/include/XCNewEditor/Editor/UIEditorCommandDispatcher.h b/new_editor/include/XCEditor/Core/UIEditorCommandDispatcher.h similarity index 93% rename from new_editor/include/XCNewEditor/Editor/UIEditorCommandDispatcher.h rename to new_editor/include/XCEditor/Core/UIEditorCommandDispatcher.h index a83471c1..314fbe48 100644 --- a/new_editor/include/XCNewEditor/Editor/UIEditorCommandDispatcher.h +++ b/new_editor/include/XCEditor/Core/UIEditorCommandDispatcher.h @@ -1,12 +1,12 @@ #pragma once -#include +#include #include #include #include -namespace XCEngine::NewEditor { +namespace XCEngine::UI::Editor { enum class UIEditorCommandEvaluationCode : std::uint8_t { None = 0, @@ -70,4 +70,4 @@ private: UIEditorCommandRegistry m_commandRegistry = {}; }; -} // namespace XCEngine::NewEditor +} // namespace XCEngine::UI::Editor diff --git a/new_editor/include/XCNewEditor/Editor/UIEditorCommandRegistry.h b/new_editor/include/XCEditor/Core/UIEditorCommandRegistry.h similarity index 92% rename from new_editor/include/XCNewEditor/Editor/UIEditorCommandRegistry.h rename to new_editor/include/XCEditor/Core/UIEditorCommandRegistry.h index 63c41c4c..b4288c61 100644 --- a/new_editor/include/XCNewEditor/Editor/UIEditorCommandRegistry.h +++ b/new_editor/include/XCEditor/Core/UIEditorCommandRegistry.h @@ -1,13 +1,13 @@ #pragma once -#include +#include #include #include #include #include -namespace XCEngine::NewEditor { +namespace XCEngine::UI::Editor { enum class UIEditorCommandPanelSource : std::uint8_t { None = 0, @@ -60,4 +60,4 @@ const UIEditorCommandDescriptor* FindUIEditorCommandDescriptor( UIEditorCommandRegistryValidationResult ValidateUIEditorCommandRegistry( const UIEditorCommandRegistry& registry); -} // namespace XCEngine::NewEditor +} // namespace XCEngine::UI::Editor diff --git a/new_editor/include/XCNewEditor/Editor/UIEditorMenuModel.h b/new_editor/include/XCEditor/Core/UIEditorMenuModel.h similarity index 96% rename from new_editor/include/XCNewEditor/Editor/UIEditorMenuModel.h rename to new_editor/include/XCEditor/Core/UIEditorMenuModel.h index 8bd9241a..66a7ff68 100644 --- a/new_editor/include/XCNewEditor/Editor/UIEditorMenuModel.h +++ b/new_editor/include/XCEditor/Core/UIEditorMenuModel.h @@ -1,13 +1,13 @@ #pragma once -#include +#include #include #include #include #include -namespace XCEngine::NewEditor { +namespace XCEngine::UI::Editor { class UIEditorShortcutManager; @@ -113,4 +113,4 @@ UIEditorResolvedMenuModel BuildUIEditorResolvedMenuModel( const UIEditorWorkspaceController& controller, const UIEditorShortcutManager* shortcutManager = nullptr); -} // namespace XCEngine::NewEditor +} // namespace XCEngine::UI::Editor diff --git a/new_editor/include/XCNewEditor/Editor/UIEditorPanelRegistry.h b/new_editor/include/XCEditor/Core/UIEditorPanelRegistry.h similarity index 94% rename from new_editor/include/XCNewEditor/Editor/UIEditorPanelRegistry.h rename to new_editor/include/XCEditor/Core/UIEditorPanelRegistry.h index 40358f8f..084df44c 100644 --- a/new_editor/include/XCNewEditor/Editor/UIEditorPanelRegistry.h +++ b/new_editor/include/XCEditor/Core/UIEditorPanelRegistry.h @@ -5,7 +5,7 @@ #include #include -namespace XCEngine::NewEditor { +namespace XCEngine::UI::Editor { enum class UIEditorPanelPresentationKind : std::uint8_t { Placeholder = 0 @@ -49,4 +49,4 @@ const UIEditorPanelDescriptor* FindUIEditorPanelDescriptor( UIEditorPanelRegistryValidationResult ValidateUIEditorPanelRegistry( const UIEditorPanelRegistry& registry); -} // namespace XCEngine::NewEditor +} // namespace XCEngine::UI::Editor diff --git a/new_editor/include/XCNewEditor/Editor/UIEditorShortcutManager.h b/new_editor/include/XCEditor/Core/UIEditorShortcutManager.h similarity index 95% rename from new_editor/include/XCNewEditor/Editor/UIEditorShortcutManager.h rename to new_editor/include/XCEditor/Core/UIEditorShortcutManager.h index a1097d86..16fce916 100644 --- a/new_editor/include/XCNewEditor/Editor/UIEditorShortcutManager.h +++ b/new_editor/include/XCEditor/Core/UIEditorShortcutManager.h @@ -1,6 +1,6 @@ #pragma once -#include +#include #include @@ -8,7 +8,7 @@ #include #include -namespace XCEngine::NewEditor { +namespace XCEngine::UI::Editor { enum class UIEditorShortcutManagerValidationCode : std::uint8_t { None = 0, @@ -97,4 +97,4 @@ private: XCEngine::UI::UIShortcutRegistry m_shortcutRegistry = {}; }; -} // namespace XCEngine::NewEditor +} // namespace XCEngine::UI::Editor diff --git a/new_editor/include/XCNewEditor/Editor/UIEditorWorkspaceController.h b/new_editor/include/XCEditor/Core/UIEditorWorkspaceController.h similarity index 95% rename from new_editor/include/XCNewEditor/Editor/UIEditorWorkspaceController.h rename to new_editor/include/XCEditor/Core/UIEditorWorkspaceController.h index b1f31b3e..94806b5c 100644 --- a/new_editor/include/XCNewEditor/Editor/UIEditorWorkspaceController.h +++ b/new_editor/include/XCEditor/Core/UIEditorWorkspaceController.h @@ -1,14 +1,14 @@ #pragma once -#include -#include +#include +#include #include #include #include #include -namespace XCEngine::NewEditor { +namespace XCEngine::UI::Editor { enum class UIEditorWorkspaceCommandKind : std::uint8_t { OpenPanel = 0, @@ -135,4 +135,4 @@ UIEditorWorkspaceController BuildDefaultUIEditorWorkspaceController( const UIEditorPanelRegistry& panelRegistry, const UIEditorWorkspaceModel& workspace); -} // namespace XCEngine::NewEditor +} // namespace XCEngine::UI::Editor diff --git a/new_editor/include/XCNewEditor/Editor/UIEditorWorkspaceLayoutPersistence.h b/new_editor/include/XCEditor/Core/UIEditorWorkspaceLayoutPersistence.h similarity index 92% rename from new_editor/include/XCNewEditor/Editor/UIEditorWorkspaceLayoutPersistence.h rename to new_editor/include/XCEditor/Core/UIEditorWorkspaceLayoutPersistence.h index 39b4d157..3aff41c3 100644 --- a/new_editor/include/XCNewEditor/Editor/UIEditorWorkspaceLayoutPersistence.h +++ b/new_editor/include/XCEditor/Core/UIEditorWorkspaceLayoutPersistence.h @@ -1,12 +1,12 @@ #pragma once -#include +#include #include #include #include -namespace XCEngine::NewEditor { +namespace XCEngine::UI::Editor { struct UIEditorWorkspaceLayoutSnapshot { UIEditorWorkspaceModel workspace = {}; @@ -52,4 +52,4 @@ UIEditorWorkspaceLayoutLoadResult DeserializeUIEditorWorkspaceLayoutSnapshot( const UIEditorPanelRegistry& panelRegistry, std::string_view serializedLayout); -} // namespace XCEngine::NewEditor +} // namespace XCEngine::UI::Editor diff --git a/new_editor/include/XCNewEditor/Editor/UIEditorWorkspaceModel.h b/new_editor/include/XCEditor/Core/UIEditorWorkspaceModel.h similarity index 97% rename from new_editor/include/XCNewEditor/Editor/UIEditorWorkspaceModel.h rename to new_editor/include/XCEditor/Core/UIEditorWorkspaceModel.h index 7ded89ed..e3d7809f 100644 --- a/new_editor/include/XCNewEditor/Editor/UIEditorWorkspaceModel.h +++ b/new_editor/include/XCEditor/Core/UIEditorWorkspaceModel.h @@ -6,7 +6,7 @@ #include #include -namespace XCEngine::NewEditor { +namespace XCEngine::UI::Editor { enum class UIEditorWorkspaceNodeKind : std::uint8_t { Panel = 0, @@ -115,4 +115,4 @@ bool TryActivateUIEditorWorkspacePanel( UIEditorWorkspaceModel& workspace, std::string_view panelId); -} // namespace XCEngine::NewEditor +} // namespace XCEngine::UI::Editor diff --git a/new_editor/include/XCNewEditor/Editor/UIEditorWorkspaceSession.h b/new_editor/include/XCEditor/Core/UIEditorWorkspaceSession.h similarity index 94% rename from new_editor/include/XCNewEditor/Editor/UIEditorWorkspaceSession.h rename to new_editor/include/XCEditor/Core/UIEditorWorkspaceSession.h index 9904a5d5..64d35aa9 100644 --- a/new_editor/include/XCNewEditor/Editor/UIEditorWorkspaceSession.h +++ b/new_editor/include/XCEditor/Core/UIEditorWorkspaceSession.h @@ -1,14 +1,14 @@ #pragma once -#include -#include +#include +#include #include #include #include #include -namespace XCEngine::NewEditor { +namespace XCEngine::UI::Editor { struct UIEditorPanelSessionState { std::string panelId = {}; @@ -95,4 +95,4 @@ bool TryActivateUIEditorWorkspacePanel( UIEditorWorkspaceSession& session, std::string_view panelId); -} // namespace XCEngine::NewEditor +} // namespace XCEngine::UI::Editor diff --git a/new_editor/include/XCNewEditor/Widgets/UIEditorCollectionPrimitives.h b/new_editor/include/XCEditor/Widgets/UIEditorCollectionPrimitives.h similarity index 81% rename from new_editor/include/XCNewEditor/Widgets/UIEditorCollectionPrimitives.h rename to new_editor/include/XCEditor/Widgets/UIEditorCollectionPrimitives.h index c804a111..9ecb8a57 100644 --- a/new_editor/include/XCNewEditor/Widgets/UIEditorCollectionPrimitives.h +++ b/new_editor/include/XCEditor/Widgets/UIEditorCollectionPrimitives.h @@ -5,9 +5,7 @@ #include #include -namespace XCEngine { -namespace UI { -namespace Widgets { +namespace XCEngine::UI::Editor::Widgets { enum class UIEditorCollectionPrimitiveKind : std::uint8_t { None = 0, @@ -27,15 +25,13 @@ bool IsUIEditorCollectionPrimitiveHoverable(UIEditorCollectionPrimitiveKind kind bool DoesUIEditorCollectionPrimitiveClipChildren(UIEditorCollectionPrimitiveKind kind); float ResolveUIEditorCollectionPrimitivePadding( UIEditorCollectionPrimitiveKind kind, - const Style::UITheme& theme); + const ::XCEngine::UI::Style::UITheme& theme); float ResolveUIEditorCollectionPrimitiveDefaultHeight( UIEditorCollectionPrimitiveKind kind, - const Style::UITheme& theme); + const ::XCEngine::UI::Style::UITheme& theme); float ResolveUIEditorCollectionPrimitiveIndent( UIEditorCollectionPrimitiveKind kind, - const Style::UITheme& theme, + const ::XCEngine::UI::Style::UITheme& theme, float indentLevel); -} // namespace Widgets -} // namespace UI -} // namespace XCEngine +} // namespace XCEngine::UI::Editor::Widgets diff --git a/new_editor/include/XCNewEditor/Widgets/UIEditorPanelChrome.h b/new_editor/include/XCEditor/Widgets/UIEditorPanelChrome.h similarity index 58% rename from new_editor/include/XCNewEditor/Widgets/UIEditorPanelChrome.h rename to new_editor/include/XCEditor/Widgets/UIEditorPanelChrome.h index 2401fc21..95509c23 100644 --- a/new_editor/include/XCNewEditor/Widgets/UIEditorPanelChrome.h +++ b/new_editor/include/XCEditor/Widgets/UIEditorPanelChrome.h @@ -5,9 +5,7 @@ #include #include -namespace XCEngine { -namespace UI { -namespace Widgets { +namespace XCEngine::UI::Editor::Widgets { struct UIEditorPanelChromeState { bool active = false; @@ -33,27 +31,35 @@ struct UIEditorPanelChromeMetrics { }; struct UIEditorPanelChromePalette { - UIColor surfaceColor = UIColor(9.0f / 255.0f, 13.0f / 255.0f, 18.0f / 255.0f, 212.0f / 255.0f); - UIColor borderColor = UIColor(53.0f / 255.0f, 72.0f / 255.0f, 96.0f / 255.0f, 1.0f); - UIColor accentColor = UIColor(84.0f / 255.0f, 176.0f / 255.0f, 244.0f / 255.0f, 1.0f); - UIColor hoveredAccentColor = UIColor(1.0f, 206.0f / 255.0f, 112.0f / 255.0f, 1.0f); - UIColor headerColor = UIColor(13.0f / 255.0f, 20.0f / 255.0f, 28.0f / 255.0f, 242.0f / 255.0f); - UIColor textPrimary = UIColor(232.0f / 255.0f, 238.0f / 255.0f, 246.0f / 255.0f, 1.0f); - UIColor textSecondary = UIColor(150.0f / 255.0f, 164.0f / 255.0f, 184.0f / 255.0f, 1.0f); - UIColor textMuted = UIColor(108.0f / 255.0f, 123.0f / 255.0f, 145.0f / 255.0f, 1.0f); + ::XCEngine::UI::UIColor surfaceColor = + ::XCEngine::UI::UIColor(9.0f / 255.0f, 13.0f / 255.0f, 18.0f / 255.0f, 212.0f / 255.0f); + ::XCEngine::UI::UIColor borderColor = + ::XCEngine::UI::UIColor(53.0f / 255.0f, 72.0f / 255.0f, 96.0f / 255.0f, 1.0f); + ::XCEngine::UI::UIColor accentColor = + ::XCEngine::UI::UIColor(84.0f / 255.0f, 176.0f / 255.0f, 244.0f / 255.0f, 1.0f); + ::XCEngine::UI::UIColor hoveredAccentColor = + ::XCEngine::UI::UIColor(1.0f, 206.0f / 255.0f, 112.0f / 255.0f, 1.0f); + ::XCEngine::UI::UIColor headerColor = + ::XCEngine::UI::UIColor(13.0f / 255.0f, 20.0f / 255.0f, 28.0f / 255.0f, 242.0f / 255.0f); + ::XCEngine::UI::UIColor textPrimary = + ::XCEngine::UI::UIColor(232.0f / 255.0f, 238.0f / 255.0f, 246.0f / 255.0f, 1.0f); + ::XCEngine::UI::UIColor textSecondary = + ::XCEngine::UI::UIColor(150.0f / 255.0f, 164.0f / 255.0f, 184.0f / 255.0f, 1.0f); + ::XCEngine::UI::UIColor textMuted = + ::XCEngine::UI::UIColor(108.0f / 255.0f, 123.0f / 255.0f, 145.0f / 255.0f, 1.0f); }; -inline UIRect BuildUIEditorPanelChromeHeaderRect( - const UIRect& panelRect, +inline ::XCEngine::UI::UIRect BuildUIEditorPanelChromeHeaderRect( + const ::XCEngine::UI::UIRect& panelRect, const UIEditorPanelChromeMetrics& metrics = {}) { - return UIRect( + return ::XCEngine::UI::UIRect( panelRect.x, panelRect.y, panelRect.width, metrics.headerHeight); } -inline UIColor ResolveUIEditorPanelChromeBorderColor( +inline ::XCEngine::UI::UIColor ResolveUIEditorPanelChromeBorderColor( const UIEditorPanelChromeState& state, const UIEditorPanelChromePalette& palette = {}) { if (state.active) { @@ -76,8 +82,8 @@ inline float ResolveUIEditorPanelChromeBorderThickness( } inline void AppendUIEditorPanelChromeBackground( - UIDrawList& drawList, - const UIRect& panelRect, + ::XCEngine::UI::UIDrawList& drawList, + const ::XCEngine::UI::UIRect& panelRect, const UIEditorPanelChromeState& state, const UIEditorPanelChromePalette& palette = {}, const UIEditorPanelChromeMetrics& metrics = {}) { @@ -94,33 +100,33 @@ inline void AppendUIEditorPanelChromeBackground( } inline void AppendUIEditorPanelChromeForeground( - UIDrawList& drawList, - const UIRect& panelRect, + ::XCEngine::UI::UIDrawList& drawList, + const ::XCEngine::UI::UIRect& panelRect, const UIEditorPanelChromeText& text, const UIEditorPanelChromePalette& palette = {}, const UIEditorPanelChromeMetrics& metrics = {}) { if (!text.title.empty()) { drawList.AddText( - UIPoint(panelRect.x + metrics.titleInsetX, panelRect.y + metrics.titleInsetY), + ::XCEngine::UI::UIPoint(panelRect.x + metrics.titleInsetX, panelRect.y + metrics.titleInsetY), std::string(text.title), palette.textPrimary); } if (!text.subtitle.empty()) { drawList.AddText( - UIPoint(panelRect.x + metrics.titleInsetX, panelRect.y + metrics.subtitleInsetY), + ::XCEngine::UI::UIPoint(panelRect.x + metrics.titleInsetX, panelRect.y + metrics.subtitleInsetY), std::string(text.subtitle), palette.textSecondary); } if (!text.footer.empty()) { drawList.AddText( - UIPoint(panelRect.x + metrics.footerInsetX, panelRect.y + panelRect.height - metrics.footerInsetBottom), + ::XCEngine::UI::UIPoint( + panelRect.x + metrics.footerInsetX, + panelRect.y + panelRect.height - metrics.footerInsetBottom), std::string(text.footer), palette.textMuted); } } -} // namespace Widgets -} // namespace UI -} // namespace XCEngine +} // namespace XCEngine::UI::Editor::Widgets diff --git a/new_editor/src/editor/EditorShellAsset.cpp b/new_editor/src/Core/EditorShellAsset.cpp similarity index 98% rename from new_editor/src/editor/EditorShellAsset.cpp rename to new_editor/src/Core/EditorShellAsset.cpp index e293b454..9346901a 100644 --- a/new_editor/src/editor/EditorShellAsset.cpp +++ b/new_editor/src/Core/EditorShellAsset.cpp @@ -2,7 +2,7 @@ #include -namespace XCEngine::NewEditor { +namespace XCEngine::UI::Editor { namespace { @@ -103,4 +103,4 @@ EditorShellAssetValidationResult ValidateEditorShellAsset(const EditorShellAsset return {}; } -} // namespace XCEngine::NewEditor +} // namespace XCEngine::UI::Editor diff --git a/new_editor/src/editor/EditorShellAsset.h b/new_editor/src/Core/EditorShellAsset.h similarity index 79% rename from new_editor/src/editor/EditorShellAsset.h rename to new_editor/src/Core/EditorShellAsset.h index 8bca4a03..f70f41fd 100644 --- a/new_editor/src/editor/EditorShellAsset.h +++ b/new_editor/src/Core/EditorShellAsset.h @@ -1,17 +1,17 @@ #pragma once -#include -#include -#include +#include +#include +#include #include #include #include -namespace XCEngine::NewEditor { +namespace XCEngine::UI::Editor { struct EditorShellAsset { - std::string screenId = "new_editor.shell"; + std::string screenId = "editor.shell"; std::filesystem::path documentPath = {}; std::filesystem::path themePath = {}; std::filesystem::path captureRootPath = {}; @@ -42,4 +42,4 @@ struct EditorShellAssetValidationResult { EditorShellAsset BuildDefaultEditorShellAsset(const std::filesystem::path& repoRoot); EditorShellAssetValidationResult ValidateEditorShellAsset(const EditorShellAsset& asset); -} // namespace XCEngine::NewEditor +} // namespace XCEngine::UI::Editor diff --git a/new_editor/src/Core/UIEditorCommandDispatcher.cpp b/new_editor/src/Core/UIEditorCommandDispatcher.cpp index 8e86a33a..c4f03d7f 100644 --- a/new_editor/src/Core/UIEditorCommandDispatcher.cpp +++ b/new_editor/src/Core/UIEditorCommandDispatcher.cpp @@ -1,8 +1,8 @@ -#include +#include #include -namespace XCEngine::NewEditor { +namespace XCEngine::UI::Editor { namespace { @@ -171,4 +171,4 @@ UIEditorCommandDispatchResult UIEditorCommandDispatcher::Dispatch( : "Editor command dispatch was rejected."); } -} // namespace XCEngine::NewEditor +} // namespace XCEngine::UI::Editor diff --git a/new_editor/src/Core/UIEditorCommandRegistry.cpp b/new_editor/src/Core/UIEditorCommandRegistry.cpp index 3e0ccffa..10770ebc 100644 --- a/new_editor/src/Core/UIEditorCommandRegistry.cpp +++ b/new_editor/src/Core/UIEditorCommandRegistry.cpp @@ -1,9 +1,9 @@ -#include +#include #include #include -namespace XCEngine::NewEditor { +namespace XCEngine::UI::Editor { namespace { @@ -127,4 +127,4 @@ UIEditorCommandRegistryValidationResult ValidateUIEditorCommandRegistry( return {}; } -} // namespace XCEngine::NewEditor +} // namespace XCEngine::UI::Editor diff --git a/new_editor/src/Core/UIEditorMenuModel.cpp b/new_editor/src/Core/UIEditorMenuModel.cpp index 292a9a36..9cc721f2 100644 --- a/new_editor/src/Core/UIEditorMenuModel.cpp +++ b/new_editor/src/Core/UIEditorMenuModel.cpp @@ -1,11 +1,11 @@ -#include +#include -#include +#include #include #include -namespace XCEngine::NewEditor { +namespace XCEngine::UI::Editor { namespace { @@ -262,4 +262,4 @@ UIEditorResolvedMenuModel BuildUIEditorResolvedMenuModel( return resolved; } -} // namespace XCEngine::NewEditor +} // namespace XCEngine::UI::Editor diff --git a/new_editor/src/Core/UIEditorPanelRegistry.cpp b/new_editor/src/Core/UIEditorPanelRegistry.cpp index ffcaac88..111f88a6 100644 --- a/new_editor/src/Core/UIEditorPanelRegistry.cpp +++ b/new_editor/src/Core/UIEditorPanelRegistry.cpp @@ -1,9 +1,9 @@ -#include +#include #include #include -namespace XCEngine::NewEditor { +namespace XCEngine::UI::Editor { namespace { @@ -71,4 +71,4 @@ UIEditorPanelRegistryValidationResult ValidateUIEditorPanelRegistry( return {}; } -} // namespace XCEngine::NewEditor +} // namespace XCEngine::UI::Editor diff --git a/new_editor/src/Core/UIEditorShortcutManager.cpp b/new_editor/src/Core/UIEditorShortcutManager.cpp index fc276f2a..d106286f 100644 --- a/new_editor/src/Core/UIEditorShortcutManager.cpp +++ b/new_editor/src/Core/UIEditorShortcutManager.cpp @@ -1,10 +1,10 @@ -#include +#include #include #include -namespace XCEngine::NewEditor { +namespace XCEngine::UI::Editor { namespace { @@ -341,4 +341,4 @@ UIEditorShortcutDispatchResult UIEditorShortcutManager::Dispatch( return result; } -} // namespace XCEngine::NewEditor +} // namespace XCEngine::UI::Editor diff --git a/new_editor/src/Core/UIEditorWorkspaceController.cpp b/new_editor/src/Core/UIEditorWorkspaceController.cpp index 3d52a70d..8743babd 100644 --- a/new_editor/src/Core/UIEditorWorkspaceController.cpp +++ b/new_editor/src/Core/UIEditorWorkspaceController.cpp @@ -1,8 +1,8 @@ -#include +#include #include -namespace XCEngine::NewEditor { +namespace XCEngine::UI::Editor { namespace { @@ -397,4 +397,4 @@ UIEditorWorkspaceController BuildDefaultUIEditorWorkspaceController( BuildDefaultUIEditorWorkspaceSession(panelRegistry, workspace)); } -} // namespace XCEngine::NewEditor +} // namespace XCEngine::UI::Editor diff --git a/new_editor/src/Core/UIEditorWorkspaceLayoutPersistence.cpp b/new_editor/src/Core/UIEditorWorkspaceLayoutPersistence.cpp index 39ab76c6..f3e19e55 100644 --- a/new_editor/src/Core/UIEditorWorkspaceLayoutPersistence.cpp +++ b/new_editor/src/Core/UIEditorWorkspaceLayoutPersistence.cpp @@ -1,4 +1,4 @@ -#include +#include #include #include @@ -7,7 +7,7 @@ #include #include -namespace XCEngine::NewEditor { +namespace XCEngine::UI::Editor { namespace { @@ -494,4 +494,4 @@ UIEditorWorkspaceLayoutLoadResult DeserializeUIEditorWorkspaceLayoutSnapshot( return result; } -} // namespace XCEngine::NewEditor +} // namespace XCEngine::UI::Editor diff --git a/new_editor/src/Core/UIEditorWorkspaceModel.cpp b/new_editor/src/Core/UIEditorWorkspaceModel.cpp index a915d0cf..e5decedb 100644 --- a/new_editor/src/Core/UIEditorWorkspaceModel.cpp +++ b/new_editor/src/Core/UIEditorWorkspaceModel.cpp @@ -1,11 +1,11 @@ -#include -#include +#include +#include #include #include #include -namespace XCEngine::NewEditor { +namespace XCEngine::UI::Editor { namespace { @@ -354,4 +354,4 @@ bool TryActivateUIEditorWorkspacePanel( return true; } -} // namespace XCEngine::NewEditor +} // namespace XCEngine::UI::Editor diff --git a/new_editor/src/Core/UIEditorWorkspaceSession.cpp b/new_editor/src/Core/UIEditorWorkspaceSession.cpp index 4cbc45be..0f57c5e4 100644 --- a/new_editor/src/Core/UIEditorWorkspaceSession.cpp +++ b/new_editor/src/Core/UIEditorWorkspaceSession.cpp @@ -1,9 +1,9 @@ -#include +#include #include #include -namespace XCEngine::NewEditor { +namespace XCEngine::UI::Editor { namespace { @@ -442,4 +442,4 @@ bool TryActivateUIEditorWorkspacePanel( !AreUIEditorWorkspaceSessionsEquivalent(sessionBefore, session); } -} // namespace XCEngine::NewEditor +} // namespace XCEngine::UI::Editor diff --git a/new_editor/src/Widgets/UIEditorCollectionPrimitives.cpp b/new_editor/src/Widgets/UIEditorCollectionPrimitives.cpp index d135513b..87819fff 100644 --- a/new_editor/src/Widgets/UIEditorCollectionPrimitives.cpp +++ b/new_editor/src/Widgets/UIEditorCollectionPrimitives.cpp @@ -1,18 +1,16 @@ -#include +#include -namespace XCEngine { -namespace UI { -namespace Widgets { +namespace XCEngine::UI::Editor::Widgets { namespace { float ResolveFloatToken( - const Style::UITheme& theme, + const ::XCEngine::UI::Style::UITheme& theme, const char* tokenName, float fallbackValue) { - const Style::UITokenResolveResult result = - theme.ResolveToken(tokenName, Style::UIStyleValueType::Float); - if (result.status != Style::UITokenResolveStatus::Resolved) { + const ::XCEngine::UI::Style::UITokenResolveResult result = + theme.ResolveToken(tokenName, ::XCEngine::UI::Style::UIStyleValueType::Float); + if (result.status != ::XCEngine::UI::Style::UITokenResolveStatus::Resolved) { return fallbackValue; } @@ -76,7 +74,7 @@ bool DoesUIEditorCollectionPrimitiveClipChildren(UIEditorCollectionPrimitiveKind float ResolveUIEditorCollectionPrimitivePadding( UIEditorCollectionPrimitiveKind kind, - const Style::UITheme& theme) { + const ::XCEngine::UI::Style::UITheme& theme) { return kind == UIEditorCollectionPrimitiveKind::TreeView || kind == UIEditorCollectionPrimitiveKind::ListView || kind == UIEditorCollectionPrimitiveKind::PropertySection @@ -86,7 +84,7 @@ float ResolveUIEditorCollectionPrimitivePadding( float ResolveUIEditorCollectionPrimitiveDefaultHeight( UIEditorCollectionPrimitiveKind kind, - const Style::UITheme& theme) { + const ::XCEngine::UI::Style::UITheme& theme) { switch (kind) { case UIEditorCollectionPrimitiveKind::TreeItem: return ResolveFloatToken(theme, "size.treeItemHeight", 28.0f); @@ -103,13 +101,11 @@ float ResolveUIEditorCollectionPrimitiveDefaultHeight( float ResolveUIEditorCollectionPrimitiveIndent( UIEditorCollectionPrimitiveKind kind, - const Style::UITheme& theme, + const ::XCEngine::UI::Style::UITheme& theme, float indentLevel) { return kind == UIEditorCollectionPrimitiveKind::TreeItem ? indentLevel * ResolveFloatToken(theme, "size.treeIndent", 18.0f) : 0.0f; } -} // namespace Widgets -} // namespace UI -} // namespace XCEngine +} // namespace XCEngine::UI::Editor::Widgets diff --git a/new_editor/src/main.cpp b/new_editor/src/main.cpp deleted file mode 100644 index e72fd270..00000000 --- a/new_editor/src/main.cpp +++ /dev/null @@ -1,5 +0,0 @@ -#include "Host/Application.h" - -int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE, LPWSTR, int nCmdShow) { - return XCEngine::NewEditor::RunNewEditor(hInstance, nCmdShow); -} diff --git a/new_editor/ui/views/editor_shell.xcui b/new_editor/ui/views/editor_shell.xcui index f800e26d..376b8116 100644 --- a/new_editor/ui/views/editor_shell.xcui +++ b/new_editor/ui/views/editor_shell.xcui @@ -1,5 +1,5 @@ -#include -#include +#include "Host/AutoScreenshot.h" +#include "Host/InputModifierTracker.h" +#include "Host/NativeRenderer.h" #include #include @@ -58,8 +58,8 @@ private: HWND m_hwnd = nullptr; HINSTANCE m_hInstance = nullptr; ATOM m_windowClassAtom = 0; - ::XCEngine::XCUI::Host::NativeRenderer m_renderer; - ::XCEngine::XCUI::Host::AutoScreenshotController m_autoScreenshot; + ::XCEngine::UI::Editor::Host::NativeRenderer m_renderer; + ::XCEngine::UI::Editor::Host::AutoScreenshotController m_autoScreenshot; ::XCEngine::UI::Runtime::UIDocumentScreenHost m_documentHost; ::XCEngine::UI::Runtime::UIScreenPlayer m_screenPlayer; ::XCEngine::UI::Runtime::UIScreenAsset m_screenAsset = {}; @@ -70,7 +70,7 @@ private: std::chrono::steady_clock::time_point m_lastReloadPollTime = {}; std::uint64_t m_frameIndex = 0; std::vector<::XCEngine::UI::UIInputEvent> m_pendingInputEvents = {}; - ::XCEngine::XCUI::Host::InputModifierTracker m_inputModifierTracker = {}; + ::XCEngine::UI::Editor::Host::InputModifierTracker m_inputModifierTracker = {}; bool m_trackingMouseLeave = false; bool m_useStructuredScreen = false; std::string m_runtimeStatus = {}; diff --git a/tests/UI/Editor/integration/shell/menu_bar_basic/CMakeLists.txt b/tests/UI/Editor/integration/shell/menu_bar_basic/CMakeLists.txt index f69e0fb1..f3f1a199 100644 --- a/tests/UI/Editor/integration/shell/menu_bar_basic/CMakeLists.txt +++ b/tests/UI/Editor/integration/shell/menu_bar_basic/CMakeLists.txt @@ -5,6 +5,8 @@ add_executable(editor_ui_menu_bar_basic_validation WIN32 target_include_directories(editor_ui_menu_bar_basic_validation PRIVATE ${CMAKE_SOURCE_DIR}/engine/include ${CMAKE_SOURCE_DIR}/new_editor/include + ${CMAKE_SOURCE_DIR}/new_editor/app + ${CMAKE_SOURCE_DIR}/new_editor/src ) target_compile_definitions(editor_ui_menu_bar_basic_validation PRIVATE @@ -20,8 +22,8 @@ if(MSVC) endif() target_link_libraries(editor_ui_menu_bar_basic_validation PRIVATE - XCNewEditorLib - XCNewEditorHost + XCUIEditorLib + XCUIEditorHost ) set_target_properties(editor_ui_menu_bar_basic_validation PROPERTIES diff --git a/tests/UI/Editor/integration/shell/menu_bar_basic/main.cpp b/tests/UI/Editor/integration/shell/menu_bar_basic/main.cpp index 00ff5549..14cd78ac 100644 --- a/tests/UI/Editor/integration/shell/menu_bar_basic/main.cpp +++ b/tests/UI/Editor/integration/shell/menu_bar_basic/main.cpp @@ -2,11 +2,11 @@ #define NOMINMAX #endif -#include -#include -#include -#include -#include +#include +#include +#include +#include "Host/AutoScreenshot.h" +#include "Host/NativeRenderer.h" #include #include @@ -29,37 +29,37 @@ namespace { using XCEngine::Input::KeyCode; -using XCEngine::NewEditor::BuildDefaultUIEditorWorkspaceController; -using XCEngine::NewEditor::BuildUIEditorResolvedMenuModel; -using XCEngine::NewEditor::BuildUIEditorWorkspacePanel; -using XCEngine::NewEditor::BuildUIEditorWorkspaceSplit; -using XCEngine::NewEditor::BuildUIEditorWorkspaceTabStack; -using XCEngine::NewEditor::CollectUIEditorWorkspaceVisiblePanels; -using XCEngine::NewEditor::FindUIEditorPanelSessionState; -using XCEngine::NewEditor::GetUIEditorCommandDispatchStatusName; -using XCEngine::NewEditor::GetUIEditorMenuItemKindName; -using XCEngine::NewEditor::GetUIEditorWorkspaceCommandStatusName; -using XCEngine::NewEditor::UIEditorCommandDispatchResult; -using XCEngine::NewEditor::UIEditorCommandDispatcher; -using XCEngine::NewEditor::UIEditorCommandPanelSource; -using XCEngine::NewEditor::UIEditorCommandRegistry; -using XCEngine::NewEditor::UIEditorMenuCheckedStateSource; -using XCEngine::NewEditor::UIEditorMenuDescriptor; -using XCEngine::NewEditor::UIEditorMenuItemDescriptor; -using XCEngine::NewEditor::UIEditorMenuItemKind; -using XCEngine::NewEditor::UIEditorMenuModel; -using XCEngine::NewEditor::UIEditorPanelRegistry; -using XCEngine::NewEditor::UIEditorResolvedMenuDescriptor; -using XCEngine::NewEditor::UIEditorResolvedMenuItem; -using XCEngine::NewEditor::UIEditorResolvedMenuModel; -using XCEngine::NewEditor::UIEditorShortcutManager; -using XCEngine::NewEditor::UIEditorWorkspaceCommandKind; -using XCEngine::NewEditor::UIEditorWorkspaceCommandStatus; -using XCEngine::NewEditor::UIEditorWorkspaceController; -using XCEngine::NewEditor::UIEditorWorkspaceModel; -using XCEngine::NewEditor::UIEditorWorkspaceSession; -using XCEngine::NewEditor::UIEditorWorkspaceSplitAxis; -using XCEngine::NewEditor::ValidateUIEditorMenuModel; +using XCEngine::UI::Editor::BuildDefaultUIEditorWorkspaceController; +using XCEngine::UI::Editor::BuildUIEditorResolvedMenuModel; +using XCEngine::UI::Editor::BuildUIEditorWorkspacePanel; +using XCEngine::UI::Editor::BuildUIEditorWorkspaceSplit; +using XCEngine::UI::Editor::BuildUIEditorWorkspaceTabStack; +using XCEngine::UI::Editor::CollectUIEditorWorkspaceVisiblePanels; +using XCEngine::UI::Editor::FindUIEditorPanelSessionState; +using XCEngine::UI::Editor::GetUIEditorCommandDispatchStatusName; +using XCEngine::UI::Editor::GetUIEditorMenuItemKindName; +using XCEngine::UI::Editor::GetUIEditorWorkspaceCommandStatusName; +using XCEngine::UI::Editor::UIEditorCommandDispatchResult; +using XCEngine::UI::Editor::UIEditorCommandDispatcher; +using XCEngine::UI::Editor::UIEditorCommandPanelSource; +using XCEngine::UI::Editor::UIEditorCommandRegistry; +using XCEngine::UI::Editor::UIEditorMenuCheckedStateSource; +using XCEngine::UI::Editor::UIEditorMenuDescriptor; +using XCEngine::UI::Editor::UIEditorMenuItemDescriptor; +using XCEngine::UI::Editor::UIEditorMenuItemKind; +using XCEngine::UI::Editor::UIEditorMenuModel; +using XCEngine::UI::Editor::UIEditorPanelRegistry; +using XCEngine::UI::Editor::UIEditorResolvedMenuDescriptor; +using XCEngine::UI::Editor::UIEditorResolvedMenuItem; +using XCEngine::UI::Editor::UIEditorResolvedMenuModel; +using XCEngine::UI::Editor::UIEditorShortcutManager; +using XCEngine::UI::Editor::UIEditorWorkspaceCommandKind; +using XCEngine::UI::Editor::UIEditorWorkspaceCommandStatus; +using XCEngine::UI::Editor::UIEditorWorkspaceController; +using XCEngine::UI::Editor::UIEditorWorkspaceModel; +using XCEngine::UI::Editor::UIEditorWorkspaceSession; +using XCEngine::UI::Editor::UIEditorWorkspaceSplitAxis; +using XCEngine::UI::Editor::ValidateUIEditorMenuModel; using XCEngine::UI::UIColor; using XCEngine::UI::UIDrawData; using XCEngine::UI::UIDrawList; @@ -68,8 +68,8 @@ using XCEngine::UI::UIPoint; using XCEngine::UI::UIRect; using XCEngine::UI::UIShortcutBinding; using XCEngine::UI::UIShortcutScope; -using XCEngine::XCUI::Host::AutoScreenshotController; -using XCEngine::XCUI::Host::NativeRenderer; +using XCEngine::UI::Editor::Host::AutoScreenshotController; +using XCEngine::UI::Editor::Host::NativeRenderer; constexpr const wchar_t* kWindowClassName = L"XCUIEditorMenuBarBasicValidation"; constexpr const wchar_t* kWindowTitle = L"XCUI Editor | Menu Bar Basic"; diff --git a/tests/UI/Editor/integration/state/layout_persistence/CMakeLists.txt b/tests/UI/Editor/integration/state/layout_persistence/CMakeLists.txt index edd10bd2..b9d26774 100644 --- a/tests/UI/Editor/integration/state/layout_persistence/CMakeLists.txt +++ b/tests/UI/Editor/integration/state/layout_persistence/CMakeLists.txt @@ -5,6 +5,8 @@ add_executable(editor_ui_layout_persistence_validation WIN32 target_include_directories(editor_ui_layout_persistence_validation PRIVATE ${CMAKE_SOURCE_DIR}/engine/include ${CMAKE_SOURCE_DIR}/new_editor/include + ${CMAKE_SOURCE_DIR}/new_editor/app + ${CMAKE_SOURCE_DIR}/new_editor/src ) target_compile_definitions(editor_ui_layout_persistence_validation PRIVATE @@ -20,8 +22,8 @@ if(MSVC) endif() target_link_libraries(editor_ui_layout_persistence_validation PRIVATE - XCNewEditorLib - XCNewEditorHost + XCUIEditorLib + XCUIEditorHost ) set_target_properties(editor_ui_layout_persistence_validation PROPERTIES diff --git a/tests/UI/Editor/integration/state/layout_persistence/main.cpp b/tests/UI/Editor/integration/state/layout_persistence/main.cpp index a86b30a3..f9e866a1 100644 --- a/tests/UI/Editor/integration/state/layout_persistence/main.cpp +++ b/tests/UI/Editor/integration/state/layout_persistence/main.cpp @@ -2,10 +2,10 @@ #define NOMINMAX #endif -#include -#include -#include -#include +#include +#include +#include "Host/AutoScreenshot.h" +#include "Host/NativeRenderer.h" #include @@ -27,35 +27,35 @@ namespace { -using XCEngine::NewEditor::BuildDefaultUIEditorWorkspaceController; -using XCEngine::NewEditor::BuildDefaultUIEditorWorkspaceSession; -using XCEngine::NewEditor::BuildUIEditorWorkspacePanel; -using XCEngine::NewEditor::BuildUIEditorWorkspaceSplit; -using XCEngine::NewEditor::BuildUIEditorWorkspaceTabStack; -using XCEngine::NewEditor::CollectUIEditorWorkspaceVisiblePanels; -using XCEngine::NewEditor::FindUIEditorPanelSessionState; -using XCEngine::NewEditor::GetUIEditorWorkspaceCommandStatusName; -using XCEngine::NewEditor::GetUIEditorWorkspaceLayoutOperationStatusName; -using XCEngine::NewEditor::SerializeUIEditorWorkspaceLayoutSnapshot; -using XCEngine::NewEditor::UIEditorPanelRegistry; -using XCEngine::NewEditor::UIEditorWorkspaceCommand; -using XCEngine::NewEditor::UIEditorWorkspaceCommandKind; -using XCEngine::NewEditor::UIEditorWorkspaceCommandResult; -using XCEngine::NewEditor::UIEditorWorkspaceCommandStatus; -using XCEngine::NewEditor::UIEditorWorkspaceController; -using XCEngine::NewEditor::UIEditorWorkspaceLayoutOperationResult; -using XCEngine::NewEditor::UIEditorWorkspaceLayoutOperationStatus; -using XCEngine::NewEditor::UIEditorWorkspaceLayoutSnapshot; -using XCEngine::NewEditor::UIEditorWorkspaceModel; -using XCEngine::NewEditor::UIEditorWorkspaceSession; -using XCEngine::NewEditor::UIEditorWorkspaceSplitAxis; +using XCEngine::UI::Editor::BuildDefaultUIEditorWorkspaceController; +using XCEngine::UI::Editor::BuildDefaultUIEditorWorkspaceSession; +using XCEngine::UI::Editor::BuildUIEditorWorkspacePanel; +using XCEngine::UI::Editor::BuildUIEditorWorkspaceSplit; +using XCEngine::UI::Editor::BuildUIEditorWorkspaceTabStack; +using XCEngine::UI::Editor::CollectUIEditorWorkspaceVisiblePanels; +using XCEngine::UI::Editor::FindUIEditorPanelSessionState; +using XCEngine::UI::Editor::GetUIEditorWorkspaceCommandStatusName; +using XCEngine::UI::Editor::GetUIEditorWorkspaceLayoutOperationStatusName; +using XCEngine::UI::Editor::SerializeUIEditorWorkspaceLayoutSnapshot; +using XCEngine::UI::Editor::UIEditorPanelRegistry; +using XCEngine::UI::Editor::UIEditorWorkspaceCommand; +using XCEngine::UI::Editor::UIEditorWorkspaceCommandKind; +using XCEngine::UI::Editor::UIEditorWorkspaceCommandResult; +using XCEngine::UI::Editor::UIEditorWorkspaceCommandStatus; +using XCEngine::UI::Editor::UIEditorWorkspaceController; +using XCEngine::UI::Editor::UIEditorWorkspaceLayoutOperationResult; +using XCEngine::UI::Editor::UIEditorWorkspaceLayoutOperationStatus; +using XCEngine::UI::Editor::UIEditorWorkspaceLayoutSnapshot; +using XCEngine::UI::Editor::UIEditorWorkspaceModel; +using XCEngine::UI::Editor::UIEditorWorkspaceSession; +using XCEngine::UI::Editor::UIEditorWorkspaceSplitAxis; using XCEngine::UI::UIColor; using XCEngine::UI::UIDrawData; using XCEngine::UI::UIDrawList; using XCEngine::UI::UIPoint; using XCEngine::UI::UIRect; -using XCEngine::XCUI::Host::AutoScreenshotController; -using XCEngine::XCUI::Host::NativeRenderer; +using XCEngine::UI::Editor::Host::AutoScreenshotController; +using XCEngine::UI::Editor::Host::NativeRenderer; constexpr const wchar_t* kWindowClassName = L"XCUIEditorLayoutPersistenceValidation"; constexpr const wchar_t* kWindowTitle = L"XCUI Editor | Layout Persistence"; diff --git a/tests/UI/Editor/integration/state/panel_session_flow/CMakeLists.txt b/tests/UI/Editor/integration/state/panel_session_flow/CMakeLists.txt index 8b99c578..72d44d11 100644 --- a/tests/UI/Editor/integration/state/panel_session_flow/CMakeLists.txt +++ b/tests/UI/Editor/integration/state/panel_session_flow/CMakeLists.txt @@ -5,6 +5,8 @@ add_executable(editor_ui_panel_session_flow_validation WIN32 target_include_directories(editor_ui_panel_session_flow_validation PRIVATE ${CMAKE_SOURCE_DIR}/engine/include ${CMAKE_SOURCE_DIR}/new_editor/include + ${CMAKE_SOURCE_DIR}/new_editor/app + ${CMAKE_SOURCE_DIR}/new_editor/src ) target_compile_definitions(editor_ui_panel_session_flow_validation PRIVATE @@ -20,8 +22,8 @@ if(MSVC) endif() target_link_libraries(editor_ui_panel_session_flow_validation PRIVATE - XCNewEditorLib - XCNewEditorHost + XCUIEditorLib + XCUIEditorHost ) set_target_properties(editor_ui_panel_session_flow_validation PROPERTIES diff --git a/tests/UI/Editor/integration/state/panel_session_flow/main.cpp b/tests/UI/Editor/integration/state/panel_session_flow/main.cpp index 6de351c9..1aa0e700 100644 --- a/tests/UI/Editor/integration/state/panel_session_flow/main.cpp +++ b/tests/UI/Editor/integration/state/panel_session_flow/main.cpp @@ -2,9 +2,9 @@ #define NOMINMAX #endif -#include -#include -#include +#include +#include "Host/AutoScreenshot.h" +#include "Host/NativeRenderer.h" #include @@ -25,29 +25,29 @@ namespace { -using XCEngine::NewEditor::BuildDefaultUIEditorWorkspaceController; -using XCEngine::NewEditor::BuildUIEditorWorkspacePanel; -using XCEngine::NewEditor::BuildUIEditorWorkspaceSplit; -using XCEngine::NewEditor::BuildUIEditorWorkspaceTabStack; -using XCEngine::NewEditor::CollectUIEditorWorkspaceVisiblePanels; -using XCEngine::NewEditor::FindUIEditorPanelSessionState; -using XCEngine::NewEditor::GetUIEditorWorkspaceCommandKindName; -using XCEngine::NewEditor::GetUIEditorWorkspaceCommandStatusName; -using XCEngine::NewEditor::UIEditorPanelRegistry; -using XCEngine::NewEditor::UIEditorWorkspaceCommand; -using XCEngine::NewEditor::UIEditorWorkspaceCommandKind; -using XCEngine::NewEditor::UIEditorWorkspaceCommandResult; -using XCEngine::NewEditor::UIEditorWorkspaceController; -using XCEngine::NewEditor::UIEditorWorkspaceModel; -using XCEngine::NewEditor::UIEditorWorkspaceSession; -using XCEngine::NewEditor::UIEditorWorkspaceSplitAxis; +using XCEngine::UI::Editor::BuildDefaultUIEditorWorkspaceController; +using XCEngine::UI::Editor::BuildUIEditorWorkspacePanel; +using XCEngine::UI::Editor::BuildUIEditorWorkspaceSplit; +using XCEngine::UI::Editor::BuildUIEditorWorkspaceTabStack; +using XCEngine::UI::Editor::CollectUIEditorWorkspaceVisiblePanels; +using XCEngine::UI::Editor::FindUIEditorPanelSessionState; +using XCEngine::UI::Editor::GetUIEditorWorkspaceCommandKindName; +using XCEngine::UI::Editor::GetUIEditorWorkspaceCommandStatusName; +using XCEngine::UI::Editor::UIEditorPanelRegistry; +using XCEngine::UI::Editor::UIEditorWorkspaceCommand; +using XCEngine::UI::Editor::UIEditorWorkspaceCommandKind; +using XCEngine::UI::Editor::UIEditorWorkspaceCommandResult; +using XCEngine::UI::Editor::UIEditorWorkspaceController; +using XCEngine::UI::Editor::UIEditorWorkspaceModel; +using XCEngine::UI::Editor::UIEditorWorkspaceSession; +using XCEngine::UI::Editor::UIEditorWorkspaceSplitAxis; using XCEngine::UI::UIColor; using XCEngine::UI::UIDrawData; using XCEngine::UI::UIDrawList; using XCEngine::UI::UIPoint; using XCEngine::UI::UIRect; -using XCEngine::XCUI::Host::AutoScreenshotController; -using XCEngine::XCUI::Host::NativeRenderer; +using XCEngine::UI::Editor::Host::AutoScreenshotController; +using XCEngine::UI::Editor::Host::NativeRenderer; constexpr const wchar_t* kWindowClassName = L"XCUIEditorPanelSessionFlowValidation"; constexpr const wchar_t* kWindowTitle = L"XCUI Editor | Panel Session 状态流"; @@ -606,9 +606,9 @@ private: std::string(GetUIEditorWorkspaceCommandStatusName(m_lastCommandResult.status)) + " | " + m_lastCommandResult.message, - m_lastCommandResult.status == XCEngine::NewEditor::UIEditorWorkspaceCommandStatus::Rejected + m_lastCommandResult.status == XCEngine::UI::Editor::UIEditorWorkspaceCommandStatus::Rejected ? kDanger - : (m_lastCommandResult.status == XCEngine::NewEditor::UIEditorWorkspaceCommandStatus::NoOp + : (m_lastCommandResult.status == XCEngine::UI::Editor::UIEditorWorkspaceCommandStatus::NoOp ? kWarning : kSuccess), 12.0f); diff --git a/tests/UI/Editor/integration/state/shortcut_dispatch/CMakeLists.txt b/tests/UI/Editor/integration/state/shortcut_dispatch/CMakeLists.txt index 3cbe90bf..11bd51f3 100644 --- a/tests/UI/Editor/integration/state/shortcut_dispatch/CMakeLists.txt +++ b/tests/UI/Editor/integration/state/shortcut_dispatch/CMakeLists.txt @@ -5,6 +5,8 @@ add_executable(editor_ui_shortcut_dispatch_validation WIN32 target_include_directories(editor_ui_shortcut_dispatch_validation PRIVATE ${CMAKE_SOURCE_DIR}/engine/include ${CMAKE_SOURCE_DIR}/new_editor/include + ${CMAKE_SOURCE_DIR}/new_editor/app + ${CMAKE_SOURCE_DIR}/new_editor/src ) target_compile_definitions(editor_ui_shortcut_dispatch_validation PRIVATE @@ -20,8 +22,8 @@ if(MSVC) endif() target_link_libraries(editor_ui_shortcut_dispatch_validation PRIVATE - XCNewEditorLib - XCNewEditorHost + XCUIEditorLib + XCUIEditorHost ) set_target_properties(editor_ui_shortcut_dispatch_validation PROPERTIES diff --git a/tests/UI/Editor/integration/state/shortcut_dispatch/main.cpp b/tests/UI/Editor/integration/state/shortcut_dispatch/main.cpp index 0fdcfdab..5fcb8885 100644 --- a/tests/UI/Editor/integration/state/shortcut_dispatch/main.cpp +++ b/tests/UI/Editor/integration/state/shortcut_dispatch/main.cpp @@ -2,10 +2,10 @@ #define NOMINMAX #endif -#include -#include -#include -#include +#include +#include "Host/AutoScreenshot.h" +#include "Host/InputModifierTracker.h" +#include "Host/NativeRenderer.h" #include #include @@ -28,24 +28,24 @@ namespace { using XCEngine::Input::KeyCode; -using XCEngine::NewEditor::BuildDefaultUIEditorWorkspaceController; -using XCEngine::NewEditor::BuildUIEditorWorkspacePanel; -using XCEngine::NewEditor::BuildUIEditorWorkspaceSplit; -using XCEngine::NewEditor::BuildUIEditorWorkspaceTabStack; -using XCEngine::NewEditor::CollectUIEditorWorkspaceVisiblePanels; -using XCEngine::NewEditor::FindUIEditorPanelSessionState; -using XCEngine::NewEditor::GetUIEditorShortcutDispatchStatusName; -using XCEngine::NewEditor::GetUIEditorWorkspaceCommandStatusName; -using XCEngine::NewEditor::UIEditorCommandPanelSource; -using XCEngine::NewEditor::UIEditorCommandRegistry; -using XCEngine::NewEditor::UIEditorPanelRegistry; -using XCEngine::NewEditor::UIEditorShortcutDispatchResult; -using XCEngine::NewEditor::UIEditorShortcutDispatchStatus; -using XCEngine::NewEditor::UIEditorShortcutManager; -using XCEngine::NewEditor::UIEditorWorkspaceCommandKind; -using XCEngine::NewEditor::UIEditorWorkspaceController; -using XCEngine::NewEditor::UIEditorWorkspaceModel; -using XCEngine::NewEditor::UIEditorWorkspaceSplitAxis; +using XCEngine::UI::Editor::BuildDefaultUIEditorWorkspaceController; +using XCEngine::UI::Editor::BuildUIEditorWorkspacePanel; +using XCEngine::UI::Editor::BuildUIEditorWorkspaceSplit; +using XCEngine::UI::Editor::BuildUIEditorWorkspaceTabStack; +using XCEngine::UI::Editor::CollectUIEditorWorkspaceVisiblePanels; +using XCEngine::UI::Editor::FindUIEditorPanelSessionState; +using XCEngine::UI::Editor::GetUIEditorShortcutDispatchStatusName; +using XCEngine::UI::Editor::GetUIEditorWorkspaceCommandStatusName; +using XCEngine::UI::Editor::UIEditorCommandPanelSource; +using XCEngine::UI::Editor::UIEditorCommandRegistry; +using XCEngine::UI::Editor::UIEditorPanelRegistry; +using XCEngine::UI::Editor::UIEditorShortcutDispatchResult; +using XCEngine::UI::Editor::UIEditorShortcutDispatchStatus; +using XCEngine::UI::Editor::UIEditorShortcutManager; +using XCEngine::UI::Editor::UIEditorWorkspaceCommandKind; +using XCEngine::UI::Editor::UIEditorWorkspaceController; +using XCEngine::UI::Editor::UIEditorWorkspaceModel; +using XCEngine::UI::Editor::UIEditorWorkspaceSplitAxis; using XCEngine::UI::UIColor; using XCEngine::UI::UIDrawData; using XCEngine::UI::UIDrawList; @@ -56,9 +56,9 @@ using XCEngine::UI::UIRect; using XCEngine::UI::UIShortcutBinding; using XCEngine::UI::UIShortcutContext; using XCEngine::UI::UIShortcutScope; -using XCEngine::XCUI::Host::AutoScreenshotController; -using XCEngine::XCUI::Host::InputModifierTracker; -using XCEngine::XCUI::Host::NativeRenderer; +using XCEngine::UI::Editor::Host::AutoScreenshotController; +using XCEngine::UI::Editor::Host::InputModifierTracker; +using XCEngine::UI::Editor::Host::NativeRenderer; constexpr const wchar_t* kWindowClassName = L"XCUIEditorShortcutDispatchValidation"; constexpr const wchar_t* kWindowTitle = L"XCUI Editor | Shortcut Dispatch"; @@ -246,9 +246,9 @@ UIColor ResolveCommandStatusColor(UIEditorWorkspaceController& controller, const } switch (result.commandResult.status) { - case XCEngine::NewEditor::UIEditorWorkspaceCommandStatus::Changed: return kSuccess; - case XCEngine::NewEditor::UIEditorWorkspaceCommandStatus::NoOp: return kWarning; - case XCEngine::NewEditor::UIEditorWorkspaceCommandStatus::Rejected: return kDanger; + case XCEngine::UI::Editor::UIEditorWorkspaceCommandStatus::Changed: return kSuccess; + case XCEngine::UI::Editor::UIEditorWorkspaceCommandStatus::NoOp: return kWarning; + case XCEngine::UI::Editor::UIEditorWorkspaceCommandStatus::Rejected: return kDanger; } return kTextMuted; diff --git a/tests/UI/Editor/unit/CMakeLists.txt b/tests/UI/Editor/unit/CMakeLists.txt index 9b69efdc..e5a9298c 100644 --- a/tests/UI/Editor/unit/CMakeLists.txt +++ b/tests/UI/Editor/unit/CMakeLists.txt @@ -19,7 +19,7 @@ add_executable(editor_ui_tests ${EDITOR_UI_UNIT_TEST_SOURCES}) target_link_libraries(editor_ui_tests PRIVATE - XCNewEditorLib + XCUIEditorLib GTest::gtest_main ) @@ -27,6 +27,7 @@ target_include_directories(editor_ui_tests PRIVATE ${CMAKE_SOURCE_DIR}/new_editor/include ${CMAKE_SOURCE_DIR}/new_editor/src + ${CMAKE_SOURCE_DIR}/new_editor/app ${CMAKE_SOURCE_DIR}/engine/include ) diff --git a/tests/UI/Editor/unit/test_editor_shell_asset_validation.cpp b/tests/UI/Editor/unit/test_editor_shell_asset_validation.cpp index 057ccb28..cf8c80e6 100644 --- a/tests/UI/Editor/unit/test_editor_shell_asset_validation.cpp +++ b/tests/UI/Editor/unit/test_editor_shell_asset_validation.cpp @@ -1,15 +1,15 @@ #include -#include "editor/EditorShellAsset.h" +#include "Core/EditorShellAsset.h" -#include +#include namespace { -using XCEngine::NewEditor::BuildDefaultEditorShellAsset; -using XCEngine::NewEditor::EditorShellAssetValidationCode; -using XCEngine::NewEditor::FindUIEditorPanelDescriptor; -using XCEngine::NewEditor::ValidateEditorShellAsset; +using XCEngine::UI::Editor::BuildDefaultEditorShellAsset; +using XCEngine::UI::Editor::EditorShellAssetValidationCode; +using XCEngine::UI::Editor::FindUIEditorPanelDescriptor; +using XCEngine::UI::Editor::ValidateEditorShellAsset; TEST(EditorShellAssetValidationTest, DefaultShellAssetPassesValidation) { const auto shellAsset = BuildDefaultEditorShellAsset("."); @@ -22,7 +22,7 @@ TEST(EditorShellAssetValidationTest, ValidationRejectsWorkspacePanelMissingFromR auto shellAsset = BuildDefaultEditorShellAsset("."); auto* documentPanel = - const_cast( + const_cast( FindUIEditorPanelDescriptor(shellAsset.panelRegistry, "editor-foundation-root")); ASSERT_NE(documentPanel, nullptr); documentPanel->panelId = "editor-foundation-root-renamed"; diff --git a/tests/UI/Editor/unit/test_input_modifier_tracker.cpp b/tests/UI/Editor/unit/test_input_modifier_tracker.cpp index 72c57020..d380ff3e 100644 --- a/tests/UI/Editor/unit/test_input_modifier_tracker.cpp +++ b/tests/UI/Editor/unit/test_input_modifier_tracker.cpp @@ -4,7 +4,7 @@ #include -#include +#include "Host/InputModifierTracker.h" #include @@ -12,7 +12,7 @@ namespace { -using XCEngine::XCUI::Host::InputModifierTracker; +using XCEngine::UI::Editor::Host::InputModifierTracker; using XCEngine::UI::UIInputEventType; TEST(InputModifierTrackerTest, ControlStatePersistsAcrossChordKeyDownAndClearsOnKeyUp) { diff --git a/tests/UI/Editor/unit/test_structured_editor_shell.cpp b/tests/UI/Editor/unit/test_structured_editor_shell.cpp index 58d30a85..cef2a648 100644 --- a/tests/UI/Editor/unit/test_structured_editor_shell.cpp +++ b/tests/UI/Editor/unit/test_structured_editor_shell.cpp @@ -1,6 +1,6 @@ #include -#include "editor/EditorShellAsset.h" +#include "Core/EditorShellAsset.h" #include #include @@ -9,13 +9,13 @@ #include #include -#ifndef XCNEWEDITOR_REPO_ROOT -#define XCNEWEDITOR_REPO_ROOT "." +#ifndef XCUIEDITOR_REPO_ROOT +#define XCUIEDITOR_REPO_ROOT "." #endif namespace { -using XCEngine::NewEditor::BuildDefaultEditorShellAsset; +using XCEngine::UI::Editor::BuildDefaultEditorShellAsset; using XCEngine::UI::UIDrawCommand; using XCEngine::UI::UIDrawCommandType; using XCEngine::UI::UIDrawData; @@ -25,7 +25,7 @@ using XCEngine::UI::Runtime::UIScreenPlayer; using XCEngine::UI::Runtime::UIDocumentScreenHost; std::filesystem::path RepoRootPath() { - std::string root = XCNEWEDITOR_REPO_ROOT; + std::string root = XCUIEDITOR_REPO_ROOT; if (root.size() >= 2u && root.front() == '"' && root.back() == '"') { root = root.substr(1u, root.size() - 2u); } diff --git a/tests/UI/Editor/unit/test_ui_editor_collection_primitives.cpp b/tests/UI/Editor/unit/test_ui_editor_collection_primitives.cpp index 559e23ef..cea8eed3 100644 --- a/tests/UI/Editor/unit/test_ui_editor_collection_primitives.cpp +++ b/tests/UI/Editor/unit/test_ui_editor_collection_primitives.cpp @@ -2,12 +2,12 @@ #include #include -#include +#include namespace { namespace Style = XCEngine::UI::Style; -namespace UIWidgets = XCEngine::UI::Widgets; +namespace UIWidgets = XCEngine::UI::Editor::Widgets; Style::UITheme BuildEditorPrimitiveTheme() { Style::UIThemeDefinition definition = {}; diff --git a/tests/UI/Editor/unit/test_ui_editor_command_dispatcher.cpp b/tests/UI/Editor/unit/test_ui_editor_command_dispatcher.cpp index d49f6047..7767c965 100644 --- a/tests/UI/Editor/unit/test_ui_editor_command_dispatcher.cpp +++ b/tests/UI/Editor/unit/test_ui_editor_command_dispatcher.cpp @@ -1,24 +1,24 @@ #include -#include +#include namespace { -using XCEngine::NewEditor::BuildDefaultUIEditorWorkspaceController; -using XCEngine::NewEditor::BuildUIEditorWorkspacePanel; -using XCEngine::NewEditor::BuildUIEditorWorkspaceSplit; -using XCEngine::NewEditor::BuildUIEditorWorkspaceTabStack; -using XCEngine::NewEditor::GetUIEditorCommandDispatchStatusName; -using XCEngine::NewEditor::UIEditorCommandDispatchStatus; -using XCEngine::NewEditor::UIEditorCommandDispatcher; -using XCEngine::NewEditor::UIEditorCommandEvaluationCode; -using XCEngine::NewEditor::UIEditorCommandPanelSource; -using XCEngine::NewEditor::UIEditorCommandRegistry; -using XCEngine::NewEditor::UIEditorPanelRegistry; -using XCEngine::NewEditor::UIEditorWorkspaceCommandKind; -using XCEngine::NewEditor::UIEditorWorkspaceCommandStatus; -using XCEngine::NewEditor::UIEditorWorkspaceModel; -using XCEngine::NewEditor::UIEditorWorkspaceSplitAxis; +using XCEngine::UI::Editor::BuildDefaultUIEditorWorkspaceController; +using XCEngine::UI::Editor::BuildUIEditorWorkspacePanel; +using XCEngine::UI::Editor::BuildUIEditorWorkspaceSplit; +using XCEngine::UI::Editor::BuildUIEditorWorkspaceTabStack; +using XCEngine::UI::Editor::GetUIEditorCommandDispatchStatusName; +using XCEngine::UI::Editor::UIEditorCommandDispatchStatus; +using XCEngine::UI::Editor::UIEditorCommandDispatcher; +using XCEngine::UI::Editor::UIEditorCommandEvaluationCode; +using XCEngine::UI::Editor::UIEditorCommandPanelSource; +using XCEngine::UI::Editor::UIEditorCommandRegistry; +using XCEngine::UI::Editor::UIEditorPanelRegistry; +using XCEngine::UI::Editor::UIEditorWorkspaceCommandKind; +using XCEngine::UI::Editor::UIEditorWorkspaceCommandStatus; +using XCEngine::UI::Editor::UIEditorWorkspaceModel; +using XCEngine::UI::Editor::UIEditorWorkspaceSplitAxis; UIEditorCommandRegistry BuildCommandRegistry() { UIEditorCommandRegistry registry = {}; diff --git a/tests/UI/Editor/unit/test_ui_editor_command_registry.cpp b/tests/UI/Editor/unit/test_ui_editor_command_registry.cpp index 94cb3866..5d77ea01 100644 --- a/tests/UI/Editor/unit/test_ui_editor_command_registry.cpp +++ b/tests/UI/Editor/unit/test_ui_editor_command_registry.cpp @@ -1,16 +1,16 @@ #include -#include +#include namespace { -using XCEngine::NewEditor::FindUIEditorCommandDescriptor; -using XCEngine::NewEditor::UIEditorCommandDescriptor; -using XCEngine::NewEditor::UIEditorCommandPanelSource; -using XCEngine::NewEditor::UIEditorCommandRegistry; -using XCEngine::NewEditor::UIEditorCommandRegistryValidationCode; -using XCEngine::NewEditor::UIEditorWorkspaceCommandKind; -using XCEngine::NewEditor::ValidateUIEditorCommandRegistry; +using XCEngine::UI::Editor::FindUIEditorCommandDescriptor; +using XCEngine::UI::Editor::UIEditorCommandDescriptor; +using XCEngine::UI::Editor::UIEditorCommandPanelSource; +using XCEngine::UI::Editor::UIEditorCommandRegistry; +using XCEngine::UI::Editor::UIEditorCommandRegistryValidationCode; +using XCEngine::UI::Editor::UIEditorWorkspaceCommandKind; +using XCEngine::UI::Editor::ValidateUIEditorCommandRegistry; UIEditorCommandRegistry BuildCommandRegistry() { UIEditorCommandRegistry registry = {}; diff --git a/tests/UI/Editor/unit/test_ui_editor_menu_model.cpp b/tests/UI/Editor/unit/test_ui_editor_menu_model.cpp index 91230a09..55539ef3 100644 --- a/tests/UI/Editor/unit/test_ui_editor_menu_model.cpp +++ b/tests/UI/Editor/unit/test_ui_editor_menu_model.cpp @@ -1,33 +1,33 @@ #include -#include -#include +#include +#include #include namespace { using XCEngine::Input::KeyCode; -using XCEngine::NewEditor::BuildDefaultUIEditorWorkspaceController; -using XCEngine::NewEditor::BuildUIEditorWorkspacePanel; -using XCEngine::NewEditor::BuildUIEditorWorkspaceSplit; -using XCEngine::NewEditor::BuildUIEditorWorkspaceTabStack; -using XCEngine::NewEditor::BuildUIEditorResolvedMenuModel; -using XCEngine::NewEditor::UIEditorCommandDispatcher; -using XCEngine::NewEditor::UIEditorCommandPanelSource; -using XCEngine::NewEditor::UIEditorCommandRegistry; -using XCEngine::NewEditor::UIEditorMenuCheckedStateSource; -using XCEngine::NewEditor::UIEditorMenuItemDescriptor; -using XCEngine::NewEditor::UIEditorMenuItemKind; -using XCEngine::NewEditor::UIEditorMenuModel; -using XCEngine::NewEditor::UIEditorMenuModelValidationCode; -using XCEngine::NewEditor::UIEditorPanelRegistry; -using XCEngine::NewEditor::UIEditorShortcutManager; -using XCEngine::NewEditor::UIEditorWorkspaceCommandKind; -using XCEngine::NewEditor::UIEditorWorkspaceCommandStatus; -using XCEngine::NewEditor::UIEditorWorkspaceModel; -using XCEngine::NewEditor::UIEditorWorkspaceSplitAxis; -using XCEngine::NewEditor::ValidateUIEditorMenuModel; +using XCEngine::UI::Editor::BuildDefaultUIEditorWorkspaceController; +using XCEngine::UI::Editor::BuildUIEditorWorkspacePanel; +using XCEngine::UI::Editor::BuildUIEditorWorkspaceSplit; +using XCEngine::UI::Editor::BuildUIEditorWorkspaceTabStack; +using XCEngine::UI::Editor::BuildUIEditorResolvedMenuModel; +using XCEngine::UI::Editor::UIEditorCommandDispatcher; +using XCEngine::UI::Editor::UIEditorCommandPanelSource; +using XCEngine::UI::Editor::UIEditorCommandRegistry; +using XCEngine::UI::Editor::UIEditorMenuCheckedStateSource; +using XCEngine::UI::Editor::UIEditorMenuItemDescriptor; +using XCEngine::UI::Editor::UIEditorMenuItemKind; +using XCEngine::UI::Editor::UIEditorMenuModel; +using XCEngine::UI::Editor::UIEditorMenuModelValidationCode; +using XCEngine::UI::Editor::UIEditorPanelRegistry; +using XCEngine::UI::Editor::UIEditorShortcutManager; +using XCEngine::UI::Editor::UIEditorWorkspaceCommandKind; +using XCEngine::UI::Editor::UIEditorWorkspaceCommandStatus; +using XCEngine::UI::Editor::UIEditorWorkspaceModel; +using XCEngine::UI::Editor::UIEditorWorkspaceSplitAxis; +using XCEngine::UI::Editor::ValidateUIEditorMenuModel; using XCEngine::UI::UIInputEventType; using XCEngine::UI::UIShortcutBinding; using XCEngine::UI::UIShortcutScope; diff --git a/tests/UI/Editor/unit/test_ui_editor_panel_chrome.cpp b/tests/UI/Editor/unit/test_ui_editor_panel_chrome.cpp index 436378d4..72508a15 100644 --- a/tests/UI/Editor/unit/test_ui_editor_panel_chrome.cpp +++ b/tests/UI/Editor/unit/test_ui_editor_panel_chrome.cpp @@ -1,7 +1,7 @@ #include #include -#include +#include namespace { @@ -9,14 +9,14 @@ using XCEngine::UI::UIColor; using XCEngine::UI::UIDrawCommandType; using XCEngine::UI::UIDrawList; using XCEngine::UI::UIRect; -using XCEngine::UI::Widgets::AppendUIEditorPanelChromeBackground; -using XCEngine::UI::Widgets::AppendUIEditorPanelChromeForeground; -using XCEngine::UI::Widgets::BuildUIEditorPanelChromeHeaderRect; -using XCEngine::UI::Widgets::ResolveUIEditorPanelChromeBorderColor; -using XCEngine::UI::Widgets::ResolveUIEditorPanelChromeBorderThickness; -using XCEngine::UI::Widgets::UIEditorPanelChromePalette; -using XCEngine::UI::Widgets::UIEditorPanelChromeState; -using XCEngine::UI::Widgets::UIEditorPanelChromeText; +using XCEngine::UI::Editor::Widgets::AppendUIEditorPanelChromeBackground; +using XCEngine::UI::Editor::Widgets::AppendUIEditorPanelChromeForeground; +using XCEngine::UI::Editor::Widgets::BuildUIEditorPanelChromeHeaderRect; +using XCEngine::UI::Editor::Widgets::ResolveUIEditorPanelChromeBorderColor; +using XCEngine::UI::Editor::Widgets::ResolveUIEditorPanelChromeBorderThickness; +using XCEngine::UI::Editor::Widgets::UIEditorPanelChromePalette; +using XCEngine::UI::Editor::Widgets::UIEditorPanelChromeState; +using XCEngine::UI::Editor::Widgets::UIEditorPanelChromeText; void ExpectColorEq( const UIColor& actual, diff --git a/tests/UI/Editor/unit/test_ui_editor_panel_registry.cpp b/tests/UI/Editor/unit/test_ui_editor_panel_registry.cpp index 57659393..39b4afb0 100644 --- a/tests/UI/Editor/unit/test_ui_editor_panel_registry.cpp +++ b/tests/UI/Editor/unit/test_ui_editor_panel_registry.cpp @@ -1,15 +1,15 @@ #include -#include +#include namespace { -using XCEngine::NewEditor::BuildDefaultEditorShellPanelRegistry; -using XCEngine::NewEditor::FindUIEditorPanelDescriptor; -using XCEngine::NewEditor::UIEditorPanelDescriptor; -using XCEngine::NewEditor::UIEditorPanelRegistry; -using XCEngine::NewEditor::UIEditorPanelRegistryValidationCode; -using XCEngine::NewEditor::ValidateUIEditorPanelRegistry; +using XCEngine::UI::Editor::BuildDefaultEditorShellPanelRegistry; +using XCEngine::UI::Editor::FindUIEditorPanelDescriptor; +using XCEngine::UI::Editor::UIEditorPanelDescriptor; +using XCEngine::UI::Editor::UIEditorPanelRegistry; +using XCEngine::UI::Editor::UIEditorPanelRegistryValidationCode; +using XCEngine::UI::Editor::ValidateUIEditorPanelRegistry; TEST(UIEditorPanelRegistryTest, DefaultRegistryContainsShellDescriptors) { const UIEditorPanelRegistry registry = BuildDefaultEditorShellPanelRegistry(); diff --git a/tests/UI/Editor/unit/test_ui_editor_shortcut_manager.cpp b/tests/UI/Editor/unit/test_ui_editor_shortcut_manager.cpp index 23989db7..4b119b33 100644 --- a/tests/UI/Editor/unit/test_ui_editor_shortcut_manager.cpp +++ b/tests/UI/Editor/unit/test_ui_editor_shortcut_manager.cpp @@ -1,25 +1,25 @@ #include -#include +#include #include namespace { using XCEngine::Input::KeyCode; -using XCEngine::NewEditor::BuildDefaultUIEditorWorkspaceController; -using XCEngine::NewEditor::BuildUIEditorWorkspacePanel; -using XCEngine::NewEditor::BuildUIEditorWorkspaceSplit; -using XCEngine::NewEditor::BuildUIEditorWorkspaceTabStack; -using XCEngine::NewEditor::UIEditorCommandPanelSource; -using XCEngine::NewEditor::UIEditorCommandRegistry; -using XCEngine::NewEditor::UIEditorShortcutDispatchStatus; -using XCEngine::NewEditor::UIEditorShortcutManager; -using XCEngine::NewEditor::UIEditorShortcutManagerValidationCode; -using XCEngine::NewEditor::UIEditorWorkspaceCommandKind; -using XCEngine::NewEditor::UIEditorWorkspaceCommandStatus; -using XCEngine::NewEditor::UIEditorWorkspaceModel; -using XCEngine::NewEditor::UIEditorWorkspaceSplitAxis; +using XCEngine::UI::Editor::BuildDefaultUIEditorWorkspaceController; +using XCEngine::UI::Editor::BuildUIEditorWorkspacePanel; +using XCEngine::UI::Editor::BuildUIEditorWorkspaceSplit; +using XCEngine::UI::Editor::BuildUIEditorWorkspaceTabStack; +using XCEngine::UI::Editor::UIEditorCommandPanelSource; +using XCEngine::UI::Editor::UIEditorCommandRegistry; +using XCEngine::UI::Editor::UIEditorShortcutDispatchStatus; +using XCEngine::UI::Editor::UIEditorShortcutManager; +using XCEngine::UI::Editor::UIEditorShortcutManagerValidationCode; +using XCEngine::UI::Editor::UIEditorWorkspaceCommandKind; +using XCEngine::UI::Editor::UIEditorWorkspaceCommandStatus; +using XCEngine::UI::Editor::UIEditorWorkspaceModel; +using XCEngine::UI::Editor::UIEditorWorkspaceSplitAxis; using XCEngine::UI::UIInputEvent; using XCEngine::UI::UIInputEventType; using XCEngine::UI::UIShortcutBinding; @@ -121,7 +121,7 @@ TEST(UIEditorShortcutManagerTest, DispatchUsesActivePanelSourceForWorkspaceComma auto controller = BuildDefaultUIEditorWorkspaceController( - XCEngine::NewEditor::UIEditorPanelRegistry{ + XCEngine::UI::Editor::UIEditorPanelRegistry{ { { "doc-a", "Document A", {}, true, true, true }, { "doc-b", "Document B", {}, true, true, true }, @@ -147,7 +147,7 @@ TEST(UIEditorShortcutManagerTest, DispatchPrefersPanelScopeBindingOverGlobalBind auto controller = BuildDefaultUIEditorWorkspaceController( - XCEngine::NewEditor::UIEditorPanelRegistry{ + XCEngine::UI::Editor::UIEditorPanelRegistry{ { { "doc-a", "Document A", {}, true, true, true }, { "doc-b", "Document B", {}, true, true, true }, @@ -173,7 +173,7 @@ TEST(UIEditorShortcutManagerTest, DispatchSuppressesMatchedShortcutWhenTextInput auto controller = BuildDefaultUIEditorWorkspaceController( - XCEngine::NewEditor::UIEditorPanelRegistry{ + XCEngine::UI::Editor::UIEditorPanelRegistry{ { { "doc-a", "Document A", {}, true, true, true }, { "doc-b", "Document B", {}, true, true, true }, diff --git a/tests/UI/Editor/unit/test_ui_editor_workspace_controller.cpp b/tests/UI/Editor/unit/test_ui_editor_workspace_controller.cpp index 9f630ea2..eecde12c 100644 --- a/tests/UI/Editor/unit/test_ui_editor_workspace_controller.cpp +++ b/tests/UI/Editor/unit/test_ui_editor_workspace_controller.cpp @@ -1,24 +1,24 @@ #include -#include +#include namespace { -using XCEngine::NewEditor::BuildDefaultUIEditorWorkspaceController; -using XCEngine::NewEditor::BuildDefaultUIEditorWorkspaceSession; -using XCEngine::NewEditor::BuildUIEditorWorkspacePanel; -using XCEngine::NewEditor::BuildUIEditorWorkspaceSplit; -using XCEngine::NewEditor::BuildUIEditorWorkspaceTabStack; -using XCEngine::NewEditor::GetUIEditorWorkspaceCommandKindName; -using XCEngine::NewEditor::GetUIEditorWorkspaceCommandStatusName; -using XCEngine::NewEditor::UIEditorPanelRegistry; -using XCEngine::NewEditor::UIEditorWorkspaceCommand; -using XCEngine::NewEditor::UIEditorWorkspaceCommandKind; -using XCEngine::NewEditor::UIEditorWorkspaceCommandStatus; -using XCEngine::NewEditor::UIEditorWorkspaceControllerValidationCode; -using XCEngine::NewEditor::UIEditorWorkspaceController; -using XCEngine::NewEditor::UIEditorWorkspaceModel; -using XCEngine::NewEditor::UIEditorWorkspaceSplitAxis; +using XCEngine::UI::Editor::BuildDefaultUIEditorWorkspaceController; +using XCEngine::UI::Editor::BuildDefaultUIEditorWorkspaceSession; +using XCEngine::UI::Editor::BuildUIEditorWorkspacePanel; +using XCEngine::UI::Editor::BuildUIEditorWorkspaceSplit; +using XCEngine::UI::Editor::BuildUIEditorWorkspaceTabStack; +using XCEngine::UI::Editor::GetUIEditorWorkspaceCommandKindName; +using XCEngine::UI::Editor::GetUIEditorWorkspaceCommandStatusName; +using XCEngine::UI::Editor::UIEditorPanelRegistry; +using XCEngine::UI::Editor::UIEditorWorkspaceCommand; +using XCEngine::UI::Editor::UIEditorWorkspaceCommandKind; +using XCEngine::UI::Editor::UIEditorWorkspaceCommandStatus; +using XCEngine::UI::Editor::UIEditorWorkspaceControllerValidationCode; +using XCEngine::UI::Editor::UIEditorWorkspaceController; +using XCEngine::UI::Editor::UIEditorWorkspaceModel; +using XCEngine::UI::Editor::UIEditorWorkspaceSplitAxis; UIEditorPanelRegistry BuildPanelRegistry() { UIEditorPanelRegistry registry = {}; diff --git a/tests/UI/Editor/unit/test_ui_editor_workspace_layout_persistence.cpp b/tests/UI/Editor/unit/test_ui_editor_workspace_layout_persistence.cpp index a3ce3903..a500d134 100644 --- a/tests/UI/Editor/unit/test_ui_editor_workspace_layout_persistence.cpp +++ b/tests/UI/Editor/unit/test_ui_editor_workspace_layout_persistence.cpp @@ -1,7 +1,7 @@ #include -#include -#include +#include +#include #include #include @@ -9,26 +9,26 @@ namespace { -using XCEngine::NewEditor::AreUIEditorWorkspaceLayoutSnapshotsEquivalent; -using XCEngine::NewEditor::BuildDefaultUIEditorWorkspaceController; -using XCEngine::NewEditor::BuildDefaultUIEditorWorkspaceSession; -using XCEngine::NewEditor::BuildUIEditorWorkspaceLayoutSnapshot; -using XCEngine::NewEditor::BuildUIEditorWorkspacePanel; -using XCEngine::NewEditor::BuildUIEditorWorkspaceSplit; -using XCEngine::NewEditor::BuildUIEditorWorkspaceTabStack; -using XCEngine::NewEditor::DeserializeUIEditorWorkspaceLayoutSnapshot; -using XCEngine::NewEditor::SerializeUIEditorWorkspaceLayoutSnapshot; -using XCEngine::NewEditor::TryCloseUIEditorWorkspacePanel; -using XCEngine::NewEditor::TryHideUIEditorWorkspacePanel; -using XCEngine::NewEditor::UIEditorPanelRegistry; -using XCEngine::NewEditor::UIEditorWorkspaceController; -using XCEngine::NewEditor::UIEditorWorkspaceLayoutLoadCode; -using XCEngine::NewEditor::UIEditorWorkspaceLayoutOperationStatus; -using XCEngine::NewEditor::UIEditorWorkspaceCommandKind; -using XCEngine::NewEditor::UIEditorWorkspaceCommandStatus; -using XCEngine::NewEditor::UIEditorWorkspaceModel; -using XCEngine::NewEditor::UIEditorWorkspaceSession; -using XCEngine::NewEditor::UIEditorWorkspaceSplitAxis; +using XCEngine::UI::Editor::AreUIEditorWorkspaceLayoutSnapshotsEquivalent; +using XCEngine::UI::Editor::BuildDefaultUIEditorWorkspaceController; +using XCEngine::UI::Editor::BuildDefaultUIEditorWorkspaceSession; +using XCEngine::UI::Editor::BuildUIEditorWorkspaceLayoutSnapshot; +using XCEngine::UI::Editor::BuildUIEditorWorkspacePanel; +using XCEngine::UI::Editor::BuildUIEditorWorkspaceSplit; +using XCEngine::UI::Editor::BuildUIEditorWorkspaceTabStack; +using XCEngine::UI::Editor::DeserializeUIEditorWorkspaceLayoutSnapshot; +using XCEngine::UI::Editor::SerializeUIEditorWorkspaceLayoutSnapshot; +using XCEngine::UI::Editor::TryCloseUIEditorWorkspacePanel; +using XCEngine::UI::Editor::TryHideUIEditorWorkspacePanel; +using XCEngine::UI::Editor::UIEditorPanelRegistry; +using XCEngine::UI::Editor::UIEditorWorkspaceController; +using XCEngine::UI::Editor::UIEditorWorkspaceLayoutLoadCode; +using XCEngine::UI::Editor::UIEditorWorkspaceLayoutOperationStatus; +using XCEngine::UI::Editor::UIEditorWorkspaceCommandKind; +using XCEngine::UI::Editor::UIEditorWorkspaceCommandStatus; +using XCEngine::UI::Editor::UIEditorWorkspaceModel; +using XCEngine::UI::Editor::UIEditorWorkspaceSession; +using XCEngine::UI::Editor::UIEditorWorkspaceSplitAxis; UIEditorPanelRegistry BuildPanelRegistry() { UIEditorPanelRegistry registry = {}; diff --git a/tests/UI/Editor/unit/test_ui_editor_workspace_model.cpp b/tests/UI/Editor/unit/test_ui_editor_workspace_model.cpp index 8f4412dc..a38b4918 100644 --- a/tests/UI/Editor/unit/test_ui_editor_workspace_model.cpp +++ b/tests/UI/Editor/unit/test_ui_editor_workspace_model.cpp @@ -1,6 +1,6 @@ #include -#include +#include #include #include @@ -8,18 +8,18 @@ namespace { -using XCEngine::NewEditor::BuildUIEditorWorkspacePanel; -using XCEngine::NewEditor::BuildUIEditorWorkspaceSplit; -using XCEngine::NewEditor::BuildUIEditorWorkspaceTabStack; -using XCEngine::NewEditor::CollectUIEditorWorkspaceVisiblePanels; -using XCEngine::NewEditor::ContainsUIEditorWorkspacePanel; -using XCEngine::NewEditor::FindUIEditorWorkspaceActivePanel; -using XCEngine::NewEditor::TryActivateUIEditorWorkspacePanel; -using XCEngine::NewEditor::UIEditorWorkspaceModel; -using XCEngine::NewEditor::UIEditorWorkspaceNodeKind; -using XCEngine::NewEditor::UIEditorWorkspaceSplitAxis; -using XCEngine::NewEditor::UIEditorWorkspaceValidationCode; -using XCEngine::NewEditor::ValidateUIEditorWorkspace; +using XCEngine::UI::Editor::BuildUIEditorWorkspacePanel; +using XCEngine::UI::Editor::BuildUIEditorWorkspaceSplit; +using XCEngine::UI::Editor::BuildUIEditorWorkspaceTabStack; +using XCEngine::UI::Editor::CollectUIEditorWorkspaceVisiblePanels; +using XCEngine::UI::Editor::ContainsUIEditorWorkspacePanel; +using XCEngine::UI::Editor::FindUIEditorWorkspaceActivePanel; +using XCEngine::UI::Editor::TryActivateUIEditorWorkspacePanel; +using XCEngine::UI::Editor::UIEditorWorkspaceModel; +using XCEngine::UI::Editor::UIEditorWorkspaceNodeKind; +using XCEngine::UI::Editor::UIEditorWorkspaceSplitAxis; +using XCEngine::UI::Editor::UIEditorWorkspaceValidationCode; +using XCEngine::UI::Editor::ValidateUIEditorWorkspace; std::vector CollectVisiblePanelIds(const UIEditorWorkspaceModel& workspace) { const auto panels = CollectUIEditorWorkspaceVisiblePanels(workspace); diff --git a/tests/UI/Editor/unit/test_ui_editor_workspace_session.cpp b/tests/UI/Editor/unit/test_ui_editor_workspace_session.cpp index 3f725f86..1052a911 100644 --- a/tests/UI/Editor/unit/test_ui_editor_workspace_session.cpp +++ b/tests/UI/Editor/unit/test_ui_editor_workspace_session.cpp @@ -1,31 +1,31 @@ #include -#include -#include -#include +#include +#include +#include #include namespace { -using XCEngine::NewEditor::BuildDefaultUIEditorWorkspaceSession; -using XCEngine::NewEditor::BuildUIEditorWorkspacePanel; -using XCEngine::NewEditor::BuildUIEditorWorkspaceSplit; -using XCEngine::NewEditor::BuildUIEditorWorkspaceTabStack; -using XCEngine::NewEditor::CollectUIEditorWorkspaceVisiblePanels; -using XCEngine::NewEditor::FindUIEditorPanelDescriptor; -using XCEngine::NewEditor::FindUIEditorPanelSessionState; -using XCEngine::NewEditor::TryActivateUIEditorWorkspacePanel; -using XCEngine::NewEditor::TryCloseUIEditorWorkspacePanel; -using XCEngine::NewEditor::TryHideUIEditorWorkspacePanel; -using XCEngine::NewEditor::TryOpenUIEditorWorkspacePanel; -using XCEngine::NewEditor::TryShowUIEditorWorkspacePanel; -using XCEngine::NewEditor::UIEditorPanelRegistry; -using XCEngine::NewEditor::UIEditorWorkspaceModel; -using XCEngine::NewEditor::UIEditorWorkspaceSession; -using XCEngine::NewEditor::UIEditorWorkspaceSessionValidationCode; -using XCEngine::NewEditor::UIEditorWorkspaceSplitAxis; -using XCEngine::NewEditor::ValidateUIEditorWorkspaceSession; +using XCEngine::UI::Editor::BuildDefaultUIEditorWorkspaceSession; +using XCEngine::UI::Editor::BuildUIEditorWorkspacePanel; +using XCEngine::UI::Editor::BuildUIEditorWorkspaceSplit; +using XCEngine::UI::Editor::BuildUIEditorWorkspaceTabStack; +using XCEngine::UI::Editor::CollectUIEditorWorkspaceVisiblePanels; +using XCEngine::UI::Editor::FindUIEditorPanelDescriptor; +using XCEngine::UI::Editor::FindUIEditorPanelSessionState; +using XCEngine::UI::Editor::TryActivateUIEditorWorkspacePanel; +using XCEngine::UI::Editor::TryCloseUIEditorWorkspacePanel; +using XCEngine::UI::Editor::TryHideUIEditorWorkspacePanel; +using XCEngine::UI::Editor::TryOpenUIEditorWorkspacePanel; +using XCEngine::UI::Editor::TryShowUIEditorWorkspacePanel; +using XCEngine::UI::Editor::UIEditorPanelRegistry; +using XCEngine::UI::Editor::UIEditorWorkspaceModel; +using XCEngine::UI::Editor::UIEditorWorkspaceSession; +using XCEngine::UI::Editor::UIEditorWorkspaceSessionValidationCode; +using XCEngine::UI::Editor::UIEditorWorkspaceSplitAxis; +using XCEngine::UI::Editor::ValidateUIEditorWorkspaceSession; UIEditorPanelRegistry BuildPanelRegistry() { UIEditorPanelRegistry registry = {};