CN105389168A - 基于嵌入式裸机的gui框架实现菜单组织和交互的方法 - Google Patents
基于嵌入式裸机的gui框架实现菜单组织和交互的方法 Download PDFInfo
- Publication number
- CN105389168A CN105389168A CN201510760551.2A CN201510760551A CN105389168A CN 105389168 A CN105389168 A CN 105389168A CN 201510760551 A CN201510760551 A CN 201510760551A CN 105389168 A CN105389168 A CN 105389168A
- Authority
- CN
- China
- Prior art keywords
- menu
- menu item
- response
- node
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明提供一种基于嵌入式裸机的GUI框架实现菜单组织和交互的方法,该方法包括:结构组织、加载运行、界面交互和扩展响应的步骤。本发明解决了原菜单系统的组织不灵活,维护困难,不易扩展等缺陷。
Description
技术领域
本发明涉及嵌入式终端菜单界面技术领域,具体涉及一种基于嵌入式裸机的GUI框架实现菜单组织和交互的方法。
背景技术
嵌入式终端的应用已非常广泛,在要求低内存占用,无需复杂图形处理的情况下,通用的图形库通常不符合要求,而灵活易扩展的菜单组织和显示,将使得界面交互开发更加方便快捷。
目前,现有的嵌入式终端界面菜单,除了使用需大内存的通用图形库外,主要采用手工组织菜单项,以并列具体交互内容的方式,进行低内存终端的显示开发。这种菜单组织不灵活,交互逻辑与数据内容混杂,不易变更修改,而且当有新的功能需求时,无法进行自定义扩展交互方式。
发明内容
菜单组织的灵活性和运行时扩展性对嵌入式显示来说至关重要,当采用传统的手工组织菜单的方式下,功能需求的变化将给菜单的变更修改带来不便,为解决上述技术问题,本发明提供一种基于嵌入式裸机的GUI框架实现菜单组织和交互的方法,利用链表链接菜单的关联项,运行时根据功能属性提供多种展现方式,并且提高菜单组织的效率和复用性。
为解决上述技术问题,本发明采用如下技术方案:
一种基于嵌入式裸机的GUI框架实现菜单组织和交互的方法,所述框架的每个节点结构包括功能属性、链接表和数据源,所述功能属性用于指定所述菜单项的响应方式,分为显示输出型和编辑输入型两大类型,所述链接表用于确定菜单加载后每个菜单项的相互关联位置,所述数据源用于获取显示菜单项显示数据的来源或编辑菜单项的输入源和输出源,所述方法包括如下步骤:
结构组织:使用链接表组织不同类型的菜单项,每个菜单项通过链接表的四个关联指针链接到上下前后四个菜单项;
加载运行:系统对多个所述菜单项进行加载,进行不同功能属性的区分和指定其输入或输出的数据源,所述菜单项加载用于动态配置并初始化菜单功能;
界面交互:在菜单系统运行过程中,实时响应嵌入式终端界面按键输入,根据菜单项的功能属性,动态调用已加载的数据源;
扩展响应:根据所述菜单项的不同功能属性,提供可扩展的自定义响应扩展方法。
进一步地,所述结构组织步骤中,还包括:按照菜单项的实际逻辑等级,定义每个菜单项的菜单等级编号,并进行菜单层次的组织,所述菜单等级用于嵌入式菜单内容分类层次式展示。
进一步地,所述加载运行步骤中,对于每一个菜单项,均指定功能属性、菜单等级和数据源,根据菜单等级,生成四个关联项等级,对每个关联项等级,按照逻辑顺序查找关联项,如果在已加载的菜单项中找到符合的关联项,则链接,否则,置空链接标志;对每个关联项,按照上述加载过程继续查找关联项,直到加载完每个菜单项,菜单系统将所有菜单项按照逻辑顺序链接完成。
进一步地,所述界面交互步骤中,还包括:展现不同功能属性的菜单项,如果所述菜单项功能是显示输出型,则调用所述菜单项加载过程中指定的显示数据源,如果所述菜单项是编辑输入型,则调用所述菜单项加载过程中指定的编辑内容输入源获得初始编辑量或模板,并响应按键进行编辑过程。
优选地,所述编辑输入交互过程中,菜单提供十进制、十六进制、字符串类型以及标点符号类型输入方式,具有多选一选择输入和按指定模板输入的方式,还具有编辑完成退出的消息框提示的交互方式。
进一步地,扩展响应步骤中,所述自定义响应扩展方法为:所述菜单项被调度运行时,如果获取数据源过程中,被用户自主申请得到当前菜单项的扩展的自定义响应权时,则退出默认的响应方式,而按照用户自定义响应方式响应按键输入,提供菜单功能扩展性。
优选地,所述关联指针分别指向父节点、子节点、前节点以及后节点,菜单初始运行时加载根菜单项并显示,此时当前节点为根节点并实时响应按键请求,根据根菜单项的功能属性进行交互;
如果功能属性为显示输出型时:当按键为进入下一级菜单逻辑时,菜单将加载当前节点的子节点,并记录为当前节点;当按键为上下翻动逻辑时,菜单将加载当前节点的前或后节点,并记录为当前节点;当按键为返回逻辑时,菜单将加载当前节点的父节点,并记录为当前节点;
如果功能属性为编辑修改型时:按键响应将运行默认的编辑响应方法,提供各种数值、字符、多选一输入;
如果用户进行了扩展响应,则菜单不再提供默认的响应方式,而根据用户指定的响应方法,响应按键输入。
由以上技术方案可知,本发明按照菜单等级组织链接菜单项,并在加载时,定义功能属性和数据源,保证了灵活易扩的菜单组织和交互形式,使得嵌入式低内存显示修改变更方便。
附图说明
图1为根据本发明方法实施例的基于嵌入式裸机的菜单组织结构框图;
图2为根据本发明方法实施例的菜单项加载运行步骤的处理流程图;
图3为根据本发明方法实施例的菜单交互过程的处理流程图;
图4为根据本发明方法实施例的菜单项扩展响应的处理流程图。
具体实施方式
下面结合附图对本发明的一种优选实施方式作详细的说明,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
根据本发明实施例,提供了一种基于嵌入式裸机的GUI框架实现菜单组织和交互的方法。
需要说明的是,为了便于描述,在下文中以步骤的形式示出并描述了本发明的方法实施例的技术方案,在下文中所示出的步骤可以在计算机系统中执行。虽然在相关的附图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明方法实施例的基于菜单组织结构框图,该结构包括以下部分:
所述框架的每个节点结构由功能属性、链接表和数据源构成。
功能属性确定了每个节点的功能,基于低内存的嵌入式终端中,精简功能后,分为显示输出型和编辑输入型,其中编辑输入型又细分为十进制、十六进制、字符输入等类型输入类型。链接表可确定菜单加载后每个菜单项的相互关联位置,该链接表具有四个关联指针,分别执行父节点、子节点、前节点和后节点。数据源是运行过程中,显示数据和编辑数据的输入输出的源。在具体实施过程中,在菜单加载配置阶段,根据赋予每个菜单项的等级,系统自动链接相关关联项。
下面结合图2对菜单项加载的处理过程进行描述。
菜单加载中,对于每一个菜单项,指定功能属性,菜单等级和数据源。根据菜单等级,生成四个关联项等级,对每个关联项等级,按照逻辑顺序查找关联项,如果在已加载的菜单项中找到符合的关联项,则链接,否则,置空链接标志。对每个关联项,按照所述加载过程继续查找关联项。直到加载完每个菜单项,菜单系统将所有菜单项按照逻辑顺序链接完成。
下面结合图3对菜单交互的处理过程进行描述。
每个节点都有父节点,每个节点的子关联项都指向第一个子节点,每个节点又有前后节点。菜单从根节点开始,实时响应按键请求,当响应进入次节点时,将进入首子节点,此时当响应前后移动节点时,系统将进入前后节点,而当响应返回节点时,系统将进入父节点。
下面结合图4对菜单响应的处理过程进行描述。
菜单根据所述的菜单交互的处理过程得到当前节点,对于当前节点,菜单根据节点的功能属性进行界面展示,如果属性为显示输出型,将读取数据源,将内容输出到屏幕。如果属性为编辑修改型,将读取输入源获取初始值到缓存,然后界面提供编辑的各种子类型提供编辑输入框修改缓存内容,当编辑完成,菜单将缓存内容输出到输出源,完成编辑。
节点读取数据源的过程中,用户可以进行扩展的自定义响应方法,具体为,用户可申请自定义响应,申请响应权成功后,节点将响应用户指定的响应过程,处理按键输入响应,当用户主动释放响应权时,或用户强制退出自定义响应时,系统将退出到默认响应过程,继续菜单默认响应。
如上所述,借助于本发明提供的基于嵌入式裸机的GUI框架实现菜单组织和交互的方法,实现了在占用极少内存的前提下,有效组织菜单结构,响应按键输入,进行界面显示编辑的核心功能。
以上所述实施方式仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明的权利要求书确定的保护范围内。
Claims (7)
1.一种基于嵌入式裸机的GUI框架实现菜单组织和交互的方法,其特征在于,所述框架的每个节点结构包括功能属性、链接表和数据源,所述功能属性用于指定所述菜单项的响应方式,分为显示输出型和编辑输入型两大类型,所述链接表用于确定菜单加载后每个菜单项的相互关联位置,所述数据源用于获取显示菜单项显示数据的来源或编辑菜单项的输入源和输出源,所述方法包括如下步骤:
结构组织:使用链接表组织不同类型的菜单项,每个菜单项通过链接表的四个关联指针链接到上下前后四个菜单项;
加载运行:系统对多个所述菜单项进行加载,进行不同功能属性的区分和指定其输入或输出的数据源,所述菜单项加载用于动态配置并初始化菜单功能;
界面交互:在菜单系统运行过程中,实时响应嵌入式终端界面按键输入,根据菜单项的功能属性,动态调用已加载的数据源;
扩展响应:根据所述菜单项的不同功能属性,提供可扩展的自定义响应扩展方法。
2.根据权利要求1所述GUI框架实现菜单组织和交互的方法,其特征在于,所述结构组织步骤中,还包括:按照菜单项的实际逻辑等级,定义每个菜单项的菜单等级编号,并进行菜单层次的组织,所述菜单等级用于嵌入式菜单内容分类层次式展示。
3.根据权利要求1所述GUI框架实现菜单组织和交互的方法,其特征在于,所述加载运行步骤中,对于每一个菜单项,均指定功能属性、菜单等级和数据源,根据菜单等级,生成四个关联项等级,对每个关联项等级,按照逻辑顺序查找关联项,如果在已加载的菜单项中找到符合的关联项,则链接,否则,置空链接标志;对每个关联项,按照上述加载过程继续查找关联项,直到加载完每个菜单项,菜单系统将所有菜单项按照逻辑顺序链接完成。
4.根据权利要求1所述GUI框架实现菜单组织和交互的方法,其特征在于,所述界面交互步骤中,还包括:展现不同功能属性的菜单项,如果所述菜单项功能是显示输出型,则调用所述菜单项加载过程中指定的显示数据源,如果所述菜单项是编辑输入型,则调用所述菜单项加载过程中指定的编辑内容输入源获得初始编辑量或模板,并响应按键进行编辑过程。
5.根据权利要求4所述GUI框架实现菜单组织和交互的方法,其特征在于,所述编辑输入交互过程中,菜单提供十进制、十六进制、字符串类型以及标点符号类型输入方式,具有多选一选择输入和按指定模板输入的方式,还具有编辑完成退出的消息框提示的交互方式。
6.根据权利要求1所述GUI框架实现菜单组织和交互的方法,其特征在于,扩展响应步骤中,所述自定义响应扩展方法为:所述菜单项被调度运行时,如果获取数据源过程中,被用户自主申请得到当前菜单项的扩展的自定义响应权时,则退出默认的响应方式,而按照用户自定义响应方式响应按键输入,提供菜单功能扩展性。
7.根据权利要求1所述GUI框架实现菜单组织和交互的方法,其特征在于,所述关联指针分别指向父节点、子节点、前节点以及后节点,菜单初始运行时加载根菜单项并显示,此时当前节点为根节点并实时响应按键请求,根据根菜单项的功能属性进行交互;
如果功能属性为显示输出型时:当按键为进入下一级菜单逻辑时,菜单将加载当前节点的子节点,并记录为当前节点;当按键为上下翻动逻辑时,菜单将加载当前节点的前或后节点,并记录为当前节点;当按键为返回逻辑时,菜单将加载当前节点的父节点,并记录为当前节点;
如果功能属性为编辑修改型时:按键响应将运行默认的编辑响应方法,提供各种数值、字符、多选一输入;
如果用户进行了扩展响应,则菜单不再提供默认的响应方式,而根据用户指定的响应方法,响应按键输入。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510760551.2A CN105389168A (zh) | 2015-11-10 | 2015-11-10 | 基于嵌入式裸机的gui框架实现菜单组织和交互的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510760551.2A CN105389168A (zh) | 2015-11-10 | 2015-11-10 | 基于嵌入式裸机的gui框架实现菜单组织和交互的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105389168A true CN105389168A (zh) | 2016-03-09 |
Family
ID=55421475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510760551.2A Pending CN105389168A (zh) | 2015-11-10 | 2015-11-10 | 基于嵌入式裸机的gui框架实现菜单组织和交互的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105389168A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107193569A (zh) * | 2017-05-31 | 2017-09-22 | 福建三元达科技有限公司 | 嵌入式系统的多级菜单管理系统及管理方法 |
CN109613312A (zh) * | 2018-12-18 | 2019-04-12 | 宁波三星智能电气有限公司 | 一种基于菜单的电表交互方法 |
CN111208927A (zh) * | 2019-12-30 | 2020-05-29 | 国电南瑞科技股份有限公司 | 一种适用于电力系统二次设备的人机接口及人机交互方法 |
CN111722845A (zh) * | 2020-06-04 | 2020-09-29 | 深圳中科优瑞医疗科技有限公司 | 以stm32单片机为主控的嵌入式gui框架 |
CN112597413A (zh) * | 2020-12-29 | 2021-04-02 | 深圳贝特莱电子科技股份有限公司 | 一种新型嵌入式系统框架及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030043193A1 (en) * | 2001-08-28 | 2003-03-06 | Alegria Andrew P. | System and method of improving performance of a web browser |
CN101894021A (zh) * | 2010-06-29 | 2010-11-24 | 宇龙计算机通信科技(深圳)有限公司 | 一种嵌入式系统的界面实现方法及系统 |
-
2015
- 2015-11-10 CN CN201510760551.2A patent/CN105389168A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030043193A1 (en) * | 2001-08-28 | 2003-03-06 | Alegria Andrew P. | System and method of improving performance of a web browser |
CN101894021A (zh) * | 2010-06-29 | 2010-11-24 | 宇龙计算机通信科技(深圳)有限公司 | 一种嵌入式系统的界面实现方法及系统 |
Non-Patent Citations (1)
Title |
---|
王宇航: "跨平台嵌入式GUI开发模式的设计与应用", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107193569A (zh) * | 2017-05-31 | 2017-09-22 | 福建三元达科技有限公司 | 嵌入式系统的多级菜单管理系统及管理方法 |
CN109613312A (zh) * | 2018-12-18 | 2019-04-12 | 宁波三星智能电气有限公司 | 一种基于菜单的电表交互方法 |
CN111208927A (zh) * | 2019-12-30 | 2020-05-29 | 国电南瑞科技股份有限公司 | 一种适用于电力系统二次设备的人机接口及人机交互方法 |
CN111722845A (zh) * | 2020-06-04 | 2020-09-29 | 深圳中科优瑞医疗科技有限公司 | 以stm32单片机为主控的嵌入式gui框架 |
CN112597413A (zh) * | 2020-12-29 | 2021-04-02 | 深圳贝特莱电子科技股份有限公司 | 一种新型嵌入式系统框架及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105389168A (zh) | 基于嵌入式裸机的gui框架实现菜单组织和交互的方法 | |
KR101794373B1 (ko) | 선택된 데이터의 일시적인 포맷팅 및 도표화 기법 | |
CN104781773B (zh) | 用户界面装置 | |
US20210125144A1 (en) | Bill of material conversion method, electronic apparatus and non-transitory computer-readable storage medium | |
CN102663076A (zh) | 文件数据处理方法 | |
US20170249770A1 (en) | Information processing apparatus, moving image reproduction method, and computer readable medium | |
JP2016115017A (ja) | フローチャート作成方法及びプログラム | |
CN107423270B (zh) | 一种在线流程图和代码实时互转的实现方法 | |
CN113010359A (zh) | 总线测试系统生成方法、系统、设备及存储介质 | |
CN103123660A (zh) | 一种对软硬件系统cad图形化建模的方法 | |
JP2008203912A (ja) | 画面作成装置及び方法並びにプログラム | |
JP2009116806A (ja) | 進捗状況管理方法、プログラムおよび進捗状況管理装置 | |
CN112052343A (zh) | 知识图谱展示方法、装置、电子设备及存储介质 | |
JP6103314B2 (ja) | 情報管理装置並びにファイル管理方法 | |
KR20120026344A (ko) | 멀티미디어 장치 및 그의 컨텐츠 제공 방법 | |
CN103593188A (zh) | 一种用于仪器所见即所得菜单的管理系统及管理方法 | |
CN111368425A (zh) | 一种利用框图工具进行接口关系分析的方法和装置 | |
JP2010079466A (ja) | 進捗状況管理方法,プログラムおよび進捗状況管理装置 | |
CN115630926A (zh) | 一种车间设备管理方法、装置、设备及存储介质 | |
CN115526954A (zh) | 一种视图绘制方法、装置、电子设备及存储介质 | |
US9778812B2 (en) | Screen transition diagram creator | |
KR102099362B1 (ko) | 마이크로 서비스를 이용한 데이터 전처리 장치 및 방법 | |
JP2011059770A (ja) | プロセス情報管理装置および方法およびプロセス情報管理プログラムを記録した記憶媒体 | |
JP5781251B2 (ja) | プログラマブル表示器用画面データ編集装置 | |
CN113703747B (zh) | 基于Unity棋牌游戏的可视化动态配置系统、配置方法、计算机可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160309 |
|
RJ01 | Rejection of invention patent application after publication |