CN106598570A - 一种嵌入式系统中多级菜单的构建与显示方法 - Google Patents
一种嵌入式系统中多级菜单的构建与显示方法 Download PDFInfo
- Publication number
- CN106598570A CN106598570A CN201611006626.9A CN201611006626A CN106598570A CN 106598570 A CN106598570 A CN 106598570A CN 201611006626 A CN201611006626 A CN 201611006626A CN 106598570 A CN106598570 A CN 106598570A
- Authority
- CN
- China
- Prior art keywords
- menu
- multilevel
- display
- embedded system
- module
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- User Interface Of Digital Computer (AREA)
- Digital Computer Display Output (AREA)
Abstract
本发明涉及一种嵌入式系统中的、基于链表、树、数组的混合数据结构实现多级菜单构建与显示的便捷方法,构建了一种子菜单结构体、一种构建子菜单的单级菜单数组、一种构建多级菜单的树形结构、一种记录选中菜单的结构体、一种记录菜单选取路径的数组形式的链表与一组维护上述数据结构的表述函数,该组表述函数提供了本发明中所述的多级菜单的运行软件环境。本发明可以快速、方便地实现多级菜单的构建与组织,可以方便快捷地对单个、单级菜单进行添加、删除、移位等操作。本发明通过抽象的数据结构将不同种类的软硬件开发环境隔离开来,实现了菜单维护的方便、快捷、个性化、人性化。
Description
技术领域
本发明涉及一种嵌入式系统中多级菜单的构建与显示方法,具体涉及一种基于链表、树、数组的混合数据结构实现多级菜单构建与显示的方法。
背景技术
由于嵌入式系统的软硬件资源限制,操作系统通常无法直接提供合适的个性化、人性化的操作接口。传统的基于键盘与LCD显示屏组合的人机交互方式大多通过函数的嵌套来实现菜单的操作,该方法需要开发人员对键盘、LCD显示屏、数据接口等知识有深入的了解,因此维护成本较大、维护方法复杂,不利于产品的快速迭代。
发明内容
针对上述问题,本发明提供一种嵌入式系统中的、基于链表、树、数组的混合数据结构实现多级菜单构建与显示的方法。
为解决上述问题,本发明具体包括以下步骤:
一、多级菜单的构建。
1、子菜单结构体的构建;
子菜单结构体中,每个子菜单的数据结构包括五列内容,第一列为菜单名称,即显示设备上所显示的名称;第二列为菜单类型,即功能菜单或级联菜单;第三列为指针,即指向级联菜单或功能菜单的复用指针,级联菜单指向的为下一级数组的入口地址,功能菜单指向的是具有特定显示功能的函数的指针,当用户点击确认按键时,系统将运行这个函数,这个函数可以用来显示其他数据、图形、或者执行特定指令等个性化的内容,该函数执行完毕将重新返回菜单界面;第四列为菜单预处理函数,即进入菜单之前的操作,例如输入密码、或者从存储器中读取参数等,该组函数具有返回值,返回“是”则允许进入该菜单,返回“否”则禁止进入该菜单;第五列为菜单后处理函数,用于对用户退出菜单时进行一些后续处理的工作,即用于对用户的操作的数据进行存储等。
2、用于组织子菜单的单级菜单数组的构建;
单级菜单是由若干个子菜单构成的一组表述不同功能的菜单组合。若干个单级菜单组合起来就是多级菜单。
单级菜单数组的内容为需要显示的菜单项数组。数组大小利用编译器初始化,不手工设置。
需要特别强调的是:每个单级菜单都以“结束”菜单结尾,该菜单不显示,仅用于标记单级菜单结束。
3、所有的单级菜单级联起来,即可组成为树形结构的多级菜单。
4、选中菜单结构体的构建;
选中菜单结构体的数据结构共包括四列内容,第一列为菜单源,具体就是一个指针;第二列为当前级菜单总数;第三列为当前选中菜单序号,由0开始;第四列为当前级菜单最大需显示宽度。
5、用于记录菜单选择路径的菜单路径链数组的构建。
二、多级菜单的显示。
多级菜单的显示,是指通过液晶屏等终端以图形与文字的方式向用户展示产品功能与内容,具体实现时可依据显示屏的大小显示为多级菜单、单级菜单或单个菜单。
本发明是利用表述函数来实现多级菜单的显示功能的。所述的表述函数的作用,是维护菜单链路径、传输给显示器需显示的内容,即连接菜单数据结构与硬件。表述函数具有以下模块:菜单路径维护模块、单级菜单处理模块、显示模块、调度模块。
菜单路径维护模块负责维护菜单路径链数组,通过指针实现菜单的层级间转移。当用户进入第一级菜单时,例如由屏保进入菜单,初始化为根菜单的首地址。当用户进入下级菜单或退出本级菜单,指向当前级菜单数组的下一个元素或上一个元素;当所指向菜单层级大于菜单最大级数时,不进行层级转移,当当前级菜单指针位于第一层菜单收到返回命令时退出菜单显示。
单级菜单处理模块负责用户每次进入新一级菜单时,利用当前级菜单指针初始化菜单路径链数组的元素。该模块利用菜单源指针获取当前级菜单数组的首地址,由菜单数组的首地址开始查找名称为“END”的菜单从而获得当前级菜单的总数,并设置为当前级菜单所有菜单名称的最大长度。当前选中菜单序号被初始化为0,每次用户在单级菜单中移动选中菜单时当前选中菜单序号随之增大或减小,当前选中菜单序号的值始终为当前选中菜单项在其所处菜单数组中的位置序号,由0开始。
显示模块负责根据菜单路径链数组与当前级菜单指针使显示器显示当前选中菜单。显示模块根据不同显示器的大小,可以有选择性的显示为多级菜单或单级菜单或单个菜单。
显示模块在显示级联菜单时,在名称后面加‘>’标识。在无法完全显示单级菜单时加‘……’标识。显示模块将当前选中菜单以及父菜单以反显方式显示以起到突出作用,比如黑底白字或者红底白字,用于告知用户当前选中的菜单。
调度模块负责接收用户下发的命令,例如:上、下移动菜单,进入或退出菜单。当用户进入功能菜单时,调度模块判断该菜单项目的预处理函数指针是否为空,若是,则直接调用级联菜单或者功能菜单的指针;若不是则调用预处理函数,预处理函数返回“是”则调用级联菜单或者功能菜单的指针,否则不进入菜单。
当用户进入级联菜单时,调度模块判断该菜单项目的预处理函数指针是否为空,若是,则直接调用菜单路径维护模块进入下级菜单;若不是则调用预处理函数,预处理函数返回“是”则调用菜单路径维护模块进入下级菜单,否则不进入下级菜单。
当用户上、下移动菜单时,调度模块将调用单级菜单处理模块。
当用户退出功能菜单时,调度模块调用显示模块,显示模块将显示当前选中的菜单。
当用户退出级联菜单时,调度模块调用菜单路径维护模块来维护当前级菜单指针。
本发明根据对数据结构、菜单种类、需求、样式的深入理解,提出了一种菜单数据与维护函数相对独立的菜单组织与显示方法,菜单数据改动灵活,可满足个性化、人性化需求,维护函数仅需一次即可应用于同系列硬件平台的所有产品。本发明通过抽象的数据结构将不同种类的软硬件开发环境隔离开来,实现了菜单维护的方便、快捷、个性化、人性化。
附图说明
附图1 多级菜单、单级菜单、单个菜单的显示效果示意图;
附图2 树形结构的多级菜单的结构示意图。
具体实施方式
下面结合附图,说明该发明的具体实施方式。实施例中所述的数据结构以C语言形式实现,但C语言不是唯一的实现该数据结构的方式。
步骤一:构建子菜单结构体,如下所示:
上述子菜单结构体中name为菜单的显示名称,type为菜单的类型(功能或级联),ptr为指向级联菜单或功能函数的复用指针,byfunc为菜单预处理函数(用于进入菜单之前的操作,例如输入密码等),vfunc为菜单后处理函数(用于对用户的操作的数据进行存储等)。
步骤二:构建单级菜单数组,如下所示:
单级菜单数组类型为sMenuArray结构体。数组内容为需要显示的菜单项数组。数组大小利用编译器初始化,不手工设置。示例中数组的第一列为菜单名称,显示器显示的即为该名称。第二列为菜单类型:CascadeMenu(级联菜单)与FunctionMenu(功能菜单)为两个宏。第三列为复用指针:级联菜单指向的为下一级数组的入口地址,功能菜单指向的是具有特定显示功能的函数的指针。第四列为预处理函数:用于进入菜单前的预处理工作,例如要求用户输入密码,或者从存储器中读取参数,该组函数具有返回值,返回TRUE则允许进入该菜单,返回FALSE则禁止进入该菜单。第五列为后处理函数,用于对用户退出菜单时进行一些后续处理的工作,例如数据的保存。需要特别强调的是:每个单级菜单都以“END”菜单结尾,该菜单不显示,仅用于标记单级菜单结束。
步骤三:所有的菜单级联起来,即可组成为树形结构的多级菜单,如附图2所示。
步骤四:构建选中菜单结构体,如下所示:
上述结构体中:pSource为菜单源,byTotal为当前级菜单总数,byNum为当前选中菜单序号(由0开始),byMAXLenth为当前级菜单最大需显示宽度。
步骤五:构建用于记录菜单选择路径的菜单路径链数组,如下所示:
sMenuList sMenuChain[MaxMenuLevel];//菜单路径链数组
MaxMenuLevel为菜单最大级数的宏。
步骤六:利用表述函数实现显示功能。
表述函数具有以下模块:菜单路径维护模块、单级菜单处理模块、显示模块,调度模块。
1)菜单路径维护模块。
菜单路径维护模块负责维护菜单路径链数组,通过以下指针实现菜单的层级间转移。
sMenuList*sCurMenu=NULL;//当前级菜单指针
用户进入第一级菜单时,例如由屏保进入菜单,sCurMenu被初始化为菜单路径链数组sMenuChain的第一个元素的地址,初始化该元素的pSource为菜单树形结构的首地址sMenuRoot。每当用户进入下级菜单或退出本级菜单,sCurMenu指向sCurMenu数组的下一个元素或上一个元素,当sCurMenu所指向菜单层级大于MaxMenuLevel时,不进行层级转移,当sCurMenu位于第一层菜单收到返回命令时退出菜单显示。
2)单级菜单处理模块
单级菜单处理模块负责用户每次进入新一级菜单时利用sCurMenu指针初始化sMenuChain的元素,该模块利用pSource指针获取当前级菜单数组的首地址,由菜单数组的首地址开始查找名称为’END’的菜单从而获得当前级菜单的总数byTotal,并将byMAXLenth设置为当前级菜单所有菜单名称的最大长度。byNum被初始化为0,每次用户在单级菜单中移动选中菜单时byNum随之增大或减小,byNum的值始终为当前选中菜单项在其所处菜单数组中的位置序号(由0开始)。
3)显示模块。
显示模块负责根据菜单路径链数组sMenuChain数组与sCurMenu使显示器显示当前选中菜单。
显示模块根据不同显示器的大小,可以有选择性的显示为多级菜单,单级菜单或单个菜单。
显示模块在显示级联菜单时在名称后面加‘>’标识。
在无法完全显示单级菜单时加‘……’标识。
显示模块将当前选中菜单以及父菜单反显,用于告知用户当前选中的菜单。
如图1所示,就是用户在多级菜单中选择了“信息查看”、“保护状态”、“开关量”选项之后,在多级菜单、单级菜单、单个菜单三种不同显示模式下所分别呈现出来的显示效果。
4)调度模块。
调度模块负责接收用户下发的命令,例如上、下移动菜单,进入或退出菜单。
当用户进入功能菜单时:调度模块判断该菜单项目的预处理函数指针byfunc是否为空,若是,则直接调用void(*ptr)()函数;若不是则调用char(*byfunc)()预处理函数,预处理函数返回TRUE则调用void(*ptr)(),否则不进入菜单。
当用户进入级联菜单时:调度模块判断该菜单项目的预处理函数指针byfunc是否为空,若是,则直接调用菜单路径维护模块进入下级菜单;若不是则调用char(*byfunc)()预处理函数,预处理函数返回TRUE则调用菜单路径维护模块进入下级菜单,否则不进入下级菜单。
当用户上、下移动菜单时,调度模块将调用单级菜单处理模块。
当用户退出功能菜单时,调度模块调用显示模块,显示模块将显示当前选中的菜单。
当用户退出级联菜单时,调度函数调用菜单路径维护模块来维护sCurMenu指针。
Claims (10)
1.一种嵌入式系统中多级菜单的构建与显示方法,其特征在于,包括以下步骤:
步骤一:构建子菜单结构体;
步骤二:构建用于组织子菜单的单级菜单数组;
步骤三:将所有的单级菜单级联起来,构建树形结构的多级菜单;
步骤四:构建选中菜单结构体;
步骤五:构建用于记录菜单选取路径的菜单路径链数组;
步骤六:构建用来维护菜单路径链、将需显示的内容传输给显示器的表述函数来实现多级菜单的显示功能。
2.根据权利要求1所述的一种嵌入式系统中多级菜单的构建与显示方法,其特征在于,所述子菜单结构体,其数据结构包括五列内容,依次为菜单名称、菜单类型、指针、预处理函数、后处理函数。
3.根据权利要求2所述的一种嵌入式系统中多级菜单的构建与显示方法,其特征在于,所述菜单类型为功能菜单或级联菜单,所述指针为指向级联菜单或功能菜单的复用指针。
4.根据权利要求1所述的一种嵌入式系统中多级菜单的构建与显示方法,其特征在于,所述选中菜单结构体的数据结构包括四列内容,分别为菜单源、当前级菜单总数、当前选中菜单序号、当前级菜单最大需显示宽度。
5.根据权利要求4所述的一种嵌入式系统中多级菜单的构建与显示方法,其特征在于,所述当前选中菜单序号由0开始计。
6.根据权利要求1所述的一种嵌入式系统中多级菜单的构建与显示方法,其特征在于,所述表述函数包括以下模块:菜单路径维护模块、单级菜单处理模块、显示模块、调度模块。
7.根据权利要求6所述的一种嵌入式系统中多级菜单的构建与显示方法,其特征在于,所述菜单路径维护模块负责维护菜单路径链数组,通过指针实现菜单的层级间转移。
8.根据权利要求6所述的一种嵌入式系统中多级菜单的构建与显示方法,其特征在于,所述单级菜单处理模块负责用户每次进入新一级菜单时,利用当前级菜单指针初始化菜单路径链数组的元素。
9.根据权利要求6所述的一种嵌入式系统中多级菜单的构建与显示方法,其特征在于,所述显示模块负责根据菜单路径链数组与当前级菜单指针使显示器显示当前选中菜单。
10.根据权利要求6所述的一种嵌入式系统中多级菜单的构建与显示方法,其特征在于,所述调度模块负责接收用户下发的命令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611006626.9A CN106598570A (zh) | 2016-11-15 | 2016-11-15 | 一种嵌入式系统中多级菜单的构建与显示方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611006626.9A CN106598570A (zh) | 2016-11-15 | 2016-11-15 | 一种嵌入式系统中多级菜单的构建与显示方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106598570A true CN106598570A (zh) | 2017-04-26 |
Family
ID=58591350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611006626.9A Pending CN106598570A (zh) | 2016-11-15 | 2016-11-15 | 一种嵌入式系统中多级菜单的构建与显示方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106598570A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107193569A (zh) * | 2017-05-31 | 2017-09-22 | 福建三元达科技有限公司 | 嵌入式系统的多级菜单管理系统及管理方法 |
CN107436759A (zh) * | 2017-06-19 | 2017-12-05 | 上海高顿教育培训有限公司 | 一种用于安卓系统的多级列表展示方法 |
CN107544801A (zh) * | 2017-08-30 | 2018-01-05 | 杭州迪普科技股份有限公司 | 一种网管页面中树形菜单的生成方法及装置 |
CN111208927A (zh) * | 2019-12-30 | 2020-05-29 | 国电南瑞科技股份有限公司 | 一种适用于电力系统二次设备的人机接口及人机交互方法 |
CN112306330A (zh) * | 2020-10-22 | 2021-02-02 | 纽科伦(新乡)起重机有限公司 | 一种应用于起重机操作手柄的多级菜单操作系统的构建 |
CN112394928A (zh) * | 2019-08-16 | 2021-02-23 | 郑州宇通客车股份有限公司 | 一种嵌入式系统中多级菜单构建方法与计算机存储介质 |
US11263203B2 (en) | 2018-10-26 | 2022-03-01 | Tata Consultancy Services Limited | Systems and methods for storing data in an integrated array and linked list based structure |
CN117331642A (zh) * | 2023-11-30 | 2024-01-02 | 广州嘉为科技有限公司 | 一种基于分层组织的节点管理方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101126978A (zh) * | 2007-09-25 | 2008-02-20 | 康佳集团股份有限公司 | 一种多级菜单实现方法 |
CN101359286A (zh) * | 2007-07-31 | 2009-02-04 | 康佳集团股份有限公司 | 一种多级菜单实现方法 |
CN101408839A (zh) * | 2007-10-12 | 2009-04-15 | 康佳集团股份有限公司 | 弹出式菜单实现方法 |
CN102053826A (zh) * | 2009-11-10 | 2011-05-11 | 北京普源精电科技有限公司 | 菜单分级显示方法 |
CN103064591A (zh) * | 2012-12-29 | 2013-04-24 | 倪旻 | 一种多级菜单导航界面实现方法 |
-
2016
- 2016-11-15 CN CN201611006626.9A patent/CN106598570A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101359286A (zh) * | 2007-07-31 | 2009-02-04 | 康佳集团股份有限公司 | 一种多级菜单实现方法 |
CN101126978A (zh) * | 2007-09-25 | 2008-02-20 | 康佳集团股份有限公司 | 一种多级菜单实现方法 |
CN101408839A (zh) * | 2007-10-12 | 2009-04-15 | 康佳集团股份有限公司 | 弹出式菜单实现方法 |
CN102053826A (zh) * | 2009-11-10 | 2011-05-11 | 北京普源精电科技有限公司 | 菜单分级显示方法 |
CN103064591A (zh) * | 2012-12-29 | 2013-04-24 | 倪旻 | 一种多级菜单导航界面实现方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107193569A (zh) * | 2017-05-31 | 2017-09-22 | 福建三元达科技有限公司 | 嵌入式系统的多级菜单管理系统及管理方法 |
CN107436759A (zh) * | 2017-06-19 | 2017-12-05 | 上海高顿教育培训有限公司 | 一种用于安卓系统的多级列表展示方法 |
CN107544801A (zh) * | 2017-08-30 | 2018-01-05 | 杭州迪普科技股份有限公司 | 一种网管页面中树形菜单的生成方法及装置 |
US11263203B2 (en) | 2018-10-26 | 2022-03-01 | Tata Consultancy Services Limited | Systems and methods for storing data in an integrated array and linked list based structure |
CN112394928A (zh) * | 2019-08-16 | 2021-02-23 | 郑州宇通客车股份有限公司 | 一种嵌入式系统中多级菜单构建方法与计算机存储介质 |
CN112394928B (zh) * | 2019-08-16 | 2023-08-25 | 宇通客车股份有限公司 | 一种嵌入式系统中多级菜单构建方法与计算机存储介质 |
CN111208927A (zh) * | 2019-12-30 | 2020-05-29 | 国电南瑞科技股份有限公司 | 一种适用于电力系统二次设备的人机接口及人机交互方法 |
CN111208927B (zh) * | 2019-12-30 | 2021-09-07 | 国电南瑞科技股份有限公司 | 一种适用于电力系统二次设备的人机接口及人机交互方法 |
CN112306330A (zh) * | 2020-10-22 | 2021-02-02 | 纽科伦(新乡)起重机有限公司 | 一种应用于起重机操作手柄的多级菜单操作系统的构建 |
CN112306330B (zh) * | 2020-10-22 | 2022-03-25 | 纽科伦(新乡)起重机有限公司 | 一种应用于起重机操作手柄的多级菜单操作系统的构建 |
CN117331642A (zh) * | 2023-11-30 | 2024-01-02 | 广州嘉为科技有限公司 | 一种基于分层组织的节点管理方法、装置、设备及介质 |
CN117331642B (zh) * | 2023-11-30 | 2024-03-19 | 广州嘉为科技有限公司 | 一种基于分层组织的节点管理方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106598570A (zh) | 一种嵌入式系统中多级菜单的构建与显示方法 | |
US5623591A (en) | System and methods for building spreadsheet applications | |
US5850548A (en) | System and methods for visual programming based on a high-level hierarchical data flow model | |
CN105549889B (zh) | 用于显示屏显菜单按钮的系统和方法 | |
US9063742B1 (en) | Version histories for multiple portions of program code | |
CN109918299A (zh) | 一种对比数据库结构差异的方法 | |
US7904446B1 (en) | Searchable menu system via keyword search | |
Rademakers et al. | Root: an object-oriented data analysis framework | |
US7971186B1 (en) | Automatic execution flow ordering | |
Fitzpatrick | Create GUI Applications with Python & Qt6 (PySide6 Edition) | |
CN101261583A (zh) | 一种系统功能快速调用方法 | |
CN105573519A (zh) | 一种汉字十类笔形检索输入法 | |
US7523404B2 (en) | System and method for generating complex character-based computing interfaces | |
CN107391251A (zh) | 基于Forth虚拟机的任务调度方法及装置 | |
CN109828985A (zh) | 一种表单差异查询方法和装置 | |
Baier et al. | High-level interface between R and Excel | |
Kurtz et al. | A concurrency simulator designed for sophomore-level instruction | |
US20060248446A1 (en) | Method for displaying and navigating through data | |
Thimbleby et al. | HyperCard: An object-oriented disappointment | |
Wang et al. | J-des: A graphical interactive package for analysis and synthesis of discrete event systems | |
Ding | Improve Power Apps | |
Nutting et al. | Beginning iPhone Development: Exploring the iOS SDK | |
Topley et al. | Beginning IPhone Development with Swift: Exploring the IOS SDK | |
Gupta et al. | An extensible user interface for an object-oriented VLSI CAD framework | |
Posey et al. | A prototype graphical user interface for Co-oP: a group decision support system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170426 |
|
RJ01 | Rejection of invention patent application after publication |