用于跨接不同用户界面命令系统的适配器的制作方法

文档序号:6595765阅读:182来源:国知局
专利名称:用于跨接不同用户界面命令系统的适配器的制作方法
用于跨接不同用户界面命令系统的适配器为 了提供一致的“外观和感觉”,软件提供者可能希望在应用程序工具套件内的单独的应用程序工具之间提供一致的用户界面(UI)。尽管单独的应用程序工具中的某些可能是用和一致的UI兼容的命令路由(routing)协议来开发的,但单独的应用程序工具中的其它一些可能包括用和一致的UI不兼容的传统命令路由协议开发的“传统(legacy) ”软件工具。对于这种UI不兼容问题的一个解决方案是把传统软件工具重写成和一致的UI —起工作。为了在不重写传统软件工具的前提下利用它们,期望有一种将传统软件工具和前述的一致的UI相跨接的方法。

发明内容
提供本发明内容以便以简化形式介绍将在以下的具体实施方式
中进一步描述的概念精选。本概述并非旨在标识出所要求保护的主题的关键特征或必要特征。本概述亦非旨在用于限制所要求保护的主题的范围。可提供利用两个不同命令路由协议的用户界面。这两个不同命令路由协议可包括第一命令路由协议和第二命令路由协议。第一命令路由协议可使用拉模型。第二命令路由协议可使用推模型。前述概括描述和以下详细描述两者都提供示例且都只是说明性的。因此,前述概括描述和以下详细描述不应被认为是限制性的。此外,除了此处所阐明的那些之外还可提供其他特征或变型。例如,各实施方式可涉及在详细描述中描述的各种特征组合和子组合。


合并在本发明中并构成其一部分的附图示出本发明的各种实施方式。在附图中图1是一操作环境的框图;图2示出映射环境;图3是用于提供用户界面跨接的一种方法的流程图;以及图4是包括计算设备的系统的框图。
具体实施例方式以下详细描述参考各个附图。只要可能,就在附图和以下描述中使用相同的附图标记来指示相同或类似的要素。尽管可能描述了本发明的各实施方式,但修改、改编和其他实现也是可能的。例如,可以对附图中所示出的要素进行置换、添加、或修改,且可以通过对所公开的方法置换、重新排序、或添加阶段来修改此处所描述的方法。因此,以下详细描述并不限制本发明。相反,本发明的正确范围由所附权利要求书确定。可提供界面跨接。和本发明的实施例一致,适配器接口可跨接不同的用户界面 (UI)命令路由协议(例如,系统)。图1示出操作环境100。如图1所示,环境100可在包括例如显示器的输出设备(例如,以下参考图4所描述的输出设备414中的一个)上显示。操作环境100可包括收发器模块105、用户界面模块110、第一工具模块115、和第二工具模块120。用户界面模块110可包括但不限于菜单功能区模块(例如,以下参照图2所描述的菜单功能区模块205)。用户界面110可包括多个选项卡125、130、135和140。收发器模块105可包括并控制用户界面模块110并可知道第一工具模块115和第二工具模块120中的哪一个是当前活动的。例如当用户将操作环境100的焦点改变为第一工具模块115或第二工具模块120中的相应一个时,第一工具模块115或第二工具模块120可成为活动工具模块。 第一工具模块115可采用第一命令路由协议而第二工具模块120可采用第二命令路由协议。第一命令路由协议可使用拉模型来组装其UI命令分级结构,而第二路由协议可使用推模型来组装其UI命令分级结构。第一命令路由协议以及用于用户界面110的路由协议可以例如用可扩展标记语言(XML)静态地预定义。然而,当命令被同步地推入UI命令容器(例如,在工具改变时,或当焦点改变时)时,第二命令路由协议可在运行时动态构建。本发明的实施例可在原生(native)控制用户对象在“推”路由协议中出现和消失时将“推”路由协议的原生控制用户对象重新映射到新的UI命令对象,从而和“拉”路由协议一起工作。图2示出映射环境。如图2所示,映射环境200可包括菜单功能区模块205、 适配器210、以及活动工具模块215。菜单功能区模块205可包括用户界面模块110而活动工具模块215可包括第一工具模块115和第二工具模块120中的一个。菜单功能区模块 205可采用第一命令路由协议而活动工具模块215可采用第二命令路由协议。如上所述,第一命令路由协议可使用拉模型来组装其UI命令分级结构,而第二命令路由协议可使用推模型来组装其UI命令分级结构。因此,如参考附图3所更为详细描述的,适配器210可被创建和用于跨接这两个不同命令路由协议(例如,推和拉)。图3是阐明根据本发明的一实施方式的用于提供用户界面跨接的方法300中所涉及的各概括阶段的流程图。方法300可使用如将在以下参考图4更详细地描述的计算设备 400来实现。以下将更详细地描述实现方法300的各阶段的方式。方法300可开始于起始框305并继续至阶段310,在那里计算设备400可响应于用户输入而激活工具模块。例如, 用户可在操作环境100内工作。当在操作环境100内工作时,用户可在第一工具模块115和第二工具模块120之间改变操作环境100的焦点。活动工具模块可包括第一工具模块115 活动第二工具模块120中用户当前正聚焦的一个(例如,活动工具模块215)。方法300可从阶段310 (在此计算设备400响应于用户输入激活工具模块(例如活动工具模块215))前进至阶段320,在此计算设备400可由活动工具模块215把和活动工具模块215对应的至少一个工具命令推入容器。例如,活动工具模块215可采用“推”命令路由协议。换言之,当命令被同步地推入UI命令容器时,活动工具模块215中的命令可在活动工具模块215的运行时被动态地构建。一旦计算设备400在阶段320中由活动工具模块215将对应于活动工具模块215 的至少一个工具命令推入容器,则方法300可继续到阶段330,在此计算设备400可由收发器模块300基于活动工具模块215而选择菜单功能区模块205。例如,收发器模块105可包括并控制菜单功能区模块205(例如,用户界面模块110)并可知道第一工具模块115和第二工具模块120中的哪一个是活动工具模块215。因为收发器模块105可知道哪个工具模块是被激活的,所以收发器模块105可知道活动工具模块215应该在菜单功能区模块205 中显示什么选项卡。在计算设备400在阶段330中将对应于活动工具模块215的至少一个工具命令推入容器后,方法300可继续到阶段340,在此计算设备400可从菜单功能区模块205向活动工具模块215发送定义对应于菜单功能区模块205的功能区上的哪些选项卡(例如,多个选项卡125、130、135、140)应是活动的(例如,可见的)的请求。例如,尽管收发器模块105 可能知道对于给定情形要显示哪个功能区,但其可能不知道多个选项卡125、130、135、140 中的哪些要为可视的。因此,菜单功能区模块205可询问活动工具模块215哪些选项卡要为可视的。方法300可从阶段340 (在此计算设备400发送定义功能区上哪些选项卡应为活动的请求)前进到阶段350,在此计算设备400可在菜单功能区模块205处从活动工具模块 215接收指示对应于菜单功能区模块205的功能区上哪些选项卡应为活动的响应。例如,响应于来自菜单功能区模块205的请求,活动工具模块215可向菜单功能区模块205指示,对于给定情形,多个选项卡125、130、135及140中的哪些要为可视。一旦计算设备400在阶段350中接收了指示对应于菜单功能区模块205的功能区上哪些选项卡应为活动的响应,方法300可继续到阶段360,在此计算设备400可从菜单功能区模块205向适配器创建模块420发送创建至少一个适配器210的请求。适配器210可被配置为在容器中的至少一个工具命令以及可存在于选项卡上的至少一个原生功能区命令之间进行转换。在响应中所述至少一个选项卡可被指示为应为活动的(例如,可视的) 选项卡。因为菜单功能区模块205可采用不同于活动工具模块215的命令路由协议,所以这两个命令路由协议之间可能存有差距。为了跨接该差距,适配器创建模块420可被用于创建适配器210。适配器210可在活动模块215的命令对象出现和消失时,将活动工具模块 215的原生功能区控制用户对象重映射到新的UI命令对象。在计算设备400在阶段360中发送创建适配器210的请求后,方法300可前进到阶段370,此处计算设备400可由适配器创建模块420创建适配器210。例如,如上所述,菜单功能区模块205可采用第一命令路由协议而活动工具模块215可采用第二命令路由协议。第一命令路由协议可使用拉模型来组装其UI命令分级结构,而第二命令路由协议可使用推模型来组装其UI命令分级结构。因此,可创建适配器210以跨接这两个不同的命令路由协议(例如,推和拉)。特别地,活动工具模块215的命令对象可利用统一资源定位符 (URL)。菜单功能区模块205可采用标识多个选项卡125、130、135和140之一的工具条控制ID (Tl⑶)。因此,适配器210可将活动工具模块215的URL映射到菜单功能区模块205 的 TICD。一旦计算设备400在阶段370创建了适配器210,方法300可继续到阶段380,在此计算设备400可使用适配器210在容器中的至少一个工具命令和可存在于选项卡上的原生功能区命令之间转换。例如,适配器210可被用于在活动工具模块215的命令对象出现和消失时,将活动工具模块215的原生功能区控制用户对象重映射到新的UI命令对象。一旦计算设备400在阶段380使用适配器210进行转换,方法300然后就可在阶段390处结束ο根据本发明的一实施例可包括用于提供用户界面跨接的系统。该系统可包括存储器存储和耦合到该存储器存储的处理单元。处理单元可操作用于由两个不同的命令路由协议提供用户界面。两个不同命令路由协议可包括使用拉模型的第一命令路由协议和使用推模型的第二命令路由协议。根据本发明的另一实施例可包括用于提供用户界面跨接的系统。该系统可包括存储器存储和耦合到该存储器存储的处理单元。处理单元可操作用于由两个不同的命令路由协议创建用户界面。两个不同命令路由协议可包括使用拉模型的第一命令路由协议和使用推模型的第二命令路由协议。此外,处理单元可操作用于显示该用户界面。根据本发明的又一实 施例可包括用于提供用户界面跨接的系统。该系统可包括存储器存储和耦合到该存储器存储的处理单元。处理单元可操作用于由收发器模块基于活动工具模块来选择菜单功能区模块。此外,处理单元可操作用于从菜单功能区模块向工具模块发送定义对应于菜单功能区模块的功能区上的哪些选项卡应为活动的请求。此外,处理单元可操作用于在菜单功能区模块接收来自工具模块的指示对应于菜单功能区模块的功能区上的哪些选项卡应为活动的响应。此外,处理单元可操作用于从菜单功能区模块向适配器创建模块发送创建至少一个适配器的请求,该适配器配置为在容器内的至少一个工具命令和可存在于选项卡上的原生功能区命令之间进行转换。在响应中所述至少一个选项卡可被指示为应为活动的选项卡。并且,该处理单元可操作用于由适配器创建模块创建该至少一个适配器。图4是包括计算设备400的系统的框图。根据本发明的一个实施例,上述存储器存储和处理单元可以在诸如图4的计算设备400等计算设备中实现。可以使用硬件、软件或固件的任何合适的组合来实现该存储器存储和处理单元。例如,存储器存储和处理单元可以用计算设备400或结合计算设备400的其他计算设备418中的任意一个来实现。根据本发明的各实施例,上述系统、设备和处理器是示例,而其他系统、设备和处理器可以包括上述存储器存储和处理单元。此外,计算设备400可包括用于上述系统100的操作环境。系统100可以在其他环境中操作并且不限于计算设备400。参考图4,根据本发明的一实施方式的系统可包括计算设备,诸如计算设备400。 在一基本配置中,计算设备400可以包括至少一个处理单元402和系统存储器404。取决于计算设备的配置和类型,系统存储器404可以包括,但不限于,易失性存储器(例如,随机存取存储器(RAM))、非易失性存储器(例如,只读存储器(ROM))、闪存或任何组合。系统存储器404可包括操作系统405、一个或多个编程模块406,且可包括程序数据407。操作系统405,例如,可适用于控制计算设备400的操作。在一个实施例中,编程模块406可包括, 例如,收发器模块105、第一工具模块115、第二工具模块120、菜单功能区模块205、适配器 210、或适配器创建模块420。此外,本发明的各实施方式可以结合图形库、其他操作系统、或任何其他应用程序来实践,且不限于任何特定应用程序或系统。该基本配置在图4中由虚线408内的组件示出。计算设备400可具有附加特征或功能。例如,计算设备400还可包括附加数据存储设备(可移动和/或不可移动),诸如例如磁盘、光盘或磁带。这些附加存储在图4中由可移动存储409和不可移动存储410示出。计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。系统存储器404、可移动存储409和不可移动存储410都是计算机存储介质的示例(即,存储器存储)。计算机存储介质可以包括,但不限于,RAM、ROM、 电可擦除只读存储器(EEPROM)、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或可用于存储信息且可以由计算设备400访问的任何其它介质。任何这样的计算机存储介质可以是设备400的一部分。计算设备400还可以具有输入设备412,如键盘、鼠标、笔、声音输入设备、触摸输入设备等。还可包括诸如显示器、扬声器、打印机等输出设备414。上述设备是示例且可以使用其他设备计算设备400还可包含可允许设备400诸如通过例如内联网或因特网等分布式计算环境中的网络来与其他计算设备416进行通信的通信连接418。通信连接416是通信介质的一个示例。通信介质通常由诸如载波或其他传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其他数据来体现,并包括任何信息传递介质。术语“已调制数据信号”可以描述以对该信号中的信息进行编码的方式设定或者改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接等有线介质,以及诸如声学、射频(RF)、红外线和其他无线介质等无线介质。如此处所使用的术语计算机可读介质可以包括存储介质和通信介质两者。如上所述,可以在系统存储器404中存储包括操作系统405在内的多个程序模块和数据文件。当在处理单元402上执行时,编程模块406(例如、收发器模块105、用户界面模块110、第一工具模块115、第二工具模块120、菜单功能区模块205、适配器210、或适配器创建模块420)可执行包括例如如上所述的方法300的一个或多个阶段的过程。前述过程是示例,且处理单元402可执行其他过程。根据本发明的各实施方式可以使用的其他编程模块可以包括电子邮件和联系人应用程序、文字处理应用程序、电子表格应用程序、数据库应用程序、幻灯片演示应用程序、绘图或计算机辅助应用程序等。一般而言,根据本发明的各实施方式,程序模块可以包括可以执行特定任务或可以实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。此外,本发明的各实施方式可用其他计算机系统配置来实践,包括手持式设备、多处理器系统、基于微处理器的系统或可编程消费电子产品、小型机、大型计算机等。本发明的各实施方式也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。此外,本发明的各实施方式可在包括分立电子元件的电路、包含逻辑门的封装或集成电子芯片、利用微处理器的电路、或在包含电子元件或微处理器的单个芯片上实现。本发明的各实施方式还可以使用能够执行诸如,例如,AND(与)、0R(或)和NOT(非)等逻辑运算的其他技术来实践,包括但不限于,机械、光学、流体和量子技术。另外,本发明的各实施方式可以在通用计算机或任何其他电路或系统中实现。例如,本发明的各实施方式可被实现为计算机进程(方法)、计算系统或诸如计算机程序产品或计算机可读介质等制品。计算机程序产品可以是计算机系统可读并编码了用于执行计算机进程的指令的计算机程序的计算机存储介质。计算机程序产品还可以是计算系统可读并编码了用于执行计算机进程的指令的计算机程序的载体上的传播信号。因此, 本发明能以硬件和/或软件(包括固件、常驻软件、微码等)来具体化。换言之,本发明的各实施方式可以采用其上包含有供指令执行系统使用或结合其使用的计算机可使用或计算机可读程序代码的计算机可使用或计算机可读存储介质上的计算机程序产品的形式。计算机可使用或计算机可读介质可以是可包含、存储、通信、传播、或传输程序以供指令执行系统、装置或设备使用或结合其使用的任何介质。计算机可使用或计算机可读介质可以是,例如,但不限于,电、磁、光、电磁、红外、 或半导体系统、装置、设备或传播介质。更具体的计算机可读介质示例(非穷尽列表),计算机可读介质可以包括以下具有一条或多条导线的电连接、便携式计算机盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPR0M或闪存)、光纤、和便携式压缩盘只读存储器(CD-ROM)。注意,计算机可使用或计算机可读介质甚至可以是其上打印有程序的纸张或另一合适的介质,因为程序可以经由例如对纸张或其他介质的光学扫描而电子地捕获,随后如有必要被编译、解释,或以其他合适的方式处理,并随后存储在计算机存储器中。以上参考例如根据本发明的各实施方式的方法、系统和计算机程序产品的框图和 /或操作图示描述了本发明的各实施方式。框中所注明的各功能/动作可以按不同于任何流程图所示的次序出 现。例如,取决于所涉及的功能/动作,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以按相反的次序来执行。尽管已经描述了本发明的某些实施方式,但也可能存在其他实施方式。此外,虽然本发明的各实施方式被描述为与存储在存储器和其他存储介质中的数据相关联,但数据还可以被存储在或读取自其他类型的计算机可读介质,如辅助存储设备,像硬盘、软盘、或 CD-ROM ;来自因特网的载波;或其他形式的RAM或ROM。此外,所公开的各方法的各阶段可以按任何方式来修改,包括通过对各阶段重新排序和/或插入或删除阶段,而不背离本发明。包括此处所包括的代码中的版权在内的所有权利都归属于申请人并且是本申请人的财产。申请人保持并保留此处所包括的代码中的所有权利,并授予仅关于所授权的专利的再现且未出于其他目的再现该材料的许可。虽然本说明书包括各示例,但本发明的范围由所附权利要求书来指示。此外,尽管用对结构特征和/或方法动作专用的语言描述了本说明书,但权利要求书并不限于上述特征或动作。相反,上述具体特征和动作是作为本发明的各实施方式的示例来公开的。
权利要求
1.一种用于提供用户界面跨接的系统,该系统包括存储器存储(404);以及耦合至所述存储器存储(404)的处理单元(402),其中所述处理单元(402)可操作用于由两个不同命令路由协议提供用户界面,所述两个不同命令路由协议包括使用拉模型的第一命令路由协议和使用推模型的第二命令路由协议。
2.如权利要求1所述的系统,其特征在于,所述处理单元(402)可操作用于显示所述用户界面。
3.如权利要求1所述的系统,其特征在于,所述处理单元(402)可操作用于显示所述用户界面,该用户界面包括具有多个选项卡(125、130、135、140)的功能区。
4.如权利要求1所述的系统,其特征在于,所述第一命令路由协议是静态地预定义的。
5.如权利要求1所述的系统,其特征在于,所述第一命令路由协议是用可扩展标记语言(XML)静态地预定义的。
6.如权利要求1所述的系统,其特征在于,所述第二命令路由协议是在运行时动态地构建的。
7.如权利要求1所述的系统,其特征在于,所述第二命令路由协议是在命令被同步地推入用户界面命令容器中时在运行时动态地构建的。
8.一种用于提供用户界面跨接的方法,该方法包括由收发器模块(105)基于被激活的工具模块(115、120、215)选择(330)菜单功能区模块(205);从所述菜单功能区模块(205)向所述工具模块(115、120、215)发送(340)定义对应于所述菜单功能区模块(205)的功能区上的哪些选项卡(125、130、135、140)应为活动的请求;在所述菜单功能区模块(205)接收(350)来自所述工具模块(115、120、215)的指示对应于所述菜单功能区模块(205)的功能区上的哪些选项卡(125、130、135、140)应为活动的响应;从所述菜单功能区模块(205)向适配器创建模块(420)发送(360)创建至少一个适配器(210)的请求,该适配器配置为在容器内的至少一个工具命令和所述功能区上的至少一个选项卡之间进行转换(380),所述至少一个选项卡在所述响应中被指示为应为活动的选项卡;以及由所述适配器创建模块(420)创建(370)所述至少一个适配器(210)。
9.如权利要求8所述的方法,其特征在于,还包括响应于用户输入而激活(310)所述工具模块(115、120、215)。
10.如权利要求9所述的方法,其特征在于,还包括响应于被激活,由所述工具模块 (115,120,215)将对应于所述工具模块(115、120、215)的所述至少一个工具命令推(320) 入所述容器。
11.如权利要求8所述的方法,其特征在于,还包括使用所述至少一个适配器(210)在所述容器内的所述至少一个工具命令和在所述选项卡上存在的所述至少一个本机功能区命令之间进行转换(380)。
12.如权利要求8所述的系统,其特征在于,创建(370)所述至少一个适配器(210)包括在两个不同的命令路由协议之间映射,该两个不同的命令路由协议包括使用推模型的第一命令路由协议和使用拉模型的第二命令路由协议。
13.如权利要求12所述的方法,其特征在于,创建(370)所述至少一个适配器(210)包括创建所述至少一个适配器(210),其中第一命令路由协议是静态地预定义的。
14.如权利要求12所述的方法,其特征在于,创建(370)所述至少一个适配器(210)包括创建所述至少一个适配器(210),其中第二命令路由协议是在运行时动态地构建的。
15.如权利要求14所述的方法,其特征在于,创建(370)所述至少一个适配器(210)包括创建所述至少一个适配器(210),其中第二命令路由协议是在命令被同步地推入到所述容器中时在运行时动态地构建的。
全文摘要
可提供利用两个不同命令路由协议的用户界面。这两个不同命令路由协议可包括第一命令路由协议和第二命令路由协议。第一命令路由协议可使用拉模型。第二命令路由协议可使用推模型。第一命令路由协议可用可扩展标记语言(XML)来静态地预定义。第二命令路由协议可在命令被同步地推入用户界面命令容器中时在运行时动态地构建。用户界面可被显示,其中包括具有多个选项卡的功能区。
文档编号G06F9/06GK102246138SQ200980150049
公开日2011年11月16日 申请日期2009年11月6日 优先权日2008年12月10日
发明者U·穆勒 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1