wandering1
|
f711130b4c
|
feat(UI组件): 新增数值编辑器/定值表/动作确认页三组件(道B task-5)
域5 新增 3 对文件(双端注册 uvprojx + CMakeLists),只做渲染与输入抽象、
不接真实数据源(数据绑定 = 批 2 道E ui_data/prot_set 经回调注入):
- ui_w_editor:定点整数(10^decimals)逐位编辑——上下步进(0..9 环绕无进位)、
左右移数字光标(首末环绕)、ENTER 提交经 min/max 范围校验,越界拒绝并
显示"越界"提示留在编辑态;光标反显盒与 ui_page_net_cfg 字节光标同画法
(含"只画单字符防折行"实测坑注释);共享格式化 ui_w_editor_fmt_scaled()
单一规则源(值列显示与编辑光标恒同串)
- ui_w_setlist:定值四视图(参数/定值/控制字/软压板)共用列表渲染 +
整定输入——行表(名称<=7字/id/类型/小数位/范围/二态串表) + 回调注入
(get/set/commit/state/bad);查看视图(commit=NULL)与整定视图只差绑定:
整定视图末行固定"保存"行,值随交接态 ENTER/WAIT/OK/ERR(net_cfg 先例),
整表一次提交(一次封存一次校验和,页面补齐规划 §3.2);二态行 ENTER
循环切换;保存失败越界行经 bad 回调反显(页面扩充详细方案 §3.2.7)
- ui_page_action:可复用操作确认链——一次确认 -> 二次确认 -> ok_cb
只投递不阻塞 -> done_text 回报(或成功即关页),拒收显示 ERR 可重试;
ESC/LEFT 关页取消(实测取消后菜单与基线逐字节一致);单例描述符由
开页装载(内容页框架全局单页前提),不定义 ui_page_action_desc
(registration-check 页面模块判据不误拦,批 2 跳板各自出口)
组件文案用字全部落在上一分支预置字集内(font-charset WARN 60->52 印证
确/取/消/越/二/次/返/回 已转源码在用),无需再动字库。
BSP 公开 API 约定合规(首提被 cppcheck/coding-standard/bsp-err 三钩拦下,
按门禁口径修净后复验全绿):
- 键分发返回值取 uint8_t 1/0 不用 bool(bsp-err/err-type:bool 只许
is_/has_ 谓词);ui_w_editor_value 直返 int32_t(出参形状无错误通道)
- ui_page_action_open 返回 bsp_err_t:BSP_ERR_PARAM 参数无效 /
BSP_ERR_STATE 已有页打开 / BSP_ERR_NO_SPACE 框架开页失败(可判分支)
- get/state/bad 回调 typedef 各补"返回值:"注释块(bsp-err/return-doc)
- cppcheck variableScope 变量收scope 7 处;CODE-RULE-18 Yoda 1 处
(sel+1u==total -> sel==count);提交内已不含 --wdemo/--wact harness
验证:
- 模拟器零警告;组件行为经临时 sim-only harness(--wdemo/--wact) 截图
目检 7 态:基线视图/bad 反显/进编辑步进/越界拒绝/二态切换/保存整表
提交 OK/确认链三段/取消回菜单;harness(main.c 4 处 + CMake 1 行 +
ui_w_demo.c)已完整还原删除,提交内不含(最终树 main.c 无改动,
CMakeLists diff 仅 3 行注册)
- 回归:菜单 8 状态 + 内容页 11 页黄金参考逐字节 PASS(ref 无变化,
无基线更新提交);池基线 5368/往返 5448 不变
- 门禁:coding-standard PASS / font-charset PASS / layer-deps PASS
(新文件零 App include,基线 6 不变——减基线归 task-6)
- @build 0 Error 0 Warning;Code +324 B、RO/RW/ZI 0(组件尚无引用方,
ARM 链接器未剥离仅因新 TU;批 2 页面接线后实例 RAM 每页约 +40~60 B)
gate: 全钩子正常执行通过,无 --no-verify
- pre-commit run --all-files 全绿(含 mem-budget/mem-numbers:本分支基于
回填后台账 d9ab955,RAM 0 变化、RO 不变,仅 Code +324 B 不涉受管区)
- 手工自查:6 新文件 BOM=EF BB BF 齐全、全 LF、U+FFFD=0、字面量仅
UTF-8 中文(UI 带 BOM 先例口径:保存/越界/二次确认/告警/跳闸等,
全部已在字体子集);ASCII 串仅 ENTER/WAIT/OK/ERR 状态字
|
2026-10-25 04:34:43 +08:00 |
|