Introduce editor core boundary

This commit is contained in:
2026-04-27 13:40:26 +08:00
parent 3243eea0bf
commit 1de1f768d3
29 changed files with 658 additions and 200 deletions

View File

@@ -5,6 +5,8 @@
#include <XCEditor/Windowing/System/EditorWindowSystem.h>
#include <XCEditor/Workspace/UIEditorDetachedWindowPolicy.h>
#include <utility>
namespace XCEngine::UI::Editor::App {
namespace {
@@ -37,14 +39,16 @@ EditorWindowContentCursorKind ToContentCursorKind(
EditorWorkspaceWindowContentController::EditorWorkspaceWindowContentController(
const UIEditorWindowWorkspaceState& windowState,
EditorWindowSystem& windowSystem)
EditorWindowSystem& windowSystem,
EditorWorkspacePanelRuntimeSet workspacePanels)
: m_windowId(windowState.windowId)
, m_windowSystem(windowSystem)
, m_projection(BuildEditorWorkspaceWindowProjection(
std::wstring_view{},
windowSystem.GetPanelRegistry(),
windowState,
false)) {}
false))
, m_shellRuntime(std::move(workspacePanels)) {}
EditorWorkspaceWindowContentController::~EditorWorkspaceWindowContentController() = default;
@@ -235,10 +239,12 @@ std::string EditorWorkspaceWindowContentController::ResolveDetachedWindowTitleTe
std::unique_ptr<EditorWindowContentController> CreateEditorWorkspaceWindowContentController(
const UIEditorWindowWorkspaceState& windowState,
EditorWindowSystem& windowSystem) {
EditorWindowSystem& windowSystem,
EditorWorkspacePanelRuntimeSet workspacePanels) {
return std::make_unique<EditorWorkspaceWindowContentController>(
windowState,
windowSystem);
windowSystem,
std::move(workspacePanels));
}
} // namespace XCEngine::UI::Editor::App