多级菜单 (Multi level)

该控件可用于需要管理复杂层次结构的GUI应用程序,例如嵌套的菜单结构和分层显示对象。使用此控件,开发人员可以灵活地管理和操作多层子窗口,实现特定层次和顺序对象的隐藏和显示,从而增强界面的动态性和交互性。

用法

创建控件

创建函数为 gui_multi_level_create()。此函数创建并初始化一个新的 gui_multi_level_t 控件实例。

跳转到(层次,索引)

函数为 gui_multi_level_jump()。此函数便于跳转到多层GUI结构中的特定层次和索引。

示例



  • 在0~2层级中创建多级菜单,根据嵌套结构。

  • ui_design_xx 函数将在显示特定(层次,索引)多层窗口时创建显示内容。

API

Functions

gui_multi_level_t *gui_multi_level_create(void *parent, const char *widget_name, void (*ui_design)(gui_obj_t*))

create a multi_level widget.

参数:
  • parent – the father widget nested in.

  • widget_name – the widget name.

  • x – the X-axis coordinate.

  • y – the Y-axis coordinate.

  • ui_design – ui_design function pointer.

返回:

return the widget object pointer

void gui_multi_level_jump(gui_multi_level_t *this, int level, int index)

jump to a specific multi_level widget.

参数:
  • this – one of the multi_level widgets in app.

  • level – specitf level. 0,1,2…

  • index – index in this level. 0,1,2…

Variables

void (*jump)(gui_multi_level_t *this, int levle, int index)

jump to a specitf multi_level widget.

Param this:

one of the multi_level widgets in app.

Param level:

specitf level. 0,1,2…

Param index:

index in this level. 0,1,2…

struct gui_multi_level_t

multi_level structure

Public Members

gui_obj_t base
void (*ui_design)(gui_obj_t*)
bool hidden
uint8_t level
uint8_t index