#include "UtilityWindows/EditorUtilityWindowRegistry.h" #include "Features/ColorPicker/ColorPickerPanel.h" #include "Features/Inspector/AddComponentPanel.h" namespace XCEngine::UI::Editor::App { namespace { using ::XCEngine::UI::UISize; constexpr EditorUtilityWindowDescriptor kColorPickerUtilityWindowDescriptor = { .kind = EditorUtilityWindowKind::ColorPicker, .windowId = "utility.color-picker", .title = L"Color Picker", .preferredOuterSize = UISize(352.0f, 500.0f), .minimumOuterSize = UISize(320.0f, 460.0f), }; constexpr EditorUtilityWindowDescriptor kAddComponentUtilityWindowDescriptor = { .kind = EditorUtilityWindowKind::AddComponent, .windowId = "utility.add-component", .title = L"Add Component", .preferredOuterSize = UISize(352.0f, 500.0f), .minimumOuterSize = UISize(320.0f, 460.0f), }; } // namespace const EditorUtilityWindowDescriptor* ResolveEditorUtilityWindowDescriptor( EditorUtilityWindowKind kind) { switch (kind) { case EditorUtilityWindowKind::ColorPicker: return &kColorPickerUtilityWindowDescriptor; case EditorUtilityWindowKind::AddComponent: return &kAddComponentUtilityWindowDescriptor; case EditorUtilityWindowKind::None: default: return nullptr; } } std::unique_ptr CreateEditorUtilityWindowPanel( EditorUtilityWindowKind kind) { switch (kind) { case EditorUtilityWindowKind::ColorPicker: return std::make_unique(); case EditorUtilityWindowKind::AddComponent: return std::make_unique(); case EditorUtilityWindowKind::None: default: return nullptr; } } } // namespace XCEngine::UI::Editor::App