1.5 KiB
1.5 KiB
ActionBinding
命名空间: XCEngine::Editor::Actions
类型: header utility set
源文件: editor/src/Actions/ActionBinding.h
描述: 定义快捷键和 UI 动作绑定数据结构,并提供菜单、按钮和快捷键处理辅助函数。
概述
ActionBinding.h 当前不是单一 class,而是一组围绕动作绑定组织起来的轻量工具:
ShortcutChordShortcutRouteShortcutContextActionBinding- 一系列
Shortcut(...)/MakeAction(...)/Draw*Action(...)/HandleShortcut(...)辅助函数
当前实现说明
- 一个
ActionBinding最多保存两个快捷键 chord。 ShortcutContext当前支持Global和FocusedWindow两种上下文。MakeAction()用来快速构造动作描述对象。DrawMenuAction()/DrawButtonAction()/DrawInspectorAction()/DrawToolbarAction()等函数把动作直接映射成 UI 绘制。HandleShortcut()则把动作和快捷键触发逻辑连起来。
设计说明
这类做法很像商业工具链里常见的 command metadata + shortcut binding 层:
- 动作有 label、shortcut、enabled、selected 等状态
- UI 表现和实际执行函数分离
- 快捷键逻辑能复用在菜单、按钮和工具栏上
当前实现边界
- 当前快捷键判断直接基于 ImGui input state。
- 当前没有统一的命令注册表或可重绑定快捷键配置系统。