基于多级链表实现MiniGUI属性页控件设计
2011-03-06邹瑛
通信技术 2011年7期
邹 瑛
(四川司法警官职业学院 司法信息管理系,四川 德阳 618000)
0 引言
MiniGUI 是一种面向嵌入式或实时系统图形用户界面支持系统[1],可以运行在任何POSIX 兼容平台上,是一种面向实时嵌入式系统的轻量级图形界面支持系统, 具有小巧、高效、可移植性好等特点[2]。
在嵌入式Linux下使用有时需要使用自定义的键盘对分页内子控件的键盘聚焦消息的处理不灵活,对于要求精美外观的GUI系统该控件就必须重新设计。对此这里设计了自定义属性页控件以满足多分页内子控件对键盘和鼠标事件的消息处理和GUI外观的重新绘制。
1 属性页控件数据结构分析
在功能上属性页支持多分页显示,每个分页按钮对应一个分页,当点击属性页上某个分页按钮,就会将当前显示分页隐藏,将当前显示分页重定向到最新点击的分页,然后再次显示当前分页以此实现分页的切换。
如图1所示,采用交叉链表设计了属性页数据结构,所有分页形成一级双向链表(横向),每个分页下还拥有子控件二级双向链表(纵向)。默认第一个分页为活动分页,其它分页为隐藏状态,当调用消息接口发送切换分页的消息后,控件将把当前分页全部子控件(按子控件链表遍历)隐藏,然后把要切换的目标分页全部子控件显示出来,并更改目标分页索引为当前活动分页索引。其结构体代码实现如下:





图1 属性页数据结构示意
2 属性页控件消息接口定义
属性页数据结构的定义是为更好的……
登录APP查看全文
