Refine editor window architecture

This commit is contained in:
2026-04-25 17:51:37 +08:00
parent ef41c44464
commit 41b912933d
24 changed files with 741 additions and 53 deletions

View File

@@ -77,11 +77,15 @@ using ::XCEngine::UI::UIPoint;
EditorWindow::EditorWindow(
std::string windowId,
std::wstring title,
EditorWindowCategory category,
EditorWindowChromePolicy chromePolicy,
bool primary,
std::unique_ptr<EditorWindowContentController> contentController)
: m_session(std::make_unique<EditorWindowSession>(
std::move(windowId),
std::move(title),
category,
chromePolicy,
primary))
, m_chromeController(std::make_unique<EditorWindowChromeController>())
, m_frameOrchestrator(std::make_unique<EditorWindowFrameOrchestrator>())
@@ -103,6 +107,14 @@ bool EditorWindow::HasHwnd() const {
return m_session->HasHwnd();
}
EditorWindowCategory EditorWindow::GetCategory() const {
return m_session->GetCategory();
}
const EditorWindowChromePolicy& EditorWindow::GetChromePolicy() const {
return m_session->GetChromePolicy();
}
EditorWindowLifecycleState EditorWindow::GetLifecycleState() const {
return m_session->GetLifecycleState();
}
@@ -111,6 +123,14 @@ bool EditorWindow::IsPrimary() const {
return m_session->IsPrimary();
}
bool EditorWindow::IsWorkspaceWindow() const {
return m_session->IsWorkspaceWindow();
}
bool EditorWindow::IsUtilityWindow() const {
return m_session->IsUtilityWindow();
}
bool EditorWindow::IsClosing() const {
return m_session->IsClosing();
}