[go: up one dir, main page]

HK1177011B - 用於用戶界面的基於標記的可擴展性 - Google Patents

用於用戶界面的基於標記的可擴展性 Download PDF

Info

Publication number
HK1177011B
HK1177011B HK13103891.9A HK13103891A HK1177011B HK 1177011 B HK1177011 B HK 1177011B HK 13103891 A HK13103891 A HK 13103891A HK 1177011 B HK1177011 B HK 1177011B
Authority
HK
Hong Kong
Prior art keywords
user interface
xml
graphical user
ribbon
application
Prior art date
Application number
HK13103891.9A
Other languages
English (en)
Other versions
HK1177011A1 (zh
Inventor
S.S.丹加尔
A.莫格里弗斯基
D.A.墨顿
P.拉马尼
D.T.鲁
E.M.福勒
A.福米彻
A.C-A.常
Original Assignee
微软技术许可有限责任公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US11/217,071 external-priority patent/US8239882B2/en
Application filed by 微软技术许可有限责任公司 filed Critical 微软技术许可有限责任公司
Publication of HK1177011A1 publication Critical patent/HK1177011A1/zh
Publication of HK1177011B publication Critical patent/HK1177011B/zh

Links

Description

用于用户界面的基于标记的可扩展性
本申请是申请日:2006.08.29,申请号为200680030421.2(国际申请号为PCT/US2006/033809),名称为“用于用户界面的基于标记的可扩展性”的申请的分案申请。
技术领域
本申请涉及用户界面,特别是用于用户界面的基于标记的可扩展性。
背景技术
随着计算机时代的到来,计算机和软件的用户已经逐渐习惯于用户友好的软件应用程序来帮助他们撰写、计算、组织、准备演示、发送和接收电子邮件、创作音乐等。例如,现代的电子字处理应用程序允许用户准备各种有用的文档。现代的电子表格应用程序允许用户输入、操作和组织数据。现代的电子幻灯片演示应用程序允许用户创建各种含有文本、图片、数据或其它有用对象的幻灯片演示。现代的数据库应用程序允许用户存储、组织和交换大量的数据。
大多数的软件应用程序提供一个或多个图形用户界面,通过这些界面,用户可以输入和编辑数据,并且从中访问和使用相关联的软件应用程序的各种功能。一种典型的用户界面包括可以输入、编辑和查阅数据的工作区。另外,用户界面典型地包括用于选择由所述相关联的软件应用程序提供的功能的一个或多个按键和/或控件。例如,可以提供用于打印或保存一个文档的按键或控件,提供用于应用格式属性到文档各方面的按键或控件等。
通常,第三方软件开发者创建软件插件,该软件插件被添加到现有的应用程序以提供不能从现有应用程序获得的功能。例如,插件软件应用程序可以为字处理应用程序提供向文档添加专用脚注和尾注的特性。除了提供附加功能之外,该插件软件应用程序通常还提供一个或多个新的用户界面组件给现有的应用程序用户界面,例如新工具栏、按键或其它控件,用于访问附加功能。
根据先前的方法,第三方开发者被给予访问与应用程序现有用户界面相关联的对象模型,以根据第三方插件软件的需要来允许对现有用户界面的定制。不幸地是,这些先前的方法由于给定用户界面的对象模型通常不是围绕跨各种不同的应用程序的公共用户来进行设计的而具有缺陷,所述各种不同的应用程序包括:例如字处理应用程序、电子表格应用程序、幻灯片演示应用程序等,并且这些应用程序经常展现出与关联于定制用户界面组件的不同且可能是不期望的行为。
出于这些和其它考虑,实现了本发明。
发明内容
提供本发明概要来以简要形式介绍一下下面将详细描述的一些概念。本发明概要并不是要标识出所请求的主题的关键特征或必要特征,也不是要帮助确定所请求的主题的范围。
本发明的实施例通过提供用于将软件应用程序用户接口编程展示给第三方应用程序插件开发者的方法、系统和计算机产品,以允许现有的应用程序用户界面的修改以包括与插件应用程序关联的新的或修改的用户界面。根据本发明的各方面,向第三方开发者展示了可扩展标记语言(XML)模式,所述模式掌控可被用于修改给定用户界面的XML编程,以允许开发者根据关联的XML模式规定对用户界面编程的改变。例如,如果第三方开发者希望在现有用户界面添加可以链接到插件应用程序的功能的新按键或控件,所述第三方开发者可以根据关联的XML模式指定的语法和句法规则来修改用户界面的现有编程。根据本发明的一方面,用户界面修改的XML或其它适合的表示并不需要遵循与原始用户界面相同的编程语言。而且,原始内建用户界面编程可能很复杂,而根据本发明展示的XML模式可能仅是所述原始用户界面的整体编程的一个子集。当所修改的编程由主软件应用程序执行时,将所述用户界面随第三方开发者做出的改变一起呈现。例如,如果用户界面的编程被修改为添加一个新按键,只要该修改是根据关联的XML模式做出的,那么响应于对所述用户界面的编程的修改在所述用户界面中将呈现所述新按钮。
根据本发明的各方面,可以将新界面组件加入到现有用户界面,并可以被链接到关联的插件功能。新用户界面组件的尺寸可以作为一个窗口被自动缩放以适合可用的显示空间,在该窗口中显示的用户界面被减小或放大。另外,根据本发明的各方面,修改的用户界面的终端用户可以根据需要移除所添加的用户界面组件。如果一个特定的软件插件被删除,与该被删除的插件关联的被添加或修改的用户界面组件将不会在后来呈现的用户界面中被显示。
根据本发明的其它方面,现有的用户界面组件,例如按键和控件,都可以被第三方禁用或移除。另外,现有的用户界面组件可以被重定意图以使得在被选择时该重定意图的组件展示出不同的行为。
根据本发明的其它方面,通过访问被展示用于修改现有用户界面的模式,当选择了一个与被添加的上下文用户界面相关联的文档对象时,第三方上下文用户界面和上下文用户按键或控件可以被添加到在现有用户界面中展示的现有用户界面中。另外,控件(当被选择时会引起一个或多个内插功能应用到被选的对象)可以被添加到在现有用户界面中被部署的一个控件的图库或集合,以将应用程序的一个或多个功能应用到被选的对象。
根据本发明的其它方面,可以使用XML模式来构建一个从头开始的用户界面,所述用户界面根据相关联的软件应用程序的第三方插件需求被定制。当呈现这样一个从头开始的用户界面的解决方案,所得到的用户界面相对于通常展示给相关联软件应用程序的用户的应用程序用户界面具有少许的类似。就是说当运行相关联的文档时,用于提供用户功能给所运行的文档的定制用户界面是根据提供给该文档的定制用户界面来呈现的。
这些和其他表现本发明特色的特征和优点,从阅读以下详细描述和浏览相关联的附图将变的明显。应该理解以上一般性描述和以下详细描述两者都仅在于解释而不是限制如被申明要求权利的本发明。
附图说明
图1说明了本发明的实施例的示范计算操作环境。
图2是示出根据本发明的实施例可以被修改的示例用户界面的计算机屏幕显示。
图3是示出在示例用户界面和示例用户界面的XML表示之间的关系的简化框图,该XML表示可以被改进以用于根据本发明的实施例对示例用户界面进行修改。
图4是根据本发明的实施例可以被修改的示例上下文用户界面的计算机屏幕显示。
图5是可选择控件用户界面的示例图库和集合的计算机屏幕显示,所述用户界面可以根据本发明的实施例进行修改。
具体实施方式
如上面简要描述所述,本发明的实施例定位于用于展示应用程序用户界面的编程的方法、系统和计算机产品,来允许相关联的用户界面的修改以包括对新的或现有的用户界面进行添加、移除、禁用、启用和重定意图。在下列的详细描述中对构成其一部分的附图进行引用,其中通过示例特定实施例和例子来示出附图。可以在不偏离本发明的精神或范围的前提下组合这些实施例、利用其他实施例、并进行结构改变。因此,不应以限制性的意义来看待下列详细描述,并且本发明的范围由所附权利要求书及其等效模式定义。
现在参照附图,其中相同的数字指示相同的元素,将描述本发明的诸方面和示例性计算操作环境。图1和下列讨论旨在提供其中可以实现本发明的合适计算环境的简要而一般的描述。虽然将在结合在个人计算机上运行的操作系统的应用程序一起执行的程序模块的一般上下文中描述本发明,但是本领域的技术人员应认识到,本发明也可以结合其他程序模块实现。
通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型结构。而且,本领域的技术人员应明白,本发明可以用其他计算机系统配置而被实践,包括手持式设备、多处理器系统、基于微处理器的或可编程的消费性电子产品、小型计算机、大型计算机等等。本发明也可以在分布式计算环境中实践,在其中任务由通过通信网络连接的远程处理设备执行。在分布式计算环境中,程序模块可以位于本地和远程的存储器存储设备中。
本发明的诸实施例可以被实现为计算机进程(方法)、计算系统或制品,如计算机程序产品或计算机可读介质。计算机程序产品可以是计算机存储介质,它可由计算机系统读取并编码用以执行计算机进程的指令的计算机程序。计算机程序产品也可以是在载波上所传播的信号,它可由计算系统读取并编码用以执行计算机进程的指令的计算机程序。
参见图1,实现本发明的一个示例性系统包括计算设备,如计算设备100。在基本配置中,计算设备100通常包括至少一个处理单元102和系统存储器104。依赖于确切的配置和计算设备的类型,系统存储器104可以是易失性(诸如,RAM)、非易失性的(诸如,ROM、快闪存储器等等)或两者的某种组合。系统存储器104通常包括适合于控制连网的个人计算机的操作的操作系统105,如华盛顿州雷德蒙市的微软公司的操作系统。系统存储器104也可以包括一个或多个软件应用程序106,而且可以包括程序数据107。图1中在虚线108中的那些组件示例这一基本配置。
根据本发明的诸实施例,应用程序106可以包括多种类型的程序,如电子邮件程序、日历程序、因特网浏览程序等。此类程序的一个例子是微软公司出品的应用程序106也可以包括用于提供多种其他类型功能的多功能性软件。这一多功能性应用程序可以包括若干程序模块,诸如字处理程序、电子表格程序、幻灯片演示程序、数据库程序等等。这一多功能性应用程序的一个例子是微软公司出品的OFFICETM。插件软件应用程序120包括可以添加到应用程序106中的任何软件应用程序,如在此所述,用于为应用程序106增强或提供附加的功能。另外,如在此所述,插件软件应用程序可以包括基于文档的软件解决方案,例如,包括附加工具栏的电子表格文档,或包括宏或其它添加带按键或控件工具栏的其它代码的字处理文档。
计算设备100可以具有附加的特征或功能性。例如,计算设备100也可以包括诸如磁盘、光盘或磁带的附加数据存储设备(可移动的和/或不可移动的)。图1中由可移动存储109和不可移动存储110示例了此类附加存储。计算机存储介质可以包括易失性和非易失性、可移动的和不可移动的介质,这些介质用存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的任何方法或技术实现。系统存储器104、可移动存储109和不可移动存储110都是计算机存储介质的例子。计算机存储介质包括但不限于、RAM、ROM、EEPROM、快闪存储器或其他存储器技术、CD-ROM、数字多用途盘(DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁存储设备,或可以被用来存储所需要的信息且可以由计算设备100访问的任何其他介质。任何这样的计算机存储介质都可以是设备100的一部分。计算设备100还可以具有诸如键盘、鼠标器、笔、声音输入设备、触摸式输入设备等等的输入设备112。也可以包括诸如显示器、扬声器、打印机等等的输出设备114。这些设备在本领域中是公知的,因此在这里不必详细地论述。
计算机设备100还可以包含允许该设备和其他计算设备118诸如经由分布式计算环境中例如内联网或因特网的网络来进行通信的通信连接116。通信连接116是通信介质的一个例子。通信介质通常以已调制的数据信号如载波或者其他传输机制的形式包括计算机可读指令、数据结构、程序模块或其他数据,并包括任何信息传递介质。术语“已调制的数据信号”是指已在该信号中编码信息的方式来设置或改变其一个或多个特性的信号。作为例子而非限制,通信介质包括诸如有线网络或线路直接连接的有线介质以及诸如声音、射频、红外和其他无线介质的无线介质。这里所用的术语“计算机可读介质”既包括存储介质也包括通信介质。
图2是示出根据本发明的实施例可以被修改的示例用户界面的计算机屏幕显示。本领域的技术人员应该理解图2中所说明的示例用户界面仅是为了进行示例和说明的目的。就是说本发明的实施例可以应用于具有不同的用户界面组件和不同的用户界面布局的各种不同的用户界面排列。这样,根据图2中说明的示例用户界面的本发明的描述不应作为对所要求的发明的局限或限定。
图2中的用户界面包括带状(ribbon-shaped)用户界面,用于显示与给定软件应用程序(例如图1所示的软件应用程序106)下可用的基于任务的功能相关联的可选择控件。用户界面200的第一区域210包括与特定任务(例如字处理对电子表格数据分析)不相关联的功能的普通可选择控件。例如,区域210包括普通的文件命令(例如“打开文件”、“保存文件”和“打印”)的可选控件。根据本发明的一个实施例,第一区域210中包括的可选控件是可以由各种软件应用程序(例如字处理应用程序、电子表格应用程序、幻灯片演示应用程序等)所使用的控件。就是说,第一区域210中包括的可选控件是通常跨多个不同的软件应用程序都能找到并使用的控件。
毗邻用户界面200的第一区域210的是基于任务的选项卡区域。该选项卡区域包括与给定软件应用程序所提供的基于任务的功能相关联的可选择选项卡。出于示例的目的,在图2中示出的基于任务的选项卡与使用字处理应用程序而执行的任务相关联。例如,“撰写(Writing(”选项卡215与执行撰写任务所用的功能相关联。“插入(Insert)”选项卡220与执行插入操作或任务的功能相关联。“页面布局(Page layout)”选项卡230与执行或编辑给定文档的页面布局属性的相关联应用程序所提供的功能关联。
需要提醒的是,许多其它的基于任务的选项卡或可选择的控件也可以添加到用户界面中的选项卡区域以调用与其它任务相关联的功能。例如,任务选项卡可以被添加用于文本效果、文档样式、审阅和注释等。并且,如上所述,用户界面200可以用于各种不同的软件应用程序。例如,如果用户界面200用于幻灯片演示应用程序,选项卡区域中所含有的选项卡可以包括例如“创建幻灯片”、“插入”、“格式”、“绘图效果”等与幻灯片演示应用程序所执行的各种任务关联的选项卡。类似地,电子表格应用程序140的用户界面200的选项卡区域中可使用的选项卡包括例如“数据”或“数据条目”、“列表”、“数据透视表(pivot table)”、“分析”、“公式”、“页面和打印”等与使用电子表格应用程序所执行的任务关联的选项卡。
紧邻普通控件区域210和基于任务的选项卡区域之下的是可选择功能控件区域,用于显示与基于任务的选项卡区域中所选选项卡215、220、230相关联的可选择功能控件。根据本发明的实施例,当选择一个特定的选项卡,例如“撰写”选项卡215,用于执行所选任务(例如撰写任务)的相关联软件应用程序可用的可选择功能就显示在逻辑组中。例如,参见图2,第一逻辑组240显示在标题“剪贴板(Clipboard)”之下。根据本发明的实施例,剪贴板区域240包括被逻辑分组在一起并与在撰写通用任务之下的剪贴板动作相关联的可选择功能控件。
在“格式(Formatting)”区域250中显示的可选择控件包括例如文本对齐、文本类型、字体大小、行间距、黑体字、斜体字、下划线等这样的可选择控件。因此,与格式操作相关联的功能被逻辑地分组在一起,并位于整个“撰写”任务之下。第三逻辑分组260被显示在标题“撰写工具(Writing Tools)”之下。该撰写工具区域260包括例如查找/替换、自动更正等这样的撰写工具。根据本发明的实施例,当从选项卡区域中选择了一个不同的基于任务的选项卡时,在用户界面200中就显示与所选基于任务的选项卡相关联的不同逻辑分组中的一组不同的可选择功能控件。例如,如果“插入”任务选项卡220被选择,在用户界面200中显示的可选择功能控件就从图2中所示的那些控件改变为包括与插入任务相关联的可选择功能控件。
如在此所述,第三方应用程序或解决方案开发者通常提供可以加入到现有应用程序中的软件应用程序或模块以给现有应用程序添加功能。例如,软件开发者可以生成添加给字处理应用程序的软件应用程序或模块,以便增加主应用程序(例如字处理应用程序、电子表格应用程序、幻灯片演示应用程序等)中不能获得的附加格式属性或其它功能,或者是可以修改或增强主应用程序所提供的功能的第三方插件应用程序或模块。如在此所述,本发明的实施例提供到与主应用程序的一个或多个用户界面修改相关联的的编程的访问,以允许第三方应用程序开发者修改主应用程序的用户界面,以为用户提供界面组件,以用于被添加的或被修改的由给定插件或模块所提供的功能。
需要注意,本发明的实施例并不是要局限于与插件应用程序相关联使用。例如,第三方开发者可以使用本发明的各方面来修改应用程序用户界面的组件而不考虑所添加的功能。例如,如在此所述,除了任意的添加的功能外,第三方可以期望改变用户界面组件的行为。
图3是示出在示例用户界面和示例用户界面的XML表示之间的关系的简化框图,该XML表示可以被修改以用于根据本发明的实施例对示例用户界面进行修改。参见图3,主应用程序106(例如字处理应用程序、电子表格应用程序、幻灯片演示应用程序等)的用户界面305被示出具有文件命令按键310、选项卡1按键315和选项卡2按键320。如上参照附图2所述,在图3中示出的示例用户界面305仅用于示例目的,而不是要限制根据本发明的实施例将给定用户界面所提供的各种按键、控件或其它可选择功能。示例用户界面305包括按键或控件325的第一逻辑组和按键或控件330的第二逻辑组。根据示例的用户界面305,选择选项卡2按键320以提供所述按键或控件325、330的第一和第二逻辑组。
根据本发明的实施例,根据标记语言,例如可扩展标记语言(XML),用户界面305被编程和构建。应该理解,其它适用于编程和构建如在此所述的用户界面305的语言也能够被使用。如图3所示,示出XML文件340以提供示例用户界面305的XML编程和结构。例如,一个<UI>根标记被提供具有三个子标记<FILE>、<TAB1>和<TAB2>。<TAB2>标记包括两个子标记:<LG1>标记(按键或控件的第一逻辑组)和<LG2>标记(按键或控件的第二逻辑组)。应该理解,XML文件340不是要说明完好-格式的XML文件,而是仅出于说明目的。
主应用程序的开发者提供XML模式文档或文件(未示出),它提供了应用于编程和构建用户界面305所使用的XML的XML语法和句法规则,例如对XML文件340进行添加、移除或修改新的或现有标记。例如,XML模式可以规定将被添加到XML文件340的XML标记的类型和名字。例如,与用户界面305相关联的XML模式可以要求每个选项卡标记必须包括至少一个逻辑组子标记。而另一个示例中,与用户界面305相关联的XML模式可以指示在XML文件340中的某些XML不能被修改,例如在原始用户界面305的给定选项卡标记下的逻辑组标记不能被第三方修改。
在另一示例中,XML模式可以规定可以或不可以通过对XML文件340来改变应用于用户界面305的某些格式属性。该完整的XML模式文件340和该完整的相关联XML模式文件可以被展示给第三方开发者。或者,仅将与主应用程序用户界面305相关联的XML文件340的子集和相关联的XML模式文件子集展示给第三方开发者以允许他们对主应用程序用户界面305进行有限次数和有限类型的修改。
主应用程序用户界面305的XML文件340和相关联的XML模式文件展示给第三方340以允许第三方根据相关联的XML模式文件所提供的语法和句法规则改变XML文件340以修改用户界面305,如在此所述。例如第三方350可以提供软件应用程序插件,该插件提供了在主应用程序中当前不能获得的附加功能。例如,第三方需要在用户界面中加入第三选项卡按键,当选择该按键时,在所加入的第三方选项卡按键之下提供按键或控件的附加逻辑组,以提供对第三方应用程序插件所提供的功能进行选择的按键和/或控件。例如,第三方应用程序插件可以加入用于提供专用脚注和尾注给字处理应用程序的功能。为了向用户展示插件所提供的功能,第三方开发者需要在用户界面305中提供附加选项卡,例如,“脚注/尾注”选项卡。除了加入“脚注/尾注”选项卡,第三方开发者可能希望加入当选择所述“脚注/尾注”选项卡时在用户界面305中显示的按键或控件的附加逻辑组,以提供选择加入的脚注和尾注功能的各方面的按键和/或控件。需要理解,通过修改修改的XML文件340,现有的按键或控件可以相类似地被从用户接口305中移除。
根据一个实施例,通过XML文件340展示给第三方开发者的标记具有一种增量性质,从而向第三方开发者提供了有限地对主应用程序用户接口305的修改能力。这样,根据该实施例,第三方开发者不接收允许他们在任意位置插入自身用户界面组件的XML文件340。根据该实施例,替代为被展示给第三方的XML文件340和相关联的模式允许第三方开发者指定新用户界面组件的期望位置,例如在现有组件ABC之后插入新组件,随后主应用程序将改进的XML文件和表示主应用程序界面305的整个XML文件整合以呈现经改进的用户界面307。
根据一个实施例,每个第三方开发者所提供的经改进的XML文件355由唯一的XML名字空间标识,以防止一个第三方应用程序插件对另一个第三方插件所提供或修改的用户界面组件进行修改。或者,第三方插件文件355可通过其它手段进行标识,例如通过全球唯一标识符(GUID)或局部文件名字标识。
一旦主应用程序用户界面305的XML表示340由第三方350访问,所述第三方350可以根据相关联XML模式文件改进应用于用户界面305的该XML,以将所需的按键或控件添加到该用户界面305。所得到的经改进的XML文件355示出对XML文件355所做的对用户界面305的修改。例如,参照经改进的XML文件355,第三方开发者350具有添加的<TAB3>标记360和<LG4>标记(按键和/或控件的第四逻辑组)365。XML文件355示出可以根据本发明的实施例对现有用户界面所做的修改的增量性质。就是说由于示例修改是针对新用户界面标记(TAB3)和相关联的按键或控件(LG4)逻辑组的添加,相对于对用户界面305展示的XML进行全局改变而言,XML文件355仅需要作出添加新标记和逻辑组给现有用户界面的增量改变。
如图3所示,一旦所需的对XML文件340所做的改变应用于主应用程序305,经修改的用户界面307就可以被呈现。参照经改进的用户界面307,示出了所添加的第三标记370和添加的第四按键和/或控件375的逻辑组。一旦所添加的标记和按键或控件的逻辑组链接到第三方应用程序插件的相关联的功能,对这些增加的标记、按键或控件的选择引起相关联添加的功能的执行。这样,通过获得对主应用程序用户界面所展示的XML文件和相关联的XML模式的访问,第三方应用程序开发者就能修改主应用程序用户界面305以提供用于选择相关联插件应用程序的功能的所需按键和/或控件。
下面是一个已经被第三方修改或提供的示例XML文件的摘录,用于在工具菜单最后添加“数据分析”按键或控件,该“数据分析”按键将被插入在被标记为“数据工具”的按键或控件的逻辑组之后。如在示例XML中示出,这样的XML句法(如<insertAfter>)由相关联的XML模式文件指示,用于允许第三方应用程序开发者在标记为“分组数据工具”的按键或控件的逻辑组之后插入标记为“数据分析”的按键。本领域的技术人员需要理解,下述示例的XML是仅出于说明的目的,而非限制所要求的发明。
对XML文件340的改变可以由第三方开发者根据不同的方法做出。根据一个实施例,XML文件340和相关联的模式可以由第三方应用程序开发者在应用程序层访问。例如,在用户界面305中提供按键或控件以允许第三方应用程序开发者访问用于编程和构建该用户界面的XML文件340和相关联的模式。应该理解,XML文件340和相关联的模式文件可以通过其它的手段提供,例如通过开发者工具或开发者应用程序,第三方应用程序开发者可以利用它们来根据相关联的XML模式文件准备对XML文件340的修改以便在加载第三方应用程序插件到主应用程序上时应用于所述主应用程序。
根据本发明的另一实施例,与给定主应用程序关联的用户界面305可以在文档层被定制。就是说,基于文档的用户界面305可以包括为给定文档所特定的对用户界面所做的定制。例如,用户可以创建一个定制的文档,例如由成百上千代表一个大公司的销售所使用的销售模板文档。因为文档将被很多人员使用,就希望第三方开发者能够对主应用程序(例如电子表格应用程序)所提供的用户界面进行定制,以使得当运行该特定文档时,被定制的按键或控件在用户界面中呈现。
对于这样的基于文档的解决方案可以使用一个文件格式,其中,与该文档相关联的各种功能和属性作为在容器文件(container file)中持有的相关的组件而存在。例如,该容器文件可以包括表示用户输入数据的一个组件;表示文档结构(例如模板结构)的另一组件;表示应用于该文档的格式属性的另一组件;表示为文档定制的基于文档的用户界面的另一组件等等。第三方应用程序开发者可以进入这样的文档容器并访问应用于该文档的用户界面组件的XML表示文件和相关联的XML模式。一旦开发者访问了用户界面305的该XML文件和相关联XML模式,如上所述,开发者就能通过根据修改的XML模式修改XML来定制用户界面。
根据另一实施例,经修改的XML文件355和相关联XML模式文件可以被附属作为由第三方应用程序开发者所提供的用于提供插件应用程序的功能的组件对象模型(COM)插件的资源。当所述COM插件被应用于主应用程序时,例如,字处理应用程序,经修改的XML文件355被主应用程序花费以呈现所得到的经修改的用户界面307。
回顾附图3,如上所述,第三方软件应用程序插件用于将新用户界面组件加入到主应用程序(例如字处理应用程序、电子表格应用程序、幻灯片演示应用程序等)的现有用户界面中。根据本发明的一实施例,提供了从头开始的模式,其中,展示给第三方应用程序开发者的XML文件340从相关联的主应用程序用户界面中移除除了基本的用户界面组件之外的所有组件。随后,相关联的XML模式为第三方应用程序开发者提供添加回原始用户界面组件(例如第一选项卡315、第二选项卡320和逻辑组控件325和330)的能力。另外,第三方应用程序开发者随后可以根据相关联的模式文件加入新的用户界面组件。
根据该实施例,提供快捷方式以允许从主应用程序用户界面中移去除必要的用户界面组件之外的所有组件和允许插件开发者在用户界面的定制上具有更多的控件,因为插件开发者能够在虚拟的空白板(blank slate)的用户界面上开始,从该空白板用户界面上构建定制的用户界面。根据一个实施例,这种快捷方式是XML的属性,当被设置成“真”时,引起大多数或所有原始用户界面组件的移除。
插件开发者被限制对给定的主应用程序用户界面305的一些区域以及用户界面的一些组件的访问。就是说,主应用程序用户界面的一些区域和一些组件被指定,以使第三方插件开发者不能移除或修改这些区域和组件。例如,参照图3中的主应用程序用户界面305,希望用于跨多个应用程序(例如字处理应用程序、电子表格应用程序、幻灯片演示应用程序等)提供某种功能的文件按键310不能被第三方插件开发者以任何方式进行修改、移除或重定意图。这样,文件按键310可以被限制由第三方插件开发者的访问。类似地,一旦用户界面组件被加入到给定用户界面,这些组件可以被指定为受限的,以防止另外的第三方插件应用程序对这些由先前插件提供的用户界面组件进行修改。
根据本发明的一个实施例,如果第三方插件应用程序从主应用程序卸载,应用于该主应用程序用户界面并用于加入或修改被卸载的插件应用程序的用户界面组件的定制XML文件被解析,并且对与该插件应用程序相关联的主应用程序用户界面的改变被禁用,这样,当相关联的插件应用程序被卸载时,在用户界面中不再呈现对主应用程序用户界面的改变。类似地,当关闭修改原始图形用户界面的基于文档的解决方案时,呈现所述图形用户界面,以便对与所述XML表示的修改相关联的图形用户界面的改变不在所述图形用户界面中呈现。
通过访问表示主应用程序用户界面305的XML文件340,现有用户界面组件可以被重定意图,这样,被重定意图的组件实质上展现出不同的行为。例如,现有的用户界面组件可以是启用的、禁用的或规定为与一个不同的应用程序动作相关联。例如第三方应用程序开发者希望主应用程序用户界面中的给定按键(例如“打印”按键)仅用于根据与该第三方应用程序插件相关联的预先的打印设定来打印文档。再举一例,在一个给定功能和由插件应用程序加入到主应用程序中的一个功能的操作冲突时,该给定功能按键或控件将被禁用而无法使用。
图4是根据本发明的实施例可以被修改的示例上下文用户界面的计算机屏幕显示。本领域技术人员应该理解,图4中所示的上下文用户界面仅是出于示例的目的,而并不是要限制可应用于并包括在与所选的文档对象关联提供的上下文用户界面中的各种不同的布局或内容类型。这样,图4中所示的上下文用户界面并不是要以任何方式来局限或限制所述要求权利的发明。例如,如下所述,图4中所示的上下文用户界面是部署成与所选对象相关的用户界面菜单的形式。然而,本发明的该实施例可以以其它形式实现,例如向原始用户界面305加入当在电子文档中选择一个对象时在用户界面中部署的按键或控件(例如选项卡)。
参照图4,包括嵌入图片对象410的文档在字处理应用程序工作区中被示出。根据本发明的实施例,上下文菜单420可以通过各种方法邻近或靠近一个所选的对象被加载,包括但不局限于,选择一个给定的文档对象,例如示例图片对象410。上下文菜单420包括与编辑所选文档中的所选对象相关的可选择功能控件。就是说,上下文菜单420放置在可以用于编辑所选文档中特定所选对象所使用的一个或多个可选择功能控件中。例如,参照如图4所示的上下文菜单420,该上下文菜单在所选的图片对象410的上下文中被加载,因此,可选择的功能控件,例如粘贴控件、复制控件、位置控件、重置图片控件等等,为用户提供了编辑所选图片对象410的属性的功能。本领域技术人员应该理解,如果上下文菜单420在另一对象类型的上下文环境中被加载,那么在上下文菜单420中放置的可选择功能控件将与该另一对象类型相关。
根据本发明的实施例,通过展示用于上下文用户界面420的XML文件340和相关联的XML模式,第三方开发者可以对上下文用户界面420中含有的用户界面内容进行添加和修改,以创建与将应用到所选文档对象的插件功能相关联的定制的上下文用户界面内容和组件。例如,参照图4,第三方插件应用程序在主应用程序上下文用户界面420中提供的功能之上提供了用于修改或格式化图片对象410的附加功能。如上参照图3的描述,第三方插件开发者可以加入、禁用、重定意图或修改与该第三方应用程序插件相关联的上下文用户界面420中的用户界面组件。例如,如果插件应用程序提供可以用于图片对象410的附加格式化功能,格式化按键和/或控件的附加格式化按键或组能够被加入到该上下文用户界面420,以便当选择图片对象410进行编辑时,在该上下文用户界面420中进行呈现。如上所述,取代修改上下文用户界面420,新的功能控件(例如新选项卡)可以被加入到用户界面305(如图3所示)中,当选择相关联的对象时,这些功能控件将在用户界面305中部署。
或者,除了修改现有上下文用户界面外,新的上下文用户界面可以被加入到主应用程序。例如,如果给定的插件应用程序插入用于所选对象的一个或多个功能,XML文件340和相关联的XML模式就被展示,以创建相关联插件功能的新上下文用户界面,它将与所选对象相关联地被加载。根据该实施例,如上所述,将提供一种从头开始的XML文件340以允许新上下文用户界面420的创建和部署。
图5是展示可选择控件的示例图库或集合430的计算机屏幕显示,所述可选择控件的示例图库或集合可以根据本发明的实施例进行修改。应该理解,图5中所示的用户界面控件的图库430是仅出于示例的目的,并不是要如在此所述限制可应用于并包括在用户界面控件的图库中的各种不同的用户界面布局或用户界面内容类型。参照图5,邻近上下文菜单420示出一个弹出图像库。应该理解,该控件图库可以被部署在其它配置中。例如,根据本发明的实施例的控件图库可以在用户界面200中被部署成直线,或该图库可以被部署作为用户界面200中的所选按键或控件之下的下拉用户界面。根据实施例,控件图库含有的每个控件435、440、445,表示一个或多个功能,例如,如果选择一个图库中的给定控件将应用于所选对象的格式化功能。
给定的插件应用程序可以向主应用程序加入功能,以便为所选对象提供附加功能(例如格式化属性)并且对于该所选对象一个或多个附加控件将被期望在主应用程序的控件图库之中。例如,参照如图5所示的示例控件图库,第三方插件应用程序可以提供格式设定,该设定能够自动放置示例图片对象到示例文档的左手上方角落中并同时应用不同的格式给含有图片对象的文档中所含有的文本。如果需要,插件应用程序开发者可以修改主应用程序控件图库用户界面430以提供示出插件的应用程序格式属性的附加控件给所选文档和图片对象。如上参照图3和4的描述,插件应用程序的作者可以规定新控件应该在控件图库中放置的位置。例如,插件开发者可以规定新控件应该插入在“左上部”控件440之后。
除了修改现有的用户界面控件的图库外,也可以向主应用程序添加新的用户界面控件的图库430。例如,如果给定的插件应用程序加入用于所选对象的一个或多个功能,则展示XML文件和相关联的XML模式以用于创建相关联的插件功能的新用户界面控件的图库,以与所选对象相关联地被加载。根据该实施例,可以如上所述提供从头开始的XML文件340以允许新的上下文用户界面420的创建和部署。
在如上所述参照图3、4、5将用户界面组件加入到主应用程序用户界面之后,根据本发明的一个实施例,当用于该经修改的用户界面的显示空间被减小或被增大时,主应用程序可以自动地缩放所加入的用户界面的组件的尺寸。例如,如果按键或控件的逻辑组被加入到主应用程序用户界面,并且按键或控件的逻辑组包括三个与插件功能相关联的大按键,如果含有该用户界面的窗口尺寸被减少,主应用程序就自动缩放所显示的按键。例如,如果含有该用户界面的窗口尺寸被减少使得该三个大的示例按键在不挤近其它用户界面组件的情况下就不能被显示时,这三个大按键将被替换成该三个大按键的三个较小的版本。如果窗口的尺寸被进一步减少,该三个按键的较小版本也会被一起移除,而与该三个按键相关联的三个功能的小文本标识可以用于取代该三个大按键。
当影响定制用户界面组件的条件改变时,定制的用户界面组件可以被主应用程序自动刷新。例如,如果定制用户界面组件被添加到提供与给定类型信息(第一数据)相关联的标志或图片的主应用程序用户界面305,该标志或图片将被禁用并且当相关联信息或数据改变时被自动刷新。例如,一个插件天气应用程序可以给主应用程序用户界面提供一个按键或控件,当选择它时,就提供指定区域的天气预报。该用户界面中的该按键或控件可以用与当前天气相关联的图片进行装饰,例如,晴天图片用于晴天天气,多云图片用于多云天气等等。根据本发明的实施例,如果当前天气条件变化,为加入的按键或控件提供的图片或标志就不再可用,当前的图片或标志会被自动禁用,并且用与可应用于当前信息(例如当前天气条件)的不同的图片或标志来刷新该按键或控件。
根据实施例,主应用程序保持对与造成所添加的或经修改的用户界面组件原因的软件应用程序插件相关的每个添加的或经修改的用户界面组件的身份进行跟踪。根据一个实施例,当在一个添加的用户界面组件上盘旋或聚焦时,例如将鼠标指针在一个添加的用户界面组件上盘旋,就会呈现一个工具提示或其它对话以识别造成该添加的或修改的用户界面组件原因的软件应用程序插件,并用描述或提供与所添加或修改的用户界面组件相关联的软件应用程序插件有关的其它信息作为帮助内容来指导用户。
如在此所述,软件应用程序用户界面编程被展示以允许对现有应用程序用户界面的修改,包括对与插件应用程序相关联的新的或现有的用户界面组件进行添加、移除、禁用、启用和重定意图。本领域的技术人员将会明显看出,在不背离本发明的精神和范围的前提下可以在本发明中进行各种修改或变动。考虑此处所公开的本发明的说明和实践,本领域的技术人员将会明显看出本发明的其他实施例。

Claims (13)

1.一种用于修改图形用户界面的方法,包括:
接收为计算机上的主软件应用程序提供一个或多个附加功能的插件应用程序,其中,初始XML文件表示主软件应用程序的图形用户界面中的初始带状图形用户界面,所述初始带状图形用户界面包括第一选项卡,所述第一选项卡包括包含第一组可选择控件的图库,所述图库中的每个可选择控件包括表示如果选择了该可选择控件则将被应用的功能的图像,以及一XML模式文件,用于提供对所述初始XML文件的修改的XML语法和句法规则;
接收经修改的XML文件,所述经修改的XML文件包括根据所述XML模式文件对所述初始XML文件的修改,并且表示了一个经修改的带状图形用户界面,其中,除了在所述初始带状图形用户界面的图库中的所述控件之外,所述经修改的带状图形用户界面中的图库还包括一个或多个新的可选择控件,所述新的可选择控件提供了对由所述插件应用程序所提供的一个或多个附加的功能的访问,每个所述新的可选择控件包括表示如果选择了该新的可选择控件则将被应用的功能的图像;
在接收到经修改的XML文件之后,从用户接收对所述图形用户界面中所显示的文档中的一个对象的选择;以及
响应于接收所述对象的选择,在所述带状图形用户界面的图库中展示上下文控件,所述上下文控件是所述一个或多个新的可选择控件之一。
2.如权利要求1所述的方法,其特征在于,进一步包括:当接收到对所述新的可选择控件中的一个可选择控件上的聚焦时,在所述经修改的图形用户界面中显示关于对所述初始带状图形用户界面的修改的标识信息。
3.如权利要求1所述的方法,其特征在于,
其中,所述初始带状图形用户界面包括上下文用户界面,所述上下文用户界面用于显示第二组一个或多个可应用于所选对象的可选择控件;以及
其中,所述经修改的带状图形用户界面包括在所述上下文用户界面中的一个或多个附加的可选择控件。
4.如权利要求1所述的方法,其特征在于,
其中,在接收所述经修改的XML文件之前,所述初始带状图形用户界面中的图库提供了第二组一个或多个可选择控件,所述第二组一个或多个可选择控件为所选对象提供一个或多个功能。
5.一种用于修改图形用户界面的方法,包括:
由计算设备显示用于主软件应用程序的用户界面,所述用户界面包括初始带状图形用户界面;
在所述计算设备处接收插件应用程序,所述插件应用程序为所述主软件应用程序提供了一个或多个附加功能;
其中,一个初始XML文件表示了所述初始带状图形用户界面,所述初始带状图形用户界面包括提供第一组一个或多个可选择控件的图库,所述图库中的每个可选择控件包括表示如果选择了该可选择控件则将被应用的功能的图像,以及一XML模式文件,用于提供对所述初始XML文件的修改的XML语法和句法规则;
在所述计算设备处接收经修改的XML文件,所述经修改的XML文件包括根据所述XML模式文件对所述初始XML文件的修改,并且表示了一个经修改的带状图形用户界面,其中,所述经修改的XML文件包括第一附加XML元素,所述第一附加XML元素对应于一上下文控件;
在接收到经修改的XML文件之后,从用户接收对所述用户界面中所显示的文档中的一个对象的选择;以及
响应于接收所述对象的选择,由所述计算设备在所述图库中展示上下文控件,所述上下文控件包括表示如果选择了所述上下文控件将要应用到所选对象的给定功能的图像,所述给定功能是由所述插件应用程序所提供的附加功能之一。
6.如权利要求5所述的方法,其特征在于,进一步包括:在所述计算设备处接收对所述图库的选择。
7.如权利要求5所述的方法,其特征在于,进一步包括:
响应于关闭修改了所述初始带状图形用户界面的基于文档的解决方案时,呈现所述初始带状图形用户界面以取代所述经修改的带状图形用户界面。
8.如权利要求5所述的方法,其特征在于,进一步包括:
禁用所述经修改的带状图形用户界面中的第二组一个或多个可选择控件。
9.一种用于修改图形用户界面的方法,包括:
由计算设备显示用于主软件应用程序的用户界面,所述用户界面包括带状图形用户界面,所述带状图形用户界面包括第一选项卡,所述第一选项卡包括第一控件逻辑分组,所述第一控件逻辑分组包括用于选择所述主软件应用程序的一个或多个功能的第一组一个或多个可选择控件;
提供所述带状图形用户界面的可扩展标记语言(XML)表示,所述XML表示包括对应于所述带状图形用户界面的第一选项卡的第一XML元素以及对应于所述第一控件逻辑分组的第二XML元素;
提供一XML模式文件,用于提供对所述XML表示的修改的XML语法和句法规则;
接收插件应用程序,所述插件应用程序向所述主软件应用程序提供一个或多个附加功能;
接收对所述XML表示的修改,所述XML表示的修改包括根据所述XML模式文件对所述XML表示的修改,其中将第一插件XML元素插入到所述XML表示中,所述第一插件XML元素对应于一插件控件;
在接收到对所述XML表示的修改之后,从用户接收对文档中的一个对象的选择,所述文档显示在所述用户界面中;以及
响应于接收所述对象的选择,由所述计算设备在所述带状图形用户界面中展示所述插件控件;
响应于用户对所述插件控件的选择,将给定功能应用到所选对象,所述给定功能是由所述插件应用程序提供的附加功能之一;
当从所述主软件应用程序卸载所述插件应用程序时,将所述带状图形用户界面呈现为在接收对所述XML表示的修改之前所显现的该带状图形用户界面。
10.如权利要求9所述的方法,其特征在于:
其中,在接收所述修改之后,所述带状图形用户界面包括第二选项卡,所述第二选项卡包括与所述插件应用程序所提供的所述一个或多个附加功能相关联的一个或多个附加可选择控件。
11.如权利要求9所述的方法,其特征在于,进一步包括:在接收对所述XML表示的修改之后并当接收到对所述带状图形用户界面中含有的插件控件的聚焦时,显示所述插件应用程序的标识。
12.如权利要求9所述的方法,其特征在于:
其中,所述带状图形用户界面包括提供第二组一个或多个可选择控件的图库,所述第二组一个或多个可选择控件为所选择对象提供了一个或多个功能;
其中,在接收到所述修改之后,除所述第二组可选择控件之外,所述图库还包括一个或多个附加可选择控件。
13.如权利要求9所述的方法,其特征在于,进一步包括:当关闭修改了所述带状图形用户界面的基于文档的解决方案时,将所述带状图形用户界面呈现为在打开所述基于文档的解决方案之前所显现的该带状图形用户界面。
HK13103891.9A 2005-08-30 2013-03-27 用於用戶界面的基於標記的可擴展性 HK1177011B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/217,071 US8239882B2 (en) 2005-08-30 2005-08-30 Markup based extensibility for user interfaces
US11/217,071 2005-08-30

Publications (2)

Publication Number Publication Date
HK1177011A1 HK1177011A1 (zh) 2013-08-09
HK1177011B true HK1177011B (zh) 2016-03-24

Family

ID=

Similar Documents

Publication Publication Date Title
CN102722364B (zh) 用于用户界面的基于标记的可扩展性
US7673235B2 (en) Method and apparatus for utilizing an object model to manage document parts for use in an electronic document
US8689137B2 (en) Command user interface for displaying selectable functionality controls in a database application
US20080263101A1 (en) Data Processing Device and Data Processing Method
Edhlund NVivo 8 essentials: The ultimate help when you work with qualitative analysis
KR101312732B1 (ko) 직접 스타일쉬트 편집을 제공하기 위한 방법 및 시스템
US7805452B2 (en) Data processing device and data processing method
US20090235156A1 (en) Document processing device and document processing method
US20080159633A1 (en) Method and Apparatus for Managing Data-Analysis Parts in a Word Processor Application
HK1177011B (zh) 用於用戶界面的基於標記的可擴展性
Lambert et al. Microsoft Excel Step by Step (Office 2021 and Microsoft 365)
AU2020200471A1 (en) Web Application Builder
US20080005154A1 (en) Document Processing Device and Document Processing Method
US20080147957A1 (en) Archiver Device, Data Acquisition Device, and Data Acquisition Method
US20090083620A1 (en) Document processing device and document processing method
CN119271178A (zh) 一种基于vue的ip输入组件及系统
McGrath et al. Visual Studio 2005 Tools for Office for Mere Mortals: A VBA Developer's Guide to Managed Code in Microsoft Office
Hart-Davis Excel 2016