CN103914286B - 用户界面中标签页的管理方法和管理器 - Google Patents
用户界面中标签页的管理方法和管理器 Download PDFInfo
- Publication number
- CN103914286B CN103914286B CN201210592975.9A CN201210592975A CN103914286B CN 103914286 B CN103914286 B CN 103914286B CN 201210592975 A CN201210592975 A CN 201210592975A CN 103914286 B CN103914286 B CN 103914286B
- Authority
- CN
- China
- Prior art keywords
- page
- tab
- controller
- shipping options
- label
- 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
Links
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种用户界面中标签页的管理方法和管理器。本发明实施例提供的一种UI中标签页的管理方法,包括:在主窗口中创建tab管理器,所述tab管理器由无窗控件实现;当tab管理器接收到用户通过主窗口发送的标签页添加指令时,根据该标签页添加指令创建相应的tab页签和该页签对应的页签控制器,以及创建相应的tab页面和该页面对应的页面控制器,由页签控制器和页面控制器分别执行对tab页签和tab页面的控制,实现UI中标签页的添加;当tab管理器接收到用户通过主窗口发送的标签页删除指令时,删除相应的tab页签、页面及相应的控制器,实现UI中标签页的删除。
Description
技术领域
本发明涉及计算机应用开发领域,特别涉及一种用户界面中标签页的管理方法和管理器。
背景技术
UI(User Interface,用户界面)中经常需要用到标签(tab)页控件,在对UI进行编辑时,会经常需要对tab页进行增删。然而,目前的大多数UI编辑器,一旦界面展开处于编辑状态时,则无法执行添加和删除tab页的tab控件的操作,从而导致UI开发的操作繁琐,工作量较大,开发效率较低。并且,现有tab控件和UI编辑器之间的消息传递和处理也不是很灵活,有待于改进。
发明内容
本发明提供了一种用户界面中标签页的管理方法和管理器,以解决现有方案在UI进行编辑时tab页的增删操作过于繁琐、开发效率较低的问题等。
为达到上述目的,本发明实施例采用了如下技术方案:
一种UI中标签页的管理方法,包括:在用于承载标签tab页的主窗口中创建tab管理器,所述tab管理器由无窗控件实现;
当tab管理器接收到用户通过主窗口发送的标签页添加指令时,根据该标签页添加指令创建相应的tab页签和该页签对应的页签控制器,以及创建相应的tab页面和该页面对应的页面控制器,由所述页签控制器和页面控制器分别执行对tab页签和tab页面的控制,实现UI中标签页的添加;
当tab管理器接收到用户通过主窗口发送的标签页删除指令时,删除相应的tab页签和该tab页签对应的页签控制器,以及删除相应的tab页面和该tab页面对应的页面控制器,实现UI中标签页的删除。
本发明实施例还提供了一种UI中标签页的管理器,所述管理器创建在用于承载tab页的主窗口中并由无窗控件实现;
所述管理器,用于当接收到用户通过主窗口发送的标签页添加指令时,根据该标签页添加指令创建相应的tab页签和该页签对应的页签控制器,以及创建相应的tab页面和该页面对应的页面控制器,由所述页签控制器和页面控制器分别执行对tab页签和tab页面的控制,实现UI中标签页的添加;以及,
所述管理器,用于当接收到用户通过主窗口发送的标签页删除指令时,删除相应的tab页签和该tab页签对应的页签控制器,以及删除相应的tab页面和该tab页面对应的页面控制器,实现UI中标签页的删除。
由上所述,本发明实施例通过在主窗口中创建由无窗控件实现的tab管理器,并由页签控制器和页面控制器实现对标签页的控制,由于有窗控件需要专门设置一个线程对该窗口功能进行控制而导致在主窗口处于编辑状态时无法进行Tab页的动态增删,而无窗控件不需要设置专门的线程,通过指示无窗控件位置的区域信息即可对该无窗控件进行控制,从而能够在主窗口处于编辑状态时,动态执行标签页的添加或删除,简化了UI开发的操作,降低了开发的工作量,提高了开发效率。
并且,本方案中可通过观察者模式由tab管理器控制页签控制器和页面控制器实现标签页与主窗口之间消息的传递,提高了消息处理的灵活性。
附图说明
图1为本发明一个实施例提供的一种UI中标签页的管理方法流程图;
图2为本发明一个实施例提供的一个包含tab管理器的主窗口的UI示例的截屏图;
图3为本发明又一个实施例提供的UI中标签页的管理方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明一个实施例提供了一种UI中标签页的管理方法,参见图1,包括如下步骤:
S100:在用于承载标签(tab)页的主窗口中创建tab管理器,该tab管理器由无窗控件实现。
本实施例提供的tab管理器是基于无窗控件的,该管理器的控件本身是无窗的,但该管理器可以管理有窗控件实现的标签页,也可以管理无窗控件实现的标签页。tab管理器可动态添加、删除指定的tab页签及其对应的tab页面,并且提供了与主窗口之间灵活的消息传递和处理的机制。
本实施例中由于主窗口中处理的是无窗控件,不需要对tab管理器执行窗口的管理控制,避免了特定***的UI编辑器的窗口仅适用于特定***而导致仅能够在该特定***中使用该UI编辑器的问题,本实施例的无窗tab管理器能支持不同的***。
S101:当tab管理器接收到用户通过主窗口发送的标签页添加指令时,根据该标签页添加指令创建相应的tab页签和该页签对应的页签控制器,以及创建相应的tab页面和该页面对应的页面控制器,由所述页签控制器和页面控制器分别执行对tab页签和tab页面的控制,实现UI中标签页的添加。
Tab管理器根据标签页添加指令添加的标签页可以为有窗控件,也可以为无窗控件。参见图2,示出了对一个包含tab管理器的主窗口的UI示例的截屏图。图2所示的场景中,tab管理器通过主窗口建立了三个标签页,页签名称分别为“头像”、“历史记录”和“视频”。示例性的,头像页签中管理的所有控件都是无窗控件,历史记录页签中的是一个有窗的IE浏览器控件,而视频页签管理的所有控件中既包括两个有窗的视频控件,也有多个无窗控件。
tab管理器接收用户通过主窗口发送的指令,如图2中主窗口左半部的对话框部分提供指令输入的接口,tab管理器根据该接口接收指令,如标签页添加指令中可以指示页签名称,则tab管理器生成指定页签名称对应的tab页签、tab页面和各自对应的控制器,实现标签页的添加。在实现UI中标签页的添加时,本实施例还可以为所添加的标签页设置索引号并记录该索引号,以利用索引号对标签页进行控制和管理。
对所添加的标签页,tab管理器采用观察者模式建立该tab管理器与该标签页对应的页签控制器、页面控制器的关联。即由于建立了观察者模式的关联使tab管理器、页签控制器和页面控制器的代码的交互模式是一种无关联的方式,代码之间的耦合度很低,从而能够使消息的传递方式更加灵活。观察者模式(Observer)(有时又被称为发布/订阅模式)是设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。观察者模式设置了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,让其能够自动更新自己。
观察者模式完美的将观察者和被观察的对象分离开。例如,UI可以作为一个观察者,业务数据是被观察者,UI观察业务数据的变化,发现数据变化后,就显示在界面上。面向对象设计的一个原则是:***中的每个类将重点放在某一个功能上,而不是其他方面。一个对象只做一件事情,并且将他做好。观察者模式在模块之间划定了清晰的界限,提高了应用程序的可维护性和重用性。
S102:当tab管理器接收到用户通过主窗口发送的标签页删除指令时,删除相应的tab页签和该tab页签对应的页签控制器,以及删除相应的tab页面和该tab页面对应的页面控制器,实现UI中标签页的删除。
用户通过主窗口中的指令输入接口发送标签页删除指令,tab管理器接收到主窗口传递来的标签页删除指令时,可以解析标签页删除指令得到该指令中包含的索引号,删除该索引号对应的tab页签和该tab页签对应的页签控制器,以及删除该索引号对应的tab页面和该tab页面对应的页面控制器。
虽然图1中步骤S102位于S101之后,但是S101和S102的执行次序并没有先后的限制,可以同时或先后执行,本实施例不对步骤S101和S102的具体执行次序进行限定,步骤S102中删除的标签页可以是步骤S101执行完毕后建立的标签页,也可以是在步骤S101执行之前已经建立完成的标签页。
本实施例通过无窗控件实现的tab管理器结合页签控制器和页面控制器的方式,能够在主窗口处于使用状态或编辑状态时,实现标签页的添加或删除。
当需要进行主窗口和标签页之间的消息传递时,一方面,tab管理器可以接收用户通过主窗口发送的用户事件消息,将该用户事件消息采用观察者模式传递至相应页签控制器和页面控制器;另一方面,tab管理器可以接收页签控制器和页面控制器根据所述用户事件消息返回的消息,并将该消息采用观察者模式传递至主窗口。
本发明又一实施例结合图3对UI中标签页的管理方法进行说明。当需要在主窗口中创建或添加标签页时,用户(Client)通过主窗口向tab管理器发送创建(Create)指令,tab管理器根据Create指令中的信息(如页签名称)分别创建页面和页面控制器(CPageListener),以及页签和页签控制器(CTabLabelListener),实现标签页的添加。tab管理器与tab页签、tab页面与其各自对应的控制器按照观察者模式关联起来,并将页签控制器和页面控制器添加到tab管理器所维护的控制器列表中。当需要将标签页删除时,tab管理器删除该标签页的页面控制器和页签控制器,并将该控制器从控制器列表中删除。
当需要从主窗口向标签页侧发送消息时,tab管理器向CPageListener和CTabLabelListener分别下发通知(Invoke)消息,传递主窗口中的用户事件至标签页的页面控制器和页签控制器。
当需要从标签页侧向主窗口发送消息时,CPageListener和CTabLabelListener分别将相应信息(如对Invoke的响应或处理信息)通过通知(Notify)消息发送至tab管理器,然后由tab管理器将Notify消息传递至主窗口。
例如,一个场景中,当用户通过点击图2中视频页签右边设置的关闭按钮,发送关闭页签的消息时,该消息会通过观察者模式的通信机制传递至主窗口以及tab管理器,tab管理器将该消息发送至页签控制器和页面控制器,由该页签控制器和页面控制器执行视频页签的关闭操作,关闭操作执行完毕后,页签控制器和页面控制器将响应消息返回至tab管理器,tab管理器还可以通知主窗口在消息输出区显示一些与关闭视频页签相关的消息等。
由上可知,主窗口通过无窗tab管理器可以动态添加、删除tab控件中的tab页面和页签及控制器,并由tab管理器实现标签页与主窗口之间的消息处理。具体的,首先通过无窗tab管理器生成指定页签名称的对应tab页签、tab页面和控制器及其各自容器中的子无窗控件,通过观察者模式来把页签、页面及控制器与无窗tab管理器关联起来,然后通过无窗tab管理器来控制tab页签和tab页面与无窗tab管理器及主窗口之间的消息传递和消息响应。
本发明又一个实施例还提供了一种UI中标签页的管理器,所述管理器创建在用于承载tab页的主窗口中并由无窗控件实现;
所述管理器,用于当接收到用户通过主窗口发送的标签页添加指令时,根据该标签页添加指令创建相应的tab页签和该页签对应的页签控制器,以及创建相应的tab页面和该页面对应的页面控制器,由所述页签控制器和页面控制器分别执行对tab页签和tab页面的控制,实现UI中标签页的添加;其中,管理器根据标签页添加指令添加的标签页为有窗控件或无窗控件。
以及,管理器,用于当接收到用户通过主窗口发送的标签页删除指令时,删除相应的tab页签和该tab页签对应的页签控制器,以及删除相应的tab页面和该tab页面对应的页面控制器,实现UI中标签页的删除。
其中,对所添加的标签页,所述管理器采用观察者模式建立该管理器与该标签页对应的页签控制器、页面控制器的关联。
进一步的,所述管理器,还用于在实现UI中标签页的添加时,为所添加的标签页设置索引号并记录;所述标签页删除指令携带有所要删除的标签页的索引号。相应的,所述管理器,还用于解析标签页删除指令得到索引号,删除该索引号对应的tab页签和该tab页签对应的页签控制器,以及删除该索引号对应的tab页面和该tab页面对应的页面控制器。
进一步的,所述管理器,还用于接收用户通过主窗口发送的用户事件消息,将该用户事件消息采用观察者模式传递至相应页签控制器和页面控制器;以及,接收页签控制器和页面控制器根据所述用户事件消息返回的消息,并将该消息采用观察者模式传递至主窗口。
本发明实施例中UI中标签页的管理器的具体工作方式及相应的有益效果可以参见本发明的方法实施例,在此不再赘述。
由上所述,本发明实施例通过在主窗口中创建由无窗控件实现的tab管理器,并由页签控制器和页面控制器实现对标签页的控制,由于有窗控件需要专门设置一个线程对该窗口功能进行控制而导致在主窗口处于编辑状态时无法进行Tab页的动态增删,而无窗控件不需要设置专门的线程,通过指示无窗控件位置的区域信息即可对该无窗控件进行控制,从而能够在主窗口处于编辑状态时,动态执行标签页的添加或删除,简化了UI开发的操作,降低了开发的工作量,提高了开发效率。
并且,本方案中可通过观察者模式由tab管理器控制页签控制器和页面控制器实现标签页与主窗口之间消息的传递,提高了消息处理的灵活性。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种用户界面UI中标签页的管理方法,其特征在于,包括:
在用于承载标签tab页的主窗口中创建tab管理器,所述tab管理器由无窗控件实现;
当tab管理器接收到用户通过主窗口发送的标签页添加指令时,根据该标签页添加指令创建相应的tab页签和该页签对应的页签控制器,以及创建相应的tab页面和该页面对应的页面控制器,由所述页签控制器和页面控制器分别执行对tab页签和tab页面的控制,实现UI中标签页的添加;
当tab管理器接收到用户通过主窗口发送的标签页删除指令时,删除相应的tab页签和该tab页签对应的页签控制器,以及删除相应的tab页面和该tab页面对应的页面控制器,实现UI中标签页的删除。
2.根据权利要求1所述的方法,其特征在于,对所添加的标签页,tab管理器采用观察者模式建立该tab管理器与该标签页对应的页签控制器、页面控制器的关联。
3.根据权利要求1所述的方法,其特征在于,
所述方法还包括:在实现UI中标签页的添加时,为所添加的标签页设置索引号并记录;所述标签页删除指令携带有所要删除的标签页的索引号,则所述删除相应的tab页签和该tab页签对应的页签控制器,以及删除相应的tab页面和该tab页面对应的页面控制器包括:
解析标签页删除指令得到索引号,删除该索引号对应的tab页签和该tab页签对应的页签控制器,以及删除该索引号对应的tab页面和该tab页面对应的页面控制器。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
tab管理器接收用户通过主窗口发送的用户事件消息,将该用户事件消息采用观察者模式传递至相应页签控制器和页面控制器;以及,
tab管理器接收页签控制器和页面控制器根据所述用户事件消息返回的消息,并将该消息采用观察者模式传递至主窗口。
5.根据权利要求1所述的方法,其特征在于,
根据标签页添加指令添加的标签页为有窗控件或无窗控件。
6.一种用户界面UI中标签页的管理器,其特征在于,所述管理器包括创建模块、添加模块和删除模块;
所述创建模块,用于在承载标签tab页的主窗口中创建tab管理器,所述tab管理器由无窗控件实现;
所述添加模块,用于当tab管理器接收到用户通过主窗口发送的标签页添加指令时,根据该标签页添加指令创建相应的tab页签和该页签对应的页签控制器,以及创建相应的tab页面和该页面对应的页面控制器,由所述页签控制器和页面控制器分别执行对tab页签和tab页面的控制,实现UI中标签页的添加;
所述删除模块,用于当tab管理器接收到用户通过主窗口发送的标签页删除指令时,删除相应的tab页签和该tab页签对应的页签控制器,以及删除相应的tab页面和该tab页面对应的页面控制器,实现UI中标签页的删除。
7.根据权利要求6所述的管理器,其特征在于,对所添加的标签页,所述管理器采用观察者模式建立该管理器与该标签页对应的页签控制器、页面控制器的关联。
8.根据权利要求6所述的管理器,其特征在于,所述管理器还包括:索引模块;
所述索引模块,用户在实现UI中标签页的添加时,为所添加的标签页设置索引号并记录;所述标签页删除指令携带有所要删除的标签页的索引号,
所述删除模块,用于解析标签页删除指令得到索引号,删除该索引号对应的tab页签和该tab页签对应的页签控制器,以及删除该索引号对应的tab页面和该tab页面对应的页面控制器。
9.根据权利要求6所述的管理器,其特征在于,所述管理器还包括:用户事件模块;
所述用户事件模块,接收用户通过主窗口发送的用户事件消息,将该用户事件消息采用观察者模式传递至相应页签控制器和页面控制器;以及,
接收页签控制器和页面控制器根据所述用户事件消息返回的消息,并将该消息采用观察者模式传递至主窗口。
10.根据权利要求6所述的管理器,其特征在于,
所述管理器根据标签页添加指令添加的标签页为有窗控件或无窗控件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210592975.9A CN103914286B (zh) | 2012-12-31 | 2012-12-31 | 用户界面中标签页的管理方法和管理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210592975.9A CN103914286B (zh) | 2012-12-31 | 2012-12-31 | 用户界面中标签页的管理方法和管理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103914286A CN103914286A (zh) | 2014-07-09 |
CN103914286B true CN103914286B (zh) | 2017-03-22 |
Family
ID=51039993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210592975.9A Active CN103914286B (zh) | 2012-12-31 | 2012-12-31 | 用户界面中标签页的管理方法和管理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103914286B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105068833B (zh) * | 2015-07-31 | 2017-12-22 | 南威软件股份有限公司 | 基于插件形式的bs***页签模式快速迁移的方法 |
CN112463121B (zh) * | 2020-11-23 | 2024-03-19 | 西安西热电站信息技术有限公司 | 基于vue多页签应用***中持久化外部页面状态的方法 |
CN112380482B (zh) * | 2020-12-07 | 2022-08-16 | 四川长虹电器股份有限公司 | 可动态配置标签页的装置 |
CN115509664A (zh) * | 2022-09-26 | 2022-12-23 | 江苏锐创软件技术有限公司 | 一种多框架的大屏可视化方法、***、设备及存储介质 |
CN117270854B (zh) * | 2023-11-17 | 2024-02-23 | 江西格如灵科技股份有限公司 | 一种基于ugui的树形折叠结构页签创建方法和*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719064A (zh) * | 2009-12-25 | 2010-06-02 | 用友软件股份有限公司 | 页签控制器 |
CN102137058A (zh) * | 2010-01-21 | 2011-07-27 | 腾讯科技(深圳)有限公司 | 一种基于tab页的页面访问方法和装置 |
CN102841726A (zh) * | 2011-06-21 | 2012-12-26 | 腾讯科技(深圳)有限公司 | Android***下实现多Tab页的***、装置及方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7097369B2 (en) * | 2003-08-20 | 2006-08-29 | Electronics For Imaging, Inc. | Method and apparatus for inserting tabs in a print job |
US7921365B2 (en) * | 2005-02-15 | 2011-04-05 | Microsoft Corporation | System and method for browsing tabbed-heterogeneous windows |
-
2012
- 2012-12-31 CN CN201210592975.9A patent/CN103914286B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719064A (zh) * | 2009-12-25 | 2010-06-02 | 用友软件股份有限公司 | 页签控制器 |
CN102137058A (zh) * | 2010-01-21 | 2011-07-27 | 腾讯科技(深圳)有限公司 | 一种基于tab页的页面访问方法和装置 |
CN102841726A (zh) * | 2011-06-21 | 2012-12-26 | 腾讯科技(深圳)有限公司 | Android***下实现多Tab页的***、装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103914286A (zh) | 2014-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103914286B (zh) | 用户界面中标签页的管理方法和管理器 | |
CN101286952B (zh) | 一种文件信息显示方法及*** | |
CN101685392B (zh) | 实现用户界面与业务逻辑分离的装置 | |
CN101876906B (zh) | 一种利用Linux应用在Android***中运行的方法及装置 | |
CN105357273B (zh) | 异步通信模式下socket通信与进程管理通用平台及方法 | |
CN103281237A (zh) | 一种群组处理方法和装置 | |
JP2014524165A (ja) | 画像編集動作の共有方法、共有プラットフォーム及びシステム | |
CN103530338B (zh) | 在计算设备上进行页面渲染的框架及生成页面的方法 | |
CN107526645A (zh) | 一种通信优化方法及*** | |
CN106202406A (zh) | 一种3d可视化机房资产信息管理方法及*** | |
CN103605499B (zh) | 应用程序的开发装置及方法、应用程序的控制装置及方法 | |
CN102646055A (zh) | 一种***间数据交互的方法 | |
CN103312814A (zh) | 云管理平台和虚拟机终端用户间vnc隐通道的建立方法 | |
CN106209931A (zh) | 一种资源的信息的更新方法、装置和*** | |
CN109376126A (zh) | 一种文件或文件夹处理方法、移动终端及存储介质 | |
CN201242749Y (zh) | 物理运动康复治疗管理*** | |
CN107943455A (zh) | 一种基于json数据格式的表单渲染*** | |
CN110480633A (zh) | 一种控制设备的方法、装置及存储介质 | |
CN103809951A (zh) | 一种基于flex技术图形化服务编排和管理装置 | |
CN113177088B (zh) | 一种材料辐照损伤多尺度模拟大数据管理*** | |
US11019115B2 (en) | Object life cycle management in a publish-subscribe environment | |
KR101376226B1 (ko) | 오픈 소스 통합 관리 방법 및 그 서버 | |
CN109284935A (zh) | 一种基于微协助上下级办公群的任务处理*** | |
CN109891445A (zh) | 经由跨iframe信令重新归位嵌入式网络内容 | |
CN102739391B (zh) | 基于异步通信实现同步命令的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: Room 810, 8 / F, 34 Haidian Street, Haidian District, Beijing 100080 Patentee after: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd. Address before: 100089 Beijing city Haidian District wanquanzhuang Road No. 28 Wanliu new building 6 storey block A room 602 Patentee before: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd. |