專利名稱::用于用戶界面的基于標(biāo)記的可擴(kuò)展性的制作方法
技術(shù)領(lǐng)域:
:本申請(qǐng)涉及用戶界面,特別是用于用戶界面的基于標(biāo)記的可擴(kuò)展性。
背景技術(shù):
:隨著計(jì)算機(jī)時(shí)代的到來,計(jì)算機(jī)和軟件的用戶已經(jīng)逐漸習(xí)慣于用戶友好的軟件應(yīng)用程序來幫助他們撰寫、計(jì)算、組織、準(zhǔn)備演示、發(fā)送和接收電子郵件、創(chuàng)作音樂等。例如,現(xiàn)代的電子字處理應(yīng)用程序允許用戶準(zhǔn)備各種有用的文檔?,F(xiàn)代的電子表格應(yīng)用程序允許用戶輸入、操作和組織數(shù)據(jù)?,F(xiàn)代的電子幻燈片演示應(yīng)用程序允許用戶創(chuàng)建各種含有文本、圖片、數(shù)據(jù)或其它有用對(duì)象的幻燈片演示?,F(xiàn)代的數(shù)據(jù)庫(kù)應(yīng)用程序允許用戶存儲(chǔ)、組織和交換大量的數(shù)據(jù)。大多數(shù)的軟件應(yīng)用程序提供ー個(gè)或多個(gè)圖形用戶界面,通過這些界面,用戶可以輸入和編輯數(shù)據(jù),并且從中訪問和使用相關(guān)聯(lián)的軟件應(yīng)用程序的各種功能。ー種典型的用戶界面包括可以輸入、編輯和查閱數(shù)據(jù)的工作區(qū)。另外,用戶界面典型地包括用于選擇由所述相關(guān)聯(lián)的軟件應(yīng)用程序提供的功能的一個(gè)或多個(gè)按鍵和/或控件。例如,可以提供用于打印或保存ー個(gè)文檔的按鍵或控件,提供用于應(yīng)用格式屬性到文檔各方面的按鍵或控件坐寸ο通常,第三方軟件開發(fā)者創(chuàng)建軟件插件,該軟件插件被添加到現(xiàn)有的應(yīng)用程序以提供不能從現(xiàn)有應(yīng)用程序獲得的功能。例如,插件軟件應(yīng)用程序可以為字處理應(yīng)用程序提供向文檔添加專用腳注和尾注的特性。除了提供附加功能之外,該插件軟件應(yīng)用程序通常還提供ー個(gè)或多個(gè)新的用戶界面組件給現(xiàn)有的應(yīng)用程序用戶界面,例如新工具欄、按鍵或其它控件,用于訪問附加功能。根據(jù)先前的方法,第三方開發(fā)者被給予訪問與應(yīng)用程序現(xiàn)有用戶界面相關(guān)聯(lián)的對(duì)象模型,以根據(jù)第三方插件軟件的需要來允許對(duì)現(xiàn)有用戶界面的定制。不幸地是,這些先前的方法由于給定用戶界面的對(duì)象模型通常不是圍繞跨各種不同的應(yīng)用程序的公共用戶來進(jìn)行設(shè)計(jì)的而具有缺陷,所述各種不同的應(yīng)用程序包括例如字處理應(yīng)用程序、電子表格應(yīng)用程序、幻燈片演示應(yīng)用程序等,并且這些應(yīng)用程序經(jīng)常展現(xiàn)出與關(guān)聯(lián)于定制用戶界面組件的不同且可能是不期望的行為。出于這些和其它考慮,實(shí)現(xiàn)了本發(fā)明。
發(fā)明內(nèi)容提供本發(fā)明概要來以簡(jiǎn)要形式介紹ー下下面將詳細(xì)描述的ー些概念。本發(fā)明概要并不是要標(biāo)識(shí)出所請(qǐng)求的主題的關(guān)鍵特征或必要特征,也不是要幫助確定所請(qǐng)求的主題的范圍。本發(fā)明的實(shí)施例通過提供用于將軟件應(yīng)用程序用戶接ロ編程展示給第三方應(yīng)用程序插件開發(fā)者的方法、系統(tǒng)和計(jì)算機(jī)產(chǎn)品,以允許現(xiàn)有的應(yīng)用程序用戶界面的修改以包括與插件應(yīng)用程序關(guān)聯(lián)的新的或修改的用戶界面。根據(jù)本發(fā)明的各方面,向第三方開發(fā)者展示了可擴(kuò)展標(biāo)記語言(XML)模式,所述模式掌控可被用于修改給定用戶界面的XML編程,以允許開發(fā)者根據(jù)關(guān)聯(lián)的XML模式規(guī)定對(duì)用戶界面編程的改變。例如,如果第三方開發(fā)者希望在現(xiàn)有用戶界面添加可以鏈接到插件應(yīng)用程序的功能的新按鍵或控件,所述第三方開發(fā)者可以根據(jù)關(guān)聯(lián)的XML模式指定的語法和句法規(guī)則來修改用戶界面的現(xiàn)有編程。根據(jù)本發(fā)明的一方面,用戶界面修改的XML或其它適合的表示并不需要遵循與原始用戶界面相同的編程語言。而且,原始內(nèi)建用戶界面編程可能很復(fù)雜,而根據(jù)本發(fā)明展示的XML模式可能僅是所述原始用戶界面的整體編程的ー個(gè)子集。當(dāng)所修改的編程由主軟件應(yīng)用程序執(zhí)行時(shí),將所述用戶界面隨第三方開發(fā)者做出的改變一起呈現(xiàn)。例如,如果用戶界面的編程被修改為添加ー個(gè)新按鍵,只要該修改是根據(jù)關(guān)聯(lián)的XML模式做出的,那么響應(yīng)于對(duì)所述用戶界面的編程的修改在所述用戶界面中將呈現(xiàn)所述新按鈕。根據(jù)本發(fā)明的各方面,可以將新界面組件加入到現(xiàn)有用戶界面,并可以被鏈接到關(guān)聯(lián)的插件功能。新用戶界面組件的尺寸可以作為一個(gè)窗ロ被自動(dòng)縮放以適合可用的顯示空間,在該窗口中顯示的用戶界面被減小或放大。另外,根據(jù)本發(fā)明的各方面,修改的用戶界面的終端用戶可以根據(jù)需要移除所添加的用戶界面組件。如果ー個(gè)特定的軟件插件被刪除,與該被刪除的插件關(guān)聯(lián)的被添加或修改的用戶界面組件將不會(huì)在后來呈現(xiàn)的用戶界面中被顯示。根據(jù)本發(fā)明的其它方面,現(xiàn)有的用戶界面組件,例如按鍵和控件,都可以被第三方禁用或移除。另外,現(xiàn)有的用戶界面組件可以被重定意圖以使得在被選擇時(shí)該重定意圖的組件展示出不同的行為。根據(jù)本發(fā)明的其它方面,通過訪問被展示用于修改現(xiàn)有用戶界面的模式,當(dāng)選擇了一個(gè)與被添加的上下文用戶界面相關(guān)聯(lián)的文檔對(duì)象時(shí),第三方上下文用戶界面和上下文用戶按鍵或控件可以被添加到在現(xiàn)有用戶界面中展示的現(xiàn)有用戶界面中。另外,控件(當(dāng)被選擇時(shí)會(huì)引起一個(gè)或多個(gè)內(nèi)插功能應(yīng)用到被選的對(duì)象)可以被添加到在現(xiàn)有用戶界面中被部署的一個(gè)控件的圖庫(kù)或集合,以將應(yīng)用程序的一個(gè)或多個(gè)功能應(yīng)用到被選的對(duì)象。根據(jù)本發(fā)明的其它方面,可以使用XML模式來構(gòu)建ー個(gè)從頭開始的用戶界面,所述用戶界面根據(jù)相關(guān)聯(lián)的軟件應(yīng)用程序的第三方插件需求被定制。當(dāng)呈現(xiàn)這樣ー個(gè)從頭開始的用戶界面的解決方案,所得到的用戶界面相對(duì)于通常展示給相關(guān)聯(lián)軟件應(yīng)用程序的用戶的應(yīng)用程序用戶界面具有少許的類似。就是說當(dāng)運(yùn)行相關(guān)聯(lián)的文檔時(shí),用于提供用戶功能給所運(yùn)行的文檔的定制用戶界面是根據(jù)提供給該文檔的定制用戶界面來呈現(xiàn)的。這些和其他表現(xiàn)本發(fā)明特色的特征和優(yōu)點(diǎn),從閱讀以下詳細(xì)描述和瀏覽相關(guān)聯(lián)的附圖將變的明顯。應(yīng)該理解以上一般性描述和以下詳細(xì)描述兩者都僅在于解釋而不是限制如被申明要求權(quán)利的本發(fā)明。圖I說明了本發(fā)明的實(shí)施例的示范計(jì)算操作環(huán)境。圖2是示出根據(jù)本發(fā)明的實(shí)施例可以被修改的示例用戶界面的計(jì)算機(jī)屏幕顯示。圖3是示出在示例用戶界面和示例用戶界面的XML表示之間的關(guān)系的簡(jiǎn)化框圖,該XML表示可以被改進(jìn)以用于根據(jù)本發(fā)明的實(shí)施例對(duì)示例用戶界面進(jìn)行修改。圖4是根據(jù)本發(fā)明的實(shí)施例可以被修改的示例上下文用戶界面的計(jì)算機(jī)屏幕顯/Jnο圖5是可選擇控件用戶界面的示例圖庫(kù)和集合的計(jì)算機(jī)屏幕顯示,所述用戶界面可以根據(jù)本發(fā)明的實(shí)施例進(jìn)行修改。具體實(shí)施方式如上面簡(jiǎn)要描述所述,本發(fā)明的實(shí)施例定位于用于展示應(yīng)用程序用戶界面的編程的方法、系統(tǒng)和計(jì)算機(jī)產(chǎn)品,來允許相關(guān)聯(lián)的用戶界面的修改以包括對(duì)新的或現(xiàn)有的用戶界面進(jìn)行添加、移除、禁用、啟用和重定意圖。在下列的詳細(xì)描述中對(duì)構(gòu)成其一部分的附圖進(jìn)行引用,其中通過示例特定實(shí)施例和例子來示出附圖。可以在不偏離本發(fā)明的精神或范圍的前提下組合這些實(shí)施例、利用其他實(shí)施例、并進(jìn)行結(jié)構(gòu)改變。因此,不應(yīng)以限制性的意義來看待下列詳細(xì)描述,并且本發(fā)明的范圍由所附權(quán)利要求書及其等效模式定義。現(xiàn)在參照附圖,其中相同的數(shù)字指示相同的元素,將描述本發(fā)明的諸方面和示例性計(jì)算操作環(huán)境。圖I和下列討論_在提供其中可以實(shí)現(xiàn)本發(fā)明的合適計(jì)算環(huán)境的簡(jiǎn)要而一般的描述。雖然將在結(jié)合在個(gè)人計(jì)算機(jī)上運(yùn)行的操作系統(tǒng)的應(yīng)用程序一起執(zhí)行的程序模塊的一般上下文中描述本發(fā)明,但是本領(lǐng)域的技術(shù)人員應(yīng)認(rèn)識(shí)到,本發(fā)明也可以結(jié)合其他程序模塊實(shí)現(xiàn)。通常,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、組件、數(shù)據(jù)結(jié)構(gòu)和其他類型結(jié)構(gòu)。而且,本領(lǐng)域的技術(shù)人員應(yīng)明白,本發(fā)明可以用其他計(jì)算機(jī)系統(tǒng)配置而被實(shí)踐,包括手持式設(shè)備、多處理器系統(tǒng)、基于微處理器的或可編程的消費(fèi)性電子產(chǎn)品、小型計(jì)算機(jī)、大型計(jì)算機(jī)等等。本發(fā)明也可以在分布式計(jì)算環(huán)境中實(shí)踐,在其中任務(wù)由通過通信網(wǎng)絡(luò)連接的遠(yuǎn)程處理設(shè)備執(zhí)行。在分布式計(jì)算環(huán)境中,程序模塊可以位于本地和遠(yuǎn)程的存儲(chǔ)器存儲(chǔ)設(shè)備中。本發(fā)明的諸實(shí)施例可以被實(shí)現(xiàn)為計(jì)算機(jī)進(jìn)程(方法)、計(jì)算系統(tǒng)或制品,如計(jì)算機(jī)程序產(chǎn)品或計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)程序產(chǎn)品可以是計(jì)算機(jī)存儲(chǔ)介質(zhì),它可由計(jì)算機(jī)系統(tǒng)讀取并編碼用以執(zhí)行計(jì)算機(jī)進(jìn)程的指令的計(jì)算機(jī)程序。計(jì)算機(jī)程序產(chǎn)品也可以是在載波上所傳播的信號(hào),它可由計(jì)算系統(tǒng)讀取并編碼用以執(zhí)行計(jì)算機(jī)進(jìn)程的指令的計(jì)算機(jī)程序。參見圖1,實(shí)現(xiàn)本發(fā)明的一個(gè)示例性系統(tǒng)包括計(jì)算設(shè)備,如計(jì)算設(shè)備100。在基本配置中,計(jì)算設(shè)備100通常包括至少ー個(gè)處理單元102和系統(tǒng)存儲(chǔ)器104。依賴于確切的配置和計(jì)算設(shè)備的類型,系統(tǒng)存儲(chǔ)器104可以是易失性(諸如,RAM)、非易失性的(諸如,ROM、快閃存儲(chǔ)器等等)或兩者的某種組合。系統(tǒng)存儲(chǔ)器104通常包括適合于控制連網(wǎng)的個(gè)人計(jì)算機(jī)的操作的操作系統(tǒng)105,如華盛頓州雷德蒙市的微軟公司的WINDOWS操作系統(tǒng)。系統(tǒng)存儲(chǔ)器104也可以包括一個(gè)或多個(gè)軟件應(yīng)用程序106,而且可以包括程序數(shù)據(jù)107。圖I中在虛線108中的那些組件示例這一基本配置。根據(jù)本發(fā)明的諸實(shí)施例,應(yīng)用程序106可以包括多種類型的程序,如電子郵件程序、日歷程序、因特網(wǎng)瀏覽程序等。此類程序的一個(gè)例子是微軟公司出品的OUTLOOK。應(yīng)用程序106也可以包括用于提供多種其他類型功能的多功能性軟件。這ー多功能性應(yīng)用程序可以包括若干程序模塊,諸如字處理程序、電子表格程序、幻燈片演示程序、數(shù)據(jù)庫(kù)程序等等。這ー多功能性應(yīng)用程序的一個(gè)例子是微軟公司出品的OFFICE。插件軟件應(yīng)用程序120包括可以添加到應(yīng)用程序106中的任何軟件應(yīng)用程序,如在此所述,用于為應(yīng)用程序106增強(qiáng)或提供附加的功能。另外,如在此所述,插件軟件應(yīng)用程序可以包括基于文檔的軟件解決方案,例如,包括附加工具欄的電子表格文檔,或包括宏或其它添加帶按鍵或控件エ具欄的其它代碼的字處理文檔。計(jì)算設(shè)備100可以具有附加的特征或功能性。例如,計(jì)算設(shè)備100也可以包括諸如磁盤、光盤或磁帶的附加數(shù)據(jù)存儲(chǔ)設(shè)備(可移動(dòng)的和/或不可移動(dòng)的)。圖I中由可移動(dòng)存儲(chǔ)109和不可移動(dòng)存儲(chǔ)110示例了此類附加存儲(chǔ)。計(jì)算機(jī)存儲(chǔ)介質(zhì)可以包括易失性和非易失性、可移動(dòng)的和不可移動(dòng)的介質(zhì),這些介質(zhì)用存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)的信息的任何方法或技術(shù)實(shí)現(xiàn)。系統(tǒng)存儲(chǔ)器104、可移動(dòng)存儲(chǔ)109和不可移動(dòng)存儲(chǔ)110都是計(jì)算機(jī)存儲(chǔ)介質(zhì)的例子。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括但不限干、RAM、ROM、EEPR0M、快閃存儲(chǔ)器或其他存儲(chǔ)器技術(shù)、⑶-ROM、數(shù)字多用途盤(DVD)或其他光學(xué)存儲(chǔ)、磁帶盒、磁帶、磁盤存儲(chǔ)或其他磁存儲(chǔ)設(shè)備,或可以被用來存儲(chǔ)所需要的信息且可以由計(jì)算設(shè)備100訪問的任何其他介質(zhì)。任何這樣的計(jì)算機(jī)存儲(chǔ)介質(zhì)都可以是設(shè)備100的一部分。計(jì)算設(shè)備100還可以具有諸如鍵盤、鼠標(biāo)器、筆、聲音輸入設(shè)備、觸摸式輸入設(shè)備等等的輸入設(shè)備112。也可以包括諸如顯示器、揚(yáng)聲器、打印機(jī)等等的輸出設(shè)備114。這些設(shè)備在本領(lǐng)域中是公知的,因此在這里不必詳細(xì)地論述。計(jì)算機(jī)設(shè)備100還可以包含允許該設(shè)備和其他計(jì)算設(shè)備118諸如經(jīng)由分布式計(jì)算環(huán)境中例如內(nèi)聯(lián)網(wǎng)或因特網(wǎng)的網(wǎng)絡(luò)來進(jìn)行通信的通信連接116。通信連接116是通信介質(zhì)的ー個(gè)例子。通信介質(zhì)通常以已調(diào)制的數(shù)據(jù)信號(hào)如載波或者其他傳輸機(jī)制的形式包括計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù),并包括任何信息傳遞介質(zhì)。術(shù)語“已調(diào)制的數(shù)據(jù)信號(hào)”是指已在該信號(hào)中編碼信息的方式來設(shè)置或改變其ー個(gè)或多個(gè)特性的信號(hào)。作為例子而非限制,通信介質(zhì)包括諸如有線網(wǎng)絡(luò)或線路直接連接的有線介質(zhì)以及諸如聲音、射頻、紅外和其他無線介質(zhì)的無線介質(zhì)。這里所用的術(shù)語“計(jì)算機(jī)可讀介質(zhì)”既包括存儲(chǔ)介質(zhì)也包括通信介質(zhì)。圖2是示出根據(jù)本發(fā)明的實(shí)施例可以被修改的示例用戶界面的計(jì)算機(jī)屏幕顯示。本領(lǐng)域的技術(shù)人員應(yīng)該理解圖2中所說明的示例用戶界面僅是為了進(jìn)行示例和說明的目的。就是說本發(fā)明的實(shí)施例可以應(yīng)用于具有不同的用戶界面組件和不同的用戶界面布局的各種不同的用戶界面排列。這樣,根據(jù)圖2中說明的示例用戶界面的本發(fā)明的描述不應(yīng)作為對(duì)所要求的發(fā)明的局限或限定。圖2中的用戶界面包括帶狀(ribbon-shaped)用戶界面,用于顯示與給定軟件應(yīng)用程序(例如圖I所示的軟件應(yīng)用程序106)下可用的基于任務(wù)的功能相關(guān)聯(lián)的可選擇控件。用戶界面200的第一區(qū)域210包括與特定任務(wù)(例如字處理對(duì)電子表格數(shù)據(jù)分析)不相關(guān)聯(lián)的功能的普通可選擇控件。例如,區(qū)域210包括普通的文件命令(例如“打開文件”、“保存文件”和“打印”)的可選控件。根據(jù)本發(fā)明的一個(gè)實(shí)施例,第一區(qū)域210中包括的可選控件是可以由各種軟件應(yīng)用程序(例如字處理應(yīng)用程序、電子表格應(yīng)用程序、幻燈片演示應(yīng)用程序等)所使用的控件。就是說,第一區(qū)域210中包括的可選控件是通常跨多個(gè)不同的軟件應(yīng)用程序都能找到并使用的控件。毗鄰用戶界面200的第一區(qū)域210的是基于任務(wù)的選項(xiàng)卡區(qū)域。該選項(xiàng)卡區(qū)域包括與給定軟件應(yīng)用程序所提供的基于任務(wù)的功能相關(guān)聯(lián)的可選擇選項(xiàng)卡。出于示例的目的,在圖2中示出的基于任務(wù)的選項(xiàng)卡與使用字處理應(yīng)用程序而執(zhí)行的任務(wù)相關(guān)聯(lián)。例如,“撰寫(Writing(”選項(xiàng)卡215與執(zhí)行撰寫任務(wù)所用的功能相關(guān)聯(lián)?!安迦?Insert)”選項(xiàng)卡220與執(zhí)行插入操作或任務(wù)的功能相關(guān)聯(lián)?!绊?yè)面布局(Pagelayout)”選項(xiàng)卡230與執(zhí)行或編輯給定文檔的頁(yè)面布局屬性的相關(guān)聯(lián)應(yīng)用程序所提供的功能關(guān)聯(lián)。需要提醒的是,許多其它的基于任務(wù)的選項(xiàng)卡或可選擇的控件也可以添加到用戶界面中的選項(xiàng)卡區(qū)域以調(diào)用與其它任務(wù)相關(guān)聯(lián)的功能。例如,任務(wù)選項(xiàng)卡可以被添加用于文本效果、文檔樣式、審閱和注釋等。并且,如上所述,用戶界面200可以用于各種不同的軟件應(yīng)用程序。例如,如果用戶界面200用于幻燈片演示應(yīng)用程序,選項(xiàng)卡區(qū)域中所含有的選項(xiàng)卡可以包括例如“創(chuàng)建幻燈片”、“插入”、“格式”、“繪圖效果”等與幻燈片演示應(yīng)用程序所執(zhí)行的各種任務(wù)關(guān)聯(lián)的選項(xiàng)卡。類似地,電子表格應(yīng)用程序140的用戶界面200的選項(xiàng)卡區(qū)域中可使用的選項(xiàng)卡包括例如“數(shù)據(jù)”或“數(shù)據(jù)條目”、“列表”、“數(shù)據(jù)透視表(Pivottable)”、“分析”、“公式”、“頁(yè)面和打印”等與使用電子表格應(yīng)用程序所執(zhí)行的任務(wù)關(guān)聯(lián)的選項(xiàng)卡。緊鄰普通控件區(qū)域210和基于任務(wù)的選項(xiàng)卡區(qū)域之下的是可選擇功能控件區(qū)域,用于顯示與基于任務(wù)的選項(xiàng)卡區(qū)域中所選選項(xiàng)卡215、220、230相關(guān)聯(lián)的可選擇功能控件。根據(jù)本發(fā)明的實(shí)施例,當(dāng)選擇ー個(gè)特定的選項(xiàng)卡,例如“撰寫”選項(xiàng)卡215,用于執(zhí)行所選任務(wù)(例如撰寫任務(wù))的相關(guān)聯(lián)軟件應(yīng)用程序可用的可選擇功能就顯示在邏輯組中。例如,參見圖2,第一邏輯組240顯示在標(biāo)題“剪貼板(Clipboard)”之下。根據(jù)本發(fā)明的實(shí)施例,剪貼板區(qū)域240包括被邏輯分組在一起并與在撰寫通用任務(wù)之下的剪貼板動(dòng)作相關(guān)聯(lián)的可選擇功能控件。在“格式(Formatting)”區(qū)域250中顯示的可選擇控件包括例如文本對(duì)齊、文本類型、字體大小、行間距、黑體字、斜體字、下劃線等這樣的可選擇控件。因此,與格式操作相關(guān)聯(lián)的功能被邏輯地分組在一起,并位于整個(gè)“撰寫”任務(wù)之下。第三邏輯分組260被顯示在標(biāo)題“撰寫工具(WritingTools)”之下。該撰寫工具區(qū)域260包括例如查找/替換、自動(dòng)更正等這樣的撰寫工具。根據(jù)本發(fā)明的實(shí)施例,當(dāng)從選項(xiàng)卡區(qū)域中選擇了ー個(gè)不同的基于任務(wù)的選項(xiàng)卡時(shí),在用戶界面200中就顯示與所選基于任務(wù)的選項(xiàng)卡相關(guān)聯(lián)的不同邏輯分組中的ー組不同的可選擇功能控件。例如,如果“插入”任務(wù)選項(xiàng)卡220被選擇,在用戶界面200中顯示的可選擇功能控件就從圖2中所示的那些控件改變?yōu)榘ㄅc插入任務(wù)相關(guān)聯(lián)的可選擇功能控件。如在此所述,第三方應(yīng)用程序或解決方案開發(fā)者通常提供可以加入到現(xiàn)有應(yīng)用程序中的軟件應(yīng)用程序或模塊以給現(xiàn)有應(yīng)用程序添加功能。例如,軟件開發(fā)者可以生成添加給字處理應(yīng)用程序的軟件應(yīng)用程序或模塊,以便增加主應(yīng)用程序(例如字處理應(yīng)用程序、電子表格應(yīng)用程序、幻燈片演示應(yīng)用程序等)中不能獲得的附加格式屬性或其它功能,或者是可以修改或增強(qiáng)主應(yīng)用程序所提供的功能的第三方插件應(yīng)用程序或模塊。如在此所述,本發(fā)明的實(shí)施例提供到與主應(yīng)用程序的一個(gè)或多個(gè)用戶界面修改相關(guān)聯(lián)的的編程的訪問,以允許第三方應(yīng)用程序開發(fā)者修改主應(yīng)用程序的用戶界面,以為用戶提供界面組件,以用于被添加的或被修改的由給定插件或模塊所提供的功能。需要注意,本發(fā)明的實(shí)施例并不是要局限干與插件應(yīng)用程序相關(guān)聯(lián)使用。例如,第三方開發(fā)者可以使用本發(fā)明的各方面來修改應(yīng)用程序用戶界面的組件而不考慮所添加的功能。例如,如在此所述,除了任意的添加的功能外,第三方可以期望改變用戶界面組件的行為。圖3是示出在示例用戶界面和示例用戶界面的XML表示之間的關(guān)系的簡(jiǎn)化框圖,該XML表示可以被修改以用于根據(jù)本發(fā)明的實(shí)施例對(duì)示例用戶界面進(jìn)行修改。參見圖3,主應(yīng)用程序106(例如字處理應(yīng)用程序、電子表格應(yīng)用程序、幻燈片演示應(yīng)用程序等)的用戶界面305被示出具有文件命令按鍵310、選項(xiàng)卡I按鍵315和選項(xiàng)卡2按鍵320。如上參照附圖2所述,在圖3中示出的示例用戶界面305僅用于示例目的,而不是要限制根據(jù)本發(fā)明的實(shí)施例將給定用戶界面所提供的各種按鍵、控件或其它可選擇功能。示例用戶界面305包括按鍵或控件325的第一邏輯組和按鍵或控件330的第二邏輯組。根據(jù)示例的用戶界面305,選擇選項(xiàng)卡2按鍵320以提供所述按鍵或控件325、330的第一和第二邏輯組。根據(jù)本發(fā)明的實(shí)施例,根據(jù)標(biāo)記語言,例如可擴(kuò)展標(biāo)記語言(XML),用戶界面305被編程和構(gòu)建。應(yīng)該理解,其它適用于編程和構(gòu)建如在此所述的用戶界面305的語言也能夠被使用。如圖3所示,示出XML文件340以提供示例用戶界面305的XML編程和結(jié)構(gòu)。例如,ー個(gè)<UI>根標(biāo)記被提供具有三個(gè)子標(biāo)記〈FILE〉、<TAB1>和<TAB2>。<TAB2>標(biāo)記包括兩個(gè)子標(biāo)記〈LG1>標(biāo)記(按鍵或控件的第一邏輯組)和<LG2>標(biāo)記(按鍵或控件的第二邏輯組)。應(yīng)該理解,XML文件340不是要說明完好-格式的XML文件,而是僅出于說明目的。主應(yīng)用程序的開發(fā)者提供XML模式文檔或文件(未示出),它提供了應(yīng)用于編程和構(gòu)建用戶界面305所使用的XML的XML語法和句法規(guī)則,例如對(duì)XML文件340進(jìn)行添加、移除或修改新的或現(xiàn)有標(biāo)記。例如,XML模式可以規(guī)定將被添加到XML文件340的XML標(biāo)記的類型和名字。例如,與用戶界面305相關(guān)聯(lián)的XML模式可以要求每個(gè)選項(xiàng)卡標(biāo)記必須包括至少ー個(gè)邏輯組子標(biāo)記。而另ー個(gè)示例中,與用戶界面305相關(guān)聯(lián)的XML模式可以指示在XML文件340中的某些XML不能被修改,例如在原始用戶界面305的給定選項(xiàng)卡標(biāo)記下的邏輯組標(biāo)記不能被第三方修改。在另ー示例中,XML模式可以規(guī)定可以或不可以通過對(duì)XML文件340來改變應(yīng)用于用戶界面305的某些格式屬性。該完整的XML模式文件340和該完整的相關(guān)聯(lián)XML模式文件可以被展示給第三方開發(fā)者。或者,僅將與主應(yīng)用程序用戶界面305相關(guān)聯(lián)的XML文件340的子集和相關(guān)聯(lián)的XML模式文件子集展示給第三方開發(fā)者以允許他們對(duì)主應(yīng)用程序用戶界面305進(jìn)行有限次數(shù)和有限類型的修改。主應(yīng)用程序用戶界面305的XML文件340和相關(guān)聯(lián)的XML模式文件展示給第三方340以允許第三方根據(jù)相關(guān)聯(lián)的XML模式文件所提供的語法和句法規(guī)則改變XML文件340以修改用戶界面305,如在此所述。例如第三方350可以提供軟件應(yīng)用程序插件,該插件提供了在主應(yīng)用程序中當(dāng)前不能獲得的附加功能。例如,第三方需要在用戶界面中加入第三選項(xiàng)卡按鍵,當(dāng)選擇該按鍵時(shí),在所加入的第三方選項(xiàng)卡按鍵之下提供按鍵或控件的附加邏輯組,以提供對(duì)第三方應(yīng)用程序插件所提供的功能進(jìn)行選擇的按鍵和/或控件。例如,第三方應(yīng)用程序插件可以加入用于提供專用腳注和尾注給字處理應(yīng)用程序的功能。為了向用戶展示插件所提供的功能,第三方開發(fā)者需要在用戶界面305中提供附加選項(xiàng)卡,例如,“腳注/尾注”選項(xiàng)卡。除了加入“腳注/尾注”選項(xiàng)卡,第三方開發(fā)者可能希望加入當(dāng)選擇所述“腳注/尾注”選項(xiàng)卡時(shí)在用戶界面305中顯示的按鍵或控件的附加邏輯組,以提供選擇加入的腳注和尾注功能的各方面的按鍵和/或控件。需要理解,通過修改修改的XML文件340,現(xiàn)有的按鍵或控件可以相類似地被從用戶接ロ305中移除。根據(jù)ー個(gè)實(shí)施例,通過XML文件340展示給第三方開發(fā)者的標(biāo)記具有一種增量性質(zhì),從而向第三方開發(fā)者提供了有限地對(duì)主應(yīng)用程序用戶接ロ305的修改能力。這樣,根據(jù)該實(shí)施例,第三方開發(fā)者不接收允許他們?cè)谌我馕恢貌迦胱陨碛脩艚缑娼M件的XML文件340。根據(jù)該實(shí)施例,替代為被展示給第三方的XML文件340和相關(guān)聯(lián)的模式允許第三方開發(fā)者指定新用戶界面組件的期望位置,例如在現(xiàn)有組件ABC之后插入新組件,隨后主應(yīng)用程序?qū)⒏倪M(jìn)的XML文件和表示主應(yīng)用程序界面305的整個(gè)XML文件整合以呈現(xiàn)經(jīng)改進(jìn)的用戶界面307。根據(jù)ー個(gè)實(shí)施例,每個(gè)第三方開發(fā)者所提供的經(jīng)改進(jìn)的XML文件355由唯一的XML名字空間標(biāo)識(shí),以防止ー個(gè)第三方應(yīng)用程序插件對(duì)另ー個(gè)第三方插件所提供或修改的用戶界面組件進(jìn)行修改?;蛘撸谌讲寮募?55可通過其它手段進(jìn)行標(biāo)識(shí),例如通過全球唯一標(biāo)識(shí)符(GUID)或局部文件名字標(biāo)識(shí)。一旦主應(yīng)用程序用戶界面305的XML表示340由第三方350訪問,所述第三方350可以根據(jù)相關(guān)聯(lián)XML模式文件改進(jìn)應(yīng)用于用戶界面305的該XML,以將所需的按鍵或控件添加到該用戶界面305。所得到的經(jīng)改進(jìn)的XML文件355示出對(duì)XML文件355所做的對(duì)用戶界面305的修改。例如,參照經(jīng)改進(jìn)的XML文件355,第三方開發(fā)者350具有添加的<TAB3>標(biāo)記360和<LG4>標(biāo)記(按鍵和/或控件的第四邏輯組)365。XML文件355示出可以根據(jù)本發(fā)明的實(shí)施例對(duì)現(xiàn)有用戶界面所做的修改的増量性質(zhì)。就是說由于示例修改是針對(duì)新用戶界面標(biāo)記(TAB3)和相關(guān)聯(lián)的按鍵或控件(LG4)邏輯組的添加,相對(duì)于對(duì)用戶界面305展示的XML進(jìn)行全局改變而言,XML文件355僅需要作出添加新標(biāo)記和邏輯組給現(xiàn)有用戶界面的増量改變。如圖3所示,一旦所需的對(duì)XML文件340所做的改變應(yīng)用于主應(yīng)用程序305,經(jīng)修改的用戶界面307就可以被呈現(xiàn)。參照經(jīng)改進(jìn)的用戶界面307,示出了所添加的第三標(biāo)記370和添加的第四按鍵和/或控件375的邏輯組。一旦所添加的標(biāo)記和按鍵或控件的邏輯組鏈接到第三方應(yīng)用程序插件的相關(guān)聯(lián)的功能,對(duì)這些増加的標(biāo)記、按鍵或控件的選擇引起相關(guān)聯(lián)添加的功能的執(zhí)行。這樣,通過獲得對(duì)主應(yīng)用程序用戶界面所展示的XML文件和相關(guān)聯(lián)的XML模式的訪問,第三方應(yīng)用程序開發(fā)者就能修改主應(yīng)用程序用戶界面305以提供用于選擇相關(guān)聯(lián)插件應(yīng)用程序的功能的所需按鍵和/或控件。下面是ー個(gè)已經(jīng)被第三方修改或提供的示例XML文件的摘錄,用于在工具菜單最后添加“數(shù)據(jù)分析”按鍵或控件,該“數(shù)據(jù)分析”按鍵將被插入在被標(biāo)記為“數(shù)據(jù)工具”的按鍵或控件的邏輯組之后。如在示例XML中示出,這樣的XML句法(如〈insertAfter〉)由相關(guān)聯(lián)的XML模式文件指示,用于允許第三方應(yīng)用程序開發(fā)者在標(biāo)記為“分組數(shù)據(jù)工具”的按鍵或控件的邏輯組之后插入標(biāo)記為“數(shù)據(jù)分析”的按鍵。本領(lǐng)域的技術(shù)人員需要理解,下述示例的XML是僅出于說明的目的,而非限制所要求的發(fā)明。、くtabid-,msoTcidDataTab,,>くchunkid=,’atpk:MyChunk”insertAfter=,,GroupingDataTools,,>くbigButtonIabel=5OataAnalysis”onAction=”atpk:dosomething”image=”someImage’’></chunk></tab>對(duì)XML文件340的改變可以由第三方開發(fā)者根據(jù)不同的方法做出。根據(jù)ー個(gè)實(shí)施例,XML文件340和相關(guān)聯(lián)的模式可以由第三方應(yīng)用程序開發(fā)者在應(yīng)用程序?qū)釉L問。例如,在用戶界面305中提供按鍵或控件以允許第三方應(yīng)用程序開發(fā)者訪問用于編程和構(gòu)建該用戶界面的XML文件340和相關(guān)聯(lián)的模式。應(yīng)該理解,XML文件340和相關(guān)聯(lián)的模式文件可以通過其它的手段提供,例如通過開發(fā)者工具或開發(fā)者應(yīng)用程序,第三方應(yīng)用程序開發(fā)者可以利用它們來根據(jù)相關(guān)聯(lián)的XML模式文件準(zhǔn)備對(duì)XML文件340的修改以便在加載第三方應(yīng)用程序插件到主應(yīng)用程序上時(shí)應(yīng)用于所述主應(yīng)用程序。根據(jù)本發(fā)明的另ー實(shí)施例,與給定主應(yīng)用程序關(guān)聯(lián)的用戶界面305可以在文檔層被定制。就是說,基于文檔的用戶界面305可以包括為給定文檔所特定的對(duì)用戶界面所做的定制。例如,用戶可以創(chuàng)建ー個(gè)定制的文檔,例如由成百上千代表ー個(gè)大公司的銷售所使用的銷售模板文檔。因?yàn)槲臋n將被很多人員使用,就希望第三方開發(fā)者能夠?qū)χ鲬?yīng)用程序(例如電子表格應(yīng)用程序)所提供的用戶界面進(jìn)行定制,以使得當(dāng)運(yùn)行該特定文檔時(shí),被定制的按鍵或控件在用戶界面中呈現(xiàn)。對(duì)于這樣的基于文檔的解決方案可以使用一個(gè)文件格式,其中,與該文檔相關(guān)聯(lián)的各種功能和屬性作為在容器文件(containerfile)中持有的相關(guān)的組件而存在。例如,該容器文件可以包括表示用戶輸入數(shù)據(jù)的ー個(gè)組件;表示文檔結(jié)構(gòu)(例如模板結(jié)構(gòu))的另ー組件;表示應(yīng)用于該文檔的格式屬性的另ー組件;表示為文檔定制的基于文檔的用戶界面的另ー組件等等。第三方應(yīng)用程序開發(fā)者可以進(jìn)入這樣的文檔容器并訪問應(yīng)用于該文檔的用戶界面組件的XML表示文件和相關(guān)聯(lián)的XML模式。一旦開發(fā)者訪問了用戶界面305的該XML文件和相關(guān)聯(lián)XML模式,如上所述,開發(fā)者就能通過根據(jù)修改的XML模式修改XML來定制用戶界面。根據(jù)另ー實(shí)施例,經(jīng)修改的XML文件355和相關(guān)聯(lián)XML模式文件可以被附屬作為由第三方應(yīng)用程序開發(fā)者所提供的用于提供插件應(yīng)用程序的功能的組件對(duì)象模型(COM)插件的資源。當(dāng)所述COM插件被應(yīng)用于主應(yīng)用程序時(shí),例如,字處理應(yīng)用程序,經(jīng)修改的XML文件355被主應(yīng)用程序花費(fèi)以呈現(xiàn)所得到的經(jīng)修改的用戶界面307?;仡櫢綀D3,如上所述,第三方軟件應(yīng)用程序插件用于將新用戶界面組件加入到主應(yīng)用程序(例如字處理應(yīng)用程序、電子表格應(yīng)用程序、幻燈片演示應(yīng)用程序等)的現(xiàn)有用戶界面中。根據(jù)本發(fā)明的ー實(shí)施例,提供了從頭開始的模式,其中,展示給第三方應(yīng)用程序開發(fā)者的XML文件340從相關(guān)聯(lián)的主應(yīng)用程序用戶界面中移除除了基本的用戶界面組件之外的所有組件。隨后,相關(guān)聯(lián)的XML模式為第三方應(yīng)用程序開發(fā)者提供添加回原始用戶界面組件(例如第一選項(xiàng)卡315、第二選項(xiàng)卡320和邏輯組控件325和330)的能力。另外,第三方應(yīng)用程序開發(fā)者隨后可以根據(jù)相關(guān)聯(lián)的模式文件加入新的用戶界面組件。根據(jù)該實(shí)施例,提供快捷方式以允許從主應(yīng)用程序用戶界面中移去除必要的用戶界面組件之外的所有組件和允許插件開發(fā)者在用戶界面的定制上具有更多的控件,因?yàn)椴寮_發(fā)者能夠在虛擬的空白板(blankslate)的用戶界面上開始,從該空白板用戶界面上構(gòu)建定制的用戶界面。根據(jù)ー個(gè)實(shí)施例,這種快捷方式是XML的屬性,當(dāng)被設(shè)置成“真”吋,引起大多數(shù)或所有原始用戶界面組件的移除。插件開發(fā)者被限制對(duì)給定的主應(yīng)用程序用戶界面305的ー些區(qū)域以及用戶界面的一些組件的訪問。就是說,主應(yīng)用程序用戶界面的ー些區(qū)域和一些組件被指定,以使第三方插件開發(fā)者不能移除或修改這些區(qū)域和組件。例如,參照?qǐng)D3中的主應(yīng)用程序用戶界面305,希望用于跨多個(gè)應(yīng)用程序(例如字處理應(yīng)用程序、電子表格應(yīng)用程序、幻燈片演示應(yīng)用程序等)提供某種功能的文件按鍵310不能被第三方插件開發(fā)者以任何方式進(jìn)行修改、移除或重定意圖。這樣,文件按鍵310可以被限制由第三方插件開發(fā)者的訪問。類似地,一旦用戶界面組件被加入到給定用戶界面,這些組件可以被指定為受限的,以防止另外的第三方插件應(yīng)用程序?qū)@些由先前插件提供的用戶界面組件進(jìn)行修改。根據(jù)本發(fā)明的一個(gè)實(shí)施例,如果第三方插件應(yīng)用程序從主應(yīng)用程序卸載,應(yīng)用于該主應(yīng)用程序用戶界面并用于加入或修改被卸載的插件應(yīng)用程序的用戶界面組件的定制XML文件被解析,并且對(duì)與該插件應(yīng)用程序相關(guān)聯(lián)的主應(yīng)用程序用戶界面的改變被禁用,這樣,當(dāng)相關(guān)聯(lián)的插件應(yīng)用程序被卸載時(shí),在用戶界面中不再呈現(xiàn)對(duì)主應(yīng)用程序用戶界面的改變。類似地,當(dāng)關(guān)閉修改原始圖形用戶界面的基于文檔的解決方案時(shí),呈現(xiàn)所述圖形用戶界面,以便對(duì)與所述XML表示的修改相關(guān)聯(lián)的圖形用戶界面的改變不在所述圖形用戶界面中呈現(xiàn)。通過訪問表示主應(yīng)用程序用戶界面305的XML文件340,現(xiàn)有用戶界面組件可以被重定意圖,這樣,被重定意圖的組件實(shí)質(zhì)上展現(xiàn)出不同的行為。例如,現(xiàn)有的用戶界面組件可以是啟用的、禁用的或規(guī)定為與ー個(gè)不同的應(yīng)用程序動(dòng)作相關(guān)聯(lián)。例如第三方應(yīng)用程序開發(fā)者希望主應(yīng)用程序用戶界面中的給定按鍵(例如“打印”按鍵)僅用于根據(jù)與該第三方應(yīng)用程序插件相關(guān)聯(lián)的預(yù)先的打印設(shè)定來打印文檔。再舉一例,在一個(gè)給定功能和由插件應(yīng)用程序加入到主應(yīng)用程序中的一個(gè)功能的操作沖突時(shí),該給定功能按鍵或控件將被禁用而無法使用。圖4是根據(jù)本發(fā)明的實(shí)施例可以被修改的示例上下文用戶界面的計(jì)算機(jī)屏幕顯示。本領(lǐng)域技術(shù)人員應(yīng)該理解,圖4中所示的上下文用戶界面僅是出于示例的目的,而并不是要限制可應(yīng)用于并包括在與所選的文檔對(duì)象關(guān)聯(lián)提供的上下文用戶界面中的各種不同的布局或內(nèi)容類型。這樣,圖4中所示的上下文用戶界面并不是要以任何方式來局限或限制所述要求權(quán)利的發(fā)明。例如,如下所述,圖4中所示的上下文用戶界面是部署成與所選對(duì)象相關(guān)的用戶界面菜單的形式。然而,本發(fā)明的該實(shí)施例可以以其它形式實(shí)現(xiàn),例如向原始用戶界面305加入當(dāng)在電子文檔中選擇ー個(gè)對(duì)象時(shí)在用戶界面中部署的按鍵或控件(例如選項(xiàng)卡)。參照?qǐng)D4,包括嵌入圖片對(duì)象410的文檔在字處理應(yīng)用程序工作區(qū)中被示出。根據(jù)本發(fā)明的實(shí)施例,上下文菜單420可以通過各種方法鄰近或靠近ー個(gè)所選的對(duì)象被加載,包括但不局限于,選擇一個(gè)給定的文檔對(duì)象,例如示例圖片對(duì)象410。上下文菜單420包括與編輯所選文檔中的所選對(duì)象相關(guān)的可選擇功能控件。就是說,上下文菜單420放置在可以用于編輯所選文檔中特定所選對(duì)象所使用的ー個(gè)或多個(gè)可選擇功能控件中。例如,參照如圖4所示的上下文菜單420,該上下文菜單在所選的圖片對(duì)象410的上下文中被加載,因此,可選擇的功能控件,例如粘貼控件、復(fù)制控件、位置控件、重置圖片控件等等,為用戶提供了編輯所選圖片對(duì)象410的屬性的功能。本領(lǐng)域技術(shù)人員應(yīng)該理解,如果上下文菜單420在另ー對(duì)象類型的上下文環(huán)境中被加載,那么在上下文菜單420中放置的可選擇功能控件將與該另ー對(duì)象類型相關(guān)。根據(jù)本發(fā)明的實(shí)施例,通過展示用于上下文用戶界面420的XML文件340和相關(guān)聯(lián)的XML模式,第三方開發(fā)者可以對(duì)上下文用戶界面420中含有的用戶界面內(nèi)容進(jìn)行添加和修改,以創(chuàng)建與將應(yīng)用到所選文檔對(duì)象的插件功能相關(guān)聯(lián)的定制的上下文用戶界面內(nèi)容和組件。例如,參照?qǐng)D4,第三方插件應(yīng)用程序在主應(yīng)用程序上下文用戶界面420中提供的功能之上提供了用于修改或格式化圖片對(duì)象410的附加功能。如上參照?qǐng)D3的描述,第三方插件開發(fā)者可以加入、禁用、重定意圖或修改與該第三方應(yīng)用程序插件相關(guān)聯(lián)的上下文用戶界面420中的用戶界面組件。例如,如果插件應(yīng)用程序提供可以用于圖片對(duì)象410的附加格式化功能,格式化按鍵和/或控件的附加格式化按鍵或組能夠被加入到該上下文用戶界面420,以便當(dāng)選擇圖片對(duì)象410進(jìn)行編輯時(shí),在該上下文用戶界面420中進(jìn)行呈現(xiàn)。如上所述,取代修改上下文用戶界面420,新的功能控件(例如新選項(xiàng)卡)可以被加入到用戶界面305(如圖3所示)中,當(dāng)選擇相關(guān)聯(lián)的對(duì)象時(shí),這些功能控件將在用戶界面305中部署?;蛘?,除了修改現(xiàn)有上下文用戶界面外,新的上下文用戶界面可以被加入到主應(yīng)用程序。例如,如果給定的插件應(yīng)用程序插入用于所選對(duì)象的ー個(gè)或多個(gè)功能,XML文件340和相關(guān)聯(lián)的XML模式就被展示,以創(chuàng)建相關(guān)聯(lián)插件功能的新上下文用戶界面,它將與所選對(duì)象相關(guān)聯(lián)地被加載。根據(jù)該實(shí)施例,如上所述,將提供一種從頭開始的XML文件340以允許新上下文用戶界面420的創(chuàng)建和部署。圖5是展示可選擇控件的示例圖庫(kù)或集合430的計(jì)算機(jī)屏幕顯示,所述可選擇控件的示例圖庫(kù)或集合可以根據(jù)本發(fā)明的實(shí)施例進(jìn)行修改。應(yīng)該理解,圖5中所示的用戶界面控件的圖庫(kù)430是僅出于示例的目的,并不是要如在此所述限制可應(yīng)用于并包括在用戶界面控件的圖庫(kù)中的各種不同的用戶界面布局或用戶界面內(nèi)容類型。參照?qǐng)D5,鄰近上下文菜單420示出ー個(gè)彈出圖像庫(kù)。應(yīng)該理解,該控件圖庫(kù)可以被部署在其它配置中。例如,根據(jù)本發(fā)明的實(shí)施例的控件圖庫(kù)可以在用戶界面200中被部署成直線,或該圖庫(kù)可以被部署作為用戶界面200中的所選按鍵或控件之下的下拉用戶界面。根據(jù)實(shí)施例,控件圖庫(kù)含有的每個(gè)控件435、440、445,表示ー個(gè)或多個(gè)功能,例如,如果選擇一個(gè)圖庫(kù)中的給定控件將應(yīng)用于所選對(duì)象的格式化功能。給定的插件應(yīng)用程序可以向主應(yīng)用程序加入功能,以便為所選對(duì)象提供附加功能(例如格式化屬性)并且對(duì)于該所選對(duì)象一個(gè)或多個(gè)附加控件將被期望在主應(yīng)用程序的控件圖庫(kù)之中。例如,參照如圖5所示的示例控件圖庫(kù),第三方插件應(yīng)用程序可以提供格式設(shè)定,該設(shè)定能夠自動(dòng)放置示例圖片對(duì)象到示例文檔的左手上方角落中并同時(shí)應(yīng)用不同的格式給含有圖片對(duì)象的文檔中所含有的文本。如果需要,插件應(yīng)用程序開發(fā)者可以修改主應(yīng)用程序控件圖庫(kù)用戶界面430以提供示出插件的應(yīng)用程序格式屬性的附加控件給所選文檔和圖片對(duì)象。如上參照?qǐng)D3和4的描述,插件應(yīng)用程序的作者可以規(guī)定新控件應(yīng)該在控件圖庫(kù)中放置的位置。例如,插件開發(fā)者可以規(guī)定新控件應(yīng)該插入在“左上部”控件440之后。除了修改現(xiàn)有的用戶界面控件的圖庫(kù)外,也可以向主應(yīng)用程序添加新的用戶界面控件的圖庫(kù)430。例如,如果給定的插件應(yīng)用程序加入用于所選對(duì)象的ー個(gè)或多個(gè)功能,則展示XML文件和相關(guān)聯(lián)的XML模式以用于創(chuàng)建相關(guān)聯(lián)的插件功能的新用戶界面控件的圖庫(kù),以與所選對(duì)象相關(guān)聯(lián)地被加載。根據(jù)該實(shí)施例,可以如上所述提供從頭開始的XML文件340以允許新的上下文用戶界面420的創(chuàng)建和部署。在如上所述參照?qǐng)D3、4、5將用戶界面組件加入到主應(yīng)用程序用戶界面之后,根據(jù)本發(fā)明的一個(gè)實(shí)施例,當(dāng)用于該經(jīng)修改的用戶界面的顯示空間被減小或被增大時(shí),主應(yīng)用程序可以自動(dòng)地縮放所加入的用戶界面的組件的尺寸。例如,如果按鍵或控件的邏輯組被加入到主應(yīng)用程序用戶界面,并且按鍵或控件的邏輯組包括三個(gè)與插件功能相關(guān)聯(lián)的大按鍵,如果含有該用戶界面的窗ロ尺寸被減少,主應(yīng)用程序就自動(dòng)縮放所顯示的按鍵。例如,如果含有該用戶界面的窗ロ尺寸被減少使得該三個(gè)大的示例按鍵在不擠近其它用戶界面組件的情況下就不能被顯示時(shí),這三個(gè)大按鍵將被替換成該三個(gè)大按鍵的三個(gè)較小的版本。如果窗ロ的尺寸被進(jìn)ー步減少,該三個(gè)按鍵的較小版本也會(huì)被一起移除,而與該三個(gè)按鍵相關(guān)聯(lián)的三個(gè)功能的小文本標(biāo)識(shí)可以用于取代該三個(gè)大按鍵。當(dāng)影響定制用戶界面組件的條件改變時(shí),定制的用戶界面組件可以被主應(yīng)用程序自動(dòng)刷新。例如,如果定制用戶界面組件被添加到提供與給定類型信息(第一數(shù)據(jù))相關(guān)聯(lián)的標(biāo)志或圖片的主應(yīng)用程序用戶界面305,該標(biāo)志或圖片將被禁用并且當(dāng)相關(guān)聯(lián)信息或數(shù)據(jù)改變時(shí)被自動(dòng)刷新。例如,一個(gè)插件天氣應(yīng)用程序可以給主應(yīng)用程序用戶界面提供一個(gè)按鍵或控件,當(dāng)選擇它時(shí),就提供指定區(qū)域的天氣預(yù)報(bào)。該用戶界面中的該按鍵或控件可以用與當(dāng)前天氣相關(guān)聯(lián)的圖片進(jìn)行裝飾,例如,睛天圖片用于睛天天氣,多云圖片用于多云天氣等等。根據(jù)本發(fā)明的實(shí)施例,如果當(dāng)前天氣條件變化,為加入的按鍵或控件提供的圖片或標(biāo)志就不再可用,當(dāng)前的圖片或標(biāo)志會(huì)被自動(dòng)禁用,并且用與可應(yīng)用于當(dāng)前信息(例如當(dāng)前天氣條件)的不同的圖片或標(biāo)志來刷新該按鍵或控件。根據(jù)實(shí)施例,主應(yīng)用程序保持對(duì)與造成所添加的或經(jīng)修改的用戶界面組件原因的軟件應(yīng)用程序插件相關(guān)的每個(gè)添加的或經(jīng)修改的用戶界面組件的身份進(jìn)行跟蹤。根據(jù)ー個(gè)實(shí)施例,當(dāng)在ー個(gè)添加的用戶界面組件上盤旋或聚焦時(shí),例如將鼠標(biāo)指針在ー個(gè)添加的用戶界面組件上盤旋,就會(huì)呈現(xiàn)ー個(gè)工具提示或其它對(duì)話以識(shí)別造成該添加的或修改的用戶界面組件原因的軟件應(yīng)用程序插件,并用描述或提供與所添加或修改的用戶界面組件相關(guān)聯(lián)的軟件應(yīng)用程序插件有關(guān)的其它信息作為幫助內(nèi)容來指導(dǎo)用戶。如在此所述,軟件應(yīng)用程序用戶界面編程被展示以允許對(duì)現(xiàn)有應(yīng)用程序用戶界面的修改,包括對(duì)與插件應(yīng)用程序相關(guān)聯(lián)的新的或現(xiàn)有的用戶界面組件進(jìn)行添加、移除、禁用、啟用和重定意圖。本領(lǐng)域的技術(shù)人員將會(huì)明顯看出,在不背離本發(fā)明的精神和范圍的前提下可以在本發(fā)明中進(jìn)行各種修改或變動(dòng)??紤]此處所公開的本發(fā)明的說明和實(shí)踐,本領(lǐng)域的技術(shù)人員將會(huì)明顯看出本發(fā)明的其他實(shí)施例。權(quán)利要求1.一種用于修改圖形用戶界面的方法,包括接收為計(jì)算機(jī)上的主軟件應(yīng)用程序提供一個(gè)或多個(gè)附加功能的插件應(yīng)用程序,其中,初始XML文件表示主軟件應(yīng)用程序的圖形用戶界面中的初始帶狀圖形用戶界面,所述初始帶狀圖形用戶界面包括第一選項(xiàng)卡,所述第一選項(xiàng)卡包括包含第一組可選擇控件的圖庫(kù),所述圖庫(kù)中的每個(gè)可選擇控件包括表示如果選擇了該可選擇控件則將被應(yīng)用的功能的圖像;接收經(jīng)修改的XML文件,所述經(jīng)修改的XML文件表示了ー個(gè)經(jīng)修改的帶狀圖形用戶界面,其中,除了在所述初始帶狀圖形用戶界面的圖庫(kù)中的所述控件之外,所述經(jīng)修改的帯狀圖形用戶界面中的圖庫(kù)還包括一個(gè)或多個(gè)新的可選擇控件,所述新的可選擇控件提供了對(duì)由所述插件應(yīng)用程序所提供的一個(gè)或多個(gè)附加的功能的訪問,每個(gè)所述新的可選擇控件包括表示如果選擇了該新的可選擇控件則將被應(yīng)用的功能的圖像;在接收到經(jīng)修改的XML文件之后,從用戶接收對(duì)所述圖形用戶界面中所顯示的文檔中的一個(gè)對(duì)象的選擇;以及響應(yīng)于接收所述對(duì)象的選擇,在所述帶狀圖形用戶界面的圖庫(kù)中展示上下文控件,所述上下文控件是所述ー個(gè)或多個(gè)新的可選擇控件之一。2.如權(quán)利要求I所述的方法,其特征在干,進(jìn)ー步包括當(dāng)接收到對(duì)所述新的可選擇控件中的一個(gè)可選擇控件上的聚焦時(shí),在所述經(jīng)修改的圖形用戶界面中顯示關(guān)于對(duì)所述初始帶狀圖形用戶界面的修改的標(biāo)識(shí)信息。3.如權(quán)利要求I所述的方法,其特征在干,其中,所述初始帶狀圖形用戶界面包括上下文用戶界面,所述上下文用戶界面用于顯示第二組ー個(gè)或多個(gè)可應(yīng)用于所選對(duì)象的可選擇控件;以及其中,所述經(jīng)修改的帶狀圖形用戶界面包括在所述上下文用戶界面中的ー個(gè)或多個(gè)附加的可選擇控件。4.如權(quán)利要求I所述的方法,其特征在干,其中,在接收所述經(jīng)修改的XML文件之前,所述初始帶狀圖形用戶界面中的圖庫(kù)提供了第二組ー個(gè)或多個(gè)可選擇控件,所述第二組ー個(gè)或多個(gè)可選擇控件為所選對(duì)象提供ー個(gè)或多個(gè)功能。5.一種用于修改圖形用戶界面的方法,包括由計(jì)算設(shè)備顯示用于主軟件應(yīng)用程序的用戶界面,所述用戶界面包括初始帶狀圖形用戶界面;在所述計(jì)算設(shè)備處接收插件應(yīng)用程序,所述插件應(yīng)用程序?yàn)樗鲋鬈浖?yīng)用程序提供了一個(gè)或多個(gè)附加功能;其中,一個(gè)初始XML文件表示了所述初始帶狀圖形用戶界面,所述初始帶狀圖形用戶界面包括提供第一組ー個(gè)或多個(gè)可選擇控件的圖庫(kù),所述圖庫(kù)中的每個(gè)可選擇控件包括表示如果選擇了該可選擇控件則將被應(yīng)用的功能的圖像;在所述計(jì)算設(shè)備處接收經(jīng)修改的XML文件,所述經(jīng)修改的XML文件表示了ー個(gè)經(jīng)修改的帶狀圖形用戶界面,其中,所述經(jīng)修改的XML文件包括第一附加XML元素,所述第一附加XML元素對(duì)應(yīng)于一上下文控件;在接收到經(jīng)修改的XML文件之后,從用戶接收對(duì)所述用戶界面中所顯示的文檔中的一個(gè)對(duì)象的選擇;以及響應(yīng)于接收所述對(duì)象的選擇,由所述計(jì)算設(shè)備在所述圖庫(kù)中展示上下文控件,所述上下文控件包括表示如果選擇了所述上下文控件將要應(yīng)用到所選對(duì)象的給定功能的圖像,所述給定功能是由所述插件應(yīng)用程序所提供的附加功能之一。6.如權(quán)利要求5所述的方法,其特征在干,進(jìn)ー步包括在所述計(jì)算設(shè)備處接收對(duì)所述圖庫(kù)的選擇。7.如權(quán)利要求5所述的方法,其特征在干,進(jìn)ー步包括響應(yīng)于關(guān)閉修改了所述初始帶狀圖形用戶界面的基于文檔的解決方案時(shí),呈現(xiàn)所述初始帶狀圖形用戶界面以取代所述經(jīng)修改的帶狀圖形用戶界面。8.如權(quán)利要求5所述的方法,其特征在干,進(jìn)ー步包括禁用所述經(jīng)修改的帶狀圖形用戶界面中的第二組ー個(gè)或多個(gè)可選擇控件。9.一種用于修改圖形用戶界面的方法,包括由計(jì)算設(shè)備顯示用于主軟件應(yīng)用程序的用戶界面,所述用戶界面包括帶狀圖形用戶界面,所述帶狀圖形用戶界面包括第一選項(xiàng)卡,所述第一選項(xiàng)卡包括第一控件邏輯分組,所述第一控件邏輯分組包括用于選擇所述主軟件應(yīng)用程序的一個(gè)或多個(gè)功能的第一組ー個(gè)或多個(gè)可選擇控件;提供所述帶狀圖形用戶界面的可擴(kuò)展標(biāo)記語言(XML)表示,所述XML表示包括對(duì)應(yīng)于所述帶狀圖形用戶界面的第一選項(xiàng)卡的第一XML元素以及對(duì)應(yīng)于所述第一控件邏輯分組的第二XML元素;接收插件應(yīng)用程序,所述插件應(yīng)用程序向所述主軟件應(yīng)用程序提供一個(gè)或多個(gè)附加功倉(cāng)泛;接收對(duì)所述XML表示的修改,所述修改將第一插件XML元素插入到所述XML表示中,所述第一插件XML元素對(duì)應(yīng)于一插件控件;在接收到對(duì)所述XML表示的修改之后,從用戶接收對(duì)文檔中的一個(gè)對(duì)象的選擇,所述文檔顯示在所述用戶界面中;以及響應(yīng)于接收所述對(duì)象的選擇,由所述計(jì)算設(shè)備在所述帶狀圖形用戶界面中展示所述插件控件;響應(yīng)于用戶對(duì)所述插件控件的選擇,將給定功能應(yīng)用到所選對(duì)象,所述給定功能是由所述插件應(yīng)用程序提供的附加功能之一;當(dāng)從所述主軟件應(yīng)用程序卸載所述插件應(yīng)用程序吋,將所述帶狀圖形用戶界面呈現(xiàn)為在接收對(duì)所述XML表示的修改之前所顯現(xiàn)的該帶狀圖形用戶界面。10.如權(quán)利要求9所述的方法,其特征在干其中,在接收所述修改之后,所述帶狀圖形用戶界面包括第二選項(xiàng)卡,所述第二選項(xiàng)卡包括一個(gè)或多個(gè)與所述插件應(yīng)用程序所提供的所述ー個(gè)或多個(gè)附加功能相關(guān)聯(lián)的ー個(gè)或多個(gè)附加可選擇控件。11.如權(quán)利要求9所述的方法,其特征在于,進(jìn)ー步包括在接收對(duì)所述XML表示的修改之后并當(dāng)接收到對(duì)所述帶狀圖形用戶界面中含有的可選擇控件的聚焦時(shí),顯示所述插件應(yīng)用程序的標(biāo)識(shí)。12.如權(quán)利要求9所述的方法,其特征在干其中,所述帶狀圖形用戶界面包括提供第二組ー個(gè)或多個(gè)可選擇控件的圖庫(kù),所述第ニ組ー個(gè)或多個(gè)可選擇控件為所選擇對(duì)象提供了ー個(gè)或多個(gè)功能;其中,在接收到所述修改之后,除所述第二組可選擇控件之外,所述圖庫(kù)還包括ー個(gè)或多個(gè)附加可選擇控件。13.如權(quán)利要求9所述的方法,其特征在干,進(jìn)ー步包括當(dāng)關(guān)閉修改了所述帶狀圖形用戶界面的基于文檔的解決方案吋,將所述帶狀圖形用戶界面呈現(xiàn)為在打開所述基于文檔的解決方案之前所顯現(xiàn)的該帶狀圖形用戶界面。全文摘要提供用于展示應(yīng)用程序用戶界面的編程的方法、系統(tǒng)和計(jì)算機(jī)產(chǎn)品,來允許相關(guān)聯(lián)的用戶界面的修改以包括對(duì)新的或現(xiàn)有的用戶界面進(jìn)行添加、移除、禁用、啟用和重定意圖。文檔編號(hào)G06F9/44GK102722364SQ201210079579公開日2012年10月10日申請(qǐng)日期2006年8月29日優(yōu)先權(quán)日2005年8月30日發(fā)明者A·C-A·常,A·福米徹,A·莫格里弗斯基,D·A·墨頓,D·T·魯,E·M·福勒,P·拉馬尼,S·S·丹加爾申請(qǐng)人:微軟公司