Files
XCEngine/new_editor/app/Commands/EditorEditCommandRoute.h

36 lines
1.0 KiB
C++

#pragma once
#include <XCEditor/Foundation/UIEditorCommandDispatcher.h>
#include <string_view>
namespace XCEngine::UI::Editor::App {
class EditorEditCommandRoute {
public:
virtual ~EditorEditCommandRoute() = default;
virtual UIEditorHostCommandEvaluationResult EvaluateEditCommand(
std::string_view commandId) const = 0;
virtual UIEditorHostCommandDispatchResult DispatchEditCommand(
std::string_view commandId) = 0;
virtual UIEditorHostCommandEvaluationResult EvaluateAssetCommand(
std::string_view commandId) const {
(void)commandId;
UIEditorHostCommandEvaluationResult result = {};
result.message = "Current panel does not expose asset commands.";
return result;
}
virtual UIEditorHostCommandDispatchResult DispatchAssetCommand(
std::string_view commandId) {
UIEditorHostCommandDispatchResult result = {};
result.message = EvaluateAssetCommand(commandId).message;
return result;
}
};
} // namespace XCEngine::UI::Editor::App