Files
XCEngine/editor/include/XCEditor/Shell/UIEditorStructuredShell.h
2026-04-29 01:24:21 +08:00

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