CN103577191B - 一种可配置的仪器菜单系统 - Google Patents

一种可配置的仪器菜单系统 Download PDF

Info

Publication number
CN103577191B
CN103577191B CN201310547716.9A CN201310547716A CN103577191B CN 103577191 B CN103577191 B CN 103577191B CN 201310547716 A CN201310547716 A CN 201310547716A CN 103577191 B CN103577191 B CN 103577191B
Authority
CN
China
Prior art keywords
menu
menu item
item
group
data
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.)
Active
Application number
CN201310547716.9A
Other languages
English (en)
Other versions
CN103577191A (zh
Inventor
杨青
韩晓东
黄丙志
齐颜君
许路航
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CLP Kesiyi Technology Co Ltd
Original Assignee
CETC 41 Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CETC 41 Institute filed Critical CETC 41 Institute
Priority to CN201310547716.9A priority Critical patent/CN103577191B/zh
Publication of CN103577191A publication Critical patent/CN103577191A/zh
Application granted granted Critical
Publication of CN103577191B publication Critical patent/CN103577191B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Digital Computer Display Output (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明提供一种可配置的仪器菜单系统,包括显示交互层及数据逻辑层;显示交互层包括多个按钮控件及一个静态控件;按钮控件,用于接收按键消息和显示菜单项;静态控件,用于显示菜单标题;数据逻辑层中的菜单管理单元,用于菜单创建、菜单切换;菜单文件加载单元,用于加载菜单配置文件;动态创建数据单元,用于保存动态创建菜单所需的数据结构;菜单关系数据单元,用于保存菜单切换所需的数据结构;菜单项菜单组的映射表单元,用于保存菜单组菜单项ID与对象的映射关系。采用上述方案,菜单布局和菜单切换关系可配置,并可自定义“一键测量”的菜单项,不需要修改源代码即可构建新的菜单系统,提升了开发效率。

Description

一种可配置的仪器菜单系统
技术领域
本发明属于嵌入式软件技术领域,尤其涉及的是一种可配置的仪器菜单系统。
背景技术
菜单是仪器中一类重要的人机交互形式。具有显示屏的仪器一般都提供菜单。仪器中的菜单与PC机应用程序菜单略有不同,在仪器前面板上通常有若干个功能按键与一组菜单对应,具备触摸屏的仪器也可能直接提供可触控的菜单。当某个菜单项被按下时,仪器会执行与该菜单项对应的功能,从而实现人机交互。由于按键数量上的限制,菜单项不可能与按键一一对应,需要通过菜单切换使按键对应不同的菜单,同一时刻前面板按键只与一组菜单相关联。
“菜单”一词具有两种含义,一是指一种人机交互形式,二是指一组菜单项的集合。本发明为了区分这两种含义,用“菜单”表示第一种含义,用“菜单组”表示第二种含义。仪器菜单是所有菜单组的集合,一个菜单组是某些菜单项的集合。
目前仪器中的菜单一般是一种“静态菜单”,菜单的布局和相互关系都是预先设定好的,一个菜单组包括哪些菜单项,它的上下级菜单组是什么都是无法改变的。菜单组和菜单项是组合关系,菜单组负责创建属于它的菜单项,并安排每个菜单项的位置。仪器面板上的每个功能按键都与当前菜单的某个菜单项关联,菜单项又与仪器内部的执行函数相对应。这样当按下某个按键后,仪器会获取与该按键关联的菜单项ID,通过查找一个菜单ID和执行函数的映射表,找到执行函数并调用,完成对按键操作的响应。当仪器内部状态发生改变时,需要反向通知相关的菜单项,对菜单项的信息进行更新。
现有技术有如下不足:1、不可配置,现有技术只有通过修改源代码才能改变菜单布局,研发效率低下;2、复用性差,菜单与仪器内部功能模块高度耦合,所开发的一个菜单只适用于某一具体应用;3、一个菜单项只能执行单一功能,不能执行一系列指令,无法做到“一键测量”;4、菜单组和菜单项名称只读,无法修改。
因此,现有技术存在缺陷,需要改进。
发明内容
本发明所要解决的技术问题是针对现有技术的不足,提供一种可配置的仪器菜单系统。
本发明的技术方案如下:
一种可配置的仪器菜单系统,其中,包括显示交互层及数据逻辑层;所述显示交互层包括多个按钮控件及一个静态控件;所述按钮控件,用于接收按键消息并呈现菜单项的内容;所述静态控件,用于显示当前菜单标题;所述数据逻辑层包括菜单管理单元、菜单文件加载单元、动态创建数据单元、菜单关系数据单元及菜单项菜单组的映射表单元;所述菜单管理单元,用于菜单创建、菜单切换以及菜单与仪器内部模块之间的交互;所述菜单文件加载单元,用于读取配置文件并将读取的数据填充到动态创建数据单元和菜单关系数据单元中;所述动态创建数据单元,用于保存动态创建菜单所需的数据结构;所述菜单关系数据单元,用于保存菜单切换所需的数据结构;所述菜单项菜单组的映射表单元,用于保存菜单组菜单项ID与对象的映射关系。
所述的可配置的仪器菜单系统,其中,所述按钮控件通过一个指向当前菜单组的指针与菜单项关联,从而将按键消息传递给菜单项;按钮控件向菜单项开放绘图接口,菜单项利用该开放绘图接口将内容呈现到按钮控件上。
所述的可配置的仪器菜单系统,其中,所述动态创建数据单元包括菜单项位置信息、自定义菜单组字符串、自定义菜单项字符串、自定义菜单项信息、内部菜单项信息、内部菜单组信息;所述菜单关系数据单元包括子窗口与菜单组的关系、仪器面板硬键与菜单组的关系、导向菜单项与菜单组的关系;所述菜单项菜单组的映射表单元包括一个保存菜单项ID和菜单项对象关系的映射表以及一个保存菜单组ID和菜单组对象关系的映射表。
所述的可配置的仪器菜单系统,其中,所述菜单管理单元用于根据所述动态创建数据单元中的数据动态创建菜单对象,并将菜单组菜单项对象ID和菜单对象之间的映射关系存放到所述菜单项菜单组的映射表单元;还用于根据所述菜单关系数据单元中的数据进行菜单切换;还用于通过指令分发层获取仪器内部数据,进行菜单信息的实时更新。
所述的可配置的仪器菜单系统,其中,所述内部菜单项信息包括类型信息及数据更新信息;所述类型信息,用于标识菜单项的类型;所述数据更新信息,用于记录与菜单项更新相关的仪器内部数据类型;所述自定义菜单项包括“别名”菜单项和“一键测量”菜单项;所述“别名”菜单项用于为内部菜单项重命名;所述“一键测量”菜单项用于一次性执行批量的指令。
所述的可配置的仪器菜单系统,其中,所述菜单关系数据单元,采用三个结构体定义子窗口ID与菜单组ID、硬键键值与菜单组ID、导向菜单项ID与菜单组ID的对应关系,采用三个数组保存所述的三种结构体对象。
所述的可配置的仪器菜单系统,其中,所述菜单的动态创建包括以下步骤:
步骤一:所述菜单管理单元根据所述内部菜单组和菜单项信息,创建内部的菜单组和菜单项对象,并在所述菜单项菜单组的映射表单元中添加菜单项菜单组ID与对象的映射关系;
步骤二:所述菜单管理单元根据所述自定义菜单组和菜单项信息,创建自定义的菜单组和菜单项对象,并在所述菜单项菜单组的映射表单元中添加映射关系;
步骤三:所述菜单管理单元根据所述菜单项位置信息,从所述菜单项菜单组的映射表单元中搜索已创建好的菜单项和菜单组对象,对其进行菜单布局操作。
所述的可配置的仪器菜单系统,其中,在进行菜单切换时,所述菜单管理单元根据所述菜单关系数据单元和所述菜单组菜单项的映射表单元,找到将要切换到的菜单组对象的指针,替换当前菜单组对象的指针,然后通知所述显示交互层进行菜单的重绘。
所述的可配置的仪器菜单系统,其中,所述菜单信息的实时更新是由所述菜单管理单元创建一个菜单更新线程,将当前菜单每个菜单项的更新信息依次以查询指令的形式主动向仪器内部模块发送,查询的结果返回后,对菜单项的数据进行更新或进行重绘。
采用上述方案:1、菜单布局和菜单切换关系可配置,不需要修改源代码即可实现新的菜单,提升了开发效率;2、通过规范化的接口交互,与仪器内部模块相互分离。使得仪器菜单成为可复用的组件化模块;3、可通过自定义的“一键测量”菜单项,按一个键让仪器自动执行一系列指令;4、可通过自定义的“别名”菜单项,修改菜单项的名称;5、面向用户开放菜单定制接口。
附图说明
图1为本发明系统结构示意图。
图2为本发明系统中数据逻辑层单元关系示意图。
图3为本发明中菜单更新流程示意图。
具体实施方式
以下结合附图和具体实施例,对本发明进行详细说明。
实施例1
1本发明的整体架构,如图1所示:
可配置的菜单采用两层的架构形式,上层是显示交互层101,用于接收按键消息以及显示菜单信息;底层是数据逻辑层102,负责菜单的数据维护及逻辑控制。
1.1显示和交互层101采用一个窗口对象与用户进行交互。窗口包括了多个按钮控件1010和一个静态控件1011,按钮控件1010用来接收按键消息并呈现菜单项的内容,静态控件1011用来显示菜单组标题。
按钮通过一个指向当前菜单组的指针1012与菜单组中的菜单项关联,从而可以将按键消息传递给菜单项,由菜单项向仪器内部模块发送设置指令;按钮向菜单项开放绘图接口,以便让菜单项把自己的内容呈现到按钮控件上。
1.2数据逻辑层分成了两个功能单元和三个数据单元。功能单元包括菜单管理单元1020和菜单文件加载单元1023。菜单管理单元1020是该层的核心模块,负责菜单创建、菜单切换以及菜单与仪器内部模块之间的交互;菜单文件加载单元1023用于读取配置文件并对动态创建数据区和菜单关系数据区的数据进行更新。
数据单元包括动态创建数据单元1021、菜单关系数据单元1022、菜单项菜单组的映射表单元。动态创建数据单元1021存放了创建所有菜单项和菜单组对象所必需的数据,其中内部数据由仪器自身提供(本发明将仪器固有的属性统称为“内部”),可配置数据由菜单文件加载单元1023从菜单配置文件中获取;菜单关系数据单元1022包含了实现菜单切换所需的信息,这些信息从配置文件中获取;菜单组映射表10和菜单项映射表11用于存放所有菜单组和菜单项对象与它们的ID之间的映射关系,映射表10及映射表11采用散列表的数据结构,能够实现菜单组和菜单项对象的快速查找;映射表中的“键”为菜单组和菜单项的ID,“值”为菜单组和菜单项对象的指针。
数据逻辑层102中各功能单元和数据单元之间的关系如图2所示。菜单文件加载单元1023从配置文件12中读取出配置信息,然后将这些配置信息放入动态创建数据单元1021和菜单关系数据单元1022中;菜单管理单元按照动态创建数据单元1021的数据能够动态创建所有的菜单组和菜单项对象,并将对象ID和对象指针的映射关系存放到菜单组映射表10和菜单项映射表11中。
2本发明的实现原理:
2.1可配置菜单的数据结构
可配置菜单所需的数据结构主要分为两类,一类是菜单项菜单组的数据,另一类是菜单关系数据。菜单项菜单组的数据具体包括菜单项位置信息、自定义菜单组字符串、自定义菜单项字符串、自定义菜单项信息、内部菜单项信息、内部菜单组信息。菜单关系数据具体包括子窗口与菜单组的关系、仪器面板硬键与菜单组的关系、导向菜单项与菜单组的关系。本发明统一采用数组记录这些数据。除了字符串信息外,其他数组的元素均为结构体。以下是这些结构体的定义说明。
2.1.1菜单项和菜单组的数据结构
菜单项位置信息结构体共有三个字段,含义如表1所示。表中的指令ID是菜单项的标识。每个菜单项的标识必须是独一无二的。考虑到自定义菜单项的ID可以很方便地由其标题字符串数组的索引(从0开始递增)表示,所以为了避免ID冲突,内部菜单项的ID号是从0x8000开始定义的。
表1为菜单项位置信息结构体说明:
内部菜单组信息结构体共两个字段,含义如表2所示。同样考虑到自定义菜单组的ID可由其标题字符串数组的索引表示,所以内部菜单组的ID号从0x8000开始定义。
表2为内部菜单组信息结构体说明:
字段名称 字段类型 含义
菜单组ID 整型 菜单组的标识
字符串ID 整型 该菜单组标题字符串标识
下面对菜单项的数据结构进一步说明:
菜单项是菜单的基本组成单元,根据菜单显示信息的不同可以划分为简单型、信息型、选项型、图标型等。此外本发明提供了“别名”和“一键测量”两种新类型的菜单项。“别名”菜单项是仪器内部某个菜单项的别名,开发者和用户通过它可以把内部菜单项设置成自己喜欢的名字。“一键测量”菜单项的功能类似于批处理,该菜单项拥有一个菜单项指针的链表,可以顺序执行一串指令,从而实现按一个键仪器即可执行一系列指令的“一键测量”功能。
内部菜单项的信息分为两部分,一是类型信息,用于标识菜单项的类型;。二是数据更新信息,用于记录与菜单项更新相关的仪器内部数据类型;。这两类信息的结构体如表3及表4所示。
表3为内部菜单项的类型信息说明:
表4为内部菜单项的数据更新信息说明:
类型信息中的菜单项类型的0-3位用于表示内部菜单项的类型,9、10位用于表示菜单项是否导向父子菜单,12-15位用于表示自定义菜单项的类型。
数据更新信息中的仪器数据类型ID表示与该菜单项更新相关的仪器内部数据类型,利用该字段,菜单项可以通过接口查询得到仪器相应的内部数据,使得菜单项的显示与仪器内部数据保持一致。菜单项更新类型表示该菜单项可能动态改变的信息类型,例如使能、选项切换、信息字符串更新等,利用该字段可以指示菜单项对查询结果进行有效提取并对数据进行比对更新。每个菜单项有且只有一项类型信息,但可以包含零或多项数据更新信息,数据更新信息由菜单项对象的一个链表维护。
自定义的菜单项的信息分为三部分,一是基本信息,二是“别名”菜单项信息,三是“一键测量”菜单项信息。这三类信息的结构体如表5、表6、表7所示。
表5为自定义菜单项基本信息:
表6为“别名”菜单项信息:
字段名称 字段类型 含义
别名菜单项ID 整型 自定义的别名菜单项标识
内部菜单项ID 整型 该菜单项所对应的内部菜单项标识
表7为“一键测量”菜单项信息:
2.1.2菜单关系数据结构
菜单关系数据结构记录的是一些映射关系,菜单切换功能的实现依赖于这些数据结构。子窗口和菜单组的关系记录的是子窗口ID与菜单组ID的映射关系,当窗口焦点发生改变时,通过该映射关系可以切换到与窗口对应的菜单;面板硬键和窗口组的关系记录的是硬键键值与菜单组ID的映射关系,当按下面板硬键时,通过该映射关系可以切换到与硬键对应的菜单;导向菜单项与菜单组的关系记录的是导向菜单项ID与菜单组ID的映射关系,当按下导向菜单项时,可以通过该映射关系切换当前菜单组的上级或下级菜单。
2.2、可配置菜单系统的动态创建
动态创建发生在两个时刻,一为仪器初始化时,二为加载新的配置文件时。在第一种情况下,菜单管理单元首先会根据内部菜单组和菜单项信息,创建内部的菜单组和菜单项;然后根据默认的配置文件,创建自定义的菜单组和菜单项,最后进行菜单布局,建立菜单关系。在第二种情况下,菜单管理单元首先会销毁之前的自定义菜单组和菜单项,然后根据新的配置文件创建自定义菜单组和菜单项,最后重新进行菜单布局和建立菜单关系。从上述过程可以看出,动态创建主要由三个动作构成,分别为创建内部菜单组和菜单项、创建自定义菜单组和菜单项、菜单布局并建立菜单关系。
2.2.1创建内部菜单组和菜单项
菜单管理单元根据动态创建数据区的内部菜单组信息,创建所有内部菜单组对象,并在映射表中添加菜单组ID与菜单组对象指针的映射关系;根据内部菜单项的类型信息和数据更新信息,创建所有内部菜单项对象,并在映射表单元中添加菜单项ID与菜单项对象指针的映射关系。
2.2.2创建自定义菜单组和菜单项
菜单管理单元根据自定义菜单组信息创建自定义的菜单组对象,并在映射表中添加菜单组ID与菜单组对象指针的映射关系;然后根据“别名”菜单项信息和“一键测量”菜单项信息创建自定义的菜单项对象,并在映射表中添加菜单项ID与菜单项对象指针的映射关系。
2.2.3菜单布局并建立菜单关系
菜单管理单元根据菜单项位置信息,从两张映射表中搜索已创建好的菜单项和菜单组进行菜单布局操作。本发明为菜单组设计了一个菜单项的指针数组和一个菜单项位置数组,菜单布局实际上就是对这两个数组进行填充。由于菜单组和菜单项不再是组合关系,菜单组拥有的只是菜单项的指针,所以一个菜单项可以分配给多个菜单组。
各种菜单切换关系是通过菜单文件加载器从配置文件中获取的。这些关系信息存放在菜单关系数据区,菜单管理单元正是根据这些菜单关系正确的进行菜单切换。
3本发明的菜单更新机制
在本发明中,菜单项是由开发者或用户自由选取并任意排列的,仪器并不知道当前菜单共有哪些菜单项需要更新,它们的位置又在哪里,所以传统设计方案所采用的仪器反向通知菜单更新的方式已不可取。在本发明中,采用了一种菜单正向查询的方法来进行菜单实时更新。
该方法基于一种“仪器人机交互的统一化处理方法”的技术。菜单通过仪器的指令分发层,将当前菜单每个菜单项的更新信息依次以查询指令的形式主动向仪器发送,查询的结果返回后,对菜单项的数据进行更新,必要时对按钮进行重绘。通过规范化接口的交互方式,使得菜单和仪器内部模块相互之间并不知道对方的存在,从而对两者进行了有效的隔离,提高了菜单的复用性。
本发明设计了一个菜单更新线程来保证菜单更新的实时性,线程每隔40毫秒进行一次当前菜单的更新,更新过程包括菜单项302更新数据的刷新和按钮301的重绘。考虑到按钮301重绘操作占用CPU资源较多,所以并不是每次循环都对按钮301进行重绘。按钮301重绘操作仅发生在与该按钮对应的菜单项302的更新数据发生改变时。菜单更新过程如图3所示,图3中,菜单项302遍历自身的数据更新链表,对每个更新条目以查询指令的方式发送到指令分发器303;指令分发器303将查询指令发送给仪器内部模块304;查询指令在仪器内部实现响应并将查询结果反馈到菜单项302,菜单项302将查询结果与现有更新数据作比较,如果有变化则通知按钮进行重绘。
“别名”菜单项属于自定义的菜单项,在配置时并不会提供该菜单项的数据更新信息链表,这就意味着“别名”菜单项不能进行数据更新。为了解决这一问题,本发明的“别名”菜单项拥有它所对应的内部菜单项的指针,借助该指针可以引用具备数据更新链表的内部菜单项去完成“别名”菜单项的数据更新以及按钮重绘。
实施例2
在上述实施例的基础上,进一步,提供一种可配置的仪器菜单系统,其中,包括显示交互层及数据逻辑层;所述显示交互层包括多个按钮控件及一个静态控件;所述按钮控件,用于接收按键消息并呈现菜单项的内容;所述静态控件,用于显示当前菜单标题;所述数据逻辑层包括菜单管理单元、菜单文件加载单元、动态创建数据单元、菜单关系数据单元及菜单项菜单组的映射表单元;所述菜单管理单元,用于菜单创建、菜单切换以及菜单与仪器内部模块之间的交互;所述菜单文件加载单元,用于读取配置文件并将读取的数据填充到动态创建数据单元和菜单关系数据单元中;所述动态创建数据单元,用于保存动态创建菜单所需的数据结构;所述菜单关系数据单元,用于保存菜单切换所需的数据结构;所述菜单项菜单组的映射表单元,用于保存菜单组菜单项ID与对象的映射关系。
进一步而言,所述按钮控件通过一个指向当前菜单组的指针与菜单项关联,从而将按键消息传递给菜单项;按钮控件向菜单项开放绘图接口,菜单项利用该开放绘图接口将内容呈现到按钮控件上。
进一步而言,所述动态创建数据单元包括菜单项位置信息、自定义菜单组字符串、自定义菜单项字符串、自定义菜单项信息、内部菜单项信息、内部菜单组信息;所述菜单关系数据单元包括子窗口与菜单组的关系、仪器面板硬键与菜单组的关系、导向菜单项与菜单组的关系;所述菜单项菜单组的映射表单元包括一个保存菜单项ID和菜单项对象关系的映射表以及一个保存菜单组ID和菜单组对象关系的映射表。
进一步而言,所述菜单管理单元用于根据所述动态创建数据单元中的数据动态创建菜单对象,并将菜单对象ID和菜单对象的映射关系存放到所述菜单项菜单组的映射表单元;还用于根据所述菜单关系数据单元中的数据进行菜单切换;还用于通过指令分发层获取仪器内部数据,进行菜单信息的实时更新。
进一步而言,所述内部菜单项信息包括类型信息及数据更新信息;所述类型信息,用于标识菜单项的类型;所述数据更新信息,用于记录与菜单项更新相关的仪器内部数据类型;所述自定义菜单项包括“别名”菜单项和“一键测量”菜单项;所述“别名”菜单项用于为内部菜单项重命名;所述“一键测量”菜单项用于一次性执行批量的指令。
进一步而言,所述菜单关系数据单元,采用三个结构体定义子窗口ID与菜单组ID、硬键键值与菜单组ID、导向菜单项ID与菜单ID组的对应关系,采用三个数组保存所述的三种结构体对象。
进一步而言,所述菜单的动态创建包括以下步骤:
步骤一:所述菜单管理单元根据所述内部菜单组和菜单项信息,创建内部的菜单组和菜单项对象,并在所述菜单项菜单组的映射表单元中添加菜单对象ID与菜单对象的映射关系;
步骤二:所述菜单管理单元根据所述自定义菜单组和菜单项信息,创建自定义的菜单组和菜单项对象,并在所述菜单项菜单组的映射表单元中添加映射关系;
步骤三:所述菜单管理单元根据所述菜单项位置信息,从所述菜单项菜单组的映射表单元中搜索已创建好的菜单项和菜单组对象,对其进行菜单布局操作。
进一步而言,在进行菜单切换时,,所述菜单管理单元根据所述菜单关系数据单元和所述菜单组菜单项的映射表单元,找到将要切换到的菜单组对象的指针,替换当前菜单组对象的指针,然后通知所述显示交互层进行菜单的重绘。
进一步而言,所述菜单信息的实时更新是由所述菜单管理单元创建一个菜单更新线程,将当前菜单每个菜单项的更新信息依次以查询指令的形式主动向仪器内部模块发送,查询的结果返回后,对菜单项的数据进行更新或进行重绘。
采用上述方案:1、菜单布局和菜单切换关系可配置,不需要修改源代码即可实现新的菜单,提升了开发效率;2、通过规范化的接口交互,与仪器内部模块相互分离。使得仪器菜单成为可复用的组件化模块;3、可通过自定义的“一键测量”菜单项,按一个键让仪器自动执行一系列指令;4、可通过自定义的“别名”菜单项,修改菜单项的名称;5、面向用户开放定制接口。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

Claims (6)

1.一种可配置的仪器菜单系统,其特征在于,包括显示交互层及数据逻辑层;所述显示交互层包括多个按钮控件及一个静态控件;所述按钮控件,用于接收按键消息并呈现菜单项的内容;所述静态控件,用于显示当前菜单标题;所述数据逻辑层包括菜单管理单元、菜单文件加载单元、动态创建数据单元、菜单关系数据单元及菜单项菜单组的映射表单元;所述菜单管理单元,用于菜单创建、菜单切换以及菜单与仪器内部模块之间的交互;所述菜单文件加载单元,用于读取配置文件并将读取的数据填充到动态创建数据单元和菜单关系数据单元中;所述动态创建数据单元,用于保存动态创建菜单所需的数据结构;所述菜单关系数据单元,用于保存菜单切换所需的数据结构;所述菜单项菜单组的映射表单元,用于保存菜单组菜单项的ID与对象的映射关系;所述菜单管理单元用于根据所述动态创建数据单元中的数据动态创建菜单组对象和菜单项对象,并将对象ID和对象之间的映射关系存放到所述菜单项菜单组的映射表单元;还用于根据所述菜单关系数据单元中的数据进行菜单切换;还用于通过指令分发层获取仪器内部数据,进行菜单信息的实时更新;在进行菜单切换时,所述菜单管理单元根据所述菜单关系数据单元和所述菜单组菜单项的映射表单元,找到将要切换到的菜单组对象的指针,替换当前菜单组对象的指针,然后通知所述显示交互层进行菜单的重绘;所述菜单信息的实时更新是由所述菜单管理单元创建一个菜单更新线程,线程的单次循环过程中将当前菜单每个菜单项的更新信息依次以查询指令的形式主动向仪器内部模块发送,查询的结果返回后,对菜单项的数据进行更新或进行重绘;所述对菜单项的数据进行重绘仅发生在对应的菜单项的更新数据发生改变时,菜单项遍历自身的数据更新链表,对每个更新条目以查询指令的方式发送到指令分发器;指令分发器将查询指令发送给仪器内部模块;查询指令在仪器内部实现响应并将查询结果反馈到菜单项,菜单项将查询结果与现有更新数据作比较,如果有变化则通知按钮进行重绘。
2.如权利要求1所述的可配置的仪器菜单系统,其特征在于,所述按钮控件通过一个指向当前菜单组的指针与菜单项关联,从而将按键消息传递给菜单项;按钮控件向菜单项开放绘图接口,菜单项利用该开放绘图接口将内容呈现到按钮控件上。
3.如权利要求1所述的可配置的仪器菜单系统,其特征在于,所述动态创建数据单元包括菜单项位置信息、自定义菜单组字符串、自定义菜单项字符串、自定义菜单项信息、内部菜单项信息、内部菜单组信息;所述菜单关系数据单元包括子窗口与菜单组的关系、仪器面板硬键与菜单组的关系、导向菜单项与菜单组的关系;所述菜单项菜单组的映射表单元包括一个保存菜单项ID和菜单项对象关系的映射表以及一个保存菜单组ID和菜单组对象关系的映射表。
4.如权利要求3所述的可配置的仪器菜单系统,其特征在于,所述内部菜单项信息包括类型信息及数据更新信息;所述类型信息,用于标识菜单项的类型;所述数据更新信息,用于记录与菜单项更新相关的仪器内部数据类型;自定义菜单项包括“别名”菜单项和“一键测量”菜单项;所述“别名”菜单项用于为内部菜单项重命名;所述“一键测量”菜单项用于一次性执行批量的指令。
5.如权利要求3所述的可配置的仪器菜单系统,其特征在于,所述菜单关系数据单元,采用三个结构体定义子窗口ID与菜单组ID、硬键键值与菜单组ID、导向菜单项ID与菜单组ID的对应关系,采用三个数组保存三个结构体对象。
6.如权利要求3所述的可配置的仪器菜单系统,其特征在于,菜单的动态创建包括以下步骤:
步骤一:所述菜单管理单元根据所述内部菜单组信息和所述内部菜单项信息,创建内部的菜单组对象和菜单项对象,并在所述菜单项菜单组的映射表单元中添加菜单组菜单项的对象ID与对象的映射关系;
步骤二:所述菜单管理单元根据所述自定义菜单组字符串和所述自定义菜单项信息,创建自定义的菜单组对象和菜单项对象,并在所述菜单项菜单组的映射表单元中添加映射关系;
步骤三:所述菜单管理单元根据菜单项位置信息,从所述菜单项菜单组的映射表单元中搜索已创建好的菜单项对象和菜单组对象,对其进行菜单布局操作。
CN201310547716.9A 2013-10-31 2013-10-31 一种可配置的仪器菜单系统 Active CN103577191B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310547716.9A CN103577191B (zh) 2013-10-31 2013-10-31 一种可配置的仪器菜单系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310547716.9A CN103577191B (zh) 2013-10-31 2013-10-31 一种可配置的仪器菜单系统

Publications (2)

Publication Number Publication Date
CN103577191A CN103577191A (zh) 2014-02-12
CN103577191B true CN103577191B (zh) 2017-02-01

Family

ID=50049040

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310547716.9A Active CN103577191B (zh) 2013-10-31 2013-10-31 一种可配置的仪器菜单系统

Country Status (1)

Country Link
CN (1) CN103577191B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104407828B (zh) * 2014-10-31 2018-08-24 宁波三星医疗电气股份有限公司 用于电力采集终端的显示控制系统
CN104519413A (zh) * 2014-12-29 2015-04-15 乐视致新电子科技(天津)有限公司 一种图像切换方法及装置
CN104834374B (zh) * 2015-04-30 2017-10-31 中国电子科技集团公司第四十一研究所 一种适用于智能仪器的通用输入编辑控件的实现方法
CN105511303A (zh) * 2015-11-06 2016-04-20 中国电子科技集团公司第四十一研究所 仪器支持自定义面板操作的方法
CN107992305A (zh) * 2017-12-29 2018-05-04 广州酷狗计算机科技有限公司 应用程序功能按钮的布局方法及装置
CN109991879A (zh) * 2018-01-02 2019-07-09 常熟开关制造有限公司(原常熟开关厂) 显示控制方法、断路器智能控制器、断路器
CN110879871B (zh) * 2019-11-26 2022-09-27 杭州迪普科技股份有限公司 页面菜单的配置方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101714083A (zh) * 2009-12-16 2010-05-26 金蝶软件(中国)有限公司 一种应用程序菜单的生成方法、装置及应用系统
CN102609252A (zh) * 2012-01-16 2012-07-25 中国电子科技集团公司第四十一研究所 基于测量仪器的逻辑菜单资源智能配置方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120227000A1 (en) * 2011-03-03 2012-09-06 Sony Network Entertainment International Llc Methods and systems for use in providing customized system menus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101714083A (zh) * 2009-12-16 2010-05-26 金蝶软件(中国)有限公司 一种应用程序菜单的生成方法、装置及应用系统
CN102609252A (zh) * 2012-01-16 2012-07-25 中国电子科技集团公司第四十一研究所 基于测量仪器的逻辑菜单资源智能配置方法

Also Published As

Publication number Publication date
CN103577191A (zh) 2014-02-12

Similar Documents

Publication Publication Date Title
CN103577191B (zh) 一种可配置的仪器菜单系统
CN102081662B (zh) 修正过程控制数据的方法及装置
CN111190598B (zh) 基于控件库拖拽式开发的燃机监控软件画面组态方法
CN108205430A (zh) 双屏移动终端、相应操控方法及存储介质
CN103019680B (zh) 移动终端和用于移动终端的应用图标显示方法
US20140123072A1 (en) System for navigation in a computer user interface
US20060048044A1 (en) Logical spreadsheets
WO2015127404A1 (en) Unified presentation of contextually connected information to improve user efficiency and interaction performance
CN101246495A (zh) 一种构造查询方案及使用其进行数据查询和统计的方法
CN102339421A (zh) 一种用于生态建设管理的决策支持系统
CN100465882C (zh) 为全球应用创建文化敏感控件的方法和系统
CN103473041B (zh) 一种可视化的数据处理方法及系统
CN103294805B (zh) 数据仓库个性化维度表的创建方法和装置
US11475320B2 (en) Contextual analysis of isolated collections based on differential ontologies
CN110221833A (zh) 一种基于无代码开发的智慧企业平台
CN107153495A (zh) 一种建立网元间业务链路的方法和装置
CN111176780A (zh) 一种轨道交通站场图通用按钮显示及控制的装置和方法
CN104615436B (zh) 一种hmi界面的控制方法
Norman Better design of menu selection systems through cognitive psychology and human factors
US9268883B2 (en) User interface for presenting information about a product structure for a product
CN101826015A (zh) 窗口界面配置系统以及窗口界面配置方法
CN106068482A (zh) 具有菜单显示功能的装置
US20090319923A1 (en) Method for generating role-based user interfaces utilizing uml models
CN106503216A (zh) 支持分层的元数据同步方法及元数据同步装置
CN107301187A (zh) 基于网络终端的个性化学习方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190312

Address after: 266000 No. 98 Xiangjiang Road, Huangdao District, Qingdao City, Shandong Province

Patentee after: China Electronics Technology Instrument and Meter Co., Ltd.

Address before: 266555 No. 98 Xiangjiang Road, Qingdao economic and Technological Development Zone, Shandong

Patentee before: The 41st Institute of CETC

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Huangdao Xiangjiang Road 266555 Shandong city of Qingdao Province, No. 98

Patentee after: CLP kesiyi Technology Co.,Ltd.

Address before: 266000 No. 98 Xiangjiang Road, Huangdao District, Shandong, Qingdao

Patentee before: CHINA ELECTRONIC TECHNOLOGY INSTRUMENTS Co.,Ltd.