專利名稱:電子文檔樣式矩陣的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及電子文檔中的各個(gè)對(duì)象,尤其涉及電子文檔內(nèi)各對(duì)象的屬性。
背景技術(shù):
為了便于創(chuàng)建和維護(hù)廣泛范圍的電子文檔,已經(jīng)開發(fā)了稱為電子文檔應(yīng)用程序的相似廣泛范圍的計(jì)算機(jī)應(yīng)用程序。電子文檔應(yīng)用程序包括字處理程序、電子制表、幻燈片演示應(yīng)用程序、以及web發(fā)布應(yīng)用程序等。這些應(yīng)用程序常常以成套產(chǎn)品的形式捆綁在一起,諸如MicrosoftOffice。
一段時(shí)間以來(lái)困擾成套產(chǎn)品用戶的一個(gè)問(wèn)題是當(dāng)對(duì)象從一個(gè)應(yīng)用程序引入到另一個(gè)應(yīng)用程序時(shí)其顯現(xiàn)的不一致。例如,將表格從字處理程序引入演示應(yīng)用程序可導(dǎo)致所得表格看起來(lái)與引入前顯著不同。作為另一示例,將圖形從演示程序引入電子表格文檔常常導(dǎo)致所得形狀具有不同的屬性設(shè)置。所的對(duì)象可具有不同的線條粗細(xì)、不同的填充標(biāo)準(zhǔn)、以及引入后與原來(lái)不同的其它圖形效果,使得完成產(chǎn)品看起來(lái)與想要的不同。
電子文檔應(yīng)用程序的另一普遍問(wèn)題涉及新內(nèi)容的創(chuàng)建。用戶通常必須在對(duì)常常稀少的所提供文檔模板的選擇和手工選擇樣式屬性值之間進(jìn)行選擇。前者因?yàn)橥瓿僧a(chǎn)品常缺乏個(gè)性而不利。后者因?yàn)閷ふ覙邮綄傩灾档目山邮芙M合可涉及大量反復(fù)試驗(yàn)而不利。
本發(fā)明是參照這些和其它考慮作出的。
發(fā)明內(nèi)容
根據(jù)本發(fā)明,提供了用于在電子文檔內(nèi)呈現(xiàn)一對(duì)象的一種計(jì)算機(jī)實(shí)現(xiàn)方法。首先,讀取與該對(duì)象相關(guān)聯(lián)的一個(gè)或多個(gè)屬性引用。然后,對(duì)屬性引用執(zhí)行查尋以獲取實(shí)際的屬性值。然后產(chǎn)生使用實(shí)際屬性值的屬性包。最后,使用該屬性包呈現(xiàn)該對(duì)象。
根據(jù)其它方面,本發(fā)明涉及用于呈現(xiàn)可能樣式的圖庫(kù)的一種方法。首先,接收對(duì)象選擇。然后對(duì)多個(gè)可能樣式的每一個(gè)執(zhí)行對(duì)一個(gè)或多個(gè)屬性值的查尋。然后,生成對(duì)應(yīng)于多個(gè)可能樣式的每一個(gè)的多個(gè)屬性包。最后,使用多個(gè)屬性包以多個(gè)可能樣式的每一個(gè)來(lái)呈現(xiàn)對(duì)象。
根據(jù)另外的方面,本發(fā)明涉及用于呈現(xiàn)電子文檔對(duì)象的一種系統(tǒng)。查尋模塊使用屬性引用來(lái)查尋實(shí)際屬性值。屬性包模塊創(chuàng)建、維護(hù)、和刪除屬性包。呈現(xiàn)模塊使用屬性包來(lái)呈現(xiàn)對(duì)象。最后,圖庫(kù)模塊呈現(xiàn)可呈現(xiàn)對(duì)象的樣式圖庫(kù)。
根據(jù)其它方面,本發(fā)明涉及用于使樣式矩陣與電子文檔應(yīng)用程序相關(guān)聯(lián)的一種方法。首先,一個(gè)或多個(gè)樣式矩陣與一個(gè)應(yīng)用程序相關(guān)聯(lián)。然后,接收載入一對(duì)象的信號(hào)。最后,一個(gè)或多個(gè)對(duì)象屬性引用被映射到樣式矩陣的一個(gè)或多個(gè)位置。
根據(jù)另外的方面,本發(fā)明涉及用于存儲(chǔ)標(biāo)識(shí)矩陣樣式屬性類型和樣式屬性值的計(jì)算機(jī)可翻譯的數(shù)據(jù)結(jié)構(gòu)的計(jì)算機(jī)可讀介質(zhì)。該數(shù)據(jù)結(jié)構(gòu)包括一個(gè)或多個(gè)行,每一行對(duì)應(yīng)于一個(gè)屬性類型,以及一個(gè)或多個(gè)列,每一列對(duì)應(yīng)于一個(gè)屬性值。
本發(fā)明可被實(shí)現(xiàn)為計(jì)算機(jī)進(jìn)程、計(jì)算系統(tǒng)或諸如計(jì)算機(jī)程序產(chǎn)品或計(jì)算機(jī)可讀介質(zhì)的制造品。計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)系統(tǒng)可讀的并編碼用于執(zhí)行計(jì)算機(jī)進(jìn)程的指令的計(jì)算機(jī)程序的計(jì)算機(jī)存儲(chǔ)介質(zhì)。該計(jì)算機(jī)程序可讀介質(zhì)還可以是計(jì)算系統(tǒng)可讀的并編碼用于執(zhí)行計(jì)算機(jī)進(jìn)程的指令的計(jì)算機(jī)程序的載波上的傳播信號(hào)。
參閱以下詳細(xì)描述和附圖,特征化本發(fā)明的這些和各種其它特征和優(yōu)點(diǎn)將變得顯而易見(jiàn)。
圖1示出根據(jù)本發(fā)明一實(shí)施例在定義電子文檔中對(duì)象的屬性中使用的矩陣(“樣式矩陣”)。
圖2示出其上可實(shí)現(xiàn)本發(fā)明一實(shí)施例的適當(dāng)計(jì)算系統(tǒng)環(huán)境的一個(gè)示例。
圖3是示出根據(jù)本發(fā)明一實(shí)施例用于呈現(xiàn)電子文檔中一對(duì)象的操作特征的流程圖。
圖4是示出根據(jù)本發(fā)明另一實(shí)施例用于呈現(xiàn)電子文檔中一對(duì)象的操作特征的流程圖。
圖5是示出根據(jù)本發(fā)明一實(shí)施例用于創(chuàng)建和/或編輯諸如圖1所示樣式矩陣的樣式矩陣的操作特征的流程圖。
圖6是示出包括本發(fā)明一實(shí)施例的各個(gè)模塊的框圖。
圖7示出樣式矩陣的一示例性實(shí)施例及其與電子文檔應(yīng)用程序?qū)ο蟮年P(guān)系。
具體實(shí)施例方式
本發(fā)明及其各個(gè)實(shí)施例在下面參照附圖進(jìn)行詳細(xì)描述。在參照附圖時(shí),所示相似結(jié)構(gòu)和元件用相似標(biāo)號(hào)來(lái)表示。在圖中示出的被另一對(duì)象遮蔽的對(duì)象,及其引用標(biāo)號(hào),用虛線示出。
一般而言,本發(fā)明涉及將屬性應(yīng)用于呈現(xiàn)在電子文檔中的對(duì)象。這些屬性基于對(duì)在此稱為“樣式矩陣”的數(shù)據(jù)結(jié)構(gòu)的引用(“屬性引用”)來(lái)定義。根據(jù)一示例性實(shí)施例,樣式矩陣表示定義可應(yīng)用于呈現(xiàn)給電子文檔的對(duì)象的屬性變化的數(shù)據(jù)結(jié)構(gòu)。每個(gè)屬性引用與在樣式矩陣中定義的這些變化之一相關(guān)聯(lián)。應(yīng)理解,其它數(shù)據(jù)結(jié)構(gòu)形式被認(rèn)為在本發(fā)明的范圍之內(nèi)。
有了該基本說(shuō)明,圖1根據(jù)本發(fā)明一實(shí)施例示出樣式矩陣100。該樣式矩陣100包括對(duì)應(yīng)于各個(gè)屬性類型(例如邊界線、填充和效果)的行104以及對(duì)應(yīng)于各個(gè)屬性值(例如無(wú)、低強(qiáng)度、高強(qiáng)度)的列102。屬性在矩陣100的每列102和行104的交界處定義,作為與交界處屬性值成對(duì)的屬性類型。例如,邊界線類型的低強(qiáng)度屬性值示出一條細(xì)線,而邊界線類型的高強(qiáng)度屬性值示出一條粗得多并更易看到的線。類似地,填充類型的無(wú)屬性值將產(chǎn)生無(wú)填充,而填充類型的低強(qiáng)度屬性值將產(chǎn)生部分陰影填充等。
盡管根據(jù)本發(fā)明一示例性實(shí)施例樣式矩陣100被示為具有屬性類型邊界線、填充和效果,本領(lǐng)域技術(shù)人員將理解其它屬性類型(例如背景類型、文本粗體、陰影效果、黑點(diǎn)類型等)可另外或有選擇地包括在樣式矩陣100中,而不背離本發(fā)明的范圍。類似地,樣式矩陣100可包括除三個(gè)示例性的無(wú)、低和高值之外或與其不同的屬性值。因此,如要控制的屬性類型數(shù)量(以及因此行104的數(shù)量)和控制的靈敏度(更靈敏的控制通常需要更多列102)所指定的,樣式矩陣100可任意地比圖1所示的大或小。實(shí)際上,本領(lǐng)域技術(shù)人員所眾所周知的任何數(shù)量的圖形效果(諸如模糊、陰影、鏡面反射、三維、光線散射等)可通過(guò)樣式矩陣100來(lái)控制,而不背離本發(fā)明的范圍。
假設(shè)本發(fā)明可被實(shí)現(xiàn)為計(jì)算機(jī)系統(tǒng),提供了圖2以示出其上可實(shí)現(xiàn)本發(fā)明實(shí)施例的適當(dāng)計(jì)算系統(tǒng)環(huán)境的一個(gè)示例。在其最基本配置中,系統(tǒng)200通常包括至少一個(gè)處理單元202和存儲(chǔ)器204。取決于計(jì)算裝置200的準(zhǔn)確配置和類型,存儲(chǔ)器204可以是易失性的(諸如RAM)、非易失性的(諸如ROM、閃存等等)、或兩者的某種組合。該最基本配置由虛線206在圖2中示出。
除了存儲(chǔ)器204,系統(tǒng)可包括至少一種其它形式的計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可以是系統(tǒng)200可訪問(wèn)的任何可用介質(zhì)。作為示例,但非限制,計(jì)算機(jī)可讀介質(zhì)可包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)。
計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以用來(lái)存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、或其它數(shù)據(jù)的信息的任何方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移動(dòng)和不可移動(dòng)的介質(zhì)。存儲(chǔ)器204、可移動(dòng)存儲(chǔ)器208和不可移動(dòng)存儲(chǔ)器210都是計(jì)算機(jī)存儲(chǔ)介質(zhì)的示例。
計(jì)算機(jī)存儲(chǔ)介質(zhì)包括,但不限于RAM、ROM、EPROM、EEPROM、閃存或其它存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字化多功能盤(DVD)或其它光學(xué)存儲(chǔ)器、磁盒、磁帶、磁盤存儲(chǔ)器或其它磁性存儲(chǔ)裝置、或可用來(lái)存儲(chǔ)所需信息并可由系統(tǒng)200訪問(wèn)的任何其它介質(zhì)。任何這種計(jì)算機(jī)存儲(chǔ)介質(zhì)可以是系統(tǒng)200的一部分。
系統(tǒng)200還可包含使系統(tǒng)能與其它裝置通信的通信連接212。通信連接212是通信介質(zhì)的一個(gè)示例。通信介質(zhì)通常體現(xiàn)為計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、或其它諸如載波或其它傳送機(jī)制的已調(diào)制數(shù)據(jù)信號(hào)中的其它數(shù)據(jù),并包括任何信息傳送介質(zhì)。術(shù)語(yǔ)“已調(diào)制數(shù)據(jù)信號(hào)”意指具有以這種把信息編碼到信號(hào)中的方式來(lái)設(shè)置或改變的一個(gè)或多個(gè)特征的信號(hào)。作為示例,而非限制,通信介質(zhì)包括諸如有線網(wǎng)絡(luò)或直接有線連接的有線介質(zhì),以及諸如聲學(xué)、RF、紅外和其它無(wú)線介質(zhì)的無(wú)線介質(zhì)。術(shù)語(yǔ)計(jì)算機(jī)可讀介質(zhì)在此使用時(shí),包括存儲(chǔ)介質(zhì)和通信介質(zhì)。
根據(jù)一實(shí)施例,系統(tǒng)200包括諸如輸入裝置214和/或輸出裝置216的外圍裝置。示例性輸入裝置214包括,但無(wú)限制,鍵盤、計(jì)算機(jī)鼠標(biāo)、筆或電子筆、語(yǔ)音輸入裝置、觸摸輸入裝置等。示例性輸出裝置216包括,但無(wú)限制,諸如顯示器、揚(yáng)聲器、打印機(jī)的裝置。對(duì)于本發(fā)明,顯示器是主要的輸出裝置。所有這些裝置在本領(lǐng)域中是眾所周知的,因此無(wú)需在此贅述。
有了計(jì)算環(huán)境,以下附圖就可參照邏輯操作進(jìn)行描述,這些邏輯操作在執(zhí)行時(shí)實(shí)現(xiàn)體現(xiàn)本發(fā)明各個(gè)實(shí)施例的過(guò)程。這些邏輯操作被實(shí)現(xiàn)為(1)在計(jì)算系統(tǒng)上運(yùn)行的計(jì)算機(jī)實(shí)現(xiàn)步驟或程序模塊序列和/或(2)計(jì)算系統(tǒng)中相互連接的機(jī)器邏輯電路或電路模塊。實(shí)現(xiàn)是根據(jù)實(shí)現(xiàn)本發(fā)明的計(jì)算系統(tǒng)的性能要求,進(jìn)行模塊選擇。相應(yīng)地,在此描述的組成本發(fā)明諸實(shí)施例的邏輯操作不同地指的是操作、結(jié)構(gòu)性裝置、動(dòng)作或者模塊。本領(lǐng)域技術(shù)人員可以理解,如所附權(quán)利要求書所述,這些操作、結(jié)構(gòu)性裝置、動(dòng)作和模塊可用軟件、固件、專用數(shù)字邏輯以及它們的任意組合來(lái)實(shí)現(xiàn),而不背離本發(fā)明的精神和范圍。
現(xiàn)在參看圖3,示出根據(jù)本發(fā)明一實(shí)施例使用屬性引用來(lái)呈現(xiàn)一對(duì)象的過(guò)程300(此后稱為“呈現(xiàn)過(guò)程”)。該屬性引用對(duì)應(yīng)于諸如圖1所示的樣式矩陣100的樣式矩陣中行104和列102的交界處。這樣,根據(jù)本發(fā)明一實(shí)施例每個(gè)交界處定義在呈現(xiàn)時(shí)要應(yīng)用于對(duì)象的屬性。應(yīng)理解,本發(fā)明并不限于具有任何特定數(shù)量的屬性引用的對(duì)象,且實(shí)際上任何數(shù)量的引用被認(rèn)為在本發(fā)明范圍內(nèi)。此外,實(shí)際屬性值和屬性引用的組合可根據(jù)本發(fā)明一實(shí)施例存儲(chǔ)或維護(hù)。這樣的組合可用來(lái)迫使某些屬性值為固定值,同時(shí)使其它屬性值基于引入給定對(duì)象的應(yīng)用程序來(lái)動(dòng)態(tài)改變(因此,樣式矩陣100根據(jù)屬性引用來(lái)尋址)。該實(shí)施例向應(yīng)用程序開發(fā)者提供硬編碼某些值同時(shí)使其它值為應(yīng)用程序相關(guān)或主題相關(guān)的能力。
呈現(xiàn)過(guò)程300使用以開始操作302開始而以終止操作312結(jié)束的操作流來(lái)執(zhí)行。開始操作302響應(yīng)于用戶對(duì)在電子文檔中顯示對(duì)象的請(qǐng)求而啟動(dòng)。從開始操作302起,操作流繼續(xù)到檢索操作304。該檢索操作304檢索與對(duì)象相關(guān)聯(lián)的一個(gè)或多個(gè)屬性引用。在一實(shí)施例中,每個(gè)屬性引用是由行104和列102的交界處標(biāo)識(shí)的坐標(biāo)對(duì)的形式,該交界處重新募集樣式矩陣100中的各個(gè)屬性值?;蛘撸瑢傩砸每梢允侵赶虼鎯?chǔ)器中包含表示樣式矩陣100的數(shù)據(jù)的位置的指針形式。此外,本領(lǐng)域技術(shù)人員將理解,可實(shí)現(xiàn)任意多層的其它間接引用(例如,指向存儲(chǔ)器中包含樣式矩陣100的位置的指針的指針)而不背離本發(fā)明的范圍。在檢索操作304已檢索到一個(gè)或多個(gè)屬性引用之后,操作流繼續(xù)到查尋操作306。
該查尋操作306使用檢索到的屬性引用來(lái)查尋樣式矩陣100中相應(yīng)的(各)屬性值。如前結(jié)合檢索操作304所述,屬性引用可取樣式矩陣100中的坐標(biāo)地址或指向存儲(chǔ)器的指針的形式,或本領(lǐng)域中眾所周知的間接引用的其它方法。因而,查尋操作306可使用坐標(biāo)遍歷矩陣100或者通過(guò)訪問(wèn)指向存儲(chǔ)器的指針?biāo)竷?nèi)容,來(lái)定位所引用的屬性值。
從查尋操作306,操作流可繼續(xù)到產(chǎn)生操作308。該產(chǎn)生操作308產(chǎn)生對(duì)象的屬性包。在一實(shí)施例中,屬性包是由查尋操作306來(lái)確定的與對(duì)象相關(guān)聯(lián)的屬性值的結(jié)構(gòu)化分組。所產(chǎn)生的屬性包可以是永久或臨時(shí)的數(shù)據(jù)結(jié)構(gòu),且如果是臨時(shí)的,則當(dāng)對(duì)象在電子文檔中呈現(xiàn)之后屬性包被破壞或再次使用(即作為以下所述的呈現(xiàn)操作310的結(jié)果)。還應(yīng)當(dāng)理解,除了一個(gè)或多個(gè)被引用的屬性值外,屬性包可持有其它對(duì)象專用或繼承的通用數(shù)據(jù)。
從產(chǎn)生操作308,操作流可繼續(xù)到呈現(xiàn)操作310,其中使用在屬性包中指定的(各)屬性值來(lái)在電子文檔中適當(dāng)?shù)爻尸F(xiàn)對(duì)象。這樣,比如線的粗細(xì)、填充類型和梯度、字體粗體、背景、黑點(diǎn)類型和其它效果等的(各)指定屬性,根據(jù)樣式矩陣100中所包含的引用屬性值來(lái)執(zhí)行。在另一實(shí)施例中,這些屬性根據(jù)由應(yīng)用程序開發(fā)者硬編碼的(各)引用屬性值和(各)屬性值的組合來(lái)執(zhí)行,如下進(jìn)行更詳細(xì)的描述。
由呈現(xiàn)操作310對(duì)對(duì)象的實(shí)際呈現(xiàn)可使用各種方法的任一種來(lái)實(shí)現(xiàn)。例如,呈現(xiàn)操作310可將對(duì)象直接寫到計(jì)算機(jī)屏幕上?;蛘?,呈現(xiàn)操作310可調(diào)用API(應(yīng)用程序接口)來(lái)繪制該對(duì)象。本領(lǐng)域技術(shù)人員所眾所周知的其它呈現(xiàn)方法也可由呈現(xiàn)操作310使用,并被認(rèn)為在本發(fā)明的范圍內(nèi)。
現(xiàn)在參看圖4,示出根據(jù)本發(fā)明一實(shí)施例用于使用樣式庫(kù)呈現(xiàn)對(duì)象的過(guò)程400(此后為“呈現(xiàn)過(guò)程”)。該呈現(xiàn)過(guò)程400使用以開始操作401開始和以終止操作414結(jié)束的操作流來(lái)執(zhí)行。該開始操作401響應(yīng)于用戶對(duì)在電子文檔中顯示對(duì)象的請(qǐng)求而啟動(dòng)。從開始操作401起,操作流繼續(xù)到接收操作402。
該接收操作402接收對(duì)對(duì)象的選擇。在一實(shí)施例中,可接收來(lái)自用戶的選擇。在另一實(shí)施例中,選擇可由應(yīng)用程序開發(fā)者進(jìn)行硬編碼。在又一實(shí)施例中,可基于當(dāng)前操作模式、文檔中其它對(duì)象的屬性值、或其它標(biāo)準(zhǔn)使用動(dòng)態(tài)選擇方法來(lái)由應(yīng)用程序進(jìn)行選擇。
從接收操作402,操作流繼續(xù)到選擇操作404。該選擇操作404選擇將呈現(xiàn)對(duì)象的一種樣式。選擇操作404對(duì)樣式的選擇可使用遍歷預(yù)選樣式集的每一個(gè)的循環(huán)來(lái)執(zhí)行,其中樣式是屬性引用、實(shí)際屬性值、或其組合的組合。在一實(shí)施例中,這些預(yù)選樣式可由應(yīng)用程序開發(fā)者來(lái)定義,以包括經(jīng)仔細(xì)挑選的審美上可接受的樣式。這樣的實(shí)施例節(jié)省了應(yīng)用程序用戶通過(guò)反復(fù)試驗(yàn)達(dá)到專業(yè)和美感樣式的工作。
此外,選擇操作404可在樣式矩陣100中選擇用美觀屬性值填充的位置。本領(lǐng)域技術(shù)人員將理解這樣的位置可使用矩陣坐標(biāo)、指向包含矩陣數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)器的地址指針、或本領(lǐng)域中眾所周知的其它形式的數(shù)據(jù)尋址來(lái)引用,而不背離本發(fā)明范圍。或者,選擇操作404可從用與給定主題相稱的屬性值來(lái)填充的樣式矩陣100中進(jìn)行選擇。
在執(zhí)行選擇操作404之后,操作流繼續(xù)到查尋操作406。該查尋操作406查尋與所選樣式相關(guān)聯(lián)的一個(gè)或多個(gè)實(shí)際屬性值。在一實(shí)施例中,查尋操作406涉及遍歷間接引用的一個(gè)或多個(gè)層以到達(dá)實(shí)際屬性值。如前所述,屬性引用可取矩陣坐標(biāo)、存儲(chǔ)器指針、或本領(lǐng)域中眾所周知的其它數(shù)據(jù)尋址方法的形式,而不背離本發(fā)明范圍。
從查尋操作406,操作流繼續(xù)到產(chǎn)生操作408。該產(chǎn)生操作408產(chǎn)生對(duì)象的屬性包。如前結(jié)合產(chǎn)生操作308(圖3)所述,屬性包是由查尋操作406來(lái)確定的與對(duì)象相關(guān)聯(lián)的屬性值的結(jié)構(gòu)化分組。還如上所述,屬性值可復(fù)制到永久或臨時(shí)的與對(duì)象相關(guān)聯(lián)的屬性包數(shù)據(jù)結(jié)構(gòu)中。此外,除了一個(gè)或多個(gè)實(shí)際屬性值外,屬性包可持有其它對(duì)象專用或繼承的通用數(shù)據(jù)。
在執(zhí)行產(chǎn)生操作408之后,操作流可繼續(xù)到呈現(xiàn)操作410,其中使用在屬性包中指定的(各)屬性值來(lái)在電子文檔中適當(dāng)?shù)爻尸F(xiàn)對(duì)象。這樣,比如線的粗細(xì)、填充類型和梯度、字體粗體、背景、黑點(diǎn)類型和其它效果等的(各)指定屬性,根據(jù)樣式矩陣100中所包含的引用實(shí)際屬性值來(lái)執(zhí)行。在另一實(shí)施例中,這些屬性根據(jù)由應(yīng)用程序開發(fā)者硬編碼的(各)引用屬性值和(各)屬性值的組合來(lái)執(zhí)行,如下進(jìn)行更詳細(xì)的描述。
由呈現(xiàn)操作410對(duì)對(duì)象的實(shí)際呈現(xiàn)可使用各種方法的任一種來(lái)實(shí)現(xiàn)。例如,呈現(xiàn)操作410可將對(duì)象直接寫到計(jì)算機(jī)屏幕上?;蛘?,呈現(xiàn)操作410可調(diào)用API(應(yīng)用程序接口)來(lái)繪制該對(duì)象。本領(lǐng)域技術(shù)人員所眾所周知的其它呈現(xiàn)方法也可由呈現(xiàn)操作410使用,并被認(rèn)為在本發(fā)明的范圍內(nèi)。
從呈現(xiàn)操作410,操作流繼續(xù)到確定操作412,它確定是否還有必須用其來(lái)呈現(xiàn)選定對(duì)象的其它樣式。如果需要呈現(xiàn)其它樣式,則操作流分支“是”到上述選擇操作404。如果不需要顯示其它樣式,則操作流分支“否”并在終止操作414上結(jié)束。
在一實(shí)施例中,在圖庫(kù)中呈現(xiàn)的樣式描繪可點(diǎn)擊或以其它方式選擇來(lái)對(duì)與該樣式相關(guān)聯(lián)的屬性值進(jìn)行選擇。因而在應(yīng)用程序中創(chuàng)建的新對(duì)象將依據(jù)所選樣式具有屬性值。因而該圖庫(kù)提供使用單次點(diǎn)擊而不是手動(dòng)地和/或單獨(dú)選擇每個(gè)屬性值來(lái)選擇一個(gè)美觀兼容屬性集的一種有效方法。在另一實(shí)施例中,圖庫(kù)具有表示它自己的樣式矩陣(例如100)的相應(yīng)數(shù)據(jù)結(jié)構(gòu),其中每個(gè)矩陣位置包含多個(gè)屬性值。
在另一實(shí)施例中,圖庫(kù)中的樣式選擇可遍歷,而無(wú)需真正呈現(xiàn)圖庫(kù)。相反,“音量控制”可用來(lái)調(diào)節(jié)對(duì)象使用多明顯(以及因而“多響亮”或獲取注意力的)的樣式。例如,所述音量控制可取滾動(dòng)條的形式,一端為最不明顯的樣式而另一端為最明顯的樣式??丶忻總€(gè)連續(xù)前進(jìn)對(duì)應(yīng)于樣式矩陣或圖庫(kù)中更明顯的預(yù)選位置。盡管在此描述了根據(jù)一示例性實(shí)施例的滾動(dòng)條,應(yīng)理解,包括但不限于滾動(dòng)輪和鍵盤的其它GUI控件,可用來(lái)調(diào)節(jié)選擇多明顯的樣式。
在又一實(shí)施例中,呈現(xiàn)一圖庫(kù),并使用“音量控制”來(lái)遍歷圖庫(kù)選項(xiàng),并連續(xù)選擇較明顯或較不明顯的樣式。在再一實(shí)施例中,用戶不依賴于樣式圖庫(kù)手動(dòng)地改變屬性值,但用彈出視窗或類似通知來(lái)警告他們離開了樣式矩陣中所提供的預(yù)定的互兼容屬性值的“美觀安全區(qū)”。此外,另一實(shí)施例涉及用戶使用樣式矩陣(例如100)和樣式圖庫(kù)改變計(jì)算機(jī)桌面主題設(shè)置,并將計(jì)算機(jī)桌面呈現(xiàn)為電子文檔應(yīng)用程序?qū)ο?。還有,又一實(shí)施例涉及用戶使用樣式矩陣和樣式圖庫(kù)來(lái)控制文檔主題。在該實(shí)施例中,用另一個(gè)矩陣來(lái)替換一個(gè)矩陣產(chǎn)生了對(duì)文檔中多個(gè)元素的整體改變。因而可產(chǎn)生各種各樣的視覺(jué)樣式而無(wú)需用戶手動(dòng)創(chuàng)建每個(gè)新“外觀”的模板。
現(xiàn)在參看圖5,示出根據(jù)本發(fā)明一實(shí)施例用于創(chuàng)建樣式矩陣(例如100)的過(guò)程500(“創(chuàng)建過(guò)程”)。該創(chuàng)建過(guò)程500也可被執(zhí)行為改變現(xiàn)有樣式矩陣(例如100),它使用以開始操作501開始并以終止操作508結(jié)束的操作流來(lái)執(zhí)行。該開始操作501響應(yīng)于用戶對(duì)創(chuàng)建一個(gè)或多個(gè)樣式矩陣(例如100)的請(qǐng)求而啟動(dòng),并繼續(xù)到關(guān)聯(lián)操作502。該關(guān)聯(lián)操作502首先將一個(gè)或多個(gè)新的樣式矩陣(例如100)關(guān)聯(lián)到給定應(yīng)用程序。在一實(shí)施例中,這種矩陣(例如100)可由開發(fā)者對(duì)各種各樣的對(duì)象使用反復(fù)試驗(yàn)來(lái)創(chuàng)建,以確保給定樣式矩陣位置中各個(gè)樣式屬性之間的最大美觀兼容性。在另一實(shí)施例中,樣式可從先前存在的樣式庫(kù)中選擇。在又一實(shí)施例中,樣式可由計(jì)算機(jī)使用自動(dòng)方法來(lái)選擇,該自動(dòng)方法使用“無(wú)”和“最強(qiáng)”端點(diǎn)生成沿強(qiáng)度軸的各個(gè)中間點(diǎn)。從關(guān)聯(lián)操作502,操作流繼續(xù)到接收操作504并等待接收信號(hào),如下所述。當(dāng)應(yīng)用程序釋放給用戶后,用戶會(huì)利用其他相關(guān)聯(lián)的樣式矩陣(例如100)來(lái)快速而有效地選擇一組矩陣屬性。在這種情況下,接收操作504要?jiǎng)?chuàng)建新對(duì)象、載入現(xiàn)有對(duì)象、或從另一應(yīng)用程序中引入一對(duì)象的信號(hào)。然后與對(duì)象相關(guān)聯(lián)的屬性通過(guò)映射操作506被映射到樣式矩陣中的相應(yīng)樣式,且操作流最后在終止操作508上結(jié)束。
圖6是示出包括本發(fā)明一實(shí)施例的各模塊的框圖。查尋模塊602執(zhí)行引用查尋以尋找實(shí)際屬性值。這樣,查尋模塊602分別根據(jù)本發(fā)明上述各實(shí)施例執(zhí)行圖3和4中所示的查尋操作306和查尋操作406。如上結(jié)合這些操作所述,引用查尋可包括訪問(wèn)由樣式矩陣(例如100)中一個(gè)或多個(gè)坐標(biāo)的集所定義的屬性值,或使用指向存儲(chǔ)器的指針訪問(wèn)包含樣式矩陣數(shù)據(jù)的存儲(chǔ)器地址。本領(lǐng)域技術(shù)人員將理解,眾所周知的其它尋址數(shù)據(jù)形式可被認(rèn)為在本發(fā)明的范圍內(nèi)。
屬性包模塊604執(zhí)行屬性包的創(chuàng)建,并用由查尋模塊602找到的屬性值來(lái)填充屬性包。這樣,屬性包模塊604分別根據(jù)本發(fā)明上述各實(shí)施例執(zhí)行圖3和4中所示的產(chǎn)生操作308和產(chǎn)生操作408。根據(jù)本發(fā)明一實(shí)施例,屬性包模塊604還可操作以執(zhí)行對(duì)現(xiàn)有屬性包的更新。根據(jù)本發(fā)明另一實(shí)施例,屬性包模塊604還可操作以執(zhí)行現(xiàn)有屬性包的刪除和/或現(xiàn)有屬性包的重新分配,從而它們可重新用于其它對(duì)象。
呈現(xiàn)模塊606使用在由屬性包模塊604創(chuàng)建的屬性包中所存儲(chǔ)的一個(gè)或多個(gè)實(shí)際屬性值來(lái)呈現(xiàn)各對(duì)象。這樣,呈現(xiàn)模塊606分別根據(jù)本發(fā)明上述各實(shí)施例執(zhí)行圖3和4中所示的呈現(xiàn)操作310和呈現(xiàn)操作410。這樣,呈現(xiàn)模塊606可操作以將各對(duì)象直接寫入屏幕,或有選擇地通過(guò)使用API來(lái)呈現(xiàn)各對(duì)象。此外,呈現(xiàn)模塊606可操作來(lái)在文件內(nèi)而不必在顯示裝置上呈現(xiàn)各對(duì)象,用于后來(lái)查看。
圖庫(kù)模塊608呈現(xiàn)包含可分配給對(duì)象的各個(gè)樣式的圖庫(kù)。在一實(shí)施例中,圖庫(kù)模塊所呈現(xiàn)的樣式描繪可點(diǎn)擊或以其它方式選擇來(lái)對(duì)與該樣式相關(guān)聯(lián)的屬性值進(jìn)行選擇。然后圖庫(kù)模塊可將那些屬性值傳給對(duì)象數(shù)據(jù)結(jié)構(gòu)。
在另一實(shí)施例中,可遍歷圖庫(kù)模塊中的樣式選項(xiàng),而不真正呈現(xiàn)該圖庫(kù)。相反,可由圖庫(kù)模塊提供“音量控制”,如上結(jié)合圖4所述。在另一實(shí)施例中,可使用鼠標(biāo)滾動(dòng)輪來(lái)調(diào)節(jié)選定樣式要如何明顯。在另一實(shí)施例中,鍵擊可用于類似效果。在又一實(shí)施例中,圖庫(kù)模塊呈現(xiàn)一個(gè)圖庫(kù),且如上所述的“音量控件”可用來(lái)遍歷圖庫(kù)選項(xiàng)并連續(xù)選擇較明顯或較不明顯的樣式。
現(xiàn)在參看圖7,在此示出了樣式矩陣704、以及使用來(lái)自樣式矩陣704的兩個(gè)不同屬性值集呈現(xiàn)的對(duì)象的一個(gè)實(shí)施例。存在一對(duì)象702,在一實(shí)施例中是包括曲線的圖標(biāo)。樣式矩陣704包括對(duì)應(yīng)于不同屬性類型(例如線條、填充、效果和背景)的行以及對(duì)應(yīng)于不同屬性值(例如無(wú)、稀少、中等、強(qiáng)烈)的列。在行和列的每個(gè)交界處,示出具有給定屬性值的給定屬性類型。例如,類型線條的稀少屬性值示出一細(xì)線,而類型線條的強(qiáng)烈屬性值示出粗得多并更易看到的線條。
當(dāng)對(duì)象702結(jié)合樣式矩陣704和色彩方案(Color Scheme)706時(shí),此三者組合以形成呈現(xiàn)對(duì)象(708、710)。一個(gè)呈現(xiàn)對(duì)象708被示為包括具有細(xì)(Subtle)線條(Line)屬性值的圖表網(wǎng)格(Chart Grid)、具有中等(Moderate)線條屬性值、細(xì)填充(Fill)屬性值以及“無(wú)”(Null)效果(Effect)屬性值(表示不應(yīng)使用效果)的圖表柱形圖。呈現(xiàn)對(duì)象708還具有無(wú)背景(Backgound)屬性值,以及具有中等線條屬性值的圖表邊界(Border)。
作為比較,示出由與呈現(xiàn)對(duì)象708不同的屬性值組合而成的呈現(xiàn)對(duì)象710。呈現(xiàn)對(duì)象710包括具有稀少線條屬性值的圖表網(wǎng)格、具有中等線條屬性值、中等填充屬性值以及“無(wú)”效果屬性值(表示不應(yīng)使用效果)的圖表柱形圖。呈現(xiàn)對(duì)象710還包括無(wú)背景屬性值,以及具有無(wú)線條屬性值的圖表邊界。本領(lǐng)域技術(shù)人員將理解圖表柱形圖的填充樣式、以及圖表邊界的線條樣式在兩個(gè)呈現(xiàn)對(duì)象708和710之間是不同的。
上述各個(gè)實(shí)施例僅被提供作為說(shuō)明,且不應(yīng)被解釋為限制本發(fā)明。本領(lǐng)域技術(shù)人員將容易理解,對(duì)本發(fā)明作各種更改和改變而無(wú)需遵從在此示出和描述的示例性實(shí)施例和應(yīng)用程序,并不背離在此后權(quán)利要求中陳述的本發(fā)明的實(shí)際精神和范圍。例如,樣式矩陣100在圖1示為并在此描述為具有與屬性值相關(guān)聯(lián)的列102,以及與屬性類型相關(guān)聯(lián)的行104,但可有選擇地在列102中展現(xiàn)屬性類型,而在行104中展現(xiàn)屬性值。
本發(fā)明各實(shí)施例包括使用坐標(biāo)映射或指針的屬性引用來(lái)尋址的屬性,坐標(biāo)映射和指針兩者都由樣式矩陣100中的行104(例如屬性類型)和列102(例如屬性值)唯一定義屬性。結(jié)果,本發(fā)明的一個(gè)實(shí)施例消除了將屬性存儲(chǔ)或保持在每個(gè)特定對(duì)象內(nèi)的需要。本領(lǐng)域技術(shù)人員將理解,該層間接引用具有許多其它優(yōu)點(diǎn),包括節(jié)約存儲(chǔ)器以及對(duì)象(和因而電子文檔)從一個(gè)應(yīng)用程序到另一個(gè)應(yīng)用程序的更為有效的可移動(dòng)性。
權(quán)利要求
1.一種用于呈現(xiàn)電子文檔對(duì)象的計(jì)算機(jī)實(shí)現(xiàn)方法,包括讀取與對(duì)象相關(guān)聯(lián)的一個(gè)或多個(gè)屬性引用;使用所述一個(gè)或多個(gè)屬性引用來(lái)在樣式矩陣中查尋一個(gè)或多個(gè)屬性值;使用所述一個(gè)或多個(gè)屬性值產(chǎn)生所述對(duì)象的屬性包;以及使用所述屬性包呈現(xiàn)所述對(duì)象。
2.如權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)方法,還包括使用調(diào)節(jié)屬性強(qiáng)度的一兩極音量控件來(lái)改變所述對(duì)象的屬性值。
3.一種用于顯示對(duì)象的可能樣式的圖庫(kù)的計(jì)算機(jī)實(shí)現(xiàn)方法,包括接收一對(duì)象選擇;對(duì)多個(gè)可能樣式的每一個(gè)查尋一個(gè)或多個(gè)屬性值;使用所述一個(gè)或多個(gè)屬性值來(lái)生成對(duì)應(yīng)于所述多個(gè)可能樣式的每一個(gè)的多個(gè)屬性包;以及使用所述多個(gè)屬性包以所述多個(gè)可能樣式的每一個(gè)來(lái)呈現(xiàn)通過(guò)所述對(duì)象選擇所表示的對(duì)象。
4.如權(quán)利要求3所述的計(jì)算機(jī)實(shí)現(xiàn)方法,其特征在于,不產(chǎn)生多個(gè)屬性包,而是重新使用單個(gè)屬性包一次或多次來(lái)呈現(xiàn)所述對(duì)象。
5.如權(quán)利要求3所述的計(jì)算機(jī)實(shí)現(xiàn)方法,其特征在于,在電子文檔中選擇一對(duì)象導(dǎo)致所述可能樣式的圖庫(kù)顯示。
6.如權(quán)利要求3所述的計(jì)算機(jī)實(shí)現(xiàn)方法,其特征在于,計(jì)算機(jī)桌面主題可類似地被選擇為要使用所述可能樣式在所述圖庫(kù)中呈現(xiàn)的對(duì)象,以便預(yù)覽并選擇桌面主題。
7.一種用于呈現(xiàn)電子文檔對(duì)象的系統(tǒng),包括查尋模塊,用于使用屬性引用來(lái)查尋實(shí)際屬性值;屬性包模塊,可操作來(lái)創(chuàng)建屬性包;呈現(xiàn)模塊,可操作來(lái)使用屬性包呈現(xiàn)對(duì)象;以及圖庫(kù)模塊,可操作來(lái)呈現(xiàn)可用其來(lái)呈現(xiàn)對(duì)象的樣式圖庫(kù)。
8.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述查尋模塊提供屬性引用和硬編碼的實(shí)際屬性值,所述硬編碼的實(shí)際屬性值是應(yīng)用程序-和主題-無(wú)關(guān)的。
9.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述屬性包模塊可操作來(lái)更改現(xiàn)有的屬性包。
10.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述屬性包模塊可操作來(lái)刪除現(xiàn)有的屬性包。
11.一種用于使樣式矩陣與電子文檔應(yīng)用程序相關(guān)聯(lián)的計(jì)算機(jī)實(shí)現(xiàn)方法,包括使一個(gè)或多個(gè)樣式矩陣與應(yīng)用程序相關(guān)聯(lián);接收要載入對(duì)象的信號(hào);以及將一個(gè)或多個(gè)對(duì)象屬性引用映射成所述一個(gè)或多個(gè)樣式矩陣中的一個(gè)或多個(gè)位置。
12.如權(quán)利要求11所述的計(jì)算機(jī)實(shí)現(xiàn)方法,其特征在于,接收要載入對(duì)象的信號(hào)包括接收要?jiǎng)?chuàng)建新對(duì)象的信號(hào)。
13.一種存儲(chǔ)標(biāo)識(shí)樣式屬性類型和樣式屬性值的矩陣的計(jì)算機(jī)可翻譯數(shù)據(jù)結(jié)構(gòu)的計(jì)算機(jī)可讀介質(zhì),所述數(shù)據(jù)結(jié)構(gòu)包括一個(gè)或多個(gè)行,每行對(duì)應(yīng)于一個(gè)屬性類型;以及一個(gè)或多個(gè)列,每列對(duì)應(yīng)于一個(gè)屬性值。
14.如權(quán)利要求13所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,各行對(duì)應(yīng)于各屬性值,而各列對(duì)應(yīng)于各屬性類型。
15.一種計(jì)算系統(tǒng)可訪問(wèn)的并編碼計(jì)算機(jī)程序的計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)程序用于執(zhí)行呈現(xiàn)電子文檔對(duì)象的計(jì)算機(jī)過(guò)程,所述計(jì)算機(jī)過(guò)程包括讀取與對(duì)象相關(guān)聯(lián)的一個(gè)或多個(gè)屬性引用;使用所述一個(gè)或多個(gè)屬性引用來(lái)在樣式矩陣中查尋一個(gè)或多個(gè)屬性值;使用所述一個(gè)或多個(gè)屬性值產(chǎn)生所述對(duì)象的屬性包;以及使用所述屬性包呈現(xiàn)所述對(duì)象。
16.如權(quán)利要求15所述的計(jì)算機(jī)可讀介質(zhì),還包括使用調(diào)節(jié)屬性強(qiáng)度的一兩極音量控件來(lái)改變所述對(duì)象的屬性值。
17.一種計(jì)算系統(tǒng)可訪問(wèn)的并編碼計(jì)算機(jī)程序的計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)程序用于顯示對(duì)象的可能樣式的圖庫(kù),包括接收一對(duì)象選擇;對(duì)多個(gè)可能樣式的每一個(gè)查尋一個(gè)或多個(gè)屬性值;使用所述一個(gè)或多個(gè)屬性值來(lái)生成對(duì)應(yīng)于所述多個(gè)可能樣式的每一個(gè)的多個(gè)屬性包;以及使用所述多個(gè)屬性包以所述多個(gè)可能樣式的每一個(gè)來(lái)呈現(xiàn)通過(guò)所述對(duì)象選擇所表示的對(duì)象。
18.如權(quán)利要求17所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,不產(chǎn)生多個(gè)屬性包,而是重新使用單個(gè)屬性包一次或多次來(lái)呈現(xiàn)所述對(duì)象。
19.如權(quán)利要求17所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,在電子文檔中選擇一對(duì)象導(dǎo)致所述可能樣式的圖庫(kù)顯示。
20.如權(quán)利要求17所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,計(jì)算機(jī)桌面主題可類似地被選擇為要使用所述可能樣式在所述圖庫(kù)中呈現(xiàn)的對(duì)象,以便預(yù)覽并選擇桌面主題。
全文摘要
提供了一種用于呈現(xiàn)電子文檔對(duì)象的方法和系統(tǒng),其中樣式矩陣保持可能的屬性值,而屬性引用用來(lái)尋址樣式矩陣中的值。屬性引用和實(shí)際屬性值的混合可用來(lái)使得某些屬性為主題-和應(yīng)用程序-專用的,而其它則是主題和應(yīng)用程序無(wú)關(guān)的。此外,提供了一種用于呈現(xiàn)可能樣式的圖庫(kù)的方法。還提供了一種用于使樣式矩陣關(guān)聯(lián)于電子文檔應(yīng)用程序的方法。最后,提供了一種用于存儲(chǔ)標(biāo)識(shí)樣式屬性類型和樣式屬性值的矩陣的計(jì)算機(jī)可翻譯數(shù)據(jù)結(jié)構(gòu)的計(jì)算機(jī)可讀介質(zhì)。
文檔編號(hào)G06F17/30GK1828587SQ20051011633
公開日2006年9月6日 申請(qǐng)日期2005年10月14日 優(yōu)先權(quán)日2004年11月15日
發(fā)明者J·R·希林, H·L·科佩斯坦, M·J·安東尼奧, K·D·范登伯格, V·諾爾頓 申請(qǐng)人:微軟公司