UI 菜单初步完成
This commit is contained in:
@@ -1,12 +1,16 @@
|
||||
/*
|
||||
* 模块名称:UI Menu (菜单页面构建)
|
||||
* 模块功能:基于 LVGL 基元控件(页面导航)复现 DTU-HMI 树形菜单,支持方向键导航与返回
|
||||
* 适用平台:STM32F407ZGTx
|
||||
* 模块名称:UI Menu (菜单导航逻辑层)
|
||||
* 模块功能:g_menu_tab 父子索引表驱动的横向级联菜单导航——持有导航状态
|
||||
* (路径/选中/深度/滚动,共 17 B)与键语义(↑↓移选、→/ENTER 进、←/ESC 退),
|
||||
* 单向驱动显示层 ui_menu_view 建/毁/刷新级联框;本层不持有任何 LVGL 对象
|
||||
* 适用平台:STM32F407ZGTx / PC 模拟器(两端共用)
|
||||
* 作者:王建锋
|
||||
* 创建日期:2026-08-29
|
||||
* 修改记录:
|
||||
* 2026-08-29 王建锋 创建初始版本
|
||||
* 2026-09-02 王建锋 弃用已废弃的 lv_menu 控件,改为基元控件页面导航
|
||||
* 2026-09-04 王建锋 重构为"横向级联框"模型(菜单页面设计.md):拆出显示层
|
||||
* ui_menu_view 与数据层 ui_menu_tab;本层只留导航状态机
|
||||
*/
|
||||
#ifndef UI_MENU_H
|
||||
#define UI_MENU_H
|
||||
@@ -16,13 +20,14 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* 函数功能:构建菜单(基元控件页面导航:页头返回按钮 + 页面切换)
|
||||
* 函数功能:构建菜单(横向级联框:右贴靠 + 自适应宽 + 顶/底对齐)
|
||||
* 入口参数:无
|
||||
* 返回值:0 - 成功,其他 - 失败(对象创建失败)
|
||||
* 限定条件:ui_port_init() 已成功调用,活动屏幕存在
|
||||
* 函数说明:1. 依据紧凑节点表按层级组织页面,ENTER 进入子页、ESC/LEFT 返回
|
||||
* 2. 页面容器加入默认输入组,按键由当前页容器统一处理
|
||||
* 3. 页面按需构建(进入时建、返回时毁),叶子节点为空白占位页
|
||||
* 返回值:0 - 成功,其他 - 失败(菜单表自检失败或对象创建失败)
|
||||
* 限定条件:ui_port_init()(或模拟器 sim_port_init)已成功调用,活动屏幕存在
|
||||
* 函数说明: 1. 数据表自检(parent 下标均有效,捕获表内笔误)
|
||||
* 2. 初始化显示层(样式/4 层持久容器/根框装饰与框体)
|
||||
* 3. 各层容器加入默认输入组,按键由逻辑层统一分发(显示层纯渲染)
|
||||
* 4. 构建根框(主界面 node 0 的子项)并置焦点
|
||||
*/
|
||||
int ui_menu_init(void);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user