Files
XCEngine/docs/api/XCEngine/Editor/Actions/ActionBinding/ActionBinding.md

1.5 KiB
Raw Blame History

ActionBinding

命名空间: XCEngine::Editor::Actions

类型: header utility set

源文件: editor/src/Actions/ActionBinding.h

描述: 定义快捷键和 UI 动作绑定数据结构,并提供菜单、按钮和快捷键处理辅助函数。

概述

ActionBinding.h 当前不是单一 class而是一组围绕动作绑定组织起来的轻量工具

  • ShortcutChord
  • ShortcutRoute
  • ShortcutContext
  • ActionBinding
  • 一系列 Shortcut(...) / MakeAction(...) / Draw*Action(...) / HandleShortcut(...) 辅助函数

当前实现说明

  • 一个 ActionBinding 最多保存两个快捷键 chord。
  • ShortcutContext 当前支持 GlobalFocusedWindow 两种上下文。
  • MakeAction() 用来快速构造动作描述对象。
  • DrawMenuAction() / DrawButtonAction() / DrawInspectorAction() / DrawToolbarAction() 等函数把动作直接映射成 UI 绘制。
  • HandleShortcut() 则把动作和快捷键触发逻辑连起来。

设计说明

这类做法很像商业工具链里常见的 command metadata + shortcut binding 层:

  • 动作有 label、shortcut、enabled、selected 等状态
  • UI 表现和实际执行函数分离
  • 快捷键逻辑能复用在菜单、按钮和工具栏上

当前实现边界

  • 当前快捷键判断直接基于 ImGui input state。
  • 当前没有统一的命令注册表或可重绑定快捷键配置系统。

相关文档