27 lines
878 B
C++
27 lines
878 B
C++
#pragma once
|
|
|
|
#include <XCEditor/Foundation/UIEditorShortcutManager.h>
|
|
#include <XCEditor/Shell/UIEditorShellAsset.h>
|
|
#include <XCEditor/Shell/UIEditorShellInteraction.h>
|
|
#include <XCEditor/Workspace/UIEditorWorkspaceController.h>
|
|
|
|
namespace XCEngine::UI::Editor {
|
|
|
|
struct StructuredEditorShellBinding {
|
|
UIEditorWorkspaceController workspaceController = {};
|
|
UIEditorShellInteractionDefinition shellDefinition = {};
|
|
UIEditorShortcutManager shortcutManager = {};
|
|
EditorShellAssetValidationResult assetValidation = {};
|
|
|
|
[[nodiscard]] bool IsValid() const {
|
|
return assetValidation.IsValid();
|
|
}
|
|
};
|
|
|
|
StructuredEditorShellBinding BuildStructuredEditorShellBinding(const EditorShellAsset& asset);
|
|
|
|
UIEditorShellInteractionServices BuildStructuredEditorShellServices(
|
|
const StructuredEditorShellBinding& binding);
|
|
|
|
} // namespace XCEngine::UI::Editor
|