SuperAPI AI 工具集

robius-event-action

前端与建站

查看项目

更新于 10-16 04:30

技能介绍

用途:为 Makepad 应用提供事件处理与动作(Action)模式的最佳实践,参考 Robrix(Matrix 聊天客户端)与 Moly(AI 聊天应用)代码库。

主要能力:定义领域自定义 Action 枚举(需带 DefaultNone 派生的 None 变体);在 Widget 中通过 cx.widget_action 发出动作;在 App 中用 MatchEvent 的 handle_actions 集中处理;区分 Widget Action、Posted Action(异步)与全局 Action;覆盖命中测试、键盘事件、Signal 事件与动作链式转发。

使用方式:Widget 内用 event.hits 处理 FingerDown/FingerUp/FingerLongPress 等并发出动作;App 实现 MatchEvent,在 handle_actions 中用 action.as_widget_action().cast() 处理 UI 动作,用 action.downcast_ref 处理异步与全局动作,处理后 continue;异步任务用 Cx::post_action 并调用 SignalToUI::set_ui_signal() 唤醒 UI 线程。

适用场景:Makepad 自定义动作、组件事件处理、Widget 间通信、App 集中式动作分发。

限制:仅在任务明确匹配上述范围时使用;输出不能替代针对具体环境的验证、测试或专家审查;缺少必要输入、权限、安全边界或成功标准时应停止并请求澄清。