CN1770097B - 一种用户交互界面系统及其扩展方法 - Google Patents
一种用户交互界面系统及其扩展方法 Download PDFInfo
- Publication number
- CN1770097B CN1770097B CN 200410052128 CN200410052128A CN1770097B CN 1770097 B CN1770097 B CN 1770097B CN 200410052128 CN200410052128 CN 200410052128 CN 200410052128 A CN200410052128 A CN 200410052128A CN 1770097 B CN1770097 B CN 1770097B
- Authority
- CN
- China
- Prior art keywords
- expansion
- interface
- panel
- main
- message
- 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
本发明公开了一种用户交互界面系统的扩展方法,包括:用户交互界面系统的主框架层根据主面板的配置文件的定义生成扩展面板的扩展逻辑层;用户交互界面系统的皮肤层根据扩展面板配置文件生成扩展面板的扩展界面;所述皮肤层建立该扩展界面与主面板的主界面之间的连接。本发明还公开了一种具有扩展面板的用户交互界面系统。本发明可以改善由于主面板的单一性而带来的皮肤设计的局限。
Description
技术领域
本发明涉及计算机图像数据处理技术,特别是涉及一种用户交互界面系统的扩展方法及用户交互界面系统。
背景技术
随着信息技术的发展,各种具有数据处理能力的电子设备,如电脑、笔记本电脑、移动终端等日益普及,给人们的学习、工作和生活带来较大的便利。众所周知,电子设备的运行需要硬件和软件的配合,特别是软件产品的重要性正越来越受到人们的重视。
通常,软件在运行时都会形成用户交互界面,便于接收用户的操作指令并且及时反馈操作结果。随着计算机图像处理技术的日益完善,各类软件产品的用户交互界面也越来越精美。
但是,在现有技术的皮肤模型下,皮肤管理只管理一个窗口的实例,使得软件产品只能实现一个主窗口。例如,现有的即时通讯软件只实现一个具有逻辑层和界面层的主窗口,从而限制了用户交互界面设计的自由度,对用户的使用体验也将造成一定的影响。
为了给人们带来良好的使用体验,对用户交互界面进行扩展是一种行之有效的方式。现有技术中,扩展用户交互界面有着很多的方式,例如添加菜单栏、工具条等等,但是由于菜单栏和工具条是一种控件,其表现形式在很大程度上会受到制约(比如说菜单项通常是长方形的,要实现圆形的菜单项比较困难),所以要想让用户完全决定扩展面板的表现形式是一件比较困难的事情。
现有的扩展用户交互界面的方法有多种,WINAMP软件提供了其中一种方案,其根据功能的不同将不同的控件放入不同的面板中,每个面板有着特定的功能,如管理播放列表的面板、视频面板、主面板等。但是上述方案也存在一定的制约:首先,WINAMP的这些面板不能实现面板部分功能的转移,比如将播放列表面板下的播放列表转移到主面板中,同时也不能让用户自由编辑;其次,其面板的数目和表现形式是固定的,从而降低了用户在定制面板和定义面板风格的参与程度。
发明内容
本发明解决的技术问题在于提供一种用户交互界面系统的扩展方法及用户交互界面系统,可以改善由于主面板的单一性而带来的皮肤设计的局限。
为此,本发明解决技术问题的技术方案是:提供一种用户交互界面系统的扩展方法,包括:
a)用户交互界面系统的皮肤层在主面板的配置文件中查找扩展面板的定义;
1)用户交互界面系统的主框架层根据主面板的配置文件的定义生成扩展面板的扩展逻辑层;
b)所述主框架层将建立的扩展面板的指针存入面板队列;
c)所述主框架层根据面板队列中的元素读取对应的扩展面板配置文件;
2)用户交互界面系统的皮肤层根据扩展面板配置文件生成扩展面板的扩展界面;
3)所述皮肤层建立该扩展界面与主面板的主界面之间的连接。
优选地,所述步骤3)的建立连接具体包括:在所述扩展界面中生成扩展消息传递单元,所述扩展消息传递单元对应于该主界面。
优选地,在所述步骤b)和步骤c)还包括判断扩展面板的定义是否读取完毕;如果是,则进入步骤c);如果否,则返回步骤a)。
本发明还提供一种用户交互界面系统,包括面板管理单元和主面板,所述主面板具有主逻辑层和主界面;还包括扩展面板;所述扩展面板具有扩展逻辑层和扩展界面;所述主界面的主消息传递单元用于将主界面的消息传递至扩展界面;所述扩展界面的扩展消息传递单元用于将扩展界面的消息传递至主界面;所述扩展逻辑层和主逻辑层之间具有通讯接口,用于将来自扩展逻辑层的消息处理逻辑发送至主逻辑层;所述面板管理单元用于实现对主面板和扩展面板的管理。
优选地,所述通讯接口通过第一消息元素传递消息。
优选地,所述主消息传递单元是主界面的界面元素,具有分别指向与其对应的扩展面板和主面板的窗口指针;所述扩展消息传递单元是扩展界面的界面元素,具有指向主面板的窗口指针。
优选地,所述主逻辑层与主界面之间具有:第一主通讯接口,用于将消息从主界面发送到主逻辑层;第二主通讯接口,用于将消息从主逻辑层发送到主界面;所述扩展逻辑层与扩展界面之间具有:第一扩展通讯接口,用于将消息从扩展界面发送到扩展逻辑层;第二扩展通讯接口,用于将消息从扩展逻辑层发送到扩展界面。
优选地,所述第一主通讯接口和第一扩展通讯接口通过第一消息元素传递消息;所述第二主通讯接口和第二扩展通讯接口通过第二消息元素传递消息。
相对于现有技术,本发明的有益效果是:首先,由于本发明实现了扩展面板,用户交互界面系统的设计将会有着更大的发挥余地和设计上的自由度。其次,由于本发明中扩展面板的建立在主面板的建立过程中,扩展面板通过主面板的配置文件进行定义,也就是说扩展面板的建立和主面板的建立是基于同一实现机制,这样对主面板的改动也将会改变扩展面板这样对面板进行维护也更加的方便,同时也使得面板的风格保持一致。再次,由于通过消息传递单元实现界面之间的直接通信,可以避免从皮肤的逻辑层进行中转的麻烦,有利于保持界面的独立性;并且由于消息只在界面中互相传递,不通过面板的逻辑层,所以其实现和底层的耦合较低,使得其具体的实现过程可以通过脚本进行定义,所以用户的可控性很高。
此外,由于面板的构成是通过脚本来定义的,所以用户可以根据自己的需要来设计自己风格的面板,同时不存在对面板的个数和形式的要求。只要用户愿意就可以增加面板,具有较强的扩展性。当本发明应用于即时通讯工具时,由于扩展面板的建立,即时通讯工具的好友面板等扩展面板可以从主面板中移出。在没有了占用主面板大部分面积的好友面板后,主面板的的表现将不仅仅局限于长方形,界面的设计上将会有很大的自由度。
附图说明
图1是本发明用户交互界面系统的示意图;
图2是本发明一个实施例中界面层实现消息传递的示意图;
图3是本发明一个实施例中扩展面板的消息传递机制示意图;
图4是本发明用户交互界面系统的扩展方法的流程图。
具体实施方式
本发明主要的构思在于在保持皮肤实现技术不变和改变后的皮肤具有向下的兼容性的要求下,建立一个具有多个用户交互界面的皮肤模型,从而改善由于软件产品的主面板的单一性而带来的皮肤设计的局限。
请参阅图1,本发明的用户交互界面系统包括面板管理单元100、主面板200和扩展面板300;所述主面板200用于展示软件产品的主要功能,处理用户输入的操作指令;所述扩展面板300用于展示软件产品的部分功能,处理和该面板相关的逻辑,如大小的改变、卷动等;所述面板管理单元100用于实现对主面板200和扩展面板300的维护和管理。
主面板200具有主逻辑层210和主界面220;扩展面板300具有扩展逻辑层310和扩展界面320。主逻辑层210和扩展逻辑层310用于进行数据的处理;主界面220和扩展界面320均包括按钮、图片等各种界面元素,用于向用户展示软件产品。
为了便于管理和减少对主逻辑层210的改动,所述扩展面板300只是处理一些和该扩展面板300相关的逻辑,包括大小的改变和卷动等;具体的消息处理逻辑全部发送到主面板200中处理。
为了实现主界面220和扩展界面320之间的通讯,主界面220具有主消息传递单元221,用于将主界面220的消息传递至扩展界面320;所述扩展界面320具有扩展消息传递单元321,用于将扩展界面320的消息传递至主界面220。所述主消息传递单元221和扩展消息传递单元321作为界面元素类似于按钮、图片而存在。由于界面元素之间的通讯是通过消息来实现,而所述消息的传递通过消息传递单元实现,消息传递单元作为一个中介将所在面板的消息发送到自己对应的面板中。由于消息只在界面中互相传递,不通过面板的逻辑层,所以其实现和底层的耦合较低。
为实现扩展逻辑层310和主逻辑层210之间的消息传递,所述扩展逻辑层310和主逻辑层210之间具有通讯接口400,用于将来自扩展逻辑层310的消息处理逻辑发送至主逻辑层210。
此外,本发明中,界面元素和逻辑层之间的通讯采用如下方式:主逻辑层210与主界面220之间具有第一主通讯接口230和第二主通讯接口240,分别用于将消息从主界面220发送到主逻辑层210、从主逻辑层210发送到主界面220。扩展逻辑层310与扩展界面320之间具有第一扩展通讯接口330和第二扩展通讯接口340,分别用于将消息从扩展界面320发送到扩展逻辑层310、从扩展逻辑层310发送到扩展界面320。
请参阅图2和图3,是本发明用户交互界面系统的一个实施例的示意图。所述实施例是即时通讯软件的用户交互界面系统。
所述用户交互界面系统具有主逻辑层(Main Frame)210和主界面220构成的主面板、扩展逻辑层(QQExtender)310和扩展界面320构成的扩展面板、以及面板管理单元100(Newskinhost);其中Newskinhost为管理这些面板的类.
在主界面220下的Extbar是通过配置文件得到的扩展面板的定义,Extbar在主面板中作为一个界面元素类似于button或者picture而存在。该元素中有两个窗口指针,分别指向通过其定义而实现的扩展面板和主面板。由于该元素保存有两个面板的指针,其就可以成为中介实现消息的传递。同样扩展界面320一旦建立以后也自动建立一个对应主界面220的虚拟的Extbar,该Extbar和主面板的Extbar一样,只不过它所代表的是主面板。
由于已经将面板的逻辑层和表现层分开,所以扩展面板的消息传递机制也较单一面板复杂,为了便于管理和减少对主程序的改动,扩展面板只是处理一些和该面板相关的逻辑,包括大小的改变和卷动等,具体的消息处理逻辑全部发送到主面板中处理,这样对主框架的逻辑修改较小。
主界面220和扩展界面320之间的通讯是通过SkinCommand的消息来实现的,这些消息的传递通过Extbar实现。Extbar作为一个中介将所在面板的消息发送到自己对应的面板中。通过Extbar的指针实现界面之间的直接通信,可以避免从皮肤的逻辑层进行中转的麻烦,有利于保持界面的独立性;并且由于消息只在界面中互相传递,不通过面板的逻辑层,所以其实现和底层的耦合较低。并且由于其具体的实现过程可以通过脚本进行定义,所以用户的可控性很高。
根据需要,扩展逻辑层310将ExeCommand消息(第一消息元素)发送到主逻辑层210处理。
界面元素和逻辑层的通讯通过ExeCommand(第一消息元素)和OnNotify(第二消息元素)实现;ExeCommand消息的实现是将一些需要由逻辑层处理的事件交由逻辑层处理;OnNotify则是相反的一个过程。
本发明的用户交互界面系统的扩展方法中,为保证新的面板机制对老的面板的支持,扩展面板仍然采用原有的面板实现方法,采用配置文件和界面贴图相互结合的方法进行面板界面的制作。作为面板的逻辑层,需要实现一个dialog用于实现消息的传递和具体窗口逻辑的管理。
请参阅图4,是本发明用户交互界面系统的扩展方法的流程图。
步骤S1,用户交互界面系统的皮肤层在主面板的配置文件中查找扩展面板的定义;如果是,则进入步骤S2,如果否,则转入步骤S4。
步骤S2,用户交互界面系统的主框架层根据所述定义生成扩展面板的扩展逻辑层。
步骤S3,所述主框架层将建立的扩展面板的指针存入面板队列;
步骤S4,判断扩展面板的定义是否读取完毕;如果是,则进入步骤S5;如果否,则返回步骤S1。
步骤S5,所述主框架层根据面板队列中的元素读取对应的扩展面板配置文件。
步骤S6,所述皮肤层根据该扩展面板配置文件生成扩展面板的扩展界面;
步骤S7,所述皮肤层建立该扩展界面与主面板的主界面之间的连接。
可以理解,由于需要将扩展面板的建立放在主面板的建立过程中,所以扩展面板将会在主面板的配置文件中定义,通过扩展面板定义时的皮肤文件路径名读取该面板对应的配置文件和图片建立扩展面板,最后和主面板关联,从而实现扩展面板的建立。
可以理解,图4中,主框架层处理的是面板的底层逻辑层,包括面板窗口的建立,消息的管理等等;皮肤层则负责面板的绘制,实现面板的具体表现,包括面板上的贴图,按钮的绘制等。
一旦建立好主面板和扩展面板,就需要建立各个面板之间的消息连接,本发明通过主消息传递单元和扩展消息传递单元实现消息的传递。
请再次参阅图2,在本发明的一个实施例中,通过界面元素Extbar来实现消息连接。主界面下的Extbar是通过配置文件得到的扩展面板的定义,Extbar在主界面中作为一个界面元素类似于button或者picture而存在。该元素中有两个窗口指针,分别指向通过其定义而实现的扩展面板和主界面面板。由于该元素保存有两个面板的指针,其就可以成为中介实现消息的传递。同样扩展界面一旦建立以后也自动建立一个对应主界面的虚拟的Extbar,该Extbar和主面板的Extbar一样,只不过它所代表的是主面板。
可以理解,本发明的用户交互界面系统的扩展方法中,具体的窗口实现过程是通过配置文件的定义来定义窗口,同时触发程序主框架对窗口建立的响应来完成的。所有的过程在主界面配置文件读取完毕后结束,这样扩展面板窗口的建立机制将和以前的界面建立机制相统一。
这是由于皮肤中的窗口的建立与程序中定义的窗口逻辑层具有同一句柄。所以如果实现了在主框架下的多个窗口的建立和管理,然后将这些窗口句柄传递到管理皮肤的工程中,通过配置文件就可以实现窗口的皮肤。在实现了窗口的逻辑层和皮肤后就可以建立窗口之间的消息传递和窗口的管理了。
需要进一步说明的是,由于扩展面板的建立在主面板的建立过程中,扩展面板的建立和主面板的建立是基于同一套代码,这样对主面板的改动也将会改变扩展面板,使得对面板进行维护也更加方便,同时也使得用户交互界面系统的风格保持一致。
在实现了扩展面板后,软件产品的面板的设计将会有着更大的发挥余地,同时由于面板的构成是通过脚本来定义的,所以用户可以根据自己的需要来设计自己风格的面板。并且由于该扩展面板的建立是基于脚本的,所以不存在对面板的个数和形式的要求。只要有需求就可以增加面板。这为以后软件产品的扩展提供了很大的方便。
对于本发明的优选实施例来说,由于扩展面板的建立,使得即时通信工具的好友面板可以从主面板中移出。在没有了占用主面板大部分面积的好友面板后,主面板的的表现将不仅仅局限于长方形,界面的设计上将会有很大的自由度。
以上所述仅仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种用户交互界面系统的扩展方法,其特征在于,包括:
a)用户交互界面系统的皮肤层在主面板的配置文件中查找扩展面板的定义;
1)用户交互界面系统的主框架层根据主面板的配置文件的定义生成扩展面板的扩展逻辑层;
b)所述主框架层将建立的扩展面板的指针存入面板队列;
c)所述主框架层根据面板队列中的元素读取对应的扩展面板配置文件;
2)用户交互界面系统的皮肤层根据扩展面板配置文件生成扩展面板的扩展界面;
3)所述皮肤层建立该扩展界面与主面板的主界面之间的连接。
2.根据权利要求1或2所述的用户交互界面系统的扩展方法,其特征在于,所述步骤3)的建立连接具体包括:在所述扩展界面中生成扩展消息传递单元,所述扩展消息传递单元对应于该主界面。
3.根据权利要求1或2所述的用户交互界面系统的扩展方法,其特征在于:在所述步骤b)和步骤c)还包括判断扩展面板的定义是否读取完毕;如果是,则进入步骤c);如果否,则返回步骤a)。
4.一种用户交互界面系统,包括面板管理单元和主面板,所述主面板具有主逻辑层和主界面;其特征在于:还包括扩展面板;所述扩展面板具有扩展逻辑层和扩展界面;所述主界面的主消息传递单元用于将主界面的消息传递至扩展界面;所述扩展界面的扩展消息传递单元用于将扩展界面的消息传递至主界面;所述扩展逻辑层和主逻辑层之间具有通讯接口,用于将来自扩展逻辑层的消息处理逻辑发送至主逻辑层;所述面板管理单元用于实现对主面板和扩展面板的管理。
5.根据权利要求4所述的用户交互界面系统,其特征在于:所述通讯接口通过第一消息元素传递消息。
6.根据权利要求4所述的用户交互界面系统,其特征在于:所述主消息传递单元是主界面的界面元素,具有分别指向与其对应的扩展面板和主面板的窗口指针;所述扩展消息传递单元是扩展界面的界面元素,具有指向主面板的窗口指针。
7.根据权利要求4至6任一项所述的用户交互界面系统,其特征在于,所述主逻辑层与主界面之间具有:第一主通讯接口,用于将消息从主界面发送到主逻辑层;第二主通讯接口,用于将消息从主逻辑层发送到主界面;所述扩展逻辑层与扩展界面之间具有:第一扩展通讯接口,用于将消息从扩展界面发送到扩展逻辑层;第二扩展通讯接口,用于将消息从扩展逻辑层发送到扩展界面。
8.根据权利要求7所述的用户交互界面系统,其特征在于:所述第一主通讯接口和第一扩展通讯接口通过第一消息元素传递消息;所述第二主通讯接口和第二扩展通讯接口通过第二消息元素传递消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410052128 CN1770097B (zh) | 2004-11-05 | 2004-11-05 | 一种用户交互界面系统及其扩展方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410052128 CN1770097B (zh) | 2004-11-05 | 2004-11-05 | 一种用户交互界面系统及其扩展方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1770097A CN1770097A (zh) | 2006-05-10 |
CN1770097B true CN1770097B (zh) | 2010-05-05 |
Family
ID=36751420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200410052128 Active CN1770097B (zh) | 2004-11-05 | 2004-11-05 | 一种用户交互界面系统及其扩展方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1770097B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100549952C (zh) * | 2008-03-18 | 2009-10-14 | 腾讯科技(深圳)有限公司 | 一种可扩展的皮肤系统及其实现方法 |
CN102455905B (zh) * | 2010-10-19 | 2014-11-26 | 腾讯科技(深圳)有限公司 | 建立主面板界面的方法、系统,主面板和主面板界面系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6080202A (en) * | 1997-07-10 | 2000-06-27 | Nortel Networks Corporation | Universal compatibility software system for services in communication and information processing networks |
CN1319798A (zh) * | 2000-01-31 | 2001-10-31 | 国际商业机器公司 | 面向混合任务与文件的用户界面 |
CN1688969A (zh) * | 2000-09-14 | 2005-10-26 | Ui进展公司 | 基于显示状态和/或单元的用户界面提供方法和装置 |
-
2004
- 2004-11-05 CN CN 200410052128 patent/CN1770097B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6080202A (en) * | 1997-07-10 | 2000-06-27 | Nortel Networks Corporation | Universal compatibility software system for services in communication and information processing networks |
CN1319798A (zh) * | 2000-01-31 | 2001-10-31 | 国际商业机器公司 | 面向混合任务与文件的用户界面 |
CN1688969A (zh) * | 2000-09-14 | 2005-10-26 | Ui进展公司 | 基于显示状态和/或单元的用户界面提供方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN1770097A (zh) | 2006-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1849578B (zh) | 通过屏幕拼合在两个计算机之间产生对象处理平台 | |
CN101699393B (zh) | 一种面向网络的智能化软件界面动态生成方法 | |
JP2009519627A (ja) | メディアのコンカレントコラボレーションのためのシステム、方法及びコンピュータプログラム製品 | |
CN106557314A (zh) | 应用软件开发方法及装置 | |
WO2004049180A1 (ja) | リアルタイムウェブ共有システム | |
CN101101550B (zh) | 将新用户界面映射到已有的整合界面的方法和系统 | |
CN106843871B (zh) | 一种领域模型框架的设计系统及设计方法 | |
US20130275906A1 (en) | Magnetic-like user interface for combining objects | |
CN101155174B (zh) | 基于共用协议的远程用户界面服务实现方法 | |
CN102004632A (zh) | 一种设置时间信息的方法及装置 | |
CN111610972A (zh) | 页面生成方法、装置、设备及存储介质 | |
CN1770097B (zh) | 一种用户交互界面系统及其扩展方法 | |
CN101150591B (zh) | 机场航班信息显示系统 | |
CN101369263A (zh) | 可视电子菜单系统 | |
CA2403214C (en) | A transaction control system | |
JP3006610B1 (ja) | ワ―クフロ―支援実行システム | |
CN106911816A (zh) | 一种端口转发的设置系统及跳板机 | |
US20190087919A1 (en) | Interface that provides separate data entry and data presentation in a manufacturing environment | |
CN201045647Y (zh) | 双向显示笔记本电脑 | |
JPH09259083A (ja) | 仮想端末制御システム | |
CN117827352A (zh) | 自定义组件前后端交互的方法、装置、电子设备及介质 | |
CN117912164A (zh) | 医保自助一体机双系统运行方法和双系统医保自助一体机 | |
Bandopadhyay et al. | Wireless Medicine Searching System Using GSM Modem in Smart City | |
JP2022015195A (ja) | 情報処理装置、制御プログラムおよび制御方法 | |
KR100888233B1 (ko) | 메타언어를 이용한 이동 단말기의 애플리케이션 구동시스템 및 구동방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C57 | Notification of unclear or unknown address | ||
DD01 | Delivery of document by public notice |
Addressee: Jiang Yajie Wang Liyan Document name: Notification of Passing Examination on Formalities |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |