CN115629691A - 一种LinuxTV系统多个系统菜单管理方法、装置、设备和介质 - Google Patents
一种LinuxTV系统多个系统菜单管理方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN115629691A CN115629691A CN202211652735.3A CN202211652735A CN115629691A CN 115629691 A CN115629691 A CN 115629691A CN 202211652735 A CN202211652735 A CN 202211652735A CN 115629691 A CN115629691 A CN 115629691A
- Authority
- CN
- China
- Prior art keywords
- menu
- name
- system menu
- attribute
- stored
- 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
Images
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
本发明提供一种LinuxTV系统多个系统菜单管理方法、装置、设备和介质,方法包括:通过配置文件来配置各系统菜单的属性值,所述属性值包括:是否设置焦点,优先级以及互斥菜单名称;通过Map方式存储当前打开的系统菜单名称以及对应的属性值;接收传入的系统菜单名称,将该传入的系统单名称与当前打开的系统菜单的名称比较,若存在,则结束;若不存在,将该传入的系统菜单名称以及对应的属性通过Map方式进行存储,并根据互斥菜单名称,从存储的系统菜单中删除,并关闭该系统菜单,将所有存储的系统菜单根据属性中优先级进行分层次显示,提高管理效率,使得显示不冲突。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种LinuxTV系统多个系统菜单管理方法、装置、设备和介质。
背景技术
现有的Linux TV在使用的过程中存在系统菜单之间难以管理,相互冲突的技术问题,在需求场景例如系统中A和B俩个菜单同时显示,这时候C菜单出现的时候要关闭A和B,这时候如果把解决此类场景的逻辑分散到各个菜单中就会变的难以维护,增加了系统的复杂化。
发明内容
本发明要解决的技术问题,在于提供一种LinuxTV系统多个系统菜单管理方法、装置、设备和介质,该技术适用于使用web前端技术实现Linux TV用户操作界面GUI系统开发,解决了系统中诸多系统菜单之间难以管理相互冲突等问题,统一维护了诸多系统菜单之间的层级关系互斥关系共存关系。
第一方面,本发明提供了一种LinuxTV系统多个系统菜单管理方法,包括:
步骤1、通过配置文件来配置各系统菜单的属性值,所述属性值包括:是否设置焦点,优先级以及互斥菜单名称;
步骤2、通过Map方式存储当前打开的系统菜单名称以及对应的属性值;
步骤3、接收传入的系统菜单名称,将该传入的系统单名称与当前打开的系统菜单的名称比较,若存在,则结束;若不存在,将该传入的系统菜单名称以及对应的属性通过Map方式进行存储,并根据互斥菜单名称,从存储的系统菜单中删除,并关闭该系统菜单,将所有存储的系统菜单根据属性中优先级进行分层次显示。
进一步地,所述配置文件中包括各系统菜单的名称,以及各系统菜单所对应的属性值。
第二方面,本发明提供了一种LinuxTV系统多个系统菜单管理装置,包括:
配置模块,通过配置文件来配置各系统菜单的属性值,所述属性值包括:是否设置焦点,优先级以及互斥菜单名称;
存储模块,通过Map方式存储当前打开的系统菜单名称以及对应的属性值;
管理显示模块,接收传入的系统菜单名称,将该传入的系统单名称与当前打开的系统菜单的名称比较,若存在,则结束;若不存在,将该传入的系统菜单名称以及对应的属性通过Map方式进行存储,并根据互斥菜单名称,从存储的系统菜单中删除,并关闭该系统菜单,将所有存储的系统菜单根据属性中优先级进行分层次显示。
进一步地,所述配置文件中包括各系统菜单的名称,以及各系统菜单所对应的属性值。
第三方面,本发明提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。
第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述的方法。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本发明适用于使用web前端技术实现Linux TV用户操作界面GUI系统开发,解决了系统中诸多系统菜单之间难以管理相互冲突等问题,统一维护了诸多系统菜单之间的层级关系互斥关系共存关系。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明实施例一中方法中的流程图;
图2为本发明实施例二中装置的结构示意图;
图3为本发明的show函数流程图;
图4为本发明的hidden函数流程图。
具体实施方式
本申请实施例中的技术方案,总体思路如下:
(一)实现一个配置文件config来配置各菜单的属性,文章中用config代表此配置;
对系统中所有的菜单进行配置,维护一份配置文件,用来描述各菜单的属性,具体菜单的名称菜单之间的互斥、层级关系是根据具体的产品需求来决定的。
每个菜单的配置如下:
config = {
menu1: {
hasFocus:true,
z-index:3
closeMenu: [ "menu2", "menu3"]
},
menu2:{
hasFocus:true,
z-index:5
closeMenu: ["menu3"]
},
menu3{
hasFocus:true,
z-index:8
closeMenu: [ "menu1" ]
}
....
}
配置项中menu1、menu2、 menu3指的是具体的某个菜单的名称,菜单名称开发者可以根据需求随意命名。每个菜单的属性有:
hasFocus- ->标识该菜单是否要选中,有些toast提示类的菜单不需要焦点。例如提示网络断开;
z-index ->显示在系统中的层级是多少,如果有多个菜单同时出现则数值越高的显示层级越高;
closeMenu ->以数组的形式来罗列该菜单显示的时候要关闭的其他菜单。例如该示例中menu1显示的时候要关闭menu2和menu3如果menu1出现的时候menu2或者menu3已经出现在屏幕上。
(二)实现一个类MenuMachine 以下简称mm
1该类包含一个特殊属性cur_ menu :通过Map的方式来存当前系统已经显示的菜单配置;
例如当前系统打开了menu1 ,则
mm.cur_ menu={
menu1:{
hasFocus:true,
z-index:3
closeMenu: [ "menu2", "menu3"]
}
}
2该类其他属性是以配置文件中所有的菜单的名字命名例如menu1,属性值通过Map实现俩个函数show和hidden。Tip: confg中配置的所有菜单名都要作为mm的属性并实现show和hidden方法。
例如以配置文件中的menu1为例,则
mm.menu1={
show: Function
hidden: Function
}
该类上的用菜单命名的属性中的show和hidden方法内部逻辑由开发具体菜单的开发者来实现,hidden和show方法内部如何实现具体菜单的显示和隐藏不是该文章所描述的内容由开发者自行决定。
3该类本身还会自行实现自己的俩个方法mm.show()和mm.hidden();
mm.show方法和mm.hidden方法的内部实现流程图以打开和关闭菜单menu1为例;
mm.show和mm.hidden函数接受一个参数p (要求传入的菜单名必须是配置文件中已配入的菜单名);
例如打开关闭菜单menu1 则 p = { menuName: "menu1" }。
如图3所示,mm.show函数接收参数p = { menuName: "menu1" };此时判断mm.cur_menu中是否存在p.menuName,若存在,则直接结束;若是不存在,将配置文件中的p.menuName配置存入mm.cur_menu,即mm.cur_menu[p.menuName]=config[p.menuName];判断mm.cur_menu存入的菜单个数是否大于一个且当前打开的菜单配置项closeMenu数组中是否配置有互斥的菜单,若否,显示菜单,即当前要打开的菜单;若是,遍历mm.cur_menu,将config[p.menuName].closeMenu中存在的菜单名c_name在mm.cur_menu移除,并调用mm[c_name].hidden方法,将互斥的菜单关闭,然后显示菜单,即当前要打开的菜单。
如图4所示,mm.hidden(p)函数接收参数p = { menuName: "menu1" },判断mm.cur_menu中是否存在p.menuName,若不存在,则结束;若存在,将p.menuName在mm.cur_menu中删除或者隐藏该菜单。
1、其中图3和图4中的 p.menuName 指的的就是 menu1;
2、mm.cur_menu 就是 S2 中的mm.cur_menu 是一个map类型的容器以key-value的形式来存已经打开的菜单的配置,如果没有任何菜单打开mm.cur_menu 就没有任何key值是个空map,例如 menu1 打开了,则 mm.cur_menu 的一个key值就是menu1, menu1 对应的value就是menu1的配置;
3、config 指的是S1 中的配置 config 也是map类型。config[p.menuName] 指的就是S1中menu1的配置项;
4、打开menu1案例中config[p.menuName].closeMenu 指就是S1中 menu1的closeMenu配置[ "menu2", "menu3"] , 所以c_name 代表的就是menu2 和 menu3 俩个菜单名 。因为根据S1 menu1菜单的配置 menu1打开时如果menu2和menu3如果是显示状态则是需要关闭menu2和menu3的,如果menu2和menu3是显示状态则 mm.cur_menu 中一定有menu2和menu3俩个key值。
实施例一
如图1所示,本实施例提供一种LinuxTV系统多个系统菜单管理方法,包括:
步骤1、通过配置文件来配置各系统菜单的属性值,所述属性值包括:是否设置焦点,优先级以及互斥菜单名称,所述配置文件中包括各系统菜单的名称,以及各系统菜单所对应的属性值;
步骤2、通过Map方式存储当前打开的系统菜单名称以及对应的属性值;
步骤3、接收传入的系统菜单名称,将该传入的系统单名称与当前打开的系统菜单的名称比较,若存在,则结束;若不存在,将该传入的系统菜单名称以及对应的属性通过Map方式进行存储,并根据互斥菜单名称,从存储的系统菜单中删除,并关闭该系统菜单,将所有存储的系统菜单根据属性中优先级进行分层次显示。
基于同一发明构思,本申请还提供了与实施例一中的方法对应的装置,详见实施例二。
实施例二
如图2所示,在本实施例中提供了提供了一种LinuxTV系统多个系统菜单管理装置,包括:
配置模块,通过配置文件来配置各系统菜单的属性值,所述属性值包括:是否设置焦点,优先级以及互斥菜单名称,所述配置文件中包括各系统菜单的名称,以及各系统菜单所对应的属性值;
存储模块,通过Map方式存储当前打开的系统菜单名称以及对应的属性值;
管理显示模块,接收传入的系统菜单名称,将该传入的系统单名称与当前打开的系统菜单的名称比较,若存在,则结束;若不存在,将该传入的系统菜单名称以及对应的属性通过Map方式进行存储,并根据互斥菜单名称,从存储的系统菜单中删除,并关闭该系统菜单,将所有存储的系统菜单根据属性中优先级进行分层次显示。
由于本发明实施例二所介绍的装置,为实施本发明实施例一的方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的装置都属于本发明所欲保护的范围。
基于同一发明构思,本申请提供了实施例一对应的电子设备实施例,详见实施例三。
实施例三
本实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,可以实现实施例一中任一实施方式。
由于本实施例所介绍的电子设备为实施本申请实施例一中方法所采用的设备,故而基于本申请实施例一中所介绍的方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中的方法所采用的设备,都属于本申请所欲保护的范围。
基于同一发明构思,本申请提供了实施例一对应的存储介质,详见实施例四。
实施例四
本实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,可以实现实施例一中任一实施方式。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (6)
1.一种LinuxTV系统多个系统菜单管理方法,其特征在于,包括:
步骤1、通过配置文件来配置各系统菜单的属性值,所述属性值包括:是否设置焦点,优先级以及互斥菜单名称;
步骤2、通过Map方式存储当前打开的系统菜单名称以及对应的属性值;
步骤3、接收传入的系统菜单名称,将该传入的系统单名称与当前打开的系统菜单的名称比较,若存在,则结束;若不存在,将该传入的系统菜单名称以及对应的属性通过Map方式进行存储,并根据互斥菜单名称,从存储的系统菜单中删除,并关闭该系统菜单,将所有存储的系统菜单根据属性中优先级进行分层次显示。
2.根据权利要求1所述的一种Linux TV系统多个系统菜单管理方法,其特征在于,所述配置文件中包括各系统菜单的名称,以及各系统菜单所对应的属性值。
3.一种LinuxTV系统多个系统菜单管理装置,其特征在于,包括:
配置模块,通过配置文件来配置各系统菜单的属性值,所述属性值包括:是否设置焦点,优先级以及互斥菜单名称;
存储模块,通过Map方式存储当前打开的系统菜单名称以及对应的属性值;
管理显示模块,接收传入的系统菜单名称,将该传入的系统单名称与当前打开的系统菜单的名称比较,若存在,则结束;若不存在,将该传入的系统菜单名称以及对应的属性通过Map方式进行存储,并根据互斥菜单名称,从存储的系统菜单中删除,并关闭该系统菜单,将所有存储的系统菜单根据属性中优先级进行分层次显示。
4.根据权利要求3所述的一种Linux TV系统多个系统菜单管理装置,其特征在于,所述配置文件中包括各系统菜单的名称,以及各系统菜单所对应的属性值。
5.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1和2任一项所述的方法。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1和2任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211652735.3A CN115629691A (zh) | 2022-12-22 | 2022-12-22 | 一种LinuxTV系统多个系统菜单管理方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211652735.3A CN115629691A (zh) | 2022-12-22 | 2022-12-22 | 一种LinuxTV系统多个系统菜单管理方法、装置、设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115629691A true CN115629691A (zh) | 2023-01-20 |
Family
ID=84910823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211652735.3A Pending CN115629691A (zh) | 2022-12-22 | 2022-12-22 | 一种LinuxTV系统多个系统菜单管理方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115629691A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102830969A (zh) * | 2012-08-10 | 2012-12-19 | 中国电子科技集团公司第四十一研究所 | 基于窗口与菜单的仪器交互界面及其生成方法 |
US20140259074A1 (en) * | 2006-12-29 | 2014-09-11 | Prodea Systems, Inc. | Display inserts, overlays, and graphical user interfaces for multimedia systems |
US20150089448A1 (en) * | 2013-09-20 | 2015-03-26 | Oracle International Corporation | Enterprise applications navigation using tile characteristics that change with applications data |
CN105867749A (zh) * | 2016-03-28 | 2016-08-17 | 努比亚技术有限公司 | 一种菜单界面显示方法及终端 |
CN105893063A (zh) * | 2016-06-13 | 2016-08-24 | 积成电子股份有限公司 | 一种基于xml格式配置文件的应用程序界面及其构建方法 |
CN111897465A (zh) * | 2020-08-07 | 2020-11-06 | 广州酷狗计算机科技有限公司 | 弹窗显示方法、装置、设备及存储介质 |
CN114546113A (zh) * | 2022-02-15 | 2022-05-27 | 深圳Tcl新技术有限公司 | 菜单的运行方法、装置、存储介质及电子设备 |
-
2022
- 2022-12-22 CN CN202211652735.3A patent/CN115629691A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140259074A1 (en) * | 2006-12-29 | 2014-09-11 | Prodea Systems, Inc. | Display inserts, overlays, and graphical user interfaces for multimedia systems |
CN102830969A (zh) * | 2012-08-10 | 2012-12-19 | 中国电子科技集团公司第四十一研究所 | 基于窗口与菜单的仪器交互界面及其生成方法 |
US20150089448A1 (en) * | 2013-09-20 | 2015-03-26 | Oracle International Corporation | Enterprise applications navigation using tile characteristics that change with applications data |
CN105867749A (zh) * | 2016-03-28 | 2016-08-17 | 努比亚技术有限公司 | 一种菜单界面显示方法及终端 |
CN105893063A (zh) * | 2016-06-13 | 2016-08-24 | 积成电子股份有限公司 | 一种基于xml格式配置文件的应用程序界面及其构建方法 |
CN111897465A (zh) * | 2020-08-07 | 2020-11-06 | 广州酷狗计算机科技有限公司 | 弹窗显示方法、装置、设备及存储介质 |
CN114546113A (zh) * | 2022-02-15 | 2022-05-27 | 深圳Tcl新技术有限公司 | 菜单的运行方法、装置、存储介质及电子设备 |
Non-Patent Citations (1)
Title |
---|
沈阳;邓杰骅;: "一种嵌入式系统点阵屏显示多级菜单框架式设计" * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8504501B2 (en) | Dynamic constraint satisfaction problem solver | |
US20100121802A1 (en) | Management of sub-problems in a dynamic constraint satisfaction problem solver | |
CN110333889B (zh) | 容器服务用户集群的升级方法及系统 | |
EP2541868B1 (en) | Method and device for terminal management based on right control | |
CN104169902B (zh) | 同步本地和远程数据 | |
CN114648281A (zh) | 基于对象设计模式的流程建模编排方法以及装置 | |
CN112558968B (zh) | 一种资源树视图的生成方法、装置、设备及存储介质 | |
CN113656001A (zh) | 平台组件开发方法、装置、计算机设备及存储介质 | |
CN115629691A (zh) | 一种LinuxTV系统多个系统菜单管理方法、装置、设备和介质 | |
CN117055766A (zh) | 基于Ant Design的树形数据处理方法、装置、介质及电子设备 | |
CN111046115A (zh) | 基于知识图谱的异构数据库互联管理方法 | |
CN105975265A (zh) | 一种基于改进型mvp模式的装置 | |
CN114968224A (zh) | 一种多业务场景的树组件封装系统及方法 | |
CN106802819A (zh) | 一种应用程序自启动的处理方法、装置及移动终端 | |
CN108153564A (zh) | 界面管理方法、设备及系统 | |
CN112748952A (zh) | 一种环形依赖关系的检测方法、装置、设备和存储介质 | |
CN111124386A (zh) | 基于Unity的动画事件处理方法、装置、设备和存储介质 | |
CN111651223A (zh) | 公共侧边栏内容显示方法及装置 | |
CN114116310B (zh) | 基于json的灾备切换的展示方法、装置、设备和存储介质 | |
US20230289237A1 (en) | Automated nesting of existing stacks in a root stack within an aws environment | |
EP1031080A1 (en) | Knowledge module | |
CN113360219B (zh) | 一种呼叫线路接入方法、装置、设备及可读存储介质 | |
CN109189368B (zh) | 一种构建基于mvp架构的快速开发框架的方法和框架 | |
WO2016177072A1 (zh) | 网络拓扑显示方法、装置及网络管理系统 | |
CN112435346B (zh) | 一种多类型场景共存的添加方法、装置、终端及存储介质 |
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 |