Refactor editor windowing boundaries

This commit is contained in:
2026-04-26 13:44:19 +08:00
parent c3188da779
commit bd060ba031
20 changed files with 340 additions and 409 deletions

View File

@@ -13,26 +13,28 @@ namespace {
class DefaultEditorWindowContentFactory final : public EditorWindowContentFactory {
public:
explicit DefaultEditorWindowContentFactory(EditorWindowSystem& windowSystem)
: m_windowSystem(windowSystem) {}
std::unique_ptr<EditorWindowContentController> CreateWorkspaceContentController(
std::string_view windowId,
UIEditorWorkspaceController workspaceController,
EditorWindowSystem& windowSystem) const override {
return CreateEditorWorkspaceWindowContentController(
windowId,
std::move(workspaceController),
windowSystem);
const UIEditorWindowWorkspaceState& windowState) const override {
return CreateEditorWorkspaceWindowContentController(windowState, m_windowSystem);
}
std::unique_ptr<EditorWindowContentController> CreateUtilityContentController(
const EditorUtilityWindowDescriptor& descriptor) const override {
return CreateEditorUtilityWindowContentController(descriptor);
}
private:
EditorWindowSystem& m_windowSystem;
};
} // namespace
std::unique_ptr<EditorWindowContentFactory> CreateDefaultEditorWindowContentFactory() {
return std::make_unique<DefaultEditorWindowContentFactory>();
std::unique_ptr<EditorWindowContentFactory> CreateDefaultEditorWindowContentFactory(
EditorWindowSystem& windowSystem) {
return std::make_unique<DefaultEditorWindowContentFactory>(windowSystem);
}
} // namespace XCEngine::UI::Editor::App