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

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

Info

Publication number
CN103577191A
CN103577191A CN201310547716.9A CN201310547716A CN103577191A CN 103577191 A CN103577191 A CN 103577191A CN 201310547716 A CN201310547716 A CN 201310547716A CN 103577191 A CN103577191 A CN 103577191A
Authority
CN
China
Prior art keywords
menu
menu item
group
item
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.)
Granted
Application number
CN201310547716.9A
Other languages
English (en)
Other versions
CN103577191B (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

Images

Landscapes

  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (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为内部菜单项的数据更新信息说明:
Figure BSA0000097283420000082
类型信息中的菜单项类型的0-3位用于表示内部菜单项的类型,9、10位用于表示菜单项是否导向父子菜单,12-15位用于表示自定义菜单项的类型。
数据更新信息中的仪器数据类型ID表示与该菜单项更新相关的仪器内部数据类型,利用该字段,菜单项可以通过接口查询得到仪器相应的内部数据,使得菜单项的显示与仪器内部数据保持一致。菜单项更新类型表示该菜单项可能动态改变的信息类型,例如使能、选项切换、信息字符串更新等,利用该字段可以指示菜单项对查询结果进行有效提取并对数据进行比对更新。每个菜单项有且只有一项类型信息,但可以包含零或多项数据更新信息,数据更新信息由菜单项对象的一个链表维护。
自定义的菜单项的信息分为三部分,一是基本信息,二是“别名”菜单项信息,三是“一键测量”菜单项信息。这三类信息的结构体如表5、表6、表7所示。
表5为自定义菜单项基本信息:
表6为“别名”菜单项信息:
字段名称 字段类型 含义
别名菜单项ID 整型 自定义的别名菜单项标识
内部菜单项ID 整型 该菜单项所对应的内部菜单项标识
表7为“一键测量”菜单项信息:
Figure BSA0000097283420000092
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 (9)

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

Cited By (8)

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

Citations (3)

* 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 中国电子科技集团公司第四十一研究所 基于测量仪器的逻辑菜单资源智能配置方法
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 (3)

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

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104407828A (zh) * 2014-10-31 2015-03-11 宁波新尚智能电气有限公司 用于电力采集终端的显示控制系统及其控制方法
CN104407828B (zh) * 2014-10-31 2018-08-24 宁波三星医疗电气股份有限公司 用于电力采集终端的显示控制系统
CN104519413A (zh) * 2014-12-29 2015-04-15 乐视致新电子科技(天津)有限公司 一种图像切换方法及装置
CN104834374A (zh) * 2015-04-30 2015-08-12 中国电子科技集团公司第四十一研究所 一种适用于智能仪器的通用输入编辑控件的实现方法
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 常熟开关制造有限公司(原常熟开关厂) 显示控制方法、断路器智能控制器、断路器
CN110879871A (zh) * 2019-11-26 2020-03-13 杭州迪普科技股份有限公司 页面菜单的配置方法及装置
CN110879871B (zh) * 2019-11-26 2022-09-27 杭州迪普科技股份有限公司 页面菜单的配置方法及装置
CN114326603A (zh) * 2020-09-29 2022-04-12 横河电机株式会社 设备维护装置、设备维护方法、设备维护程序

Also Published As

Publication number Publication date
CN103577191B (zh) 2017-02-01

Similar Documents

Publication Publication Date Title
CN103577191A (zh) 一种可配置的仪器菜单系统
US20240202436A1 (en) Device, system, and method of website building by utilizing data lists
CN1961314B (zh) 修正过程控制数据的方法及装置
CN103430140B (zh) 用于管理便携式终端的剪贴板上项目的方法和装置
US20150242091A1 (en) Unified Presentation Of Contextually Connected Information To Improve User Efficiency And Interaction Performance
CN102254029B (zh) 一种基于视图的数据访问系统及其方法
US20050216834A1 (en) Method, apparatus, and computer-readable medium for dynamically rendering a user interface menu
CN103809975A (zh) 智能云表单的实现方法
CN109753326A (zh) 处理方法、装置、设备和机器可读介质
CN102591659A (zh) 一种移动终端主界面上的微件实现方法及其管理方法
CN100465882C (zh) 为全球应用创建文化敏感控件的方法和系统
KR101635383B1 (ko) 전자 다이어리의 일정정보와 마인드 맵의 연동방법, 이를 수행하기 위한 프로그램을 제공하는 서버 및 컴퓨터로 판독 가능한 기록매체
CN105094727A (zh) 扩展屏幕模式下的应用程序运作方法以及平板计算机
CN102339421A (zh) 一种用于生态建设管理的决策支持系统
Obadia Spatial turn, beyond geography: A new agenda for sciences of religion?
CN106814954A (zh) 信息保存方法及系统
CN103970546A (zh) 基于用户定制的可拓展模块化信息管理方法及系统
CN104252519A (zh) 地形数据库增量更新方法
CN114238808A (zh) 页面展示方法、装置、计算机设备和存储介质
CN108170855A (zh) 一种CityGML与IFC数据统一查询及数据抽取方法
CN106327934A (zh) 一种基于网络终端的学习指导装置
CN104462631B (zh) 线路图产生装置及线路图产生方法
CN101826015A (zh) 窗口界面配置系统以及窗口界面配置方法
CN103631588A (zh) 一种基于模块化仪器的菜单配置方法
CN105912247A (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.