37 lines
1011 B
C++
37 lines
1011 B
C++
#pragma once
|
|
|
|
#include "Features/Inspector/InspectorSubject.h"
|
|
|
|
#include <XCEditor/Fields/UIEditorPropertyGrid.h>
|
|
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
namespace XCEngine::UI::Editor::App {
|
|
|
|
class EditorSceneRuntime;
|
|
class InspectorComponentEditorRegistry;
|
|
|
|
struct InspectorPresentationComponentBinding {
|
|
std::string componentId = {};
|
|
std::string typeName = {};
|
|
std::string displayName = {};
|
|
bool removable = false;
|
|
std::vector<std::string> fieldIds = {};
|
|
};
|
|
|
|
struct InspectorPresentationModel {
|
|
bool hasSelection = false;
|
|
std::string title = {};
|
|
std::string subtitle = {};
|
|
std::vector<Widgets::UIEditorPropertyGridSection> sections = {};
|
|
std::vector<InspectorPresentationComponentBinding> componentBindings = {};
|
|
};
|
|
|
|
InspectorPresentationModel BuildInspectorPresentationModel(
|
|
const InspectorSubject& subject,
|
|
const EditorSceneRuntime& sceneRuntime,
|
|
const InspectorComponentEditorRegistry& componentEditorRegistry);
|
|
|
|
} // namespace XCEngine::UI::Editor::App
|