#include "Windowing/Content/EditorWindowContentFactory.h" #include "Windowing/Content/EditorUtilityWindowContentController.h" #include "Windowing/Content/EditorWorkspaceWindowContentController.h" #include #include namespace XCEngine::UI::Editor::App { namespace { class DefaultEditorWindowContentFactory final : public EditorWindowContentFactory { public: explicit DefaultEditorWindowContentFactory(EditorWindowSystem& windowSystem) : m_windowSystem(windowSystem) {} std::unique_ptr CreateWorkspaceContentController( const UIEditorWindowWorkspaceState& windowState) const override { return CreateEditorWorkspaceWindowContentController(windowState, m_windowSystem); } std::unique_ptr CreateUtilityContentController( const EditorUtilityWindowDescriptor& descriptor) const override { return CreateEditorUtilityWindowContentController(descriptor); } private: EditorWindowSystem& m_windowSystem; }; } // namespace std::unique_ptr CreateDefaultEditorWindowContentFactory( EditorWindowSystem& windowSystem) { return std::make_unique(windowSystem); } } // namespace XCEngine::UI::Editor::App