Refactor XCEditor into library-style layout
This commit is contained in:
@@ -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 辅助估算:
|
||||
|
||||
@@ -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$<$<CONFIG:Debug>: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$<$<CONFIG:Debug>: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$<$<CONFIG:Debug>: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})
|
||||
|
||||
@@ -11,11 +11,11 @@
|
||||
#include <unordered_set>
|
||||
#include <vector>
|
||||
|
||||
#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<float>(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
|
||||
@@ -4,11 +4,11 @@
|
||||
#define NOMINMAX
|
||||
#endif
|
||||
|
||||
#include <XCNewEditor/Host/AutoScreenshot.h>
|
||||
#include <XCNewEditor/Host/InputModifierTracker.h>
|
||||
#include <XCNewEditor/Host/NativeRenderer.h>
|
||||
#include "Host/AutoScreenshot.h"
|
||||
#include "Host/InputModifierTracker.h"
|
||||
#include "Host/NativeRenderer.h"
|
||||
|
||||
#include "editor/EditorShellAsset.h"
|
||||
#include "Core/EditorShellAsset.h"
|
||||
|
||||
#include <XCEngine/UI/Runtime/UIScreenDocumentHost.h>
|
||||
#include <XCEngine/UI/Runtime/UIScreenPlayer.h>
|
||||
@@ -22,7 +22,7 @@
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
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
|
||||
@@ -1,6 +1,6 @@
|
||||
#include <XCNewEditor/Host/AutoScreenshot.h>
|
||||
#include "AutoScreenshot.h"
|
||||
|
||||
#include <XCNewEditor/Host/NativeRenderer.h>
|
||||
#include "NativeRenderer.h"
|
||||
|
||||
#include <chrono>
|
||||
#include <cctype>
|
||||
@@ -8,7 +8,7 @@
|
||||
#include <sstream>
|
||||
#include <system_error>
|
||||
|
||||
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
|
||||
@@ -11,7 +11,7 @@
|
||||
#include <string>
|
||||
#include <string_view>
|
||||
|
||||
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
|
||||
@@ -11,7 +11,7 @@
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
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
|
||||
@@ -1,10 +1,10 @@
|
||||
#include <XCNewEditor/Host/NativeRenderer.h>
|
||||
#include "NativeRenderer.h"
|
||||
|
||||
#include <algorithm>
|
||||
#include <cmath>
|
||||
#include <filesystem>
|
||||
|
||||
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
|
||||
@@ -18,7 +18,7 @@
|
||||
#include <unordered_map>
|
||||
#include <vector>
|
||||
|
||||
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
|
||||
5
new_editor/app/main.cpp
Normal file
5
new_editor/app/main.cpp
Normal file
@@ -0,0 +1,5 @@
|
||||
#include "Application.h"
|
||||
|
||||
int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE, LPWSTR, int nCmdShow) {
|
||||
return XCEngine::UI::Editor::RunXCUIEditorApp(hInstance, nCmdShow);
|
||||
}
|
||||
@@ -1,12 +1,12 @@
|
||||
#pragma once
|
||||
|
||||
#include <XCNewEditor/Editor/UIEditorCommandRegistry.h>
|
||||
#include <XCEditor/Core/UIEditorCommandRegistry.h>
|
||||
|
||||
#include <cstdint>
|
||||
#include <string>
|
||||
#include <string_view>
|
||||
|
||||
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
|
||||
@@ -1,13 +1,13 @@
|
||||
#pragma once
|
||||
|
||||
#include <XCNewEditor/Editor/UIEditorWorkspaceController.h>
|
||||
#include <XCEditor/Core/UIEditorWorkspaceController.h>
|
||||
|
||||
#include <cstdint>
|
||||
#include <string>
|
||||
#include <string_view>
|
||||
#include <vector>
|
||||
|
||||
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
|
||||
@@ -1,13 +1,13 @@
|
||||
#pragma once
|
||||
|
||||
#include <XCNewEditor/Editor/UIEditorCommandDispatcher.h>
|
||||
#include <XCEditor/Core/UIEditorCommandDispatcher.h>
|
||||
|
||||
#include <cstdint>
|
||||
#include <string>
|
||||
#include <string_view>
|
||||
#include <vector>
|
||||
|
||||
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
|
||||
@@ -5,7 +5,7 @@
|
||||
#include <string_view>
|
||||
#include <vector>
|
||||
|
||||
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
|
||||
@@ -1,6 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
#include <XCNewEditor/Editor/UIEditorCommandDispatcher.h>
|
||||
#include <XCEditor/Core/UIEditorCommandDispatcher.h>
|
||||
|
||||
#include <XCEngine/UI/Input/UIShortcutRegistry.h>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#include <string>
|
||||
#include <string_view>
|
||||
|
||||
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
|
||||
@@ -1,14 +1,14 @@
|
||||
#pragma once
|
||||
|
||||
#include <XCNewEditor/Editor/UIEditorWorkspaceLayoutPersistence.h>
|
||||
#include <XCNewEditor/Editor/UIEditorWorkspaceSession.h>
|
||||
#include <XCEditor/Core/UIEditorWorkspaceLayoutPersistence.h>
|
||||
#include <XCEditor/Core/UIEditorWorkspaceSession.h>
|
||||
|
||||
#include <cstdint>
|
||||
#include <string>
|
||||
#include <string_view>
|
||||
#include <vector>
|
||||
|
||||
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
|
||||
@@ -1,12 +1,12 @@
|
||||
#pragma once
|
||||
|
||||
#include <XCNewEditor/Editor/UIEditorWorkspaceSession.h>
|
||||
#include <XCEditor/Core/UIEditorWorkspaceSession.h>
|
||||
|
||||
#include <cstdint>
|
||||
#include <string>
|
||||
#include <string_view>
|
||||
|
||||
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
|
||||
@@ -6,7 +6,7 @@
|
||||
#include <string_view>
|
||||
#include <vector>
|
||||
|
||||
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
|
||||
@@ -1,14 +1,14 @@
|
||||
#pragma once
|
||||
|
||||
#include <XCNewEditor/Editor/UIEditorPanelRegistry.h>
|
||||
#include <XCNewEditor/Editor/UIEditorWorkspaceModel.h>
|
||||
#include <XCEditor/Core/UIEditorPanelRegistry.h>
|
||||
#include <XCEditor/Core/UIEditorWorkspaceModel.h>
|
||||
|
||||
#include <cstdint>
|
||||
#include <string>
|
||||
#include <string_view>
|
||||
#include <vector>
|
||||
|
||||
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
|
||||
@@ -5,9 +5,7 @@
|
||||
#include <cstdint>
|
||||
#include <string_view>
|
||||
|
||||
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
|
||||
@@ -5,9 +5,7 @@
|
||||
#include <string>
|
||||
#include <string_view>
|
||||
|
||||
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
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
#include <utility>
|
||||
|
||||
namespace XCEngine::NewEditor {
|
||||
namespace XCEngine::UI::Editor {
|
||||
|
||||
namespace {
|
||||
|
||||
@@ -103,4 +103,4 @@ EditorShellAssetValidationResult ValidateEditorShellAsset(const EditorShellAsset
|
||||
return {};
|
||||
}
|
||||
|
||||
} // namespace XCEngine::NewEditor
|
||||
} // namespace XCEngine::UI::Editor
|
||||
@@ -1,17 +1,17 @@
|
||||
#pragma once
|
||||
|
||||
#include <XCNewEditor/Editor/UIEditorPanelRegistry.h>
|
||||
#include <XCNewEditor/Editor/UIEditorWorkspaceModel.h>
|
||||
#include <XCNewEditor/Editor/UIEditorWorkspaceSession.h>
|
||||
#include <XCEditor/Core/UIEditorPanelRegistry.h>
|
||||
#include <XCEditor/Core/UIEditorWorkspaceModel.h>
|
||||
#include <XCEditor/Core/UIEditorWorkspaceSession.h>
|
||||
|
||||
#include <cstdint>
|
||||
#include <filesystem>
|
||||
#include <string>
|
||||
|
||||
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
|
||||
@@ -1,8 +1,8 @@
|
||||
#include <XCNewEditor/Editor/UIEditorCommandDispatcher.h>
|
||||
#include <XCEditor/Core/UIEditorCommandDispatcher.h>
|
||||
|
||||
#include <utility>
|
||||
|
||||
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
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
#include <XCNewEditor/Editor/UIEditorCommandRegistry.h>
|
||||
#include <XCEditor/Core/UIEditorCommandRegistry.h>
|
||||
|
||||
#include <unordered_set>
|
||||
#include <utility>
|
||||
|
||||
namespace XCEngine::NewEditor {
|
||||
namespace XCEngine::UI::Editor {
|
||||
|
||||
namespace {
|
||||
|
||||
@@ -127,4 +127,4 @@ UIEditorCommandRegistryValidationResult ValidateUIEditorCommandRegistry(
|
||||
return {};
|
||||
}
|
||||
|
||||
} // namespace XCEngine::NewEditor
|
||||
} // namespace XCEngine::UI::Editor
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
#include <XCNewEditor/Editor/UIEditorMenuModel.h>
|
||||
#include <XCEditor/Core/UIEditorMenuModel.h>
|
||||
|
||||
#include <XCNewEditor/Editor/UIEditorShortcutManager.h>
|
||||
#include <XCEditor/Core/UIEditorShortcutManager.h>
|
||||
|
||||
#include <utility>
|
||||
#include <unordered_set>
|
||||
|
||||
namespace XCEngine::NewEditor {
|
||||
namespace XCEngine::UI::Editor {
|
||||
|
||||
namespace {
|
||||
|
||||
@@ -262,4 +262,4 @@ UIEditorResolvedMenuModel BuildUIEditorResolvedMenuModel(
|
||||
return resolved;
|
||||
}
|
||||
|
||||
} // namespace XCEngine::NewEditor
|
||||
} // namespace XCEngine::UI::Editor
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
#include <XCNewEditor/Editor/UIEditorPanelRegistry.h>
|
||||
#include <XCEditor/Core/UIEditorPanelRegistry.h>
|
||||
|
||||
#include <unordered_set>
|
||||
#include <utility>
|
||||
|
||||
namespace XCEngine::NewEditor {
|
||||
namespace XCEngine::UI::Editor {
|
||||
|
||||
namespace {
|
||||
|
||||
@@ -71,4 +71,4 @@ UIEditorPanelRegistryValidationResult ValidateUIEditorPanelRegistry(
|
||||
return {};
|
||||
}
|
||||
|
||||
} // namespace XCEngine::NewEditor
|
||||
} // namespace XCEngine::UI::Editor
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
#include <XCNewEditor/Editor/UIEditorShortcutManager.h>
|
||||
#include <XCEditor/Core/UIEditorShortcutManager.h>
|
||||
|
||||
#include <XCEngine/Input/InputTypes.h>
|
||||
|
||||
#include <utility>
|
||||
|
||||
namespace XCEngine::NewEditor {
|
||||
namespace XCEngine::UI::Editor {
|
||||
|
||||
namespace {
|
||||
|
||||
@@ -341,4 +341,4 @@ UIEditorShortcutDispatchResult UIEditorShortcutManager::Dispatch(
|
||||
return result;
|
||||
}
|
||||
|
||||
} // namespace XCEngine::NewEditor
|
||||
} // namespace XCEngine::UI::Editor
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#include <XCNewEditor/Editor/UIEditorWorkspaceController.h>
|
||||
#include <XCEditor/Core/UIEditorWorkspaceController.h>
|
||||
|
||||
#include <utility>
|
||||
|
||||
namespace XCEngine::NewEditor {
|
||||
namespace XCEngine::UI::Editor {
|
||||
|
||||
namespace {
|
||||
|
||||
@@ -397,4 +397,4 @@ UIEditorWorkspaceController BuildDefaultUIEditorWorkspaceController(
|
||||
BuildDefaultUIEditorWorkspaceSession(panelRegistry, workspace));
|
||||
}
|
||||
|
||||
} // namespace XCEngine::NewEditor
|
||||
} // namespace XCEngine::UI::Editor
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include <XCNewEditor/Editor/UIEditorWorkspaceLayoutPersistence.h>
|
||||
#include <XCEditor/Core/UIEditorWorkspaceLayoutPersistence.h>
|
||||
|
||||
#include <iomanip>
|
||||
#include <limits>
|
||||
@@ -7,7 +7,7 @@
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
||||
namespace XCEngine::NewEditor {
|
||||
namespace XCEngine::UI::Editor {
|
||||
|
||||
namespace {
|
||||
|
||||
@@ -494,4 +494,4 @@ UIEditorWorkspaceLayoutLoadResult DeserializeUIEditorWorkspaceLayoutSnapshot(
|
||||
return result;
|
||||
}
|
||||
|
||||
} // namespace XCEngine::NewEditor
|
||||
} // namespace XCEngine::UI::Editor
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
#include <XCNewEditor/Editor/UIEditorPanelRegistry.h>
|
||||
#include <XCNewEditor/Editor/UIEditorWorkspaceModel.h>
|
||||
#include <XCEditor/Core/UIEditorPanelRegistry.h>
|
||||
#include <XCEditor/Core/UIEditorWorkspaceModel.h>
|
||||
|
||||
#include <cmath>
|
||||
#include <unordered_set>
|
||||
#include <utility>
|
||||
|
||||
namespace XCEngine::NewEditor {
|
||||
namespace XCEngine::UI::Editor {
|
||||
|
||||
namespace {
|
||||
|
||||
@@ -354,4 +354,4 @@ bool TryActivateUIEditorWorkspacePanel(
|
||||
return true;
|
||||
}
|
||||
|
||||
} // namespace XCEngine::NewEditor
|
||||
} // namespace XCEngine::UI::Editor
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
#include <XCNewEditor/Editor/UIEditorWorkspaceSession.h>
|
||||
#include <XCEditor/Core/UIEditorWorkspaceSession.h>
|
||||
|
||||
#include <unordered_set>
|
||||
#include <utility>
|
||||
|
||||
namespace XCEngine::NewEditor {
|
||||
namespace XCEngine::UI::Editor {
|
||||
|
||||
namespace {
|
||||
|
||||
@@ -442,4 +442,4 @@ bool TryActivateUIEditorWorkspacePanel(
|
||||
!AreUIEditorWorkspaceSessionsEquivalent(sessionBefore, session);
|
||||
}
|
||||
|
||||
} // namespace XCEngine::NewEditor
|
||||
} // namespace XCEngine::UI::Editor
|
||||
|
||||
@@ -1,18 +1,16 @@
|
||||
#include <XCNewEditor/Widgets/UIEditorCollectionPrimitives.h>
|
||||
#include <XCEditor/Widgets/UIEditorCollectionPrimitives.h>
|
||||
|
||||
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
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
#include "Host/Application.h"
|
||||
|
||||
int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE, LPWSTR, int nCmdShow) {
|
||||
return XCEngine::NewEditor::RunNewEditor(hInstance, nCmdShow);
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
<View
|
||||
name="NewEditorShell"
|
||||
name="EditorShell"
|
||||
theme="../themes/editor_shell.xctheme"
|
||||
style="EditorWorkspace">
|
||||
<Column
|
||||
|
||||
@@ -29,6 +29,8 @@ target_include_directories(editor_ui_integration_host
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src
|
||||
${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_integration_host
|
||||
@@ -47,6 +49,6 @@ endif()
|
||||
target_link_libraries(editor_ui_integration_host
|
||||
PUBLIC
|
||||
editor_ui_validation_registry
|
||||
XCNewEditorHost
|
||||
XCUIEditorHost
|
||||
XCEngine
|
||||
)
|
||||
|
||||
@@ -6,9 +6,9 @@
|
||||
|
||||
#include "EditorValidationScenario.h"
|
||||
|
||||
#include <XCNewEditor/Host/AutoScreenshot.h>
|
||||
#include <XCNewEditor/Host/InputModifierTracker.h>
|
||||
#include <XCNewEditor/Host/NativeRenderer.h>
|
||||
#include "Host/AutoScreenshot.h"
|
||||
#include "Host/InputModifierTracker.h"
|
||||
#include "Host/NativeRenderer.h"
|
||||
|
||||
#include <XCEngine/UI/Runtime/UIScreenDocumentHost.h>
|
||||
#include <XCEngine/UI/Runtime/UIScreenPlayer.h>
|
||||
@@ -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 = {};
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
#define NOMINMAX
|
||||
#endif
|
||||
|
||||
#include <XCNewEditor/Editor/UIEditorCommandDispatcher.h>
|
||||
#include <XCNewEditor/Editor/UIEditorMenuModel.h>
|
||||
#include <XCNewEditor/Editor/UIEditorShortcutManager.h>
|
||||
#include <XCNewEditor/Host/AutoScreenshot.h>
|
||||
#include <XCNewEditor/Host/NativeRenderer.h>
|
||||
#include <XCEditor/Core/UIEditorCommandDispatcher.h>
|
||||
#include <XCEditor/Core/UIEditorMenuModel.h>
|
||||
#include <XCEditor/Core/UIEditorShortcutManager.h>
|
||||
#include "Host/AutoScreenshot.h"
|
||||
#include "Host/NativeRenderer.h"
|
||||
|
||||
#include <XCEngine/Input/InputTypes.h>
|
||||
#include <XCEngine/UI/DrawData.h>
|
||||
@@ -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";
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
#define NOMINMAX
|
||||
#endif
|
||||
|
||||
#include <XCNewEditor/Editor/UIEditorWorkspaceController.h>
|
||||
#include <XCNewEditor/Editor/UIEditorWorkspaceLayoutPersistence.h>
|
||||
#include <XCNewEditor/Host/AutoScreenshot.h>
|
||||
#include <XCNewEditor/Host/NativeRenderer.h>
|
||||
#include <XCEditor/Core/UIEditorWorkspaceController.h>
|
||||
#include <XCEditor/Core/UIEditorWorkspaceLayoutPersistence.h>
|
||||
#include "Host/AutoScreenshot.h"
|
||||
#include "Host/NativeRenderer.h"
|
||||
|
||||
#include <XCEngine/UI/DrawData.h>
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
#define NOMINMAX
|
||||
#endif
|
||||
|
||||
#include <XCNewEditor/Editor/UIEditorWorkspaceController.h>
|
||||
#include <XCNewEditor/Host/AutoScreenshot.h>
|
||||
#include <XCNewEditor/Host/NativeRenderer.h>
|
||||
#include <XCEditor/Core/UIEditorWorkspaceController.h>
|
||||
#include "Host/AutoScreenshot.h"
|
||||
#include "Host/NativeRenderer.h"
|
||||
|
||||
#include <XCEngine/UI/DrawData.h>
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
#define NOMINMAX
|
||||
#endif
|
||||
|
||||
#include <XCNewEditor/Editor/UIEditorShortcutManager.h>
|
||||
#include <XCNewEditor/Host/AutoScreenshot.h>
|
||||
#include <XCNewEditor/Host/InputModifierTracker.h>
|
||||
#include <XCNewEditor/Host/NativeRenderer.h>
|
||||
#include <XCEditor/Core/UIEditorShortcutManager.h>
|
||||
#include "Host/AutoScreenshot.h"
|
||||
#include "Host/InputModifierTracker.h"
|
||||
#include "Host/NativeRenderer.h"
|
||||
|
||||
#include <XCEngine/Input/InputTypes.h>
|
||||
#include <XCEngine/UI/DrawData.h>
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
)
|
||||
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include "editor/EditorShellAsset.h"
|
||||
#include "Core/EditorShellAsset.h"
|
||||
|
||||
#include <XCNewEditor/Editor/UIEditorPanelRegistry.h>
|
||||
#include <XCEditor/Core/UIEditorPanelRegistry.h>
|
||||
|
||||
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<XCEngine::NewEditor::UIEditorPanelDescriptor*>(
|
||||
const_cast<XCEngine::UI::Editor::UIEditorPanelDescriptor*>(
|
||||
FindUIEditorPanelDescriptor(shellAsset.panelRegistry, "editor-foundation-root"));
|
||||
ASSERT_NE(documentPanel, nullptr);
|
||||
documentPanel->panelId = "editor-foundation-root-renamed";
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include <XCNewEditor/Host/InputModifierTracker.h>
|
||||
#include "Host/InputModifierTracker.h"
|
||||
|
||||
#include <XCEngine/UI/Types.h>
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
namespace {
|
||||
|
||||
using XCEngine::XCUI::Host::InputModifierTracker;
|
||||
using XCEngine::UI::Editor::Host::InputModifierTracker;
|
||||
using XCEngine::UI::UIInputEventType;
|
||||
|
||||
TEST(InputModifierTrackerTest, ControlStatePersistsAcrossChordKeyDownAndClearsOnKeyUp) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include "editor/EditorShellAsset.h"
|
||||
#include "Core/EditorShellAsset.h"
|
||||
|
||||
#include <XCEngine/UI/Runtime/UIScreenDocumentHost.h>
|
||||
#include <XCEngine/UI/Runtime/UIScreenPlayer.h>
|
||||
@@ -9,13 +9,13 @@
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#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);
|
||||
}
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
|
||||
#include <XCEngine/UI/Style/Theme.h>
|
||||
#include <XCEngine/UI/Style/StyleTypes.h>
|
||||
#include <XCNewEditor/Widgets/UIEditorCollectionPrimitives.h>
|
||||
#include <XCEditor/Widgets/UIEditorCollectionPrimitives.h>
|
||||
|
||||
namespace {
|
||||
|
||||
namespace Style = XCEngine::UI::Style;
|
||||
namespace UIWidgets = XCEngine::UI::Widgets;
|
||||
namespace UIWidgets = XCEngine::UI::Editor::Widgets;
|
||||
|
||||
Style::UITheme BuildEditorPrimitiveTheme() {
|
||||
Style::UIThemeDefinition definition = {};
|
||||
|
||||
@@ -1,24 +1,24 @@
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include <XCNewEditor/Editor/UIEditorCommandDispatcher.h>
|
||||
#include <XCEditor/Core/UIEditorCommandDispatcher.h>
|
||||
|
||||
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 = {};
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include <XCNewEditor/Editor/UIEditorCommandRegistry.h>
|
||||
#include <XCEditor/Core/UIEditorCommandRegistry.h>
|
||||
|
||||
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 = {};
|
||||
|
||||
@@ -1,33 +1,33 @@
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include <XCNewEditor/Editor/UIEditorMenuModel.h>
|
||||
#include <XCNewEditor/Editor/UIEditorShortcutManager.h>
|
||||
#include <XCEditor/Core/UIEditorMenuModel.h>
|
||||
#include <XCEditor/Core/UIEditorShortcutManager.h>
|
||||
|
||||
#include <XCEngine/Input/InputTypes.h>
|
||||
|
||||
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;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include <XCEngine/UI/DrawData.h>
|
||||
#include <XCNewEditor/Widgets/UIEditorPanelChrome.h>
|
||||
#include <XCEditor/Widgets/UIEditorPanelChrome.h>
|
||||
|
||||
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,
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include <XCNewEditor/Editor/UIEditorPanelRegistry.h>
|
||||
#include <XCEditor/Core/UIEditorPanelRegistry.h>
|
||||
|
||||
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();
|
||||
|
||||
@@ -1,25 +1,25 @@
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include <XCNewEditor/Editor/UIEditorShortcutManager.h>
|
||||
#include <XCEditor/Core/UIEditorShortcutManager.h>
|
||||
|
||||
#include <XCEngine/Input/InputTypes.h>
|
||||
|
||||
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 },
|
||||
|
||||
@@ -1,24 +1,24 @@
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include <XCNewEditor/Editor/UIEditorWorkspaceController.h>
|
||||
#include <XCEditor/Core/UIEditorWorkspaceController.h>
|
||||
|
||||
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 = {};
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include <XCNewEditor/Editor/UIEditorWorkspaceController.h>
|
||||
#include <XCNewEditor/Editor/UIEditorWorkspaceLayoutPersistence.h>
|
||||
#include <XCEditor/Core/UIEditorWorkspaceController.h>
|
||||
#include <XCEditor/Core/UIEditorWorkspaceLayoutPersistence.h>
|
||||
|
||||
#include <string>
|
||||
#include <string_view>
|
||||
@@ -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 = {};
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include <XCNewEditor/Editor/UIEditorWorkspaceModel.h>
|
||||
#include <XCEditor/Core/UIEditorWorkspaceModel.h>
|
||||
|
||||
#include <algorithm>
|
||||
#include <string>
|
||||
@@ -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<std::string> CollectVisiblePanelIds(const UIEditorWorkspaceModel& workspace) {
|
||||
const auto panels = CollectUIEditorWorkspaceVisiblePanels(workspace);
|
||||
|
||||
@@ -1,31 +1,31 @@
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include <XCNewEditor/Editor/UIEditorPanelRegistry.h>
|
||||
#include <XCNewEditor/Editor/UIEditorWorkspaceModel.h>
|
||||
#include <XCNewEditor/Editor/UIEditorWorkspaceSession.h>
|
||||
#include <XCEditor/Core/UIEditorPanelRegistry.h>
|
||||
#include <XCEditor/Core/UIEditorWorkspaceModel.h>
|
||||
#include <XCEditor/Core/UIEditorWorkspaceSession.h>
|
||||
|
||||
#include <vector>
|
||||
|
||||
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 = {};
|
||||
|
||||
Reference in New Issue
Block a user