Files
XCEngine/editor/app/Windowing/Content/EditorWindowContentFactory.cpp

38 lines
1.2 KiB
C++

#include "Windowing/Content/EditorWindowContentFactory.h"
#include "Windowing/Content/EditorUtilityWindowContentController.h"
#include "Windowing/Content/EditorWorkspaceWindowContentController.h"
#include "Windowing/System/EditorWindowSystem.h"
#include <utility>
namespace XCEngine::UI::Editor::App {
namespace {
class DefaultEditorWindowContentFactory final : public EditorWindowContentFactory {
public:
std::unique_ptr<EditorWindowContentController> CreateWorkspaceContentController(
std::string_view windowId,
UIEditorWorkspaceController workspaceController,
EditorWindowSystem& windowSystem) const override {
return CreateEditorWorkspaceWindowContentController(
windowId,
std::move(workspaceController),
windowSystem);
}
std::unique_ptr<EditorWindowContentController> CreateUtilityContentController(
const EditorUtilityWindowDescriptor& descriptor) const override {
return CreateEditorUtilityWindowContentController(descriptor);
}
};
} // namespace
std::unique_ptr<EditorWindowContentFactory> CreateDefaultEditorWindowContentFactory() {
return std::make_unique<DefaultEditorWindowContentFactory>();
}
} // namespace XCEngine::UI::Editor::App