41 lines
1.3 KiB
C++
41 lines
1.3 KiB
C++
#include "Windowing/Content/EditorWindowContentFactory.h"
|
|
|
|
#include "Windowing/Content/EditorUtilityWindowContentController.h"
|
|
#include "Windowing/Content/EditorWorkspaceWindowContentController.h"
|
|
|
|
#include <XCEditor/Windowing/System/EditorWindowSystem.h>
|
|
|
|
#include <utility>
|
|
|
|
namespace XCEngine::UI::Editor::App {
|
|
|
|
namespace {
|
|
|
|
class DefaultEditorWindowContentFactory final : public EditorWindowContentFactory {
|
|
public:
|
|
explicit DefaultEditorWindowContentFactory(EditorWindowSystem& windowSystem)
|
|
: m_windowSystem(windowSystem) {}
|
|
|
|
std::unique_ptr<EditorWindowContentController> CreateWorkspaceContentController(
|
|
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(
|
|
EditorWindowSystem& windowSystem) {
|
|
return std::make_unique<DefaultEditorWindowContentFactory>(windowSystem);
|
|
}
|
|
|
|
} // namespace XCEngine::UI::Editor::App
|