Refactor editor windowing boundaries
This commit is contained in:
@@ -21,7 +21,7 @@ const UIEditorPanelRegistry& EditorWindowSystem::GetPanelRegistry() const {
|
||||
|
||||
bool EditorWindowSystem::BootstrapPrimaryWindow(
|
||||
std::string_view primaryWindowId,
|
||||
const UIEditorWorkspaceController& workspaceController,
|
||||
const UIEditorWindowWorkspaceState& primaryWindowState,
|
||||
std::string& outError) {
|
||||
const std::string resolvedPrimaryWindowId =
|
||||
primaryWindowId.empty() ? std::string("main-window") : std::string(primaryWindowId);
|
||||
@@ -30,11 +30,9 @@ bool EditorWindowSystem::BootstrapPrimaryWindow(
|
||||
windowSet.primaryWindowId = resolvedPrimaryWindowId;
|
||||
windowSet.activeWindowId = resolvedPrimaryWindowId;
|
||||
|
||||
UIEditorWindowWorkspaceState primaryWindowState = {};
|
||||
primaryWindowState.windowId = resolvedPrimaryWindowId;
|
||||
primaryWindowState.workspace = workspaceController.GetWorkspace();
|
||||
primaryWindowState.session = workspaceController.GetSession();
|
||||
windowSet.windows.push_back(std::move(primaryWindowState));
|
||||
UIEditorWindowWorkspaceState resolvedPrimaryWindowState = primaryWindowState;
|
||||
resolvedPrimaryWindowState.windowId = resolvedPrimaryWindowId;
|
||||
windowSet.windows.push_back(std::move(resolvedPrimaryWindowState));
|
||||
|
||||
return m_workspaceStore->TrySetWindowSet(std::move(windowSet), outError);
|
||||
}
|
||||
@@ -62,30 +60,6 @@ UIEditorWindowWorkspaceController EditorWindowSystem::BuildWorkspaceMutationCont
|
||||
return UIEditorWindowWorkspaceController(GetPanelRegistry(), GetWindowSet());
|
||||
}
|
||||
|
||||
bool EditorWindowSystem::CommitLiveWindowMutation(
|
||||
std::string_view windowId,
|
||||
const UIEditorWorkspaceController& workspaceController,
|
||||
std::string& outError) {
|
||||
if (windowId.empty()) {
|
||||
outError = "live window mutation missing window id";
|
||||
return false;
|
||||
}
|
||||
|
||||
UIEditorWindowWorkspaceSet nextWindowSet = GetWindowSet();
|
||||
UIEditorWindowWorkspaceState* existingState =
|
||||
FindMutableUIEditorWindowWorkspaceState(nextWindowSet, windowId);
|
||||
if (existingState == nullptr) {
|
||||
outError =
|
||||
"live window mutation references unknown window '" +
|
||||
std::string(windowId) + "'";
|
||||
return false;
|
||||
}
|
||||
|
||||
existingState->workspace = workspaceController.GetWorkspace();
|
||||
existingState->session = workspaceController.GetSession();
|
||||
return m_workspaceStore->TrySetWindowSet(std::move(nextWindowSet), outError);
|
||||
}
|
||||
|
||||
EditorWindowSynchronizationPlan EditorWindowSystem::BuildPlanForWindowSet(
|
||||
const UIEditorWindowWorkspaceSet& targetWindowSet,
|
||||
const std::vector<EditorWindowHostSnapshot>& hostWindows,
|
||||
@@ -104,23 +78,6 @@ EditorWindowSynchronizationPlan EditorWindowSystem::BuildPlanForWindowSet(
|
||||
outError);
|
||||
}
|
||||
|
||||
EditorWindowSynchronizationPlan EditorWindowSystem::BuildPlanForLiveWindowMutation(
|
||||
std::string_view windowId,
|
||||
const UIEditorWorkspaceController& workspaceController,
|
||||
const std::vector<EditorWindowHostSnapshot>& hostWindows,
|
||||
std::wstring_view primaryWindowTitle,
|
||||
std::string& outError) const {
|
||||
EditorWindowWorkspaceMutationRequest request = {};
|
||||
request.windowState.windowId = std::string(windowId);
|
||||
request.windowState.workspace = workspaceController.GetWorkspace();
|
||||
request.windowState.session = workspaceController.GetSession();
|
||||
return BuildPlanForWorkspaceMutationRequest(
|
||||
request,
|
||||
hostWindows,
|
||||
primaryWindowTitle,
|
||||
outError);
|
||||
}
|
||||
|
||||
EditorWindowSynchronizationPlan EditorWindowSystem::BuildPlanForWorkspaceMutationRequest(
|
||||
const EditorWindowWorkspaceMutationRequest& request,
|
||||
const std::vector<EditorWindowHostSnapshot>& hostWindows,
|
||||
|
||||
Reference in New Issue
Block a user