Cut workspace panel factory out of windowing
This commit is contained in:
@@ -15,23 +15,17 @@ class DefaultEditorWindowContentFactory final : public EditorWindowContentFactor
|
||||
public:
|
||||
DefaultEditorWindowContentFactory(
|
||||
EditorWindowSystem& windowSystem,
|
||||
EditorWorkspacePanelRuntimeSetFactory workspacePanelFactory,
|
||||
EditorWorkspaceShellRuntimeFactory workspaceShellRuntimeFactory,
|
||||
EditorUtilityWindowPanelFactory utilityPanelFactory)
|
||||
: m_windowSystem(windowSystem)
|
||||
, m_workspacePanelFactory(std::move(workspacePanelFactory))
|
||||
, m_workspaceShellRuntimeFactory(std::move(workspaceShellRuntimeFactory))
|
||||
, m_utilityPanelFactory(std::move(utilityPanelFactory)) {}
|
||||
|
||||
std::unique_ptr<EditorWindowContentController> CreateWorkspaceContentController(
|
||||
const UIEditorWindowWorkspaceState& windowState) const override {
|
||||
EditorWorkspacePanelRuntimeSet workspacePanels =
|
||||
m_workspacePanelFactory
|
||||
? m_workspacePanelFactory()
|
||||
: EditorWorkspacePanelRuntimeSet{};
|
||||
std::unique_ptr<EditorWorkspaceShellRuntime> shellRuntime =
|
||||
m_workspaceShellRuntimeFactory
|
||||
? m_workspaceShellRuntimeFactory(std::move(workspacePanels))
|
||||
? m_workspaceShellRuntimeFactory()
|
||||
: nullptr;
|
||||
return CreateEditorWorkspaceWindowContentController(
|
||||
windowState,
|
||||
@@ -52,7 +46,6 @@ public:
|
||||
|
||||
private:
|
||||
EditorWindowSystem& m_windowSystem;
|
||||
EditorWorkspacePanelRuntimeSetFactory m_workspacePanelFactory = {};
|
||||
EditorWorkspaceShellRuntimeFactory m_workspaceShellRuntimeFactory = {};
|
||||
EditorUtilityWindowPanelFactory m_utilityPanelFactory = {};
|
||||
};
|
||||
@@ -61,12 +54,10 @@ private:
|
||||
|
||||
std::unique_ptr<EditorWindowContentFactory> CreateDefaultEditorWindowContentFactory(
|
||||
EditorWindowSystem& windowSystem,
|
||||
EditorWorkspacePanelRuntimeSetFactory workspacePanelFactory,
|
||||
EditorWorkspaceShellRuntimeFactory workspaceShellRuntimeFactory,
|
||||
EditorUtilityWindowPanelFactory utilityPanelFactory) {
|
||||
return std::make_unique<DefaultEditorWindowContentFactory>(
|
||||
windowSystem,
|
||||
std::move(workspacePanelFactory),
|
||||
std::move(workspaceShellRuntimeFactory),
|
||||
std::move(utilityPanelFactory));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user