Harden editor app windowing boundary

This commit is contained in:
2026-04-26 16:01:07 +08:00
parent f4afaf184e
commit ac626d48c4
31 changed files with 473 additions and 553 deletions

View File

@@ -1,6 +1,7 @@
#pragma once
#include "Windowing/System/EditorWindowSynchronizationPlan.h"
#include <XCEditor/Workspace/UIEditorWorkspaceController.h>
#include <XCEditor/Workspace/UIEditorWindowWorkspaceController.h>
#include <memory>
@@ -35,6 +36,9 @@ public:
const UIEditorWindowWorkspaceSet& GetWindowSet() const;
const UIEditorWindowWorkspaceState* FindWindowState(std::string_view windowId) const;
bool TryBuildLiveWindowWorkspaceController(
std::string_view windowId,
UIEditorWorkspaceController& outController);
UIEditorWindowWorkspaceController BuildWorkspaceMutationController() const;
EditorWindowSynchronizationPlan BuildPlanForWindowSet(
const UIEditorWindowWorkspaceSet& targetWindowSet,
@@ -43,11 +47,6 @@ public:
std::string_view preferredNewWindowId,
const EditorWindowSynchronizationPlacement& preferredPlacement,
std::string& outError) const;
EditorWindowSynchronizationPlan BuildPlanForWorkspaceMutationRequest(
const EditorWindowWorkspaceMutationRequest& request,
const std::vector<EditorWindowHostSnapshot>& hostWindows,
std::wstring_view primaryWindowTitle,
std::string& outError) const;
EditorWindowSynchronizationPlan BuildPlanForDestroyedWindow(
std::string_view windowId,
const std::vector<EditorWindowHostSnapshot>& hostWindows,