專利名稱:布局控制裝置和布局控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種動(dòng)態(tài)控制用于產(chǎn)生、編輯以及打印包括文本和圖像的文檔的布局的技術(shù),特別是涉及一種適于產(chǎn)生、編輯以及打印可變數(shù)據(jù)文檔的技術(shù)。
背景技術(shù):
最近,商品的多樣化縮短了商品的生命周期。此外,因特網(wǎng)的廣泛使用增強(qiáng)了對(duì)使用因特網(wǎng)的客戶的定制服務(wù)的傾向。因此,CRM(Customer Relationship Management,客戶關(guān)系管理)和一對(duì)一營(yíng)銷的必要性受到關(guān)注。這些技術(shù)提升了客戶的滿意度,并且旨在獲取并贏得客戶。
一對(duì)一營(yíng)銷是一種用于建立例如年齡、性別、業(yè)余愛好、偏好以及購買歷史的個(gè)人屬性信息的數(shù)據(jù)庫,對(duì)信息進(jìn)行分析,并提出滿足客戶需要的建議的數(shù)據(jù)庫營(yíng)銷技術(shù)??勺兇蛴〖夹g(shù)是這種營(yíng)銷技術(shù)中的典型營(yíng)銷技術(shù)。隨著近來DTP(DeskTopPublishing,桌面打印)技術(shù)的進(jìn)步和數(shù)字打印機(jī)的廣泛使用,已經(jīng)開發(fā)了可變打印系統(tǒng),該可變打印系統(tǒng)可以對(duì)每個(gè)客戶定制文檔,并輸出定制的文檔??勺兇蛴∠到y(tǒng)要求最佳布局和顯示信息量根據(jù)客戶而變化的內(nèi)容。
通過在每個(gè)文檔上布置作為在每個(gè)上顯示信息的區(qū)域的容器(還稱為文檔形式的字段區(qū)域),并還使該容器與數(shù)據(jù)庫相關(guān)聯(lián),實(shí)現(xiàn)了相關(guān)的可變打印系統(tǒng)。
然而,用作對(duì)其粘貼文本和圖像的局部顯示區(qū)的每個(gè)容器的尺寸是固定的。因此,在當(dāng)包含在數(shù)據(jù)庫中的數(shù)據(jù)插入容器時(shí),該數(shù)據(jù)的量大于容器的尺寸的情況下,發(fā)生文本重疊或圖像裁剪。相反,在數(shù)據(jù)量小于容器的尺寸的情況下,在容器內(nèi)形成空白區(qū)。在這兩種情況的任何一種情況下,對(duì)表示文本和圖像的信息量都不能實(shí)現(xiàn)最佳布局顯示。
為了解決該問題,提出了自動(dòng)布局系統(tǒng),該自動(dòng)布局系統(tǒng)可以根據(jù)信息量來改變每個(gè)容器的尺寸。該自動(dòng)布局系統(tǒng)可以可變地設(shè)置用于文本和圖像的容器的尺寸。因此,該自動(dòng)布局系統(tǒng)可以改變每個(gè)容器的尺寸,以根據(jù)要插入的數(shù)據(jù)量而增大。此外,當(dāng)將數(shù)據(jù)量大于固定尺寸的容器的數(shù)據(jù)插入該容器中時(shí),存在一種減小文本的字體大小,以在該容器內(nèi)顯示整個(gè)文本的技術(shù)。
然而,上述系統(tǒng)的問題是,當(dāng)增大容器的尺寸時(shí),該容器可能與設(shè)置在該文檔上的另一容器重疊。該系統(tǒng)的另一個(gè)問題是,在文本量大的情況下,當(dāng)調(diào)整字體時(shí),字體大小可能變得過小。為了解決這些問題,日本特開平11-316792號(hào)公報(bào)公開了布局設(shè)計(jì)裝置所采用的另一種自動(dòng)布局技術(shù),用于當(dāng)容器的尺寸增大時(shí),減小鄰近容器的尺寸。
日本特開平11-316792號(hào)公報(bào)描述了容器的容器尺寸根據(jù)對(duì)其輸入的文本而增大,并且相鄰容器的尺寸減小,以保持它們之間的距離。因此,該相關(guān)自動(dòng)布局技術(shù)的問題是,隨著輸入文本量的增大,相鄰容器的尺寸不斷減小。
此外,日本特開平11-316792號(hào)公報(bào)所描述的技術(shù)沒有考慮到通過使每個(gè)容器與數(shù)據(jù)庫相關(guān)聯(lián),然后使內(nèi)容數(shù)據(jù)流入每個(gè)容器中,來創(chuàng)建對(duì)每個(gè)客戶定制的文檔的可變打印系統(tǒng)。
考慮到可變數(shù)據(jù)打印的有關(guān)布局方法的例子是創(chuàng)建具有固定尺寸的容器,然后將內(nèi)容數(shù)據(jù)流入其中的方法。然而,在使用具有固定尺寸的容器的情況下,該布局方法的問題是,當(dāng)大小大于容器的尺寸的內(nèi)容數(shù)據(jù)流入該容器時(shí),發(fā)生溢出,當(dāng)以減小的字體強(qiáng)行使該內(nèi)容數(shù)據(jù)流入其中時(shí),字體大小變得極小。此外,根據(jù)內(nèi)容數(shù)據(jù)的大小,可能增大或者減小容器的尺寸。然而,在多個(gè)容器相互相關(guān)的狀態(tài)下,當(dāng)該多個(gè)容器中的一個(gè)的尺寸增大時(shí),隨著該多個(gè)容器中的一個(gè)的尺寸的增大,相關(guān)容器的尺寸不得不減小。因此,不能執(zhí)行考慮到容器間的平衡的布局處理。
因此,采用如下有關(guān)布局處理方法作為考慮到相互相關(guān)的多個(gè)容器的尺寸之間的平衡的有關(guān)布局方法,其中,該方法在每個(gè)容器的尺寸根據(jù)流入其中的內(nèi)容數(shù)據(jù)的大小而變化的情況下,通過控制每個(gè)容器的尺寸變化量來執(zhí)行布局處理。因此,可以執(zhí)行考慮到相關(guān)容器的尺寸之間的平衡的布局處理。然而,盡管可以利用該布局處理方法調(diào)整相關(guān)容器的布局,但是該布局處理方法不調(diào)整相互無關(guān)的容器的布局。例如,假定在模板上布置了兩個(gè)容器A和B,而且它們相互無關(guān)。在這種情況下,當(dāng)大量?jī)?nèi)容數(shù)據(jù)流入容器A和B中的每個(gè)時(shí),容器A和B兩者的尺寸增大,而不對(duì)容器A和B執(zhí)行布局調(diào)整,直到內(nèi)容數(shù)據(jù)適合容器A和B中的每個(gè)。因此,該布局處理方法導(dǎo)致的問題是容器最終相互重疊。
此外,有關(guān)方法導(dǎo)致的另一個(gè)問題是,即使當(dāng)用戶使容器相互相關(guān),以保持它們之間的距離,從而防止容器相互重疊時(shí),布局的動(dòng)態(tài)變化的因素也增大,從而難以預(yù)測(cè)布局的動(dòng)態(tài)變化。此外,對(duì)分別流入完全不相關(guān)的內(nèi)容數(shù)據(jù)的容器的布局進(jìn)行調(diào)整可能導(dǎo)致用戶錯(cuò)誤地認(rèn)為該內(nèi)容數(shù)據(jù)相互相關(guān)。此外,隨著使容器相互相關(guān)的因素的數(shù)量的增多,布局調(diào)整應(yīng)該考慮很多因素。這導(dǎo)致的問題是不能執(zhí)行最佳布局調(diào)整,以致未獲得所期望的布局。
發(fā)明內(nèi)容
本發(fā)明的一個(gè)方面提供一種布局控制技術(shù),該布局控制技術(shù)通過在布局編輯期間判斷每個(gè)裝入了數(shù)據(jù)的容器(局部顯示區(qū))是否相互重疊,并且在布局編輯期間設(shè)置禁止與另一局部顯示區(qū)重疊的局部顯示區(qū)、以及允許與另一局部顯示區(qū)重疊的局部顯示區(qū),來有效實(shí)現(xiàn)用戶所期望的布局。
根據(jù)本發(fā)明的一個(gè)方面,提供一種布局控制裝置,用于控制多個(gè)局部顯示區(qū)的布局,其中在每個(gè)該局部顯示區(qū)中裝入了為其分配的數(shù)據(jù),并且在頁面上布置該數(shù)據(jù),該布局控制裝置包括預(yù)測(cè)單元,用于計(jì)算每個(gè)局部顯示區(qū)的可移動(dòng)區(qū)域,其中在每個(gè)局部顯示區(qū)中裝入了為其分配的數(shù)據(jù),根據(jù)可移動(dòng)區(qū)域來預(yù)測(cè)每個(gè)局部顯示區(qū)是否與排列在頁面上的另一對(duì)象重疊;還包括防止重疊鏈接顯示單元,用于在被預(yù)測(cè)為相互重疊的局部顯示區(qū)與對(duì)象之間設(shè)置防止重疊鏈接,并顯示所設(shè)置的防止重疊鏈接。
根據(jù)本發(fā)明的另一方面,提供一種布局控制裝置,用于控制多個(gè)局部顯示區(qū)的布局,其中在每個(gè)該局部顯示區(qū)中裝入了為其分配的數(shù)據(jù),并且在頁面上布置該數(shù)據(jù),該布局控制裝置包括預(yù)測(cè)單元,用于計(jì)算每個(gè)局部顯示區(qū)的可移動(dòng)區(qū)域,其中在每個(gè)局部顯示區(qū)中裝入了為其分配的數(shù)據(jù),根據(jù)可移動(dòng)區(qū)域來預(yù)測(cè)每個(gè)局部顯示區(qū)是否與排列在頁面上的另一對(duì)象重疊;設(shè)置信息輸入單元,用于在每個(gè)局部顯示區(qū)被預(yù)測(cè)單元預(yù)測(cè)為與另一對(duì)象重疊的情況下,設(shè)置并輸入表示是否允許每個(gè)局部顯示區(qū)與另一對(duì)象重疊的設(shè)置信息;重疊順序設(shè)置單元,用于在由設(shè)置信息輸入單元輸入了表示允許重疊的信息的情況下,設(shè)置顯示局部顯示區(qū)的顯示順序;以及輸出控制單元,用于在當(dāng)數(shù)據(jù)被裝入每個(gè)局部顯示區(qū)時(shí),局部顯示區(qū)與另一對(duì)象重疊的情況下,根據(jù)顯示順序顯示局部顯示區(qū)。
根據(jù)本發(fā)明的另一方面,提供一種布局控制方法,用于控制多個(gè)局部顯示區(qū)的布局,其中在每個(gè)該局部顯示區(qū)中裝入了為其分配的數(shù)據(jù),并且在頁面上布置該數(shù)據(jù),該布局控制方法包括可移動(dòng)區(qū)域計(jì)算步驟,用于計(jì)算每個(gè)局部顯示區(qū)的可移動(dòng)區(qū)域,其中在每個(gè)局部顯示區(qū)中裝入了為其分配的數(shù)據(jù);預(yù)測(cè)步驟,用于根據(jù)可移動(dòng)區(qū)域來預(yù)測(cè)每個(gè)局部顯示區(qū)是否與排列在頁面上的另一對(duì)象重疊;防止鏈接設(shè)置步驟,用于在被預(yù)測(cè)為相互重疊的局部顯示區(qū)與對(duì)象之間設(shè)置防止重疊鏈接;以及防止鏈接顯示步驟,用于顯示防止重疊鏈接。
根據(jù)本發(fā)明的另一方面,提供一種布局控制方法,用于控制多個(gè)局部顯示區(qū)的布局,其中在每個(gè)該局部顯示區(qū)中裝入了為其分配的數(shù)據(jù),并且在頁面上布置該數(shù)據(jù),該布局控制方法包括計(jì)算步驟,用于計(jì)算每個(gè)局部顯示區(qū)的可移動(dòng)區(qū)域,其中在每個(gè)局部顯示區(qū)中裝入了為其分配的數(shù)據(jù);預(yù)測(cè)步驟,用于根據(jù)可移動(dòng)區(qū)域來預(yù)測(cè)每個(gè)局部顯示區(qū)是否與排列在頁面上的另一對(duì)象重疊;設(shè)置信息輸入步驟,用于在每個(gè)局部顯示區(qū)被預(yù)測(cè)為與另一對(duì)象重疊的情況下,設(shè)置并輸入表示是否允許局部顯示區(qū)與另一對(duì)象重疊的設(shè)置信息;顯示順序設(shè)置步驟,用于在通過設(shè)置信息輸入步驟輸入了表示允許重疊的信息的情況下,設(shè)置顯示局部顯示區(qū)的顯示順序;以及顯示控制步驟,用于在當(dāng)數(shù)據(jù)被裝入每個(gè)局部顯示區(qū)時(shí),局部顯示區(qū)與另一對(duì)象重疊的情況下,根據(jù)顯示順序來顯示局部顯示區(qū)。
通過下面參考附圖對(duì)典型實(shí)施例的詳細(xì)說明,本發(fā)明的其它特征是顯而易見的。
包含在說明書中并構(gòu)成說明書的一部分的附圖示出了本發(fā)明的實(shí)施例,并與說明書一起用于解釋本發(fā)明的原理。
圖1A示出根據(jù)本發(fā)明典型實(shí)施例的計(jì)算機(jī)系統(tǒng)的配置。
圖1B示出圖1A所示的主計(jì)算機(jī)的典型配置。
圖2示出布局引擎模塊設(shè)置在主計(jì)算機(jī)中且布局引擎模塊還設(shè)置在引擎服務(wù)器中的配置。
圖3示出包括菜單欄、工具欄、工作區(qū)以及浮動(dòng)板(palette)的用戶界面窗口。
圖4示出具有設(shè)置在容器間的鏈接、錨(anchor)以及滑動(dòng)塊的典型容器。
圖5A至5D示出容器規(guī)則。
圖6是示出鏈接設(shè)置方法的流程圖。
圖7中的(A)~(C)示出當(dāng)創(chuàng)建鏈接時(shí),用戶界面窗口中的變化的例子。
圖8是示出該實(shí)施例的布局引擎執(zhí)行的布局計(jì)算處理的流程圖。
圖9是示出該實(shí)施例的布局引擎執(zhí)行的布局計(jì)算處理的流程圖。
圖10中的(A)~(C)示出對(duì)應(yīng)于圖9所示的用戶界面窗口的顯示例子。
圖11示出該實(shí)施例的布局計(jì)算中的容器組。
圖12示出自動(dòng)布局系統(tǒng)中的使用可變鏈接的容器的布局。
圖13是示出自動(dòng)布局系統(tǒng)中的設(shè)置可變鏈接的處理的流程圖。
圖14示出設(shè)置鏈接的屬性的對(duì)話框窗口的例子。
圖15示出在自動(dòng)布局系統(tǒng)中通過固定鏈接而獲得的布局結(jié)果。
圖16示出在自動(dòng)布局系統(tǒng)中通過可變鏈接而獲得的布局結(jié)果。
圖17示出設(shè)置容器的屬性的屬性對(duì)話框窗口的例子。
圖18是示出在設(shè)置容器的屬性的操作中布局編輯應(yīng)用程序執(zhí)行的處理的流程的流程圖。
圖19示出在可變地設(shè)置容器的設(shè)置之前,布局編輯應(yīng)用程序所使用的編輯窗口。
圖20示出在利用鼠標(biāo)指針選擇用作圖19所示的靜態(tài)對(duì)象的圖像容器以及可變地改變?cè)搱D像容器的設(shè)置屬性的情況下,布局編輯應(yīng)用程序所使用的編輯窗口。
圖21示出圖像容器的最大可移動(dòng)區(qū)域以及它們之間的預(yù)計(jì)重疊區(qū)域。
圖22示出一編輯窗口,在該編輯窗口中,布局編輯應(yīng)用程序顯示用于使用戶確定是否允許要編輯的動(dòng)態(tài)對(duì)象與另一動(dòng)態(tài)對(duì)象重疊的對(duì)話框。
圖23示出一編輯窗口,在該編輯窗口中,布局編輯應(yīng)用程序顯示表示“拒絕動(dòng)態(tài)對(duì)象之間重疊”的屬性對(duì)話框。
圖24示出一編輯窗口,在該編輯窗口中,布局編輯應(yīng)用程序顯示Y方向動(dòng)態(tài)引導(dǎo)物和X方向防止重疊可變鏈接。
圖25A至25C是示出布局編輯應(yīng)用程序所執(zhí)行的防止重疊可變鏈接設(shè)置處理的流程的流程圖。
圖26示出在兩個(gè)可變?nèi)萜鞯目梢苿?dòng)區(qū)域可能相互重疊的情況下,表示“拒絕動(dòng)態(tài)對(duì)象之間重疊”、并由布局編輯應(yīng)用程序顯示的屬性對(duì)話框。
圖27示出一編輯窗口,在該編輯窗口中,在存在三個(gè)可變?nèi)萜鞯那闆r下,布局編輯應(yīng)用程序設(shè)置動(dòng)態(tài)引導(dǎo)物和防止重疊可變鏈接。
圖28示出用于設(shè)置防止重疊可變鏈接的屬性的對(duì)話框窗口的例子。
圖29示出一預(yù)覽窗口,該預(yù)覽窗口表示將適合于圖24所示的每個(gè)可變?nèi)萜鞯臄?shù)據(jù)流入容器中的狀態(tài)。
圖30示出一預(yù)覽窗口,該預(yù)覽窗口表示與圖29所示的情況下所使用的圖像數(shù)據(jù)不同的圖像數(shù)據(jù)流入圖24所示每個(gè)可變?nèi)萜鞯臓顟B(tài)。
圖31示出表示圖像數(shù)據(jù)流入圖27所示每個(gè)可變?nèi)萜鞯臓顟B(tài)的預(yù)覽窗口。
圖32是示出由布局編輯應(yīng)用程序執(zhí)行的、關(guān)于設(shè)置動(dòng)態(tài)引導(dǎo)物和防止重疊可變鏈接的處理的流程的流程圖。
圖33示出一編輯窗口,該編輯窗口表示分別沿垂直方向(對(duì)應(yīng)于Y方向)和水平方向(對(duì)應(yīng)于X方向)延伸的動(dòng)態(tài)引導(dǎo)物以及防止重疊可變鏈接。
圖34示出用于設(shè)置防止重疊對(duì)應(yīng)角可變鏈接的屬性的對(duì)話框的例子。
圖35示出一預(yù)覽窗口,該預(yù)覽窗口表示在圖像數(shù)據(jù)流入未應(yīng)用防止重疊對(duì)應(yīng)角可變鏈接的可變?nèi)萜鞯那闆r下,該容器的布局的變化。
圖36示出由圖40所示的處理設(shè)置的容器的布局的例子。
圖37示出一預(yù)覽窗口,該預(yù)覽窗口表示在圖像數(shù)據(jù)流入未應(yīng)用防止重疊對(duì)應(yīng)角可變鏈接的、圖33所示的可變?nèi)萜鞯那闆r下,該容器的布局的變化。
圖38示出由圖40所示的處理設(shè)置的容器的布局的例子。
圖39是示出設(shè)置可應(yīng)用于本發(fā)明實(shí)施例的防止重疊對(duì)應(yīng)角可變鏈接的處理的流程的流程圖。
圖40是示出設(shè)置可應(yīng)用于本發(fā)明實(shí)施例的防止重疊對(duì)應(yīng)角可變鏈接的布局編輯處理的流程的流程圖。
圖41示出在本發(fā)明第二實(shí)施例中布局編輯應(yīng)用程序所使用的編輯窗口。
圖42示出在第二實(shí)施例中可變?nèi)萜鞯念A(yù)計(jì)最大可移動(dòng)范圍。
圖43是示出在第二實(shí)施例中布局編輯應(yīng)用程序所執(zhí)行的重疊設(shè)置處理的流程的流程圖。
圖44示出在第二實(shí)施例中用于設(shè)置每個(gè)對(duì)象的重疊屬性的用戶界面(UI)。
圖45示出在第二實(shí)施例中在指定拒絕對(duì)象重疊的情況下的動(dòng)態(tài)布局設(shè)置UI。
圖46是示出在第二實(shí)施例中拒絕重疊動(dòng)態(tài)布局的處理的流程的流程圖。
圖47示出在不應(yīng)用圖46所示的重疊設(shè)置處理,并且圖像數(shù)據(jù)流入圖41所示的可變?nèi)萜鞯那闆r下的布局結(jié)果。
圖48示出在第二實(shí)施例中應(yīng)用圖46所示的重疊設(shè)置處理,并且圖像數(shù)據(jù)流入圖41所示的可變?nèi)萜鞯那闆r下的布局結(jié)果。
圖49是示出在存儲(chǔ)單元中保持的、由屬性對(duì)話框窗口設(shè)置的信息的表。
圖50是示出在存儲(chǔ)單元中保持的、由屬性對(duì)話框窗口設(shè)置的信息的表。
圖51是示出保持在存儲(chǔ)單元中的最大可移動(dòng)范圍信息的表。
圖52是示出保持在存儲(chǔ)單元中的防止重疊鏈接信息的表。
圖53示出通過考慮到縱向(垂直方向)和橫向(水平方向)執(zhí)行布局計(jì)算來確定布局的例子。
圖54是示出用于執(zhí)行布局編輯應(yīng)用程序的自動(dòng)布局系統(tǒng)的功能配置的例子的方框圖。
具體實(shí)施例方式
下面將參考附圖來詳細(xì)說明本發(fā)明的典型實(shí)施例。
第一實(shí)施例系統(tǒng)配置圖1A示出通過可變地設(shè)置容器尺寸來打印文檔(可變數(shù)據(jù)文檔)的系統(tǒng)100。在下面參考圖1B詳細(xì)說明的主計(jì)算機(jī)101的控制下,在該系統(tǒng)中執(zhí)行控制容器尺寸、設(shè)置容器之間的鏈接以及編輯容器的布局的操作。通過在用作布局控制裝置的主計(jì)算機(jī)101中執(zhí)行全部或者部分布局編輯應(yīng)用程序121(根據(jù)本發(fā)明的布局控制程序),執(zhí)行圖6所示的處理。通過在主計(jì)算機(jī)101中執(zhí)行軟件,執(zhí)行布局編輯步驟和打印步驟。
軟件存儲(chǔ)在包括下面描述的存儲(chǔ)單元的計(jì)算機(jī)可讀介質(zhì)內(nèi)。將該軟件從計(jì)算機(jī)可讀介質(zhì)加載到主計(jì)算機(jī)101上。這種軟件、記錄在介質(zhì)上的計(jì)算機(jī)程序、以及存儲(chǔ)該程序的計(jì)算機(jī)可讀介質(zhì)指定計(jì)算機(jī)的功能,以在計(jì)算機(jī)與每個(gè)外圍單元協(xié)作的基礎(chǔ)上進(jìn)行文檔布局編輯和可變數(shù)據(jù)打印所需的計(jì)算、顯示控制、布局控制以及對(duì)內(nèi)容的信息處理。
如圖1B所示,根據(jù)情況,主計(jì)算機(jī)101連接到輸入裝置,例如鍵盤132或例如鼠標(biāo)的指示裝置;以及輸出單元,包括顯示單元144和本地打印機(jī)145。輸入/輸出(I/O)接口138使主計(jì)算機(jī)101連接到網(wǎng)絡(luò)107,以使系統(tǒng)100連接到另一計(jì)算機(jī)(例如,數(shù)據(jù)庫服務(wù)器117)。網(wǎng)絡(luò)107的典型例子是局域網(wǎng)(LAN)和廣域網(wǎng)(WAN)。
主計(jì)算機(jī)101通常包括至少一個(gè)處理器單元135;存儲(chǔ)器單元136,包括例如半導(dǎo)體隨機(jī)存取存儲(chǔ)器(RAM)和/或只讀存儲(chǔ)器(ROM);輸入/輸出(I/O)接口138,用于連接網(wǎng)絡(luò)107;視頻接口137;以及I/O接口143,用于連接到(多個(gè))輸入裝置,例如鍵盤132和鼠標(biāo)133。存儲(chǔ)單元139包括硬盤驅(qū)動(dòng)器140和軟盤驅(qū)動(dòng)器(FDD)141。盡管圖1B未示出,但是磁帶驅(qū)動(dòng)器可以用作存儲(chǔ)單元。
通過將硬件構(gòu)成元件和軟件構(gòu)成元件組合在一起來實(shí)現(xiàn)布局控制裝置。
布局控制裝置用于控制多個(gè)局部顯示區(qū)的布局,其中在每個(gè)局部顯示區(qū)中裝入對(duì)其分配的數(shù)據(jù),布局控制裝置還用于將數(shù)據(jù)布置在頁面上,該布局控制裝置包括預(yù)測(cè)單元,用于計(jì)算每個(gè)局部顯示區(qū)的可移動(dòng)區(qū)域,并根據(jù)該可移動(dòng)區(qū)域來預(yù)測(cè)每個(gè)局部顯示區(qū)是否與排列在該頁面上的另一對(duì)象重疊,其中在每個(gè)局部顯示區(qū)中裝入對(duì)其分配的數(shù)據(jù)。布局控制裝置還包括防止重疊鏈接顯示單元,用于在預(yù)測(cè)單元預(yù)測(cè)為相互重疊的局部顯示區(qū)與對(duì)象之間設(shè)置防止重疊鏈接,并顯示所設(shè)置的防止重疊鏈接。
提供光盤-ROM(CD-ROM)驅(qū)動(dòng)器142,作為非易失性數(shù)據(jù)源。主計(jì)算機(jī)101根據(jù)例如GNU/Linux或者M(jìn)icrosoft Windows的操作系統(tǒng)進(jìn)行操作,或者進(jìn)行典型地根據(jù)操作系統(tǒng)構(gòu)成的計(jì)算機(jī)系統(tǒng)的操作。因此,輸入/輸出接口143可以由主計(jì)算機(jī)101的處理器單元135使用,處理器單元135通過互聯(lián)總線134建立與該輸入/輸出接口143之間的通信。圖1A所示的包括主計(jì)算機(jī)101的系統(tǒng)的例子為IBM兼容PC(個(gè)人計(jì)算機(jī))、Sun Sparcstation計(jì)算機(jī)或者包括這種計(jì)算機(jī)的計(jì)算機(jī)系統(tǒng)。
布局編輯應(yīng)用程序121典型地駐留在硬盤驅(qū)動(dòng)器140中,從硬盤驅(qū)動(dòng)器140讀取,并由處理器單元135執(zhí)行。當(dāng)從存儲(chǔ)程序121的存儲(chǔ)單元139獲取數(shù)據(jù),或者通過網(wǎng)絡(luò)107獲取數(shù)據(jù)時(shí),使用硬盤驅(qū)動(dòng)器140等。可選地,對(duì)于該操作可以使用存儲(chǔ)器單元136。在CD-ROM或者軟盤上對(duì)應(yīng)用程序121進(jìn)行編碼,通過相應(yīng)的CD-ROM驅(qū)動(dòng)器142或者相應(yīng)的FDD 141讀取該應(yīng)用程序121,并提供給用戶。
可選地,用戶可以從網(wǎng)絡(luò)107安裝應(yīng)用程序121??梢詫④浖牧硪挥?jì)算機(jī)可讀介質(zhì)裝入主計(jì)算機(jī)101,該計(jì)算機(jī)可讀介質(zhì)具有適當(dāng)容量,包括磁帶、ROM、集成電路、磁光盤、計(jì)算機(jī)可讀卡例如PCMCIA卡和通過主計(jì)算機(jī)101與另一裝置之間的無線通信或紅外通信而讀取的介質(zhì)、電子郵件通信、或者在WEB網(wǎng)站上具有所記錄的信息的因特網(wǎng)或內(nèi)部網(wǎng)。順便提一句,這些計(jì)算機(jī)可讀介質(zhì)僅涉及標(biāo)準(zhǔn)介質(zhì)。介質(zhì)類型并不局限于此。還可以使用任意其它計(jì)算機(jī)可讀介質(zhì)。
調(diào)用“布局編輯程序”的應(yīng)用程序121是用于執(zhí)行可變數(shù)據(jù)打印(Variable Data Printing,VDP)的程序模塊,該應(yīng)用程序121包括兩個(gè)軟件組件布局引擎模塊105;以及用戶界面模塊103。布局引擎模塊105是軟件模塊,它根據(jù)對(duì)容器(矩形區(qū)域)的尺寸和位置施加的限制逐記錄讀取存儲(chǔ)在數(shù)據(jù)庫119中的可變數(shù)據(jù),其中該容器用作在每個(gè)中裝入數(shù)據(jù)的局部顯示區(qū),并根據(jù)對(duì)該容器施加的限制來計(jì)算每個(gè)裝入所讀取的數(shù)據(jù)的容器的尺寸和位置。在布局引擎模塊105作為用于確定每個(gè)局部顯示區(qū)(容器)的尺寸和位置的應(yīng)用程序而運(yùn)行,并將繪制(render)信息輸出到打印機(jī)驅(qū)動(dòng)器(未示出)的情況下,打印機(jī)驅(qū)動(dòng)器對(duì)可變數(shù)據(jù)文檔執(zhí)行圖像繪制處理,產(chǎn)生打印數(shù)據(jù)。
用戶界面模塊103提供一種使用戶創(chuàng)建文檔模板并將數(shù)據(jù)源與該文檔模板中的容器相關(guān)聯(lián)的機(jī)制。通過通信信道123,用戶界面模塊103和布局引擎模塊105可以相互通信。用于創(chuàng)建文檔的數(shù)據(jù)源存儲(chǔ)在位于執(zhí)行數(shù)據(jù)庫應(yīng)用程序的另一計(jì)算機(jī)上的數(shù)據(jù)庫服務(wù)器117上的數(shù)據(jù)庫119中。通過到網(wǎng)絡(luò)107的連接,主計(jì)算機(jī)101可以與數(shù)據(jù)庫服務(wù)器117通信。在執(zhí)行可變數(shù)據(jù)打印的情況下,布局編輯應(yīng)用程序121產(chǎn)生存儲(chǔ)到主計(jì)算機(jī)101或作為另一計(jì)算機(jī)的文件服務(wù)器115中的文檔模板。布局編輯應(yīng)用程序121還產(chǎn)生通過與數(shù)據(jù)進(jìn)行合并的文檔模板而創(chuàng)建的文檔。該文檔存儲(chǔ)到主計(jì)算機(jī)101的存儲(chǔ)單元139中或文件服務(wù)器115中,或者由打印機(jī)113直接打印。
打印服務(wù)器109對(duì)未直接連接到網(wǎng)絡(luò)107的打印機(jī)113提供網(wǎng)絡(luò)功能。通過典型的通信信道111,打印服務(wù)器109和打印機(jī)113相互連接。
圖2示出除了主計(jì)算機(jī)101的布局引擎模塊105之外,布局引擎225還設(shè)置在引擎服務(wù)器227內(nèi)的配置。引擎服務(wù)器227是典型計(jì)算機(jī)。存儲(chǔ)在文件服務(wù)器115內(nèi)的文檔模板可以與存儲(chǔ)在數(shù)據(jù)庫119內(nèi)的數(shù)據(jù)合并,以使布局引擎225創(chuàng)建用于打印或其它目的的文檔。在用戶界面模塊103的控制下,通過用戶界面(UI)窗口輸入表示該操作的數(shù)據(jù),而且可以設(shè)置該數(shù)據(jù),以僅打印特定記錄。
應(yīng)用程序配置主窗口在運(yùn)行期間,用戶界面模塊103(圖1A)使圖3所示的應(yīng)用程序窗口301顯示在顯示單元144上。應(yīng)用程序窗口301包括菜單欄302和工具欄303,可以將它們?cè)O(shè)置為非顯示狀態(tài),而且可以在屏幕上將它們移動(dòng)到各位置,應(yīng)用程序窗口301還包括工作區(qū)306,可以根據(jù)鼠標(biāo)133的位置和操作移動(dòng)其位置;可選的板311;以及光標(biāo)/指針裝置313。這些組件是應(yīng)用程序窗口301的特征。
根據(jù)公知技術(shù)的菜單欄302具有許多在菜單選項(xiàng)之下展開的菜單項(xiàng)目304。工具欄303具有許多可以根據(jù)應(yīng)用程序的模式而進(jìn)入非顯示狀態(tài)或者顯示狀態(tài)的工具按鈕305??蛇x的標(biāo)尺308用于表示工作區(qū)306中的指針、頁面、線、空白指導(dǎo)(margin guide)以及容器或者對(duì)象的位置。板311用于訪問附加功能,例如,可變數(shù)據(jù)的庫(variable data library)。板311具有按鈕312,用于提供窗口控制功能,以使窗口移動(dòng)、調(diào)整窗口的尺寸或者關(guān)閉窗口。板311的顯示是可選的。板311可以顯示在工作區(qū)306的前景上,或者可以隱藏在對(duì)象的后面??梢詫?duì)板311的顯示進(jìn)行控制,以使板311僅顯示在應(yīng)用程序窗口301內(nèi),或者部分或全部顯示在應(yīng)用程序窗口301之外。
工具欄303至少具有用戶可選擇的“按鈕”403至406(例如,參考圖4),接下來將說明它們。
選擇工具按鈕403用于選擇、移動(dòng)容器的邊、調(diào)整其尺寸,并且用于鎖定(固定)或者解鎖容器。通過圍繞多個(gè)容器進(jìn)行拖動(dòng),或者通過在選擇容器的同時(shí)保持CTRL鍵被按下,可以選擇多個(gè)容器。
文本容器工具按鈕404用于創(chuàng)建具有靜態(tài)或者可變文本的容器。
圖像容器工具按鈕405用于創(chuàng)建具有靜態(tài)或者可變圖像的容器。
鏈接工具按鈕406用于創(chuàng)建用于使容器相互關(guān)聯(lián)的鏈接,而且還用于控制鏈接的距離。
根據(jù)公知技術(shù),這些按鈕可以被顯示為適應(yīng)操作狀況而變化的圖標(biāo)。
通過在頁面上布置容器和鏈接,布局編輯應(yīng)用程序121利用圖3所示的應(yīng)用程序窗口301來確定基本布局?;静季钟米骺勺償?shù)據(jù)打印的基礎(chǔ)。在基本布局中的全部容器是固定容器的情況下,全部打印記錄結(jié)果具有相同的布局。在基本布局中的容器是可變?nèi)萜?后面說明)的情況下,每個(gè)容器的尺寸或位置在根據(jù)以記錄為單位讀取的數(shù)據(jù)的量或者大小的限制(后面說明)的范圍內(nèi)變化。布局編輯應(yīng)用程序121所創(chuàng)建的文檔模板僅用于確定基本布局。在包括可變?nèi)萜鞯那闆r下,根據(jù)所讀取的數(shù)據(jù)來控制打印內(nèi)容的布局。
文檔模板圖3所示的工作區(qū)306用于顯示并編輯文檔模板的設(shè)計(jì)。這使用戶能夠理解準(zhǔn)備打印的文檔的總體設(shè)計(jì),而且還可以使用戶理解合并后的文檔如何根據(jù)可變數(shù)據(jù)的量和大小而改變。在外部數(shù)據(jù)庫鏈接到模板的情況下,可以在每個(gè)容器內(nèi)顯示可變文本或者可變圖像,以便可以預(yù)覽當(dāng)前處理的文檔。在光標(biāo)移動(dòng)到容器上,或者在選擇容器的情況下,可以始終顯示文檔結(jié)構(gòu)和可變數(shù)據(jù)容器。
工作區(qū)306的特征是滾動(dòng)條307、可選的標(biāo)尺308以及文檔模板309。文檔模板309可以表示多個(gè)頁面的存在。通過執(zhí)行公知技術(shù),用戶可以指定給定文檔模板的頁面大小。例如,從菜單的“文件”中選擇“頁面設(shè)置”,以顯示用于設(shè)置頁面大小的對(duì)話框。然后,反映用戶所指定的頁面大小。每個(gè)文檔的實(shí)際頁數(shù)可能根據(jù)可變數(shù)據(jù)而改變。在可變數(shù)據(jù)不能裝入一頁,而且基本布局沒有施加使容器適應(yīng)具有預(yù)定大小的頁面的限制的情況下,自動(dòng)創(chuàng)建附加頁面。在基本布局中設(shè)置有對(duì)裝入具有預(yù)定大小的頁面的容器的約束(可以通過使用錨圖標(biāo)等設(shè)置該限制,將在下面說明)的情況下,確定每個(gè)容器的尺寸和位置,同時(shí)在頁面中改變?nèi)萜鞯某叽纭8鶕?jù)環(huán)境需要減小要裝入的可變數(shù)據(jù)。因此,布局是對(duì)應(yīng)于每個(gè)記錄而動(dòng)態(tài)確定的。
圖3所示頁面中的虛線所表示的邊界線310是可以可選地設(shè)置并表示頁面上的可打印對(duì)象的最大寬度的頁邊距。
圖4示出可以顯示在一頁的文檔模板309上的對(duì)象的例子。圖4示出多個(gè)容器407和408。容器407和408之間的關(guān)系由用于固定邊414的位置的錨409、非固定邊410、鏈接412以及滑動(dòng)塊413來確定。錨圖標(biāo)409可以設(shè)置在矩形容器的角或邊上,或者設(shè)置在容器的中心。在設(shè)置有錨圖標(biāo)409的情況下,設(shè)置錨圖標(biāo)409的場(chǎng)所的位置是固定的。即,在圖4所示的例子中,錨圖標(biāo)409設(shè)置在容器407的左上角,如該圖所示。在可變數(shù)據(jù)流入容器407,而且對(duì)應(yīng)于該可變數(shù)據(jù)的圖像大小或文本量大的情況下,可以向右和向下擴(kuò)大容器407。在錨圖標(biāo)409設(shè)置在邊上的情況下,該邊是固定的??梢匝仄溆嗳齻€(gè)邊的方向擴(kuò)大該容器。
在錨圖標(biāo)409設(shè)置在容器的中心的情況下,該容器的中心的位置是固定的。該容器可以沿四個(gè)方向擴(kuò)大,而不改變矩形容器的中心的位置。下面將詳細(xì)說明的鏈接412表示容器407和408相互關(guān)聯(lián)。鏈接412還表示容器408可以向右移動(dòng),而保持對(duì)應(yīng)于該鏈接412而設(shè)置的長(zhǎng)度(在該鏈接是將在下面說明的可變鏈接的情況下,可以指定該鏈接的長(zhǎng)度的范圍)?;瑒?dòng)塊413表示該容器可以平行于分別設(shè)置有滑動(dòng)塊413的邊而被水平移動(dòng)。
容器下面說明容器。容器是被稱為“局部顯示區(qū)”的空間,在該“局部顯示區(qū)”中,固定(靜態(tài))或可變文本或圖像以記錄為單位從可變數(shù)據(jù)文件流入文檔模板,并被繪制。如圖4所示,該系統(tǒng)將容器與其它容器或?qū)ο笠黄鸩贾?。根?jù)用戶利用用戶界面窗口執(zhí)行的操作或者發(fā)出的指令,通過操作鼠標(biāo)133來進(jìn)行容器的移動(dòng)、調(diào)整尺寸、以及重新創(chuàng)建容器。在此,用作例如文本數(shù)據(jù)或者圖像數(shù)據(jù)的內(nèi)容數(shù)據(jù)所流入的區(qū)域的容器有時(shí)被稱為“局部顯示區(qū)”。
利用錨圖標(biāo)409、鏈接412以及滑動(dòng)塊413規(guī)定關(guān)于容器的變形的限制。在根據(jù)文本或圖像數(shù)據(jù)的信息的量而允許變形的方向,容器空間變形,在該容器內(nèi)執(zhí)行文本或者圖像數(shù)據(jù)的布局。如果需要使兩個(gè)相關(guān)聯(lián)(鏈接)的容器變形,則控制容器的形狀,以便能根據(jù)要裝入容器的文本或圖像數(shù)據(jù)的量以平衡良好的方式變形(而不壓迫容器)。
通過作為指示裝置(圖3中的313)的鼠標(biāo)133執(zhí)行的操作,來指定在工作區(qū)306中每個(gè)容器的位置??梢允谷萜饕苿?dòng),或者可以調(diào)整其在用作用戶界面的窗口(圖3)中的尺寸。此外,可以添加新的容器。利用錨圖標(biāo)、鏈接和滑動(dòng)塊,可以設(shè)置關(guān)于變形的各種條件,例如容器之間的相互關(guān)系。每個(gè)容器都具有從視覺上顯示內(nèi)容、以及在容器之間進(jìn)行相互作用、并對(duì)容器內(nèi)的信息進(jìn)行編輯的功能。容器定義如下。
(1)在容器內(nèi),輸入固定(靜態(tài))或者可變內(nèi)容。從數(shù)據(jù)是從數(shù)據(jù)源獲取的意義上說,內(nèi)容是動(dòng)態(tài)的,根據(jù)不同文檔內(nèi)的不同數(shù)據(jù),改變?nèi)萜鞯某叽?。?dòng)畫內(nèi)容和通過另一方法隨時(shí)間變化的內(nèi)容不包括在可變內(nèi)容中,因?yàn)樵搩?nèi)容不適合打印。在利用容器創(chuàng)建的全部文檔中,以同樣的方式顯示固定內(nèi)容。然而,在固定內(nèi)容與可變內(nèi)容之間設(shè)置有鏈接的情況下,對(duì)固定內(nèi)容的顯示進(jìn)行控制,以便響應(yīng)于可變?nèi)萜鞯牟僮鳎淖冊(cè)谖臋n間的顯示位置。
(2)容器具有裝飾功能,例如文本設(shè)置,例如對(duì)內(nèi)容應(yīng)用的背景色、邊界以及字體式樣。這種要設(shè)置的特征被稱為容器屬性??梢詫?duì)應(yīng)于每個(gè)容器設(shè)置容器屬性。還可以這樣設(shè)置容器屬性,以便一個(gè)容器與另一容器具有相同的容器屬性。
(3)在創(chuàng)建文檔時(shí),容器與從數(shù)據(jù)源接收到的數(shù)據(jù)合并。裝飾功能反映在作為全部固定內(nèi)容的典型打印產(chǎn)品的輸出產(chǎn)品上。使反映裝飾的結(jié)果可見??勺儍?nèi)容顯示從數(shù)據(jù)源接收到的特定數(shù)據(jù)。特別是,相對(duì)于特定數(shù)據(jù),根據(jù)對(duì)容器設(shè)置的條件,可變地設(shè)置容器的尺寸。例如,利用打印機(jī)113可以打印可變地設(shè)置的容器的布局以及該容器內(nèi)的具體數(shù)據(jù)顯示,或者將其顯示在顯示裝置144上,或者使其既顯示又打印。
(4)關(guān)于容器的設(shè)置,該系統(tǒng)具有用戶界面模塊103,例如,用于編輯容器或者用于設(shè)置顯示的交互式圖形用戶界面(GUI)。用戶界面的每個(gè)元素(element)顯示在顯示單元144的屏幕上,而不在文檔中打印。用戶界面模塊103可以將容器的某些裝飾功能,例如,背景色和字體顯示在界面屏幕上,而且可以將裝飾功能添加到設(shè)置、編輯以及顯示容器的功能中。
(5)此外,用戶界面模塊103設(shè)置容器之間的邊界、為了交互式改變或者顯示容器的尺寸和位置而設(shè)置在容器上的位于角部的圖標(biāo)、以及當(dāng)容器與從數(shù)據(jù)源接收到的數(shù)據(jù)合并時(shí)容器的操作條件(例如,與重寫次數(shù)、線和圖標(biāo)的設(shè)置、以及文本的編輯有關(guān)的信息)。
容器具有限制,以使容器與內(nèi)容相關(guān)聯(lián)并控制其顯示和布局,從而顯示每個(gè)文檔中的容器的內(nèi)容。這些限制(因?yàn)楣潭ɑ蚩勺儍?nèi)容與容器的關(guān)聯(lián))用作使用戶根據(jù)一個(gè)文檔模板來控制許多文檔的主要方法。限制的例子是容器中內(nèi)容高度的最大值是4英寸。另一個(gè)限制的例子是容器內(nèi)的左邊緣應(yīng)該顯示在每個(gè)文檔內(nèi)的相同的水平位置。利用GUI可以設(shè)置上述條件,以顯示和編輯該限制的條件。
與圖像在頁面上具有所定義的位置的情況相同,指定內(nèi)容的位置。容器具有位置和尺寸。根據(jù)要插入容器的內(nèi)容,可以在設(shè)置容器的布局的條件下,在可變數(shù)據(jù)打印中顯示和編輯該內(nèi)容。在使用容器的情況下,用戶可以指定文檔的內(nèi)容的大小和位置。通過使用一個(gè)文檔模板創(chuàng)建一些文檔。因此,通過使用用戶界面模塊103,用戶可以指定對(duì)容器的限制。
一個(gè)容器的邊定義顯示在文檔中的內(nèi)容的相關(guān)容器的虛擬邊界。例如,矩形容器的左邊確定內(nèi)容的相關(guān)容器的布局的左邊位置。同樣,容器的高度對(duì)與所創(chuàng)建的文檔相關(guān)的內(nèi)容的高度施加限制。
在下面的說明中,定義用于約束內(nèi)容的顯示的特定值的術(shù)語“固定”以相同的方式應(yīng)用于全部文檔。
(1)在容器的寬度固定的情況下,在全部文檔內(nèi)對(duì)相關(guān)聯(lián)的內(nèi)容賦予相同的寬度。
(2)在容器的高度固定的情況下,在全部文檔內(nèi)對(duì)相關(guān)聯(lián)的內(nèi)容賦予相同的高度。
(3)在對(duì)距離施加的限制是該距離是固定的情況下,所指定的距離是對(duì)全部文檔的限制。
(4)在容器的左邊和右邊被固定的情況下,在允許變形以使內(nèi)容完全適合容器的高度方向或Y方向,可以改變?nèi)萜鞯母叨群驮赮方向上的位置。
(5)在容器的上邊和下邊被固定的情況下,在允許變形以使內(nèi)容完全適合容器的寬度方向或水平方向,可以改變?nèi)萜鞯某叽纭?br>
(6)容器的縱軸是與容器的右邊和左邊平行并通過它們之間的中間位置而延伸的假想的垂直線。在容器的縱軸被固定的情況下,在全部文檔內(nèi)設(shè)置相同的容器的左邊和右邊的水平位置的平均位置。根據(jù)該限制,可以改變?nèi)萜鞯膶挾?。在不同文檔中,左邊和右邊可以最靠近或最遠(yuǎn)離縱軸。然而,在全部文檔中,將該軸設(shè)置在相同的水平位置上。因此,該限制不影響容器的高度和水平位置。
(7)同樣地,在水平軸被固定的情況下,對(duì)容器施加限制,以定義上邊和下邊的垂直位置。然而,該限制不影響容器的高度。
(8)在水平軸和縱軸兩者均被固定的情況下,這意味著容器的中心位置被固定。然而,該限制不影響容器的寬度和高度。
(9)在容器的角部、容器的邊的中間位置、或者容器的中心位置被固定的情況下,在與該容器相關(guān)聯(lián)的全部文檔中的每個(gè)中在同樣的位置顯示該容器。這意味著,例如,在容器的左上角被固定的情況下,在全部文檔內(nèi),所布置的容器的左上位置位于相同的位置。
(10)通過與頁面的左邊或右邊、左頁邊距或右頁邊距、或者另一水平位置相關(guān)聯(lián),可以固定縱邊或者縱軸。同樣地,通過與頁面的上邊或下邊、上頁邊距或下頁邊距、或者另一縱向位置相關(guān)聯(lián),可以固定水平邊或者水平軸。
與術(shù)語“固定”相反的術(shù)語是“可變”,它表示在文檔之間(或者記錄之間)可以改變?nèi)萜鞯倪?、軸、角部、或者中間位置,或者對(duì)文檔的限制。例如,在頁面中,期望根據(jù)可變數(shù)據(jù)的大小或量動(dòng)態(tài)地改變布局。然而,用戶可能希望固定特定容器的尺寸和位置,或者固定位于頁面的角部的容器的四個(gè)角。因此,布局編輯應(yīng)用程序121能用于對(duì)應(yīng)于每個(gè)容器(每個(gè)局部顯示區(qū))來適當(dāng)設(shè)置邊、軸、角部或者中間位置是固定的還是可變的。因此,用戶可以創(chuàng)建所期望的基本布局,以確定文檔模板的基本布局。
顯示/編輯容器新創(chuàng)建容器的方法容器被分類為兩種類型,即,文本容器和圖像容器。每個(gè)文本容器具有文本,或者具有文本和所嵌入的圖像。每個(gè)圖像容器僅具有圖像。如圖4所示,通過在文本容器工具404上或者圖像容器工具405上點(diǎn)擊鼠標(biāo)133,并將矩形拖動(dòng)到模板309上,可以在文檔模板309上創(chuàng)建新文本容器或者新圖像容器。通過啟動(dòng)適當(dāng)?shù)奈谋救萜鞴ぞ?04或者405,并且通過在文檔模板309上點(diǎn)擊鼠標(biāo)133,創(chuàng)建容器。在這種情況下,插入具有缺省尺寸的容器。可選地,提供對(duì)話框或者提示信息,以輸入新容器的尺寸。可以利用各種方法設(shè)置容器尺寸。容器被自動(dòng)預(yù)先定義,通過所計(jì)算的方案在文檔模板309上創(chuàng)建并布置該容器。在利用例如鼠標(biāo)的輸入單元選擇所產(chǎn)生的容器,而且通過點(diǎn)擊鼠標(biāo)的右鍵指定該容器的屬性的情況下,顯示容器屬性對(duì)話框,以便可以設(shè)置對(duì)該容器施加的限制。在容器屬性對(duì)話框UI(對(duì)應(yīng)于局部顯示區(qū)設(shè)置單元)中,可以設(shè)置上述各種限制。在容器屬性對(duì)話框中,可以設(shè)置容器的尺寸(即,寬度和高度)和位置。為了設(shè)置可變尺寸,設(shè)置容器的基本樣式(pattern)(基本尺寸和基準(zhǔn)位置)。此外,可以設(shè)置最大容器尺寸(寬度和高度)以及最小容器尺寸(寬度和高度)。
顯示容器的方法圖5A至5D示出容器的邊的規(guī)則。為了表示某邊的狀態(tài),布局編輯應(yīng)用程序121利用填充線(實(shí)線)503或者虛線504繪制邊。作為特征,布局編輯應(yīng)用程序121具有錨(利用506、507和509表示的、在邊的附近繪制的線、形狀和圖標(biāo))、圖柄(handle)(繪制在邊或形狀上或其附近的、用于移動(dòng)和校正的控制點(diǎn)502)、滑動(dòng)塊(繪制在邊的兩側(cè)短平行線,即,圖4中的413)、擴(kuò)大/縮小圖標(biāo)(505)、以及顏色。
下面說明圖5A至5D所示的容器顯示方法的規(guī)則。
1.對(duì)于固定邊,利用填充線繪制該邊。
2在寬度固定的情況下,利用填充線繪制左邊和右邊。
3.該高度固定的情況下,利用填充線繪制上邊和下邊。
4.不繪制軸。
5.在全部尚未繪制的邊的附近繪制擴(kuò)大/縮小圖標(biāo),利用虛線繪制該邊。
6.在一對(duì)縱邊或軸與水平邊或軸被固定的情況下,在它們之間的交叉點(diǎn)繪制錨。
7.在未在每個(gè)固定邊上繪制錨的情況下,在兩個(gè)邊緣的中心繪制滑動(dòng)塊。此外,在一對(duì)縱邊和水平邊,或者一對(duì)縱軸和水平軸兩者均被固定的情況下,作為繪制錨的例子,可以考慮在它們之間的交叉點(diǎn)繪制錨。
8.在對(duì)應(yīng)于一對(duì)縱邊或軸與水平邊或軸既沒有繪制錨也沒有繪制滑動(dòng)塊的情況下,在它們之間的交叉點(diǎn)繪制圖柄。
上述規(guī)則1、2和3定義的線被固定或者限制,如上所述。因此,利用實(shí)線繪制上述規(guī)則1、2和3定義的線。利用虛線繪制規(guī)則5定義的可變邊。規(guī)則6、7和8定義的固定點(diǎn)表示錨。某些固定邊表示滑動(dòng)塊。其它點(diǎn)表示圖柄。
用戶之后設(shè)置的限制的優(yōu)先級(jí)高于上述規(guī)則。即,在之后設(shè)置了另一限制,而且該規(guī)則影響應(yīng)該根據(jù)該規(guī)則繪制的邊,則改變用于繪制實(shí)線或虛線的繪制條件。
繪制可變邊的位置取決于容器的內(nèi)容。如后所述,使用“動(dòng)態(tài)校準(zhǔn)處理”。這意味著,內(nèi)容與文檔模板合并,而且通過使用用戶界面使內(nèi)容可見。可以利用替代執(zhí)行功能來確定在用戶界面中可變邊的布局位置,或者在全部文檔中平均化的容器的內(nèi)容區(qū)域。根據(jù)上述規(guī)則,布局編輯應(yīng)用程序121可以執(zhí)行容器顯示控制、布局控制以及布局編輯。
通過將內(nèi)容插入尺寸可以根據(jù)設(shè)置在容器的每個(gè)邊上的錨圖標(biāo)或滑動(dòng)塊圖標(biāo)而改變的容器內(nèi),可以可視化該內(nèi)容的顯示。所設(shè)置的、對(duì)應(yīng)于容器和該容器的邊的圖標(biāo)以如下方式工作。
錨表示邊或軸的交叉處是固定的。圖4中的圖標(biāo)409是錨圖標(biāo)的例子,其表示交叉邊414是固定的。
滑動(dòng)塊意味著盡管有關(guān)的邊在垂直于該邊的方向被固定,但是可以平移該有關(guān)的邊。在布局編輯應(yīng)用程序121的控制下,在輔助對(duì)話框窗口內(nèi)顯示其寬度和高度的值,因此,可以設(shè)置作為容器尺寸所允許的基本值、最小值以及最大值的基本樣式。
如圖5A所示,容器501的寬度和高度兩者是不固定的。實(shí)線表示的邊503是固定邊。配置虛線表示的邊504,以便其寬度和高度兩者都是可變的。擴(kuò)大/縮小圖標(biāo)505表示相鄰邊504是可變的。參考圖5B,利用實(shí)線表示的容器501的邊503是固定邊。
參考圖5B,錨圖標(biāo)506表示在邊503相互交叉的高度方向和寬度方向上,位移被限制。
參考圖5C,將容器501設(shè)置為容器501能夠在圍繞錨圖標(biāo)507所表示的中心點(diǎn)在寬度和高度方向被相等地?cái)U(kuò)大的狀態(tài),因此,其每個(gè)邊的寬度和高度是可變的。在這種情況下,相對(duì)于通過錨圖標(biāo)507的中軸(縱軸),容器501可以沿每個(gè)邊的橫向和縱向位移。因此,可以改變其容器尺寸。在擴(kuò)大/縮小過程中,調(diào)整布局,以便始終將錨圖標(biāo)507的位置設(shè)置在容器501的中心。參考圖5D,在容器501內(nèi),對(duì)應(yīng)于固定的上邊508,設(shè)置錨圖標(biāo)509??梢愿淖冇商摼€表示的邊的寬度和高度。
設(shè)置鏈接的方法圖6是示出由布局編輯應(yīng)用程序121執(zhí)行的鏈接設(shè)置方法的流程圖。圖7中的(A)~(C)是示出用戶界面窗口的顯示例子的圖。下面參考圖6和圖7中的(A)~(C)來說明設(shè)置容器之間的鏈接的操作方法。利用信息處理裝置(主計(jì)算機(jī))101的處理器單元135可以實(shí)現(xiàn)本申請(qǐng)中所描述的流程圖所示的處理。
在圖6所示的鏈接設(shè)置方法中,創(chuàng)建鏈接設(shè)置對(duì)象,以設(shè)置容器(至少兩個(gè)容器)之間的鏈接(步驟S601)。圖7中的(A)示出創(chuàng)建兩個(gè)容器701和702的狀態(tài)。
隨后,在步驟S602,選擇上述鏈接工具按鈕406(參見圖4)。圖7中的(A)所示的容器701和702表示與上述圖4中的容器407和408相同的內(nèi)容。圖標(biāo)703和704是與圖4所示的錨圖標(biāo)409相同的錨圖標(biāo)。圖7中的(A)還示出鼠標(biāo)指針705。
在完成了選擇鏈接工具按鈕406時(shí)(步驟S602),選擇容器。在步驟S603,用戶在其中一個(gè)容器(例如,容器701)上點(diǎn)擊鼠標(biāo)133,以選擇該容器。然后,在步驟S604,用戶在另一容器(例如,容器702)上點(diǎn)擊鼠標(biāo)133,以完成對(duì)與要設(shè)置的鏈接相對(duì)應(yīng)的另一容器的選擇。
在圖7中的(B)中,顯示表示鼠標(biāo)指針133的示意軌跡的線段706(步驟S605),該線段706連接在步驟S603點(diǎn)擊鼠標(biāo)133的點(diǎn)(P1)與在步驟S604點(diǎn)擊鼠標(biāo)133的點(diǎn)(P2)。在與該線段相交的容器的邊711和712之間設(shè)置鏈接707。最后,將界面窗口更新為如圖7中的(C)所示在容器之間設(shè)置有鏈接707的狀態(tài)(步驟S606)。在設(shè)置了鏈接707的情況下,還自動(dòng)改變用于顯示容器的窗口顯示。在改變后的窗口(參見圖7中的(C))中,利用表示可變邊的虛線來表示邊708,如上所述。邊708的狀態(tài)從固定邊(對(duì)應(yīng)于在設(shè)置鏈接之前所提供的邊711和712)變?yōu)榭勺冞?。這是因?yàn)?,鏈?07的設(shè)置需要將容器701和702的邊的狀態(tài)變?yōu)榭勺儬顟B(tài)。如果即使在設(shè)置了鏈接707之后,全部邊仍是固定的,則利用該鏈接指定容器之間的相對(duì)關(guān)系。上述處理旨在防止出現(xiàn)這種矛盾,而且在布局編輯應(yīng)用程序121的控制下自動(dòng)執(zhí)行該處理。
例如圖5A至5D中的圖標(biāo)505的指示符709可視地表示通過設(shè)置鏈接707可以分別移動(dòng)容器701和702的方向。在圖7中的(C)所示的例子中,可變地改變左容器701的右邊和右容器702的左邊。這是一個(gè)例子。通過設(shè)置容器以使其具有由圖4中的413所指定的滑動(dòng)塊,可以表示邊708是可變的。在布局編輯應(yīng)用程序121的控制下,可以執(zhí)行上述處理。
布局計(jì)算方法(總流程)根據(jù)該實(shí)施例的布局編輯應(yīng)用程序121具有利用用戶界面模塊103來創(chuàng)建容器、以及通過使容器相互關(guān)聯(lián)(即,設(shè)置它們之間的鏈接)來創(chuàng)建布局的布局模式,還具有將數(shù)據(jù)源的每個(gè)記錄插入布局引擎模塊105所創(chuàng)建的布局中、并預(yù)覽實(shí)際插入記錄后獲得的布局結(jié)果的預(yù)覽模式。在預(yù)覽模式下,插入實(shí)際的記錄,并根據(jù)上述優(yōu)先級(jí)順序來計(jì)算布局。然而,在預(yù)覽模式下,計(jì)算用于顯示的布局。即使在實(shí)際打印的情況下,仍通過使布局引擎模塊105將數(shù)據(jù)插入每個(gè)容器中來計(jì)算布局。此時(shí)的計(jì)算方法與預(yù)覽模式下的相同。圖8示出布局計(jì)算的流程。
首先,在步驟S801選擇預(yù)覽模式。自動(dòng)布局系統(tǒng)具有創(chuàng)建容器、并通過使容器相互關(guān)聯(lián)來創(chuàng)建布局的布局模式,還具有將要顯示在所創(chuàng)建的布局中的數(shù)據(jù)記錄插入其中、并預(yù)覽實(shí)際插入記錄后所獲得的布局結(jié)果的預(yù)覽模式。在預(yù)覽模式下,插入實(shí)際的記錄,并計(jì)算布局。然而,在預(yù)覽模式下,計(jì)算用于顯示的布局。即使在實(shí)際打印的情況下,仍通過插入記錄來計(jì)算布局。
此時(shí)使用的計(jì)算方法與預(yù)覽模式下的相同。在設(shè)置了預(yù)覽模式的情況下,在步驟S802選擇并插入要預(yù)覽的記錄。在記錄被插入的情況下,在步驟S803執(zhí)行布局計(jì)算以布置記錄。在步驟S804,顯示在步驟S803計(jì)算的布局。在步驟S805,判斷是否預(yù)覽另一記錄。如果在處理步驟S805中判斷為不需要預(yù)覽另一記錄(步驟S805中的“否”),則該處理進(jìn)入步驟S807,以結(jié)束預(yù)覽模式。如果在步驟S805中判斷為要預(yù)覽另一記錄,則在步驟S806選擇另一記錄,在步驟S803再次執(zhí)行布局計(jì)算,并在步驟S804預(yù)覽該記錄。
在系統(tǒng)未處于預(yù)覽模式,而且系統(tǒng)執(zhí)行打印的情況下,對(duì)要打印的全部記錄依次執(zhí)行布局計(jì)算。因此,在打印記錄時(shí),無需步驟S804中的處理。在步驟S805,判斷是否對(duì)要打印的全部記錄進(jìn)行了處理。繪制并輸出在步驟S803執(zhí)行的布局計(jì)算的結(jié)果。然后,利用打印機(jī)驅(qū)動(dòng)器產(chǎn)生打印數(shù)據(jù),并將其輸出到打印機(jī)。在這種情況下,在完成了輸出全部記錄(指定要打印的全部記錄)的打印數(shù)據(jù)時(shí),該處理結(jié)束??梢栽谔幚砥鲉卧?35的控制下執(zhí)行上述處理。
動(dòng)態(tài)布局計(jì)算方法圖9是示出布局計(jì)算的處理的詳細(xì)流程的流程圖。圖10中的(A)~(C)示出該處理中的用戶界面窗口的顯示例子。圖9是示出布局計(jì)算處理方法的流程圖。在該圖中示出的處理對(duì)應(yīng)于打印/預(yù)覽進(jìn)行可變數(shù)據(jù)打印的一個(gè)記錄中的布局計(jì)算方法。在存在多個(gè)記錄的情況下,重復(fù)下面的處理。
首先,在步驟S901,布局編輯應(yīng)用程序121獲得一組容器,并計(jì)算其布局。對(duì)一組相關(guān)的容器執(zhí)行布局計(jì)算。例如,如圖11所示,四個(gè)容器A、B、C和D布置在頁面上,而且它們相互相關(guān)。在這種情況下,通過鏈接1106使容器A和B相互相關(guān)。此外,通過鏈接使容器C和D相互相關(guān)。因此,容器A和B形成第一組,容器C和D形成第二組。例如圖11所示的容器可以含有錨1101、固定邊1102、控制點(diǎn)1103、可變邊1105、表示可變邊的變化方向的箭頭1104、以及滑動(dòng)塊1107。利用鏈接1106表示容器之間的關(guān)聯(lián)。
隨后,在步驟S902,布局編輯應(yīng)用程序121從在步驟S901中獲得的容器組中選擇進(jìn)行布局計(jì)算的一組。對(duì)所選擇的一組容器進(jìn)行布局計(jì)算。首先,通過假定由要插入的數(shù)據(jù)所表示的圖像的大小或文本的量不影響容器,來計(jì)算用作可變?cè)氐?、包括在所選擇的一組容器中的兩個(gè)容器A和B的尺寸。更具體地,布局編輯應(yīng)用程序121判斷容器A是圖像數(shù)據(jù)容器還是文本容器??梢愿鶕?jù)對(duì)容器設(shè)置的屬性來執(zhí)行該判斷,如上所述。
隨后,布局編輯應(yīng)用程序121讀取要流入容器A的數(shù)據(jù)。在容器A是圖像數(shù)據(jù)容器的情況下,將圖像數(shù)據(jù)的大小(沿寬度方向排列的像素?cái)?shù)、沿高度方向排列的像素?cái)?shù)、以及分辨率)定義為容器A的尺寸,而沒有限制。在容器A是文本容器的情況下,可以根據(jù)文本數(shù)據(jù)的字符的數(shù)量和字符屬性,例如,由容器A的容器屬性指定的字體類型、字體大小、字符間距、以及線間距,來計(jì)算要流入容器A的數(shù)據(jù)的量。在沒有限制的情況下,不能確定容器A的寬高比。因此,對(duì)其施加限制如下。
在圖11所示的例子中,錨設(shè)置在容器A的左上角和左下角,因此,高度(縱向)是固定的。因此,布局編輯應(yīng)用程序121判斷所計(jì)算的數(shù)據(jù)量(文本量)的字符是否能流入寬度(橫向)被設(shè)置為容器A的基本樣式的寬度的容器A中。如果判斷為全部字符可以流入其中,則不改變被設(shè)置為基本樣式的尺寸(寬度和高度)。如果判斷為不能使全部字符流入其中,因?yàn)橥ㄟ^設(shè)置錨而使高度是固定的,因而沿橫向擴(kuò)大容器A。在這種情況下,布局編輯應(yīng)用程序121計(jì)算允許所計(jì)算的量的字符流入其中的容器A的寬度,并計(jì)算容器A的尺寸。
隨后,在步驟S903,布局編輯應(yīng)用程序121優(yōu)化布局,以使要布置的每個(gè)容器的尺寸與實(shí)際內(nèi)容大小之間的差盡可能小。執(zhí)行布局的優(yōu)化,以便在相互相關(guān)的容器中使要插入的內(nèi)容的大小與要布置的內(nèi)容的大小之間的差盡可能相同,從而動(dòng)態(tài)地改變大小。布局編輯應(yīng)用程序121獲得在步驟S902選擇的容器組的尺寸,即,容器A和B以及鏈接1106(固定鏈接)的總尺寸。然后,布局編輯應(yīng)用程序121計(jì)算該總尺寸與基本布局中的該容器組的尺寸之間的差(在圖11所示的例子中,該容器組的尺寸對(duì)應(yīng)于容器A和B的錨圖標(biāo)之間的距離)。在先前步驟的計(jì)算結(jié)果表明容器A或B的寬度因?yàn)閷?nèi)容流入容器中而增大的情況下,產(chǎn)生差值。通過在該容器組的各元素之間均勻分布該差值,布局編輯應(yīng)用程序121調(diào)整布局。
布局編輯應(yīng)用程序121優(yōu)化布局。在優(yōu)化計(jì)算中,如果發(fā)生違反規(guī)則(即,對(duì)容器施加的限制),則在步驟S904再次計(jì)算容器尺寸,以防止發(fā)生違反規(guī)則。在此描述的規(guī)則是在創(chuàng)建布局時(shí)用戶設(shè)置的限制。該限制的例子是容器的尺寸和位置以及可變鏈接的長(zhǎng)度。在計(jì)算出的布局不違反規(guī)則的情況下,在步驟S902選擇的該組布局結(jié)束。對(duì)頁面上的全部容器組執(zhí)行步驟S902至S904中的處理。在步驟S905,計(jì)算整個(gè)頁面的布局。重復(fù)步驟S902至S904的處理,直到在步驟S905判斷為對(duì)全部容器組執(zhí)行了計(jì)算。當(dāng)對(duì)全部容器組進(jìn)行了計(jì)算時(shí),結(jié)束布局計(jì)算處理。
圖10中的(A)~(C)是示出當(dāng)進(jìn)行布局計(jì)算時(shí)顯示的用戶界面窗口的例子。圖10中的(A)示出插入記錄、并且確定布局的狀態(tài)。圖10中的(A)所示的容器含有錨1001、1002、固定邊1003、1004、可變邊1005、以及指出各容器的可變邊1005的變化方向的箭頭1006和1007。鏈接1008表示容器之間相關(guān)聯(lián)。在這種狀態(tài)下,在記錄發(fā)生改變,并且將具有不同大小的內(nèi)容插入其中的情況下,獲得圖10中的(B)所示的狀態(tài)。由雙點(diǎn)劃線表示圖10中的(A)所示的狀態(tài)下每個(gè)可變邊的位移1009。進(jìn)行布局計(jì)算,以便不違反上述規(guī)則。圖10中的(C)示出布局計(jì)算結(jié)果。計(jì)算容器1012和1013的尺寸,以便與要實(shí)際插入的內(nèi)容的大小具有相同的差,從而容器相互一起變形,而且不違反上述規(guī)則。如圖10中的(C)所示,計(jì)算圖10中的(B)所示的要插入的內(nèi)容(a1b1c1d1和e1f1g1h1)的大小、以及在計(jì)算后獲得的內(nèi)容(a2b2c2d2和e2f2g2h2)的大小,以使在左容器和右容器中的每個(gè)容器中前者內(nèi)容與后者內(nèi)容之間具有相同的差。在處理器單元135和布局引擎模塊105的控制下,執(zhí)行上述處理。
即使在改變?nèi)萜鞒叽缫院?jiǎn)單地使每個(gè)容器中改變前獲得的大小與改變后獲得的大小之間具有相同的差的情況下,在僅考慮內(nèi)容沿橫向變化的布局計(jì)算時(shí)不存在問題,如圖10中的(A)~(C)所示。然而,在這種情況下,當(dāng)應(yīng)該考慮縱向變化和橫向變化兩者來進(jìn)行布局計(jì)算時(shí),存在不能正確獲得容器的尺寸的可能性。在對(duì)圖53所示的、具有橫向尺寸和縱向尺寸的二維布局進(jìn)行處理的情況下,首先,利用圖9所示的布局計(jì)算方法進(jìn)行橫向的調(diào)整。隨后,利用該布局計(jì)算方法進(jìn)行縱向的調(diào)整。即,首先,在執(zhí)行了上述過程之后,在容器5301與5302之間進(jìn)行布局調(diào)整,以使容器5301和5302適合所設(shè)置的值的寬度D。隨后,在容器5302與5303之間進(jìn)行布局調(diào)整,以使容器5302和5303適合所設(shè)置的高度G的縱向范圍。然而,在首先沿橫向進(jìn)行布局調(diào)整,然后沿縱向進(jìn)行布局調(diào)整的情況下,布局結(jié)果可能與用戶所期望的基本布局不同。為了在每個(gè)容器內(nèi)盡可能地防止布局結(jié)果與基本圖形(寬高比)存在偏差,設(shè)想了并可以采用下面的方法。即,將基本圖形與調(diào)整后的布局之間的寬度差的平方、以及基本圖形與調(diào)整后的布局之間的高度差的平方相加。對(duì)應(yīng)于全部容器中的每個(gè)容器計(jì)算該和。然后,通過計(jì)算每個(gè)容器的寬度和高度,布局編輯應(yīng)用程序121可以進(jìn)行布局調(diào)整,以使分別對(duì)應(yīng)于容器的平方和的總和最小。
當(dāng)通過使用該最小二乘方法進(jìn)行布局調(diào)整時(shí),可以確定完全平衡的最終布局,而與用戶最初設(shè)置的基本布局不存在大的偏差。在容器之間設(shè)置將在后面說明的可變鏈接。因此,根據(jù)要流入其中的內(nèi)容數(shù)據(jù)的大小,改變鏈接的尺寸,如后所述。本申請(qǐng)中所描述的布局編輯應(yīng)用程序具有這種布局調(diào)整單元,而且能夠根據(jù)所分配的數(shù)據(jù)的大小來控制多個(gè)局部顯示區(qū)(或容器)的布置位置。
設(shè)置可變鏈接圖12示出在界面窗口中設(shè)置常規(guī)可變鏈接的狀態(tài)。與圖4所示的情況下的界面相同,該界面具有應(yīng)用程序窗口301和工具欄303。典型地,在文檔模板309上存在容器1203和1204。該容器1203和1204含有錨圖標(biāo)1201和1202、以及固定邊1205、1206、1212和1213。在容器1203與1204之間設(shè)置具有可變尺寸的鏈接1209,以連接該容器。因?yàn)樵谌萜?203與1204之間設(shè)置有鏈接1209,因此利用虛線來表示容器1203的右邊1207和容器1204的左邊1208。在容器1203和1204中分別顯示指示符1210和1211,以表示邊1207和1208是可變的。
圖14示出對(duì)話框窗口1401的例子,在該對(duì)話框窗口1401中設(shè)置關(guān)于鏈接1409的信息。該對(duì)話框窗口包括標(biāo)題欄1402、工具欄按鈕1403、用于打開/關(guān)閉對(duì)話框窗口的按鈕1404、以及用于設(shè)置各種信息的區(qū)域1406、1407和1410至1412。在該對(duì)話框窗口中,鏈接類型區(qū)1405允許在可變長(zhǎng)度類型1407或固定長(zhǎng)度類型1406間交替選擇鏈接的類型。在鏈接類型是可變長(zhǎng)度類型的情況下,可以在對(duì)話框窗口的鏈接距離區(qū)1408中設(shè)置鏈接長(zhǎng)度的最大值1412、最小值1410、以及當(dāng)前值1411。容器之間的當(dāng)前值1411是在將數(shù)據(jù)流入其中時(shí),在不改變每個(gè)容器的尺寸的情況下所使用的鏈接的長(zhǎng)度。
圖13是示出在自動(dòng)布局系統(tǒng)中設(shè)置可變鏈接的處理的流程圖。在步驟S1302,通過利用鼠標(biāo)133在鏈接1209上(圖12)進(jìn)行點(diǎn)擊,選擇要設(shè)置的鏈接。圖12所示的鏈接1209表示可變鏈接。假定這表示該鏈接的類型已經(jīng)從固定鏈接變?yōu)榭勺冩溄拥臓顟B(tài)。在步驟S1303,布局編輯應(yīng)用程序121顯示鏈接1209的屬性對(duì)話框窗口1401,例如圖14所示的對(duì)話框窗口,該鏈接1209是通過在其上點(diǎn)擊鼠標(biāo)右鍵或者操作鍵盤的特定鍵而選擇的。在這種情況下,鏈接尺寸不是可變的,而是固定的。因此,選擇固定類型1406作為鏈接類型1405。為了使鏈接類型從固定尺寸類型變?yōu)榭勺兂叽珙愋停诓襟ES1304,在鏈接類型區(qū)1405選擇可變類型1407,以將可變類型設(shè)置為可變鏈接尺寸類型。因此,設(shè)置在鏈接距離區(qū)1408中的最大值1412、最小值1410以及當(dāng)前值1411有效,而且允許設(shè)置數(shù)值。為了設(shè)置可變尺寸的鏈接,在步驟S1305,用戶在對(duì)應(yīng)于最大值1412的區(qū)域中設(shè)置鏈接長(zhǎng)度的最大值,在對(duì)應(yīng)于最小值1410的區(qū)域中設(shè)置最小值,在對(duì)應(yīng)于當(dāng)前值1411的區(qū)域中設(shè)置當(dāng)前值。在利用常規(guī)對(duì)話框窗口打開/關(guān)閉按鈕1404進(jìn)行設(shè)置的情況下,在步驟S1306,該鏈接的UI顯示變?yōu)閳D12所示的鏈接1209。將關(guān)于對(duì)話框窗口1401的設(shè)置信息存儲(chǔ)在存儲(chǔ)器單元136中。
圖15是示出在使用具有固定尺寸的鏈接的情況下的布局結(jié)果的示意圖。在執(zhí)行了上述過程之后,利用布局編輯應(yīng)用程序121的布局引擎模塊105進(jìn)行布局計(jì)算。例如,當(dāng)分別將不同大小的數(shù)據(jù)插入圖12所示的容器1203和1204時(shí),容器1203和1204中的每個(gè)都認(rèn)為該數(shù)據(jù)大小的大小是最佳的。因此,容器1203向右、大幅度改變其尺寸,以靠近框架1504(最佳容器尺寸),框架1504的尺寸對(duì)應(yīng)于所插入的圖像的大小。同樣地,容器1204向左以稍大的方式改變,以靠近框架1505(最佳容器尺寸),框架1505的尺寸對(duì)應(yīng)于所插入的圖像的大小。
然而,假定在容器1203與1204之間設(shè)置了具有固定尺寸的鏈接1503,則因?yàn)殄^1201和1202,容器1203的左邊1212與容器1204的右邊1213不能移動(dòng)。因此,改變后的容器尺寸大于鏈接尺寸。因?yàn)殒溄映叽缡枪潭ǖ?,而且在布局?jì)算時(shí)被優(yōu)先計(jì)算,因此容器1203(參見圖12)和容器1204(參見圖12)的尺寸被改變。因此,容器1203和1204不能確保適合數(shù)據(jù)的最佳尺寸。最后,例如圖15所示的容器1501和1502的容器的容器尺寸小于最佳尺寸1504和1505。即,因?yàn)殒溄?503的尺寸是固定的,因此容器1501和1502不能獲得最佳尺寸。
圖16示出鏈接尺寸的類型變?yōu)榭勺兂叽绲那闆r。在這種情況下,假定在上述例子的容器1203和1204(參見圖12)之間設(shè)置了具有可變尺寸的鏈接1209(參見圖12),則當(dāng)改變?nèi)萜?203和1204的尺寸時(shí),該鏈接的尺寸減小,以便容器1203和1204可以大于圖15所示的例子中的尺寸。因此,可以獲得適合所插入的數(shù)據(jù)大小的最佳尺寸。可選地,可以計(jì)算容器的框架,以接近所插入的數(shù)據(jù)的大小(最佳尺寸)。圖16示出結(jié)果容器1601和1602。作為布局計(jì)算的結(jié)果,可變鏈接1209的尺寸變?yōu)榭勺冩溄?603的尺寸。在這種情況下,容器1601和1602相互一起變形,而且它們具有最佳尺寸(適合數(shù)據(jù)大小的尺寸)??梢栽谔幚砥鲉卧?35和布局編輯應(yīng)用程序121的控制下,執(zhí)行上述處理。
設(shè)置容器屬性圖17示出用于設(shè)置容器屬性(property或attribute)的屬性對(duì)話框窗口的例子。例如,通過利用鍵盤132和/或鼠標(biāo)133選擇容器,通過在菜單上點(diǎn)擊鼠標(biāo)的右鍵進(jìn)行選擇,或者通過利用Alt鍵執(zhí)行預(yù)定操作,可以顯示該屬性對(duì)話框窗口。
圖17所示的典型屬性對(duì)話框窗口1701包括標(biāo)題欄1702、窗口按鈕1703、用于應(yīng)用或者取消屬性并關(guān)閉屬性對(duì)話框窗口的按鈕1704、以及用于設(shè)置各種信息的區(qū)域1711、1721和1741。該屬性對(duì)話框窗口1701具有用于將容器的各邊(邊緣)設(shè)置為可變的邊緣狀態(tài)設(shè)置區(qū)1711。當(dāng)選中分別對(duì)應(yīng)于設(shè)置在邊緣狀態(tài)設(shè)置區(qū)1711中的上邊、下邊、右邊和左邊的復(fù)選框1712至1715(即,將容器的邊緣設(shè)置為可變的)時(shí),啟用容器尺寸設(shè)置區(qū)1721。
圖17示出將右邊1714設(shè)置為可變的狀態(tài)的例子。因此,可以僅沿橫向改變?cè)撊萜鞯某叽?。設(shè)置該容器的屬性,以使分別對(duì)應(yīng)于邊緣狀態(tài)設(shè)置單元1711中的未選中的框的邊(邊緣)(圖17所示例子中的上邊1712、下邊1713以及左邊1715)的尺寸是固定的。
因?yàn)閷?duì)應(yīng)于邊緣狀態(tài)設(shè)置區(qū)1711中的選中的框1714的右邊的尺寸被設(shè)置為可變的,因此啟用容器尺寸設(shè)置單元1721中用于設(shè)置橫向上的最大值和最小值的設(shè)置框1724、1726和1727,而不啟用用于設(shè)置高度方向上的尺寸的設(shè)置框1728、1730和1731。圖形顯示部分1722和1723利用位圖來分別可視地支持對(duì)容器的寬度和高度的指定。在框1724內(nèi),設(shè)置容器的寬度的最小值。在圖17所示的例子中,值“80”被設(shè)置為最小值。在框1726內(nèi),設(shè)置容器的寬度的最大值。在圖17所示的例子中,值“120”被設(shè)置為最大值。在將上邊和下邊中的至少一個(gè)設(shè)置為可變的以作為邊緣狀態(tài)的情況下,同樣地,可以啟用分別對(duì)應(yīng)于容器高度的最小值和最大值的框1728和1730。在列表框1727和1731內(nèi)設(shè)置表示容器尺寸的單位。在這種情況下,作為例子,示出了“毫米”(mm)。然而,可以采用其它單位,例如,“英寸”、“像素”等。存儲(chǔ)器單元136保存該設(shè)置信息。
圖18是示出在容器屬性設(shè)置操作中由布局編輯應(yīng)用程序121執(zhí)行的處理的流程圖。首先,在步驟S1802選擇容器,例如,通過點(diǎn)擊鼠標(biāo)133選擇容器。在步驟S1803,布局編輯應(yīng)用程序121顯示所選擇的容器的屬性對(duì)話框窗口1701。然后,在步驟S1804,布局編輯應(yīng)用程序121判斷是否選中了復(fù)選框1712至1715中的每個(gè),以將該容器的各邊緣設(shè)置為可變的。如果在步驟S1804判斷為未選中用于設(shè)置容器邊緣的框(步驟S1804中的“否”),則終止該處理。
相反,如果在步驟S1804判斷為選中了某些框,以將相應(yīng)邊緣設(shè)置為可變的(步驟S1804中的“是”),則在步驟S1805啟用分別對(duì)應(yīng)于該容器尺寸的最大值和最小值的框。因?yàn)橛纱鎯?chǔ)器單元136保存該設(shè)置信息,因此該判斷可以通過使布局編輯應(yīng)用程序121參考存儲(chǔ)器單元136來進(jìn)行。此外,在步驟S1806,啟用對(duì)應(yīng)于布局方法的選項(xiàng)的框。
如圖17所示,布局方法區(qū)用于選擇布局方法。在通過判斷容器的重疊來執(zhí)行容器布局的情況下,選中入口字段1742。在選中了入口字段1742的情況下,布局編輯應(yīng)用程序121執(zhí)行與重疊有關(guān)的容器屬性的設(shè)置,執(zhí)行重疊預(yù)測(cè)計(jì)算,并且執(zhí)行動(dòng)態(tài)引導(dǎo)物和防止重疊可變鏈接的設(shè)置,下面將詳細(xì)說明它們??蛇x地,通過當(dāng)容器之間發(fā)生重疊時(shí)設(shè)置重疊的形式(例如,其中一個(gè)容器位于另一個(gè)容器之上的形式,拒絕重疊等),另一入口字段1743用于布置容器。在選中了入口字段1743的情況下,布局編輯應(yīng)用程序121根據(jù)在下面第二實(shí)施例的說明中描述的重疊形式的設(shè)置來布置容器。
然后,通過使用按鈕1704來關(guān)閉容器屬性對(duì)話框窗口1701。在步驟S1807,對(duì)所選擇的容器應(yīng)用設(shè)置。
以圖49所示的形式,將使用圖17所示的屬性對(duì)話框窗口1701通過圖18所示的流程圖示出的處理而設(shè)置的數(shù)據(jù)保持在存儲(chǔ)器單元136中。例如,下面說明位于圖19所示的文檔模板1909上的容器1921和1922的屬性的設(shè)置信息。在圖19所示的情況下,設(shè)置容器1921,以使右邊和下邊是可變的。此外,如圖49所示,將容器1921的屬性設(shè)置為沿橫向和縱向是可變的。然后,將不同的值設(shè)置為最大值和最小值。因此,根據(jù)要流入容器1921的數(shù)據(jù)的大小,可以在預(yù)先設(shè)置的范圍內(nèi)改變?cè)撊萜鞯某叽?。相反,設(shè)置容器1922,以使全部四個(gè)邊的尺寸均是固定的。因此,如圖49所示,將容器1922的屬性設(shè)置為沿橫向和縱向均是固定的,以便將相同的值設(shè)置為最大值和最小值。因此,在將任意可變數(shù)據(jù)流入其中的情況下,將容器1922的尺寸固定為所設(shè)置的值。
因此,以圖49所示的形式,將表示如圖17所示設(shè)置的每個(gè)容器的設(shè)置的數(shù)據(jù)保持在存儲(chǔ)器單元136中。
防止重疊可變鏈接設(shè)置流程圖25A至25C是示出由布局編輯應(yīng)用程序121執(zhí)行的防止重疊可變鏈接設(shè)置處理的流程的流程圖。下面將參考圖17、19至20以及24來說明該處理的流程。
圖19是示出由布局編輯應(yīng)用程序121顯示的編輯窗口的圖。在文檔模板1909上存在用作動(dòng)態(tài)對(duì)象、可以改變其尺寸的圖像容器1921和用作靜態(tài)對(duì)象、其尺寸被固定的圖像容器1922。在本申請(qǐng)中,通常將位于頁面模板上的實(shí)體稱為對(duì)象。因此,有時(shí)將設(shè)置有從數(shù)據(jù)庫流出的內(nèi)容數(shù)據(jù)的容器稱為對(duì)象。在將容器與對(duì)象區(qū)分開的情況下,將容器明確地稱為局部顯示區(qū)。
圖20是示出在選擇用作圖19所示的靜態(tài)對(duì)象的圖像容器1922并將該容器的屬性設(shè)置為可變的情況下,布局編輯應(yīng)用程序121所顯示的編輯窗口的圖。在文檔模板2009上存在用作動(dòng)態(tài)對(duì)象的圖像容器2021和用作動(dòng)態(tài)對(duì)象的圖像容器2022。容器的設(shè)置從固定容器1922變?yōu)榭勺內(nèi)萜?022,以便將圖49所示的設(shè)置信息變?yōu)閳D50所示的設(shè)置信息。容器1922的橫向尺寸和縱向尺寸是固定的,如圖49所示。然而,容器2022的橫向尺寸和縱向尺寸是可變的,如圖50所示。響應(yīng)于該變化,重新設(shè)置容器1922(改變之后被稱為容器2022)沿寬度方向和縱向中的每個(gè)方向的最大值和最小值。關(guān)于新設(shè)置的值的信息保持在存儲(chǔ)器單元136中。
圖21示出圖20所示的圖像容器2021和2022中的每個(gè)容器的最大可移動(dòng)區(qū)域以及它們之間的預(yù)計(jì)重疊區(qū)域,它們是由布局引擎模塊105(下面有時(shí)將其簡(jiǎn)稱為布局引擎105)計(jì)算的。更具體地說,在文檔模板區(qū)域2109中顯示圖像容器2121(圖20中的圖像容器2021)的預(yù)計(jì)最大可移動(dòng)區(qū)域2131和圖像容器2122(圖20中的圖像容器2022)的預(yù)計(jì)最大可移動(dòng)區(qū)域2132。還示出圖像容器2121與2122之間的預(yù)計(jì)重疊區(qū)域2133。
下面說明利用布局引擎預(yù)測(cè)每個(gè)容器的最大可移動(dòng)區(qū)域的方法。如上所述,表示對(duì)應(yīng)于每個(gè)容器的最大值和最小值的數(shù)據(jù)以圖50所示的形式保持在存儲(chǔ)器單元136中。因此,考慮到每個(gè)容器所位于的位置以及在其中設(shè)置的最大值,布局引擎105可以預(yù)測(cè)最大可移動(dòng)區(qū)域。有時(shí),用于預(yù)測(cè)最大可移動(dòng)區(qū)域的方法不僅要考慮到對(duì)應(yīng)于每個(gè)容器的最大值,而且要考慮到通過鏈接相互相關(guān)的容器之間的關(guān)系。
圖22示出布局編輯應(yīng)用程序121所顯示的、示出文檔模板中的對(duì)話框2251的編輯窗口。對(duì)話框2251用于使用戶確定是否允許要編輯的動(dòng)態(tài)對(duì)象與另一動(dòng)態(tài)對(duì)象重疊。當(dāng)用戶例如利用鼠標(biāo)指針2213選擇對(duì)話框2251中的“是”時(shí),在拒絕容器2221與另一動(dòng)態(tài)對(duì)象(例如,容器2222)重疊的條件下,布局編輯應(yīng)用程序121設(shè)置該容器。相反,當(dāng)選擇對(duì)話框2251內(nèi)的“否”時(shí),在允許容器2221與另一動(dòng)態(tài)對(duì)象(例如,容器2222)之間的重疊的條件下,布局編輯應(yīng)用程序121設(shè)置該容器。將關(guān)于這些條件的設(shè)置信息保持在存儲(chǔ)器單元136中。
圖24示出布局編輯應(yīng)用程序121在文檔模板2409中顯示的編輯窗口。該編輯窗口示出縱向動(dòng)態(tài)引導(dǎo)物2441和水平防止重疊可變鏈接2442。在拒絕容器2421與另一動(dòng)態(tài)對(duì)象重疊的條件下,通過在圖22所示的對(duì)話框2251內(nèi)選擇“是”,設(shè)置動(dòng)態(tài)引導(dǎo)物2441和防止重疊可變鏈接2442,以設(shè)置容器。在本申請(qǐng)中,為了將普通可變鏈接與防止重疊可變鏈接區(qū)分開,利用虛線表示普通可變鏈接,而利用雙粗點(diǎn)劃線表示防止重疊可變鏈接。
在圖24所示的例子的情況下,動(dòng)態(tài)引導(dǎo)物2441接觸圖像容器2421的右邊。防止重疊可變鏈接2442用于防止圖像容器2421與2422重疊。
圖25A至25C示出布局編輯應(yīng)用程序121執(zhí)行的防止重疊可變鏈接設(shè)置處理的流程的流程圖,接下來將說明該流程圖。
在步驟S2501,布局編輯應(yīng)用程序121判斷在文檔模板上是否存在至少一個(gè)對(duì)象。因?yàn)楸硎驹诿總€(gè)文檔上設(shè)置的容器和鏈接的屬性的數(shù)據(jù)以例如圖50所示的形式存儲(chǔ)在存儲(chǔ)器單元136中,因此在步驟S2501,通過參考存儲(chǔ)器單元136,布局編輯應(yīng)用程序121執(zhí)行該判斷。
如果在步驟S2501布局編輯應(yīng)用程序121判斷為在該文檔模板上不存在至少一個(gè)容器(步驟S2501中的“否”),則該處理結(jié)束。然而,如果在步驟S2501布局編輯應(yīng)用程序121判斷為在該文檔模板上至少存在一個(gè)容器,則在步驟S2502判斷是否另外新創(chuàng)建可變?nèi)萜?。?dāng)在文檔模板上創(chuàng)建容器時(shí),關(guān)于該容器的信息臨時(shí)存儲(chǔ)在存儲(chǔ)器單元136中。因此,在布局編輯應(yīng)用程序121更新存儲(chǔ)器單元136的情況下,通過將臨時(shí)保持在存儲(chǔ)器單元136中的信息與保持在更新后的存儲(chǔ)器單元136中的信息進(jìn)行比較,可以執(zhí)行步驟S2502中的判斷。
如果在步驟S2502判斷為沒有新創(chuàng)建可變?nèi)萜?,則在步驟S2503,布局編輯應(yīng)用程序121判斷該文檔模板上是否至少存在兩個(gè)容器。判斷方法與在步驟S2501中執(zhí)行的判斷方法相同。因此,在此不重復(fù)該判斷方法的詳細(xì)說明。
如果在步驟S2503判斷為在該文檔模板上不存在至少兩個(gè)容器(步驟S2503中的“否”),則該處理結(jié)束。然而,如果在步驟S2503判斷為在該文檔模板上至少存在兩個(gè)容器,則在步驟S2504判斷該容器的屬性是否從固定容器變?yōu)榭勺內(nèi)萜?。判斷方法與在步驟S2501中執(zhí)行的判斷方法相同。因此,在此不重復(fù)該判斷方法的詳細(xì)說明。
如果在步驟S2504判斷為該容器的屬性未從固定容器變?yōu)榭勺內(nèi)萜?,則在步驟S2505,布局編輯應(yīng)用程序121判斷位于該文檔模板上的可變?nèi)萜鞯某叽缡欠裱財(cái)U(kuò)大方向變化。特別是,已經(jīng)設(shè)置了可變?nèi)萜鞯某叽缱兓姆秶虼?,布局編輯?yīng)用程序121判斷是否改變可變?nèi)萜鞯某叽缫栽龃笃渥畲蟪叽?。與步驟S2502相同,通過執(zhí)行比較處理,布局編輯應(yīng)用程序121可以進(jìn)行該判斷。
在步驟S2502、S2504和S2505中的一個(gè)獲得肯定判定(“是”)的情況下,布局編輯應(yīng)用程序121進(jìn)入設(shè)置動(dòng)態(tài)引導(dǎo)物和防止重疊鏈接的處理,在步驟S2508(圖25B)執(zhí)行該處理,在下面說明該處理。
如果在步驟S2505獲得否定判定(“否”),則在步驟S2506,布局編輯應(yīng)用程序121判斷布置在該文檔模板上的可變?nèi)萜鞯某叽缡欠裱販p小方向變化。在步驟S2506執(zhí)行的處理與在步驟S2505執(zhí)行的判斷的不同之處僅在于,擴(kuò)大方向變?yōu)闇p小方向?;旧?,該判斷方法與在步驟S2505中使用的判斷方法相同。
如果在步驟S2506獲得否定判定(“否”),則在步驟S2507,布局編輯應(yīng)用程序121判斷布置在該文檔模板上的可變?nèi)萜魇欠褡優(yōu)楣潭ㄈ萜鳌?br>
如果在步驟S2507判斷為該屬性未從可變?nèi)萜髯優(yōu)楣潭ㄈ萜?步驟S2507中的“否”),則該處理結(jié)束。
如果在步驟S2506和S2507中的一個(gè)獲得肯定判定(“是”),則布局編輯應(yīng)用程序121進(jìn)入步驟S2517(圖25C),執(zhí)行下述刪除防止重疊鏈接的處理。
如圖25B所示,在步驟S2508,布局編輯應(yīng)用程序121進(jìn)入設(shè)置動(dòng)態(tài)引導(dǎo)物和防止重疊鏈接的處理。在步驟S2508,通過考慮到由圖17所示的屬性對(duì)話框窗口1701的復(fù)選框1712至1715設(shè)置為沿水平(或者橫向)方向和沿縱向(或者上下)方向可變的容器的屬性,還通過考慮到通過設(shè)置框1726和1730而執(zhí)行的、對(duì)容器尺寸的最大值的設(shè)置,以及由于另一容器產(chǎn)生的、在對(duì)應(yīng)于容器設(shè)置了鏈接的情況下包括該鏈接的設(shè)置的可變因素,布局編輯應(yīng)用程序121使布局引擎105計(jì)算布置在文檔模板上的每個(gè)容器,包括新創(chuàng)建的容器和改變了設(shè)置的容器的可移動(dòng)區(qū)域。
即,根據(jù)下面兩個(gè)因素(1)設(shè)置容器的最大尺寸的因素;以及(2)因?yàn)榕c其鏈接的另一容器而導(dǎo)致的可變因素,布局引擎105計(jì)算執(zhí)行了改變其屬性設(shè)置的編輯操作的動(dòng)態(tài)對(duì)象(例如,容器)的最大可移動(dòng)范圍。即,因素(1)表示如何根據(jù)對(duì)應(yīng)于該容器而設(shè)置的最大尺寸通過流入其中的內(nèi)容數(shù)據(jù)來擴(kuò)大該容器。因素(2)是由與其鏈接的另一容器的尺寸或位置的變化而引起的可變因素。
在步驟S2509,布局編輯應(yīng)用程序121使表示布局引擎105執(zhí)行的最大可移動(dòng)范圍的計(jì)算結(jié)果的數(shù)據(jù)保持在存儲(chǔ)器單元136中,作為表示圖像容器2022的可移動(dòng)區(qū)域的數(shù)據(jù)。例如,以圖51所示的形式保存該計(jì)算的結(jié)果,作為用于表示根據(jù)坐標(biāo)值保存的最大可移動(dòng)范圍的信息。圖51示出以容器2121的左上角點(diǎn)作為原點(diǎn)、按坐標(biāo)值表示的可移動(dòng)范圍。利用該信息使容器2121在橫向(水平)方向上的可移動(dòng)區(qū)域保持在從20至80的范圍內(nèi),而使容器2121在豎向(或者縱向)方向上的可移動(dòng)區(qū)域在0至-100的范圍內(nèi)。此外,關(guān)于容器2122,利用該信息使容器2122在橫向(水平)方向上的可移動(dòng)區(qū)域在40至100的范圍內(nèi),而使容器2122在豎向(或者縱向)方向上的可移動(dòng)區(qū)域在0至-70的范圍內(nèi)。
在步驟S2510,布局編輯應(yīng)用程序121將文檔模板上存在的對(duì)象中的可移動(dòng)區(qū)域,例如圖像容器與其它可變?nèi)萜鞯目梢苿?dòng)區(qū)域的結(jié)果,與保持在存儲(chǔ)器單元136中的其它固定容器(靜態(tài)對(duì)象)所占據(jù)的區(qū)域進(jìn)行比較。隨后,在步驟S2511,布局編輯應(yīng)用程序121判斷在該文檔模板上是否存在可能相互重疊的對(duì)象。如果在步驟S2511判斷為不存在可能重疊的對(duì)象,則該處理結(jié)束。
在該階段可能相互重疊的對(duì)象不通過鏈接相互相關(guān)。因此,布局編輯應(yīng)用程序121抽出未通過鏈接相互相關(guān)的對(duì)象。然后,考慮到因?yàn)榱魅朊總€(gè)對(duì)象的內(nèi)容數(shù)據(jù)而引起的尺寸變化的范圍,還考慮到相互相關(guān)的其它對(duì)象而使每個(gè)對(duì)象移動(dòng)的移動(dòng)范圍,來判斷對(duì)象是否相互重疊。
更具體地說,下面通過例子來說明如圖51所示所保持的信息。通過參考如圖51所示所保持的信息,布局編輯應(yīng)用程序121可以識(shí)別出容器2121的橫向上的最大可移動(dòng)范圍在20至80范圍內(nèi)。此外,布局編輯應(yīng)用程序121可以識(shí)別出容器2122在橫向上的最大可移動(dòng)范圍在40至100的范圍內(nèi)。即,可以判斷出容器2121和2122在40至80的坐標(biāo)值范圍內(nèi)在橫向可能相互重疊。縱向上的最大可移動(dòng)范圍執(zhí)行同樣的處理。因此,可以判斷為容器2121和2122在0至-70的坐標(biāo)值的范圍內(nèi)在縱向可能相互重疊。
例如,如圖21所示,在存在可能與被新設(shè)置為可變的最大可移動(dòng)范圍2132重疊的被重疊對(duì)象2121(步驟S2511中的“是”)的情況下,在步驟S2512,布局編輯應(yīng)用程序121檢驗(yàn)并判斷是否在重疊對(duì)象2121中已設(shè)置了防止在動(dòng)態(tài)對(duì)象之間發(fā)生重疊的屬性。例如,可以以圖52所示的形式,將每個(gè)對(duì)象的屬性保持在存儲(chǔ)器單元136中。因此,通過參考保持在存儲(chǔ)器單元136中的信息,布局編輯應(yīng)用程序121可以進(jìn)行判斷。
如果在步驟S2512判斷為設(shè)置了防止重疊屬性(步驟S2512中的“是”),則該處理進(jìn)入步驟S2515(下面說明)。另一方面,如果在步驟S2512判斷為在步驟S2511被判斷屬性的對(duì)象中未設(shè)置防止重疊屬性(步驟S2512中的“否”),則在步驟S2513,布局編輯應(yīng)用程序121顯示如圖22所示的對(duì)話框窗口2251,以將該對(duì)象可能與另一對(duì)象重疊通知給用戶。
在步驟S2514,利用圖22所示的對(duì)話框窗口,布局編輯應(yīng)用程序121判斷是否選擇了防止重疊。例如,在圖22所示的對(duì)話框窗口中詢問“拒絕重疊”。在布局編輯應(yīng)用程序121識(shí)別到選擇了否定判定(“否”)的情況下,布局編輯應(yīng)用程序121判斷為未設(shè)置防止重疊屬性(步驟S2514中的“否”),該處理結(jié)束。另一方面,在布局編輯應(yīng)用程序121識(shí)別到選擇了肯定判定(“是”)的情況下,布局編輯應(yīng)用程序121判斷為設(shè)置了防止重疊屬性(步驟S2514中的“是”)。如果在步驟S2514中布局編輯應(yīng)用程序121識(shí)別到設(shè)置了防止重疊屬性,則將表示設(shè)置了防止重疊屬性的信息保持在存儲(chǔ)器單元136中,該處理進(jìn)入步驟S2515。
在步驟S2515,布局編輯應(yīng)用程序121創(chuàng)建動(dòng)態(tài)引導(dǎo)物2441,該動(dòng)態(tài)引導(dǎo)物2441鄰接設(shè)置了防止重疊屬性的對(duì)象2421的、預(yù)計(jì)另一重疊動(dòng)態(tài)對(duì)象2422首先侵入的邊,如圖24所示。例如,假定該邊是對(duì)象2421的右邊,因?yàn)閷?duì)象2421的右邊部分與動(dòng)態(tài)對(duì)象2422的最大可移動(dòng)范圍重疊。
隨后,在步驟S2516,布局編輯應(yīng)用程序121創(chuàng)建防止重疊可變鏈接2442,該防止重疊可變鏈接2442將動(dòng)態(tài)對(duì)象2422的邊(假定該邊是動(dòng)態(tài)對(duì)象2422的左邊,因?yàn)閯?dòng)態(tài)對(duì)象2422的左邊部分與動(dòng)態(tài)對(duì)象2421的最大可移動(dòng)范圍重疊)與在步驟S2515創(chuàng)建的動(dòng)態(tài)引導(dǎo)物2441連接起來。以例如圖52所示的形式,保持表示分別在步驟S2515和S2516設(shè)置了動(dòng)態(tài)引導(dǎo)物和防止重疊可變鏈接的信息。
根據(jù)上述處理,在布置在文檔模板上的、被判斷為可能由于所流入的內(nèi)容數(shù)據(jù)而發(fā)生重疊的對(duì)象之間創(chuàng)建防止重疊鏈接。因此,即使在根據(jù)流入到對(duì)象中的內(nèi)容數(shù)據(jù)而改變布局的情況下,本實(shí)施例也能解決因?yàn)榘l(fā)生重疊而使外觀惡化的問題。
接著,將參考圖25C來說明在步驟S2506和S2507中的每個(gè)中獲得肯定判定(“是”)的情況下,刪除不必要的防止重疊鏈接和不必要的動(dòng)態(tài)引導(dǎo)物的處理。
步驟S2517至S2519與步驟S2508至S2510相同。在此不重復(fù)步驟S2517至S2519的詳細(xì)說明。
在步驟S2520,布局編輯應(yīng)用程序121根據(jù)在步驟S2519進(jìn)行的比較判斷是否存在被判斷為不與另一對(duì)象重疊的對(duì)象。即,認(rèn)為在步驟S2520判斷的對(duì)象在執(zhí)行步驟S2520的判斷之前可能發(fā)生重疊。布局編輯應(yīng)用程序121判斷在步驟S2506或S2507執(zhí)行的處理是否導(dǎo)致每個(gè)對(duì)象不可能與另一對(duì)象重疊。在步驟2519執(zhí)行的上述處理允許抽出可能相互重疊的對(duì)象。通過檢查根據(jù)在該步驟抽出的對(duì)象而設(shè)置的屬性信息,布局編輯應(yīng)用程序121可以判斷對(duì)象是否發(fā)生重疊。例如,圖21所示的容器2121和2122是可變?nèi)萜?,并且被判斷為可能相互重疊。然而,在容器2121和2122兩者的屬性變?yōu)楣潭愋偷那闆r下,消除了重疊的可能性。
如果在步驟S2520判斷為不存在不重疊的對(duì)象(步驟S2520中的“否”),則該處理結(jié)束。另一方面,如果在步驟S2520判斷為存在不重疊的對(duì)象(步驟S2520中的“是”),則在步驟S2521,布局編輯應(yīng)用程序121判斷是否對(duì)每個(gè)這種對(duì)象設(shè)置了動(dòng)態(tài)引導(dǎo)物和防止重疊鏈接。特別是,因?yàn)榇鎯?chǔ)器單元136保存表示是否對(duì)每個(gè)對(duì)象設(shè)置了動(dòng)態(tài)引導(dǎo)物和防止重疊鏈接的信息,因此通過參考保持在存儲(chǔ)器單元136中的信息,布局編輯應(yīng)用程序121可以判斷是否對(duì)每個(gè)對(duì)象設(shè)置了動(dòng)態(tài)引導(dǎo)物和防止重疊鏈接。
如果在步驟S2521判斷為未對(duì)每個(gè)對(duì)象設(shè)置動(dòng)態(tài)引導(dǎo)物和防止重疊鏈接(步驟S2521中的“否”),則該處理結(jié)束。然而,如果在步驟S2521判斷為對(duì)每個(gè)對(duì)象設(shè)置了動(dòng)態(tài)引導(dǎo)物和防止重疊鏈接(步驟S2521中的“是”),則在步驟S2522,布局編輯應(yīng)用程序121刪除對(duì)被判斷為不與另一對(duì)象重疊的每個(gè)對(duì)象設(shè)置的動(dòng)態(tài)引導(dǎo)物和防止重疊鏈接。然后,在步驟S2522,相應(yīng)地改變存儲(chǔ)器單元136的屬性。
圖23示出布局編輯應(yīng)用程序121所顯示的編輯窗口,該編輯窗口示出對(duì)應(yīng)于用于“拒絕動(dòng)態(tài)對(duì)象之間重疊”屬性的屬性對(duì)話框窗口。對(duì)話框窗口2361用于設(shè)置用于“拒絕動(dòng)態(tài)對(duì)象之間重疊”屬性,而且它包括用于改變?cè)搶傩缘脑O(shè)置(“打開/關(guān)閉”)的復(fù)選框2362。
圖23示出復(fù)選框2362被選中,而且將“拒絕動(dòng)態(tài)對(duì)象之間重疊”屬性設(shè)置為“打開”的狀態(tài)。該對(duì)話框窗口用于在圖25B所示的步驟S2513設(shè)置“拒絕動(dòng)態(tài)對(duì)象之間重疊”屬性。布局編輯應(yīng)用程序121用作用戶界面(UI),而且根據(jù)復(fù)選框2362是否被選中來執(zhí)行顯示控制,以設(shè)置動(dòng)態(tài)對(duì)象的屬性。在圖25B所示的步驟S2511判斷為存在與另一對(duì)象重疊的對(duì)象,而且在該對(duì)象中未設(shè)置“防止重疊屬性”的情況下,顯示圖23所示的設(shè)置對(duì)話框窗口2361。然而,響應(yīng)于在文檔模板上容器等的設(shè)置,可以設(shè)置“防止重疊屬性”。
在用戶手動(dòng)將復(fù)選框2362的設(shè)置狀態(tài)從“打開”變?yōu)椤瓣P(guān)閉”的情況下,布局編輯應(yīng)用程序121從圖25C所示的步驟S2520開始執(zhí)行處理。在用戶手動(dòng)將復(fù)選框2362的設(shè)置狀態(tài)從“關(guān)閉”變?yōu)椤按蜷_”的情況下,布局編輯應(yīng)用程序121從圖25B所示的步驟S2511開始執(zhí)行處理。
布局編輯應(yīng)用程序121將與文檔模板2309上存在的全部對(duì)象的區(qū)域有關(guān)的信息(占據(jù)文檔模板2309的靜態(tài)和動(dòng)態(tài)對(duì)象的可移動(dòng)區(qū)域信息)高速緩存到存儲(chǔ)器單元136上。在通過用戶執(zhí)行操作而改變關(guān)于每個(gè)容器的屬性的信息的情況下,利用布局引擎105更新關(guān)于該變化所影響的容器的區(qū)域的信息。
即使用戶的編輯操作明確使靜態(tài)對(duì)象與某個(gè)對(duì)象重疊,在屬性對(duì)話框窗口2361中的復(fù)選框2362的設(shè)置是“打開”的情況下,布局編輯應(yīng)用程序121也不在靜態(tài)對(duì)象中設(shè)置防止重疊可變鏈接。僅在動(dòng)態(tài)對(duì)象重疊的情況下,“拒絕動(dòng)態(tài)對(duì)象之間重疊”屬性的設(shè)置才有效。用戶可以在靜態(tài)對(duì)象內(nèi)設(shè)置防止重疊可變鏈接。
圖26示出用于設(shè)置“拒絕動(dòng)態(tài)對(duì)象之間重疊”屬性的對(duì)話框窗口2661和2663,在文檔模板上存在的兩個(gè)可變?nèi)萜?動(dòng)態(tài)對(duì)象)可能相互重疊的情況下,布局編輯應(yīng)用程序121顯示該對(duì)話框窗口2661和2663。
如圖26所示,在分別設(shè)置在用于在動(dòng)態(tài)對(duì)象2621和2622兩者中設(shè)置“拒絕動(dòng)態(tài)對(duì)象之間重疊”屬性的對(duì)話框窗口2661和2663中的復(fù)選框2662和2664的設(shè)置是“打開”的情況下,布局編輯應(yīng)用程序121在這兩個(gè)可變?nèi)萜?動(dòng)態(tài)對(duì)象)內(nèi)創(chuàng)建動(dòng)態(tài)引導(dǎo)物2641和2643,還創(chuàng)建防止重疊可變鏈接2642。
圖27示出布局編輯應(yīng)用程序121所顯示的編輯窗口,該編輯窗口用于在存在于文檔模板2709上的三個(gè)可變?nèi)萜?動(dòng)態(tài)對(duì)象)2721(對(duì)應(yīng)于圖24所示的對(duì)象2421)、2722(對(duì)應(yīng)于圖24所示的對(duì)象2422)以及2723中設(shè)置動(dòng)態(tài)引導(dǎo)物2741(對(duì)應(yīng)于圖24所示的動(dòng)態(tài)引導(dǎo)物2441)和2743、以及對(duì)應(yīng)于縱向(圖27所示的Y方向)和水平方向(圖27所示的X方向)的防止重疊鏈接2742(對(duì)應(yīng)于圖24所示的鏈接2442)和2744。
圖27示出用作圖像容器的可變?nèi)萜?動(dòng)態(tài)對(duì)象)2723被添加到存在于圖24所示的文檔模板2409上的可變?nèi)萜?動(dòng)態(tài)對(duì)象)2421和2422的情況。
在用戶利用圖像工具按鈕405將圖像容器2723新布置在文檔模板2709(對(duì)應(yīng)于圖24所示的文檔模板2409)上,而且通過用戶使用屬性設(shè)置對(duì)話框窗口1701進(jìn)行的操作而使圖像容器2723的上邊緣(上邊)的屬性從固定類型變?yōu)榭勺冾愋偷那闆r下,布局編輯應(yīng)用程序121執(zhí)行用于設(shè)置防止重疊可變鏈接的處理,圖25A至25C示出該處理的流程。此時(shí),已經(jīng)在動(dòng)態(tài)對(duì)象2721內(nèi)設(shè)置了“拒絕動(dòng)態(tài)對(duì)象之間重疊”屬性。因此,創(chuàng)建鄰接動(dòng)態(tài)對(duì)象(被重疊對(duì)象)2721的下邊緣(下邊)的水平方向(圖27中的X方向)動(dòng)態(tài)引導(dǎo)物2743、以及用于防止對(duì)象2721與新添加的重疊對(duì)象2723重疊的縱向(圖27中的Y方向)上的防止重疊可變鏈接2744。
用于設(shè)置防止重疊可變鏈接的屬性的對(duì)話框防止重疊可變鏈接本質(zhì)上與用于使圖12、14和16所示的容器相互相關(guān)的可變尺寸鏈接1209、1409、1603以及固定尺寸鏈接412、1008和1503不同。在布局計(jì)算時(shí)考慮可變尺寸鏈接和固定尺寸鏈接。然而,在布局計(jì)算時(shí)不考慮防止重疊可變鏈接。根據(jù)布局計(jì)算的結(jié)果,防止重疊可變鏈接的尺寸被改變,以便不小于對(duì)防止重疊鏈接所設(shè)置的最小值。因此,在本說明書中,為了將布局計(jì)算時(shí)考慮的鏈接與布局計(jì)算時(shí)不考慮的鏈接明確區(qū)分開,將布局計(jì)算時(shí)考慮的、使容器相互相關(guān)的固定尺寸鏈接和可變尺寸鏈接定義為相關(guān)鏈接,而將布局計(jì)算時(shí)不考慮的、防止對(duì)象之間重疊的鏈接定義為防止重疊鏈接。
圖28是示出用于設(shè)置防止重疊可變鏈接2809的屬性的對(duì)話框窗口2801的例子的圖。該對(duì)話框窗口通常包括標(biāo)題欄2802、工具欄按鈕2803、用于打開/關(guān)閉該對(duì)話框窗口的按鈕2804、以及用于設(shè)置關(guān)于鏈接距離的信息的區(qū)域2808。利用文本框2810可以設(shè)置防止重疊可變鏈接的長(zhǎng)度的最小值,而且可以從列表框2811內(nèi)選擇長(zhǎng)度的單位。在這種情況下,作為例子,顯示“毫米”(mm)。然而,可以選擇其它單位,例如,“英寸”或“像素”。
在用戶在文本框2810內(nèi)設(shè)置了負(fù)值而非正值的情況下,設(shè)置為允許容器重疊。關(guān)于所設(shè)置的最小值的信息保持在存儲(chǔ)器單元136中。
設(shè)置動(dòng)態(tài)引導(dǎo)物和防止重疊可變鏈接圖32是示出由布局編輯應(yīng)用程序121執(zhí)行的用于設(shè)置動(dòng)態(tài)引導(dǎo)物和防止重疊可變鏈接的處理的流程的流程圖。下面將參考圖24、29和30通過例子來說明該處理。然而,根據(jù)本發(fā)明的設(shè)置動(dòng)態(tài)引導(dǎo)物和防止重疊可變鏈接的處理并不局限于此。
圖29示出布局編輯應(yīng)用程序121所顯示的預(yù)覽窗口,該預(yù)覽窗口示出要裝入可變?nèi)萜鞯膱D像數(shù)據(jù)(可變數(shù)據(jù))流入存在于圖24所示的文檔模板2409上的可變?nèi)萜?動(dòng)態(tài)對(duì)象)2421和2422的狀態(tài)。
在文檔模板2909中顯示預(yù)覽顯示2921,其表示圖像數(shù)據(jù)被流入到圖24所示的可變?nèi)萜?圖像容器)2421中的狀態(tài);以及另一預(yù)覽顯示2922,其表示圖像數(shù)據(jù)被流入到圖24所示的可變?nèi)萜?圖像容器)2422中的狀態(tài)。
在文檔模板2909中還顯示預(yù)覽輔助顯示2941,其表示設(shè)置了非打印動(dòng)態(tài)引導(dǎo)物的狀態(tài);以及預(yù)覽輔助顯示2942,其表示設(shè)置了非打印防止重疊可變鏈接的狀態(tài)。
圖30示出布局編輯應(yīng)用程序121所顯示的預(yù)覽窗口,該預(yù)覽窗口示出與在圖29所示的情況下使用的圖像數(shù)據(jù)不同的圖像數(shù)據(jù)流入圖24所示的文檔模板2409上存在的可變?nèi)萜?動(dòng)態(tài)對(duì)象)2421和2422的狀態(tài)。
圖30包括文檔模板3009,該文檔模板3009包括預(yù)覽顯示3021,其表示圖像數(shù)據(jù)流入圖24所示的可變?nèi)萜?圖像容器)2421的狀態(tài);以及預(yù)覽顯示3022,其表示與在圖29所示的情況下使用的圖像數(shù)據(jù)不同的圖像數(shù)據(jù)流入圖24所示的可變?nèi)萜?圖像容器)2422的狀態(tài)。預(yù)覽輔助顯示3041表示設(shè)置非打印動(dòng)態(tài)引導(dǎo)物的狀態(tài)。預(yù)覽輔助顯示3042表示設(shè)置非打印防止重疊可變鏈接的狀態(tài)。
圖32是示出布局編輯應(yīng)用程序所執(zhí)行的、涉及設(shè)置動(dòng)態(tài)引導(dǎo)物和防止重疊可變鏈接的處理的流程圖。用戶操作鼠標(biāo)133點(diǎn)擊菜單項(xiàng)目304(參見圖3),以指示系統(tǒng)將圖像數(shù)據(jù)流入圖24所示的文檔模板2409上存在的可變?nèi)萜鳌.?dāng)在步驟S3201中可變數(shù)據(jù)(內(nèi)容)流入用作圖像容器的可變?nèi)萜?421和2422時(shí),布局編輯應(yīng)用程序121檢驗(yàn)在圖像容器2421和2422的每個(gè)邊中設(shè)置的屬性。在將圖像容器的邊設(shè)置為可變的情況下,在步驟S3202,根據(jù)內(nèi)容的大小來擴(kuò)大或減小容器的尺寸。表示在每個(gè)容器上設(shè)置的屬性的信息保持在存儲(chǔ)器單元136中。因此,通過參考該信息,布局編輯應(yīng)用程序121可以識(shí)別該屬性。
如圖24所示,設(shè)置用作圖像容器的可變?nèi)萜?421的每個(gè)邊的屬性,以便關(guān)于寬度(對(duì)應(yīng)于圖24所示的X方向),右邊是可變的,關(guān)于高度(對(duì)應(yīng)于圖24所示的Y方向),下邊是可變的。因此,可以擴(kuò)大或者減小容器2421。
此外,設(shè)置用作圖像容器的可變?nèi)萜?422的每個(gè)邊的屬性,以便關(guān)于寬度,左邊和右邊是可變的,而關(guān)于高度,下邊是可變的。因此,可以擴(kuò)大或者減小容器2422。
在步驟S3203,布局編輯應(yīng)用程序121將圖像數(shù)據(jù)的數(shù)據(jù)大小與用作圖像容器的可變?nèi)萜?421和2422中的每個(gè)的尺寸進(jìn)行比較。然后,布局編輯應(yīng)用程序121分別沿向右的方向(對(duì)應(yīng)于X+方向)和向下的方向(對(duì)應(yīng)于Y-方向)擴(kuò)大可變?nèi)萜?421的右邊和下邊。同樣地,布局編輯應(yīng)用程序121分別沿X-方向、X+方向和Y-方向擴(kuò)大可變?nèi)萜?422的左邊、右邊和下邊。在步驟S3203,通過布局計(jì)算來進(jìn)行每個(gè)容器的尺寸的改變。
在可變?nèi)萜鞯某叽缭诓襟ES3203未被改變(步驟S3203中的“否”)的情況下,該處理結(jié)束。在可變?nèi)萜鞯某叽缭诓襟ES3203被改變(步驟S3203中的“是”)的情況下,布局編輯應(yīng)用程序121進(jìn)入步驟S3204,在該步驟S3204,布局編輯應(yīng)用程序121判斷是否像對(duì)可變?nèi)萜?421的右邊(右邊緣)那樣,動(dòng)態(tài)引導(dǎo)物2441被設(shè)置在容器的擴(kuò)大方向或減小方向的邊緣上。因?yàn)橛纱鎯?chǔ)器單元136保持表示是否設(shè)置了動(dòng)態(tài)引導(dǎo)物的信息,因此通過參考所保持的信息,布局編輯應(yīng)用程序121可以進(jìn)行該判斷。
在沿容器的擴(kuò)大/減小方向的邊緣上未設(shè)置動(dòng)態(tài)引導(dǎo)物2441(步驟S3204中的“否”)的情況下,該處理結(jié)束。在沿容器的擴(kuò)大/減小方向的邊緣上設(shè)置了動(dòng)態(tài)引導(dǎo)物2441(步驟S3204中的“是”)的情況下,在步驟S3205,通過在文檔模板2409上移動(dòng)動(dòng)態(tài)引導(dǎo)物2441,同時(shí)保持動(dòng)態(tài)引導(dǎo)物2441接觸可變?nèi)萜?421的右邊(右邊緣)的狀態(tài),布局編輯應(yīng)用程序121改變動(dòng)態(tài)引導(dǎo)物2441的位置。即,在圖24所示的情況下,在動(dòng)態(tài)引導(dǎo)物2441接觸可變?nèi)萜?421的右邊(右邊緣)的狀態(tài)下,動(dòng)態(tài)引導(dǎo)物2441沿向右的方向(圖24中的X+方向)移動(dòng)。
在步驟S3206,根據(jù)在步驟S3202中可變?nèi)萜鞯某叽绲臄U(kuò)大/縮小,并且根據(jù)在步驟S3205中動(dòng)態(tài)引導(dǎo)物的位置的改變,布局編輯應(yīng)用程序121改變防止重疊可變鏈接2442的長(zhǎng)度。
在防止重疊可變鏈接2442的長(zhǎng)度不小于防止重疊可變鏈接的最小值(步驟S3207中的“否”)的情況下,該處理結(jié)束。在作為改變防止重疊可變鏈接2442的鏈接長(zhǎng)度的結(jié)果,防止重疊可變鏈接2442的長(zhǎng)度小于在圖28所示的對(duì)話框窗口2801設(shè)置的防止重疊可變鏈接的最小值(步驟S3207中的“是”)的情況下,布局編輯應(yīng)用程序121移動(dòng)通過防止重疊可變鏈接2442與動(dòng)態(tài)引導(dǎo)物2441鏈接的可變?nèi)萜?422的位置,以使防止重疊可變鏈接2442的長(zhǎng)度滿足所設(shè)置的最小值的條件。因此,在步驟S3208,布局編輯應(yīng)用程序121確定可變?nèi)萜?422的布局,該處理結(jié)束。
圖30所示的例子與圖29所示的情況的不同之處在于,圖像數(shù)據(jù)的大小小于可變?nèi)萜?421和2422的原始尺寸。隨著圖像容器3021的右邊(右邊緣)的減小,接觸可變?nèi)萜?021的右邊(右邊緣)而設(shè)置的動(dòng)態(tài)引導(dǎo)物3041(對(duì)應(yīng)于圖24所示的動(dòng)態(tài)引導(dǎo)物2441)沿向左的方向(圖30所示的X-方向)移動(dòng)。減小通過防止重疊可變鏈接3042與動(dòng)態(tài)引導(dǎo)物3041(對(duì)應(yīng)于圖24所示的動(dòng)態(tài)引導(dǎo)物2441)鏈接的可變?nèi)萜?022(對(duì)應(yīng)于圖24所示的可變?nèi)萜?422)的寬度和高度尺寸。因此,與防止重疊可變鏈接2442的初始長(zhǎng)度相比,防止重疊可變鏈接3042的長(zhǎng)度被延長(zhǎng)。
當(dāng)在圖32所示的步驟S3201中可變數(shù)據(jù)被流入可變?nèi)萜鲿r(shí),布局編輯應(yīng)用程序121檢驗(yàn)除了防止重疊可變鏈接之外,存在/不存在可變鏈接和固定鏈接的設(shè)置,還檢驗(yàn)所設(shè)置的容器的屬性。因此,布局編輯應(yīng)用程序121判斷存在/不存與改變?nèi)萜鞒叽缬嘘P(guān)的限制條件的設(shè)置條件。然后,當(dāng)滿足所設(shè)置的限制條件時(shí),布局編輯應(yīng)用程序121改變動(dòng)態(tài)引導(dǎo)物的位置和防止重疊可變鏈接的長(zhǎng)度。因此,布局編輯應(yīng)用程序121確定可變?nèi)萜鞯牟季帧?br>
圖31示出布局編輯應(yīng)用程序121所顯示的預(yù)覽窗口,該預(yù)覽窗口示出圖像數(shù)據(jù)流入圖27所示的文檔模板2709上存在的可變?nèi)萜?動(dòng)態(tài)對(duì)象)2721、2722和2723的狀態(tài)。
在文檔模板3109上顯示預(yù)覽顯示3121,其表示圖像數(shù)據(jù)流入圖27所示的可變?nèi)萜?721的狀態(tài);以及預(yù)覽顯示3122,其表示圖像數(shù)據(jù)流入圖27所示的可變?nèi)萜?722的狀態(tài)。預(yù)覽輔助顯示3141表示設(shè)置了非打印動(dòng)態(tài)引導(dǎo)物的狀態(tài)。預(yù)覽輔助顯示3142表示設(shè)置了非打印防止重疊可變鏈接的狀態(tài)。預(yù)覽輔助顯示3143表示設(shè)置了非打印動(dòng)態(tài)引導(dǎo)物的狀態(tài)。預(yù)覽輔助顯示3144表示設(shè)置了非打印防止重疊可變鏈接的狀態(tài)。預(yù)覽顯示3123表示圖像數(shù)據(jù)流入圖27所示的可變?nèi)萜?723的狀態(tài)。
在如圖31所示,沿水平方向(圖31中的X方向)和縱向(圖31中的Y方向)設(shè)置了動(dòng)態(tài)引導(dǎo)物3141和3143、以及防止重疊可變鏈接3142和3144的情況下,布局編輯應(yīng)用程序121執(zhí)行與圖29、30和32所示的處理相同的處理。根據(jù)本實(shí)施例的動(dòng)態(tài)引導(dǎo)物具有可與容器的邊的移動(dòng)同步移動(dòng)的動(dòng)態(tài)(可變)屬性。然而,在接觸固定容器(靜態(tài)對(duì)象)和可變?nèi)萜?動(dòng)態(tài)對(duì)象)的固定邊(固定邊緣)設(shè)置動(dòng)態(tài)引導(dǎo)物的情況下,該動(dòng)態(tài)引導(dǎo)物不能移動(dòng)。用戶不能對(duì)這種動(dòng)態(tài)引導(dǎo)物的屬性進(jìn)行編輯。盡管在本說明書中描述了動(dòng)態(tài)引導(dǎo)物接觸容器的邊,但是根據(jù)本發(fā)明的動(dòng)態(tài)引導(dǎo)物并不局限于此??梢栽诰嗳萜鞯倪咁A(yù)定距離處顯示根據(jù)本發(fā)明的動(dòng)態(tài)引導(dǎo)物。
對(duì)角鏈接在已參考圖25A至25C描述的設(shè)置防止重疊可變鏈接的處理中,對(duì)應(yīng)于沿縱向(圖中的Y方向)延伸的動(dòng)態(tài)引導(dǎo)物2441和2741,創(chuàng)建對(duì)應(yīng)于水平方向(圖中的X方向)的防止重疊可變鏈接2442和2742;對(duì)應(yīng)于沿水平方向(圖中的X方向)延伸的動(dòng)態(tài)引導(dǎo)物2743,創(chuàng)建沿縱向(圖中的Y方向)的防止重疊可變鏈接2744。
然而,存在這樣的情況,當(dāng)選擇不允許重疊的屬性(“拒絕對(duì)象之間重疊”屬性)時(shí),擴(kuò)大后的重疊對(duì)象要侵入的邊不能被指定為該重疊對(duì)象擴(kuò)大和侵入的被重疊對(duì)象的可移動(dòng)區(qū)域中的邊。例如,存在如下可能性可變?nèi)萜?323可以擴(kuò)展并侵入圖23所示的被重疊對(duì)象2321的右邊。此外,根據(jù)文檔模板上的可變?nèi)萜鞯牟季?、被設(shè)置為每個(gè)容器的特性的邊緣狀態(tài)、所設(shè)置的容器的最大尺寸,存在對(duì)象所侵入的邊不是指定的邊的情況。
下面參考圖33、35和37來說明被邊所侵入的邊不是所指定的邊的情況的例子。圖33示出布局編輯應(yīng)用程序121所顯示的編輯窗口,該編輯窗口示出分別對(duì)應(yīng)于縱向(圖33中的Y方向)和水平方向(圖33中的X方向)的動(dòng)態(tài)引導(dǎo)物3341和3342、以及防止重疊對(duì)應(yīng)角可變鏈接3343。
如圖33所示,用作圖像容器的可變?nèi)萜?321、3322、3323以及3324布置在文檔模板3309上??勺?nèi)萜?322和3323通過固定鏈接3325相互相關(guān)??勺?nèi)萜?322和3324通過固定鏈接3326相互相關(guān)??勺?nèi)萜?323和3324通過固定鏈接3327相互相關(guān)。
利用防止重疊對(duì)應(yīng)角可變鏈接3343,防止可變?nèi)萜?321和3322相互重疊。防止重疊對(duì)應(yīng)角可變鏈接3343防止作為重疊對(duì)象的可變?nèi)萜?322的兩個(gè)邊3353和3354侵入作為被重疊對(duì)象的可變?nèi)萜?321的可移動(dòng)范圍(由可變?nèi)萜?321的兩個(gè)邊3351和3352的移動(dòng)定義)。
圖35和37示出布局編輯應(yīng)用程序121所顯示的預(yù)覽顯示,該預(yù)覽顯示示出在圖像數(shù)據(jù)流入未應(yīng)用圖33所示的防止重疊對(duì)應(yīng)角可變鏈接3343的可變?nèi)萜鞯那闆r下,可變?nèi)萜鞯牟季秩绾巫兓?br>
在大小比可變?nèi)萜?322的尺寸大的圖像數(shù)據(jù)流入圖33所示的窗口中的可變?nèi)萜?322時(shí),擴(kuò)大可變?nèi)萜?322的尺寸。此時(shí),在可變?nèi)萜?322的上邊3354沿Y+方向移動(dòng)的情況下,該邊3354可能侵入可變?nèi)萜?321的下邊3352(或與之重疊)。同樣地,在可變?nèi)萜?322的左邊3353沿X-方向移動(dòng)的情況下,該邊3353可能侵入可變?nèi)萜?321的右邊3351(或與之重疊)。
侵入的第一個(gè)例子在圖35所示的例子中,在未設(shè)置防止重疊對(duì)應(yīng)角可變鏈接的情況下,可變?nèi)萜?322的上邊(參見圖33)首先侵入可變?nèi)萜?321的下邊(參見圖33)。這是由下面的布局流程所引起的。
(1)通過使圖像數(shù)據(jù)流入可變?nèi)萜?321,擴(kuò)大容器3321的尺寸(參見圖33)。因此,可變?nèi)萜?321的右邊3351(參見圖33)沿向右的方向(X+方向)移動(dòng)(通過圖35所示的預(yù)覽顯示,該狀態(tài)被顯示為可變?nèi)萜?521)。
(2)圖像數(shù)據(jù)流入可變?nèi)萜?322、3323和3324(參見圖33)。然后,可變?nèi)萜?324的可變邊緣(邊)3355沿Y+方向移動(dòng)(左邊、右邊以及下邊被設(shè)置為固定邊緣)。此時(shí),通過移動(dòng)可移動(dòng)邊3355,向上推通過固定鏈接3326和3327而相互相關(guān)的可變?nèi)萜?322和3323,并且可變?nèi)萜?322和3323沿Y+方向移動(dòng)(通過示出圖35所示的可變?nèi)萜?522和3523,該狀態(tài)被顯示為預(yù)覽顯示)。
(3)在上述步驟(1)和(2)中,圖像數(shù)據(jù)流入可變?nèi)萜?。因此,在被重疊部分3530,可變?nèi)萜?522的上邊侵入可變?nèi)萜?521的下邊。
侵入的第二個(gè)例子在圖37所示的例子中,在未設(shè)置防止重疊對(duì)應(yīng)角可變鏈接的情況下,可變?nèi)萜?322的左邊首先侵入可變?nèi)萜?521的右邊。這是由于下面的布局流程而引起的。
(1)圖像數(shù)據(jù)流入可變?nèi)萜?321(參見圖33)。因此,容器3321的尺寸擴(kuò)大,以使下邊3352(參見圖33)沿向下的方向(Y-方向)移動(dòng)(通過示出圖37中的可變?nèi)萜?721,該狀態(tài)被顯示為預(yù)覽顯示)。
(2)圖像數(shù)據(jù)流入可變?nèi)萜?322、3323和3324(參見圖33)。然后,可變?nèi)萜?324的可變邊緣(邊)3356沿X-方向移動(dòng)(右邊被設(shè)置為固定邊緣(虛線部分3729表示可變?nèi)萜?323的固定邊緣))。此時(shí),通過移動(dòng)可移動(dòng)邊3356,推動(dòng)通過固定鏈接3325而鏈接的可變?nèi)萜?322,并且可變?nèi)萜?322沿X-方向移動(dòng)(通過示出圖37所示的可變?nèi)萜?722,該狀態(tài)顯示為預(yù)覽顯示)。
(3)在上述步驟(1)和(2)中,圖像數(shù)據(jù)流入可變?nèi)萜鳌R虼?,在被重疊部分3730中,可變?nèi)萜?722的左邊侵入可變?nèi)萜?721的右邊。
在侵入的第一個(gè)例子和第二個(gè)例子中,當(dāng)對(duì)應(yīng)于重疊對(duì)象3322(可變?nèi)萜?可能首先侵入的被重疊對(duì)象3321(可變?nèi)萜?的水平方向和縱向上的兩個(gè)邊(不可能侵入三個(gè)邊或更多的邊)來創(chuàng)建動(dòng)態(tài)引導(dǎo)物和防止重疊可變鏈接時(shí),產(chǎn)生的問題是,即使不發(fā)生重疊,仍總是限制重疊對(duì)象的布局范圍。
下面參考圖27進(jìn)一步說明該問題。例如,對(duì)應(yīng)于沿可變?nèi)萜?722的縱向延伸的動(dòng)態(tài)引導(dǎo)物2741,設(shè)置防止重疊可變鏈接2742。如果還對(duì)應(yīng)于沿水平方向延伸的動(dòng)態(tài)引導(dǎo)物2743設(shè)置防止重疊可變鏈接,則當(dāng)圖像數(shù)據(jù)等流入可變?nèi)萜?722時(shí),由沿縱向延伸的動(dòng)態(tài)引導(dǎo)物2741和沿水平方向延伸的動(dòng)態(tài)引導(dǎo)物2743限制可變?nèi)萜?722的可移動(dòng)范圍。即,可變?nèi)萜?722的可移動(dòng)范圍被限制在位于動(dòng)態(tài)引導(dǎo)物2741的右側(cè)和動(dòng)態(tài)引導(dǎo)物2743的上側(cè)的區(qū)域內(nèi),該區(qū)域位于文檔模板2709上。
為了防止發(fā)生上述由設(shè)置動(dòng)態(tài)引導(dǎo)物和防止重疊可變鏈接而限制可變?nèi)萜鞯目梢苿?dòng)范圍的問題,本實(shí)施例創(chuàng)建由圖33中的附圖標(biāo)記3343表示的對(duì)角鏈接,該對(duì)角鏈接對(duì)應(yīng)于分別沿水平方向和縱向延伸的、另一重疊對(duì)象(可變?nèi)萜?可能首先侵入的兩個(gè)邊。在下面的說明中,將用作例如對(duì)角鏈接3343的防止重疊可變鏈接的鏈接稱為“防止重疊對(duì)應(yīng)角可變鏈接”。該防止重疊對(duì)應(yīng)角可變鏈接是考慮到鄰接被重疊對(duì)象的兩個(gè)動(dòng)態(tài)對(duì)象和重疊對(duì)象的兩個(gè)邊而創(chuàng)建的,防止重疊對(duì)象(可變?nèi)萜?與被重疊對(duì)象(可變?nèi)萜?重疊。
設(shè)置防止重疊對(duì)應(yīng)角可變鏈接圖39是示出設(shè)置能應(yīng)用于本發(fā)明實(shí)施例的防止重疊對(duì)應(yīng)角可變鏈接的處理的流程圖。該流程圖詳細(xì)描述了在作為防止重疊可變鏈接設(shè)置步驟的步驟S2515和S2516中執(zhí)行的處理,已經(jīng)參考圖25B詳細(xì)說明了該處理。
首先,在步驟S3901,與圖25B中的步驟S2515相同,布局編輯應(yīng)用程序121判斷是否創(chuàng)建對(duì)應(yīng)于被重疊對(duì)象(例如,圖33所示的動(dòng)態(tài)對(duì)象3321)的動(dòng)態(tài)引導(dǎo)物。如果判斷為創(chuàng)建該動(dòng)態(tài)引導(dǎo)物(步驟S3901中的“是”),則該處理進(jìn)入步驟S3902,在該步驟S3902,布局編輯應(yīng)用程序121判斷在設(shè)置了不允許重疊的屬性的被重疊對(duì)象(可變?nèi)萜?3321中是否存在重疊對(duì)象可以侵入的兩個(gè)邊(下面有時(shí)稱為侵入邊)。如上所述,表示存在于文檔模板上的每個(gè)對(duì)象的可變范圍和可移動(dòng)范圍的信息保持在存儲(chǔ)器單元136中。因此,通過參考存儲(chǔ)器單元136中的該信息,布局編輯應(yīng)用程序121可以進(jìn)行該判斷。
例如,在分別沿可變?nèi)萜?321的水平方向和縱向延伸的兩個(gè)邊3352和3351是侵入邊(步驟S3902中的“是”)的情況下,由布局編輯應(yīng)用程序121執(zhí)行的處理進(jìn)入步驟S3903。相反,如果在步驟S3902中布局編輯應(yīng)用程序121判斷為不存在兩個(gè)被侵入的邊(步驟S3902中的“否”),則該處理進(jìn)入步驟S3905,以執(zhí)行已參考圖25B所示的步驟S2515進(jìn)行了說明的動(dòng)態(tài)引導(dǎo)物的設(shè)置、以及已參考圖25B所示的步驟S2516進(jìn)行了說明的防止重疊鏈接的設(shè)置。
如果存在兩個(gè)被侵入的邊(步驟S3902中的“是”),則在步驟S3903,布局編輯應(yīng)用程序121設(shè)置分別鄰接被侵入的邊的動(dòng)態(tài)引導(dǎo)物(例如,圖33中的動(dòng)態(tài)引導(dǎo)物3341和3342)。
隨后,在步驟S3904,布局編輯應(yīng)用程序121設(shè)置防止重疊對(duì)應(yīng)角可變鏈接。為了詳細(xì)說明在步驟S3904中執(zhí)行的處理,參考圖33說明該處理。布局編輯應(yīng)用程序121設(shè)置防止重疊對(duì)應(yīng)角可變鏈接3343,作為將在步驟S3903創(chuàng)建的兩個(gè)動(dòng)態(tài)引導(dǎo)物3341和3342的交叉點(diǎn)與可變?nèi)萜?322的兩個(gè)侵入邊3353和3354所定義的角部分連接起來的鏈接。該處理對(duì)應(yīng)于已參考圖25B進(jìn)行了說明的、在防止重疊可變鏈接設(shè)置步驟S2516中執(zhí)行的處理。
如參考圖39所述,在存在兩個(gè)被侵入的邊的情況下(即,未指定重疊方向),設(shè)置防止重疊對(duì)應(yīng)角可變鏈接。如下所述,將防止重疊對(duì)應(yīng)角可變鏈接變?yōu)榉乐怪丿B鏈接,其設(shè)置方向根據(jù)布局計(jì)算的結(jié)果來確定。
圖34示出用于設(shè)置防止重疊對(duì)應(yīng)角可變鏈接的屬性的對(duì)話框窗口3401的例子。該對(duì)話框窗口通常包括標(biāo)題欄3402、工具欄按鈕3403、用于打開/關(guān)閉該對(duì)話框窗口的按鈕3404、以及用于設(shè)置與鏈接距離有關(guān)的各種信息的區(qū)域3409。
可以在文本框3410內(nèi)設(shè)置對(duì)應(yīng)角可變鏈接沿縱向長(zhǎng)度的最小值(即,沿水平方向延伸的動(dòng)態(tài)引導(dǎo)物與容器的上邊或下邊之間的縱向距離)。此外,還可以在文本框3412內(nèi)設(shè)置對(duì)應(yīng)角可變鏈接沿水平方向長(zhǎng)度的最小值(即,沿縱向延伸的動(dòng)態(tài)引導(dǎo)物與容器的左邊或右邊之間的水平方向距離)。
可以在列表框3411和3413內(nèi)設(shè)置長(zhǎng)度的單位。在這種情況下,作為例子,顯示毫米(mm)。當(dāng)用戶在文本框內(nèi)設(shè)置負(fù)值而非正值時(shí),動(dòng)態(tài)引導(dǎo)物和容器的重疊被設(shè)置為允許,而與“拒絕動(dòng)態(tài)對(duì)象之間重疊”屬性的設(shè)置無關(guān)。
圖40是示出在設(shè)置了防止重疊對(duì)應(yīng)角可變鏈接的情況下,布局編輯應(yīng)用程序121執(zhí)行的布局編輯處理的流程圖。下面參考圖33詳細(xì)說明布局編輯處理。
用戶操作鼠標(biāo)133在菜單項(xiàng)目304(參見圖3)上進(jìn)行點(diǎn)擊,以指示系統(tǒng)將圖像數(shù)據(jù)流入圖33所示的文檔模板3309上存在的可變?nèi)萜鲀?nèi)。當(dāng)判斷為圖像數(shù)據(jù)(內(nèi)容)流入可變?nèi)萜?321和3322至3324(步驟S4001中的“是”)時(shí),根據(jù)可變?nèi)萜?321和3322至3324的邊緣(邊)的設(shè)置,布局編輯應(yīng)用程序121擴(kuò)大或者減小容器的尺寸,以使圖像數(shù)據(jù)的內(nèi)容大小適合容器。在步驟S4002,在該容器與另一可變?nèi)萜髦g存在影響布局計(jì)算的固定鏈接或者可變鏈接的情況下,根據(jù)已參考圖9說明過的動(dòng)態(tài)布局計(jì)算,布局編輯應(yīng)用程序121移動(dòng)可變?nèi)萜鞯牟季治恢谩?br>
如果在步驟S4003中布局編輯應(yīng)用程序121判斷為通過在步驟S4002執(zhí)行的可變?nèi)萜鞯臄U(kuò)大/縮小和位移,可變?nèi)萜鞯某叽缁蛭恢冒l(fā)生了變化,則在步驟S4004,布局編輯應(yīng)用程序121判斷是否像在可變?nèi)萜?321的右邊3351和下邊3352那樣,已設(shè)置了動(dòng)態(tài)引導(dǎo)物3341和3342。如果已經(jīng)設(shè)置了動(dòng)態(tài)引導(dǎo)物3341和3342,則該處理進(jìn)入步驟S4005。然后,在步驟S4005,響應(yīng)于可變?nèi)萜鞯臄U(kuò)大/縮小或位移,布局編輯應(yīng)用程序121移動(dòng)動(dòng)態(tài)引導(dǎo)物3341和3342,同時(shí)保持動(dòng)態(tài)引導(dǎo)物3341和3342接觸該容器的邊的狀態(tài)。
如果判斷為容器的尺寸未改變(步驟S4003中的“否”),則結(jié)束該處理。
如果判斷為未設(shè)置動(dòng)態(tài)引導(dǎo)物(步驟S4004中的“否”),則該處理結(jié)束。可選地,在結(jié)束該處理之前,可以新設(shè)置用于設(shè)置防止重疊對(duì)角鏈接的動(dòng)態(tài)引導(dǎo)物。
如果布局編輯應(yīng)用程序121判斷為不發(fā)生容器之間的重疊(步驟S4006中的“否”),則該處理結(jié)束。另一方面,如參考圖35和37所述,如果作為反映在步驟S4002改變可變?nèi)萜鞯某叽绾臀恢靡约霸诓襟ES4005改變動(dòng)態(tài)引導(dǎo)物的位置的結(jié)果,布局編輯應(yīng)用程序121判斷為容器3521和3522、或者3721和3722之間發(fā)生重疊(步驟S4006中的“是”),則在步驟S4007,布局編輯應(yīng)用程序121判斷容器之間的重疊方向。如果容器之間的重疊方向是縱向(步驟S4007中的“是”),如圖35所示,則在步驟S4008,布局編輯應(yīng)用程序121將防止重疊對(duì)應(yīng)角可變鏈接3343改變?yōu)閷?duì)應(yīng)于縱向的防止重疊可變鏈接。
相反,如果在步驟S4007判斷為容器之間的重疊方向是水平方向(步驟S4007中的“否”),如圖37所示,則在步驟S4009,布局編輯應(yīng)用程序121將防止重疊對(duì)應(yīng)角可變鏈接3343改變?yōu)閷?duì)應(yīng)于水平方向的防止重疊可變鏈接。
然后,該處理進(jìn)入步驟S4010,在該步驟S4010中,響應(yīng)于根據(jù)動(dòng)態(tài)布局計(jì)算的布局變化,改變防止重疊可變鏈接的長(zhǎng)度。作為改變防止重疊可變鏈接的鏈接長(zhǎng)度的結(jié)果,在防止重疊可變鏈接的長(zhǎng)度小于用戶在用于設(shè)置防止重疊對(duì)應(yīng)角可變鏈接的屬性的對(duì)話框窗口的文本框3410(在對(duì)應(yīng)于步驟S4008中的縱向的防止重疊對(duì)應(yīng)角可變鏈接的情況下)或文本框3412(在對(duì)應(yīng)于步驟S4009中的水平方向的防止重疊對(duì)應(yīng)角可變鏈接的情況下)中設(shè)置的防止重疊可變鏈接的最小值的情況下,在步驟S4012中,通過移動(dòng)經(jīng)由防止重疊可變鏈接與動(dòng)態(tài)引導(dǎo)物相鏈接的容器的邊的位置,其中該邊被設(shè)置有鏈接以增加鏈接長(zhǎng)度從而使防止重疊可變鏈接的鏈接長(zhǎng)度滿足最小值的條件,布局編輯應(yīng)用程序121確定可變?nèi)萜鞯牟季帧H缓?,布局編輯?yīng)用程序121結(jié)束該處理。
如果在步驟S4011中判斷為鏈接的長(zhǎng)度不小于最小值(步驟S4011中的“否”),則布局編輯應(yīng)用程序121判斷為可變?nèi)萜鞯牟季衷阪溄娱L(zhǎng)度所確定的位置處,并結(jié)束該處理。
如上所述,即使在不能指定重疊方向的布局的情況下,仍與上述“侵入的第一個(gè)例子”和“侵入的第二個(gè)例子”類似,利用圖40所示的布局處理來設(shè)置防止重疊對(duì)應(yīng)角可變鏈接。因此,根據(jù)實(shí)際流入的可變數(shù)據(jù),可以將防止重疊對(duì)應(yīng)角可變鏈接改變?yōu)閷?duì)應(yīng)于縱向的防止重疊鏈接,或者對(duì)應(yīng)于水平方向的防止重疊鏈接。
因此,通過創(chuàng)建與沿重疊對(duì)象可以首先侵入的被重疊對(duì)象的水平方向和縱向延伸的兩個(gè)邊中的每個(gè)邊相對(duì)應(yīng)的動(dòng)態(tài)引導(dǎo)物和防止重疊可變鏈接,可以解決對(duì)重疊對(duì)象的布局范圍施加限制的問題。
布局的第一個(gè)例子圖36示出通過執(zhí)行圖40所示的處理由圖33所示的布局變成的布局的例子。布局編輯應(yīng)用程序121判斷出重疊,該重疊是由可變數(shù)據(jù)流入每個(gè)容器而導(dǎo)致的侵入的第一個(gè)例子的情況下的重疊。因此,防止重疊對(duì)應(yīng)角可變鏈接3343被改變?yōu)閷?duì)應(yīng)于縱向的防止重疊可變鏈接3643。與圖35所示的可變?nèi)萜?521和3522類似,將可變?nèi)萜鞑贾玫檬蛊洳恢丿B。
利用在可變?nèi)萜?621中設(shè)置的動(dòng)態(tài)引導(dǎo)物3642和防止重疊可變鏈接3643,限制可變?nèi)萜?622沿Y+方向的移動(dòng)。在需要擴(kuò)大圖像數(shù)據(jù)被裝入的可變?nèi)萜?622的尺寸的情況下,布局編輯應(yīng)用程序121使可變?nèi)萜鞯倪呇豗-方向移動(dòng),以擴(kuò)大該可變?nèi)萜鞯某叽?,并確定布局的位置。
在與可變?nèi)萜?622的情況類似,需要擴(kuò)大通過固定鏈接3626和3627與可變?nèi)萜?622相關(guān)的可變?nèi)萜?623和3624的尺寸的情況下,或者在通過可變?nèi)萜?622的擴(kuò)大來改變布局的位置的情況下,布局編輯應(yīng)用程序121使可變?nèi)萜鞯倪呇豗-方向移動(dòng),以擴(kuò)大可變?nèi)萜鞯倪?,并確定布局的位置。
布局的第二個(gè)例子圖38示出通過執(zhí)行圖40所示的處理,從圖33所示的布局變成的布局的例子。布局編輯應(yīng)用程序121判斷出重疊,該重疊是在由可變數(shù)據(jù)流入每個(gè)容器中而導(dǎo)致的侵入的第二個(gè)例子的情況下的重疊。因此,防止重疊對(duì)應(yīng)角可變鏈接3343被改變?yōu)閷?duì)應(yīng)于水平方向的防止重疊可變鏈接3843。與圖37所示的可變?nèi)萜?721和3722類似,將可變?nèi)萜鞑贾玫檬谷萜鞑恢丿B。
利用在可變?nèi)萜?821中設(shè)置的動(dòng)態(tài)引導(dǎo)物3841和防止重疊可變鏈接3843,來限制可變?nèi)萜?822沿X-方向的移動(dòng)。在需要擴(kuò)大圖像數(shù)據(jù)被裝入的可變?nèi)萜?822的尺寸的情況下,布局編輯應(yīng)用程序121使可變?nèi)萜鞯倪呇豖+方向移動(dòng),以擴(kuò)大該可變?nèi)萜鞯某叽?,并確定布局的位置。
在與可變?nèi)萜?822的情況類似,需要擴(kuò)大通過固定鏈接3825和3826與可變?nèi)萜?822相關(guān)的可變?nèi)萜?823和3824的尺寸的情況下,或者在通過可變?nèi)萜?822的擴(kuò)大來改變布局的位置的情況下,布局編輯應(yīng)用程序121使可變?nèi)萜鞯倪呇豖+方向移動(dòng),以擴(kuò)大可變?nèi)萜鞯倪?,并確定布局的位置。
如上所述,根據(jù)第一實(shí)施例,當(dāng)編輯布局時(shí),判斷數(shù)據(jù)被裝入的容器(局部顯示區(qū))的重疊。然后,當(dāng)編輯布局時(shí),設(shè)置禁止重疊的局部顯示區(qū)和允許重疊的局部顯示區(qū)。因此,第一實(shí)施例可以提供有效地實(shí)現(xiàn)用戶所期望的布局顯示的布局控制技術(shù)。
第二實(shí)施例下面說明本發(fā)明的第二實(shí)施例。第二實(shí)施例用于判斷位于文檔模板上的多個(gè)容器之間的重疊,并且根據(jù)用戶的指令對(duì)每個(gè)容器的顯示進(jìn)行控制。
通過將硬件構(gòu)成元件和軟件構(gòu)成元件組合在一起,來實(shí)現(xiàn)根據(jù)第二實(shí)施例的布局控制裝置。
布局控制裝置用于控制每個(gè)均裝入為其分配的數(shù)據(jù)的局部顯示區(qū)的布局并在頁面上布置數(shù)據(jù),該布局控制裝置包括預(yù)測(cè)單元,用于計(jì)算每個(gè)均裝入對(duì)其分配的數(shù)據(jù)的每個(gè)局部顯示區(qū)的可移動(dòng)區(qū)域,并根據(jù)該可移動(dòng)區(qū)域來預(yù)測(cè)每個(gè)局部顯示區(qū)是否與排列在頁面上的另一對(duì)象重疊;顯示順序設(shè)置單元,用于在預(yù)測(cè)單元預(yù)測(cè)為多個(gè)局部顯示區(qū)之間發(fā)生重疊的情況下,設(shè)置顯示局部顯示區(qū)的顯示順序;以及顯示控制單元,用于根據(jù)顯示順序設(shè)置單元設(shè)置的顯示順序來顯示局部顯示區(qū)。
圖41示出根據(jù)第二實(shí)施例由布局編輯應(yīng)用程序121顯示的編輯窗口。以下,通過例子來說明由圖像數(shù)據(jù)流入四個(gè)可變?nèi)萜?111至4114而導(dǎo)致的可變?nèi)萜髦g的重疊。盡管通過例子在下面的說明中說明了假定圖像數(shù)據(jù)要流入的、用作圖像容器的可變?nèi)萜髦g的重疊,但是可變?nèi)萜骺梢允羌俣ㄎ谋緮?shù)據(jù)要流入的、作為文本容器的可變?nèi)萜?。即使在文檔模板4109上同時(shí)存在文本容器和圖像容器的情況下,布局編輯應(yīng)用程序121(包括用戶界面模塊103和布局引擎模塊105)也可以判斷多個(gè)容器間的重疊,而且可以根據(jù)用戶的指令對(duì)每個(gè)容器的顯示進(jìn)行控制。在復(fù)選框1743被選中的情況下,第二實(shí)施例執(zhí)行的處理對(duì)應(yīng)于根據(jù)圖17所示的布局方法而執(zhí)行的處理。
可變?nèi)萜?111至4114位于文檔模板4109上。通過鏈接4121,可變?nèi)萜?112和4113相互相關(guān)。布局編輯應(yīng)用程序121根據(jù)用戶的指定或自動(dòng)地為可變?nèi)萜?111、4112、4113以及4114分別分配標(biāo)識(shí)符“容器A”、“容器B”、“容器C”和“容器D”,并在窗口中顯示該標(biāo)識(shí)符。
圖42示出位于圖41所示的位置的可變?nèi)萜?111至4114的預(yù)計(jì)最大可移動(dòng)范圍。根據(jù)利用圖17所示的屬性對(duì)話框窗口而設(shè)置的、用于設(shè)置容器屬性的容器的邊緣和尺寸的狀態(tài),布局引擎105計(jì)算預(yù)計(jì)最大可移動(dòng)范圍。如圖42所示,容器A 4211可以在水平方向與容器B 4212和C 4213重疊,而在縱向可以與容器D 4214重疊。
重疊設(shè)置處理流程圖43是示出由布局編輯應(yīng)用程序121執(zhí)行的重疊設(shè)置處理的流程的流程圖。
在步驟S4301,布局編輯應(yīng)用程序121判斷當(dāng)在文檔模板上至少存在兩個(gè)容器時(shí),用戶是否改變了容器的設(shè)置條件。如果在步驟S4301中判斷為用戶改變了容器的設(shè)置條件(步驟S4301中的“是”),則在步驟S4302,布局編輯應(yīng)用程序121判斷該改變是否與對(duì)象的動(dòng)態(tài)因素有關(guān)。例如,與對(duì)象的動(dòng)態(tài)因素有關(guān)的改變是從靜態(tài)對(duì)象到動(dòng)態(tài)對(duì)象的改變,以及動(dòng)態(tài)對(duì)象的位置、尺寸以及可變邊緣的改變。存儲(chǔ)器單元136保持表示每個(gè)對(duì)象的設(shè)置條件的信息。因此,在步驟S4302,通過參考存儲(chǔ)器單元136,布局編輯應(yīng)用程序121可以執(zhí)行該判斷處理。
如果在步驟S4302判斷為該改變與動(dòng)態(tài)因素有關(guān)(步驟S4302中的“是”),則在步驟S4303,通過使用布局引擎105,布局編輯應(yīng)用程序121計(jì)算與該動(dòng)態(tài)因素的改變有關(guān)的全部動(dòng)態(tài)對(duì)象(例如,可變?nèi)萜?的最大可移動(dòng)范圍。
該計(jì)算與在圖25B所示的步驟S2508中執(zhí)行的處理相同。根據(jù)“容器的最大尺寸的設(shè)置”因素和“因?yàn)榕c之鏈接的另一容器而導(dǎo)致的移動(dòng)”因素,布局引擎105計(jì)算用作動(dòng)態(tài)對(duì)象的可變?nèi)萜鞯淖畲罂梢苿?dòng)范圍(即,計(jì)算最大可移動(dòng)區(qū)域)。
在步驟S4302判斷為用戶進(jìn)行的改變,例如從動(dòng)態(tài)對(duì)象(可變?nèi)萜?到靜態(tài)對(duì)象(固定容器)的改變、靜態(tài)對(duì)象(固定容器)的布局位置和尺寸的改變,與文檔模板上存在的對(duì)象的動(dòng)態(tài)因素?zé)o關(guān)(步驟S4302中的“否”)的情況下,在步驟S4304,根據(jù)作為靜態(tài)對(duì)象的固定容器的布局位置和尺寸,布局編輯應(yīng)用程序121計(jì)算文檔模板上的靜態(tài)對(duì)象(固定容器)所占據(jù)的區(qū)域(即,進(jìn)行所占據(jù)的區(qū)域的計(jì)算)。因?yàn)殛P(guān)于靜態(tài)對(duì)象所占據(jù)的區(qū)域的信息保持在存儲(chǔ)器單元136中,因此布局編輯應(yīng)用程序121可以通過參考存儲(chǔ)器單元136來計(jì)算所占據(jù)的區(qū)域。
在步驟S4305,根據(jù)預(yù)測(cè)位于文檔模板4109上的對(duì)象的重疊的計(jì)算(在步驟S4303中執(zhí)行的)結(jié)果,或者根據(jù)在文檔模板4109上占據(jù)的區(qū)域的計(jì)算(在步驟S4304執(zhí)行的)結(jié)果,布局編輯應(yīng)用程序121的布局引擎模塊105預(yù)測(cè)容器發(fā)生重疊,如圖42所示。
在步驟S4306,布局編輯應(yīng)用程序121將對(duì)象重疊的最后預(yù)測(cè)結(jié)果與對(duì)重疊的上一預(yù)測(cè)結(jié)果進(jìn)行比較。如果預(yù)測(cè)重疊的計(jì)算結(jié)果中沒有不同(步驟S4307中的“否”),則該處理結(jié)束。
如果預(yù)測(cè)重疊的計(jì)算結(jié)果中存在不同(步驟S4307中的“是”),則在步驟S4308,將表示發(fā)生改變的重疊預(yù)測(cè)結(jié)果的信息保持在存儲(chǔ)器單元136中。因此,布局編輯應(yīng)用程序121更新發(fā)生改變的、上一重疊預(yù)測(cè)結(jié)果。隨后,在步驟S4309,布局編輯應(yīng)用程序121更新用于設(shè)置與重疊預(yù)測(cè)發(fā)生了改變的對(duì)象相對(duì)應(yīng)的重疊屬性的用戶界面。然后,該處理結(jié)束。
在布局編輯應(yīng)用程序121的控制下,可以自動(dòng)更新用于設(shè)置重疊屬性的用戶界面。此外,根據(jù)用戶的指定,可以對(duì)每個(gè)容器的顯示進(jìn)行控制。
對(duì)象重疊屬性設(shè)置UI圖44示出用于設(shè)置對(duì)象重疊屬性的UI(下面被稱為對(duì)象重疊屬性設(shè)置UI)。在圖44中示出對(duì)應(yīng)于容器A的對(duì)象重疊屬性設(shè)置UI4431、對(duì)應(yīng)于容器B的對(duì)象重疊屬性設(shè)置UI 4432、對(duì)應(yīng)于容器C的對(duì)象重疊屬性設(shè)置UI 4433、以及對(duì)應(yīng)于容器D的對(duì)象重疊屬性設(shè)置UI 4434。布局編輯應(yīng)用程序121通過執(zhí)行布局編輯處理,可以設(shè)置拒絕布置在文檔模板上的每個(gè)對(duì)象與另一對(duì)象(容器)重疊,或者允許通過將位于“上方”的后一對(duì)象放置在前一對(duì)象之上而使前一對(duì)象與后一對(duì)象重疊(下面有時(shí)稱為“上方重疊”)、或者允許通過將位于“下方”的后一對(duì)象放置在前一對(duì)象之下而使前一對(duì)象與后一對(duì)象重疊(下面有時(shí)稱為“下方重疊”)(根據(jù)Z順序)。
當(dāng)輸入表示允許重疊的設(shè)置的信息時(shí),布置兩個(gè)可變?nèi)萜?,以使兩個(gè)容器之間的重疊部分處于其中一個(gè)可變?nèi)萜鞑贾迷谖挥凇吧戏健钡牧硪粋€(gè)容器之下的“下方”位置處的狀態(tài)。
當(dāng)輸入表示拒絕重疊的設(shè)置的信息時(shí),系統(tǒng)允許輸入表示以相同的優(yōu)先級(jí)布置兩個(gè)可變?nèi)萜鞯脑敿?xì)設(shè)置信息,或者輸入表示優(yōu)先布置其中一個(gè)可變?nèi)萜鞯脑敿?xì)設(shè)置信息。根據(jù)該詳細(xì)設(shè)置,用于執(zhí)行動(dòng)態(tài)布局的布局引擎模塊105將兩個(gè)可變?nèi)萜鞑贾迷诓话l(fā)生重疊的位置處。
容器B、C和D作為被預(yù)測(cè)為與容器A發(fā)生重疊的對(duì)象而在圖44所示的、對(duì)應(yīng)于容器A的重疊屬性設(shè)置UI 4431中列出,該預(yù)測(cè)是由已參考圖43而說明的、由布局編輯應(yīng)用程序121所執(zhí)行的處理進(jìn)行的。重疊屬性設(shè)置UI 4431具有選項(xiàng)按鈕,用于選擇性地啟用允許“上方重疊”或“下方重疊”的屬性設(shè)置、以及“拒絕重疊”的屬性設(shè)置。在重疊屬性設(shè)置UI 4431中,對(duì)容器B選擇“拒絕重疊”屬性。對(duì)容器C選擇允許“上方重疊”屬性。對(duì)容器D選擇允許“下方重疊”屬性。
在對(duì)應(yīng)于容器B的圖44所示的重疊屬性設(shè)置UI 4432中,列出容器A和C,作為預(yù)計(jì)與容器B重疊的對(duì)象。圖44所示的重疊屬性設(shè)置UI 4432具有選項(xiàng)按鈕,用于選擇性地啟用允許“上方重疊”或“下方重疊”的屬性設(shè)置、以及“拒絕重疊”的屬性設(shè)置。與用于設(shè)置可能與容器B重疊的容器A的重疊屬性的重疊屬性設(shè)置UI 4431同步,將“拒絕重疊”屬性設(shè)置為容器A的重疊屬性(即,UI 4431和4432均設(shè)置“拒絕重疊”)。在重疊屬性設(shè)置UI 4432中,對(duì)容器C設(shè)置允許“上方重疊”屬性。
在對(duì)應(yīng)于容器C的重疊屬性設(shè)置UI 4433中,列出容器A和B,作為預(yù)計(jì)與容器C重疊的對(duì)象。與容器A和B的情況類似,重疊屬性設(shè)置UI 4433具有選項(xiàng)按鈕,用于選擇性地啟用允許“上方重疊”或“下方重疊”的屬性設(shè)置、以及“拒絕重疊”的屬性設(shè)置。與用于設(shè)置可能與容器B重疊的容器A的重疊屬性的重疊屬性設(shè)置UI 4431同步,在重疊屬性設(shè)置UI 4433中,設(shè)置“下方重疊”屬性,作為容器A的重疊屬性(即,允許將容器A放置在容器C的“上方”的重疊)。與可能與容器C重疊的容器B的重疊屬性設(shè)置UI4432同步,在容器B的重疊屬性設(shè)置UI 4433中設(shè)置允許“下方重疊”屬性(允許將容器B布置在容器C的“上方”的重疊)。
在對(duì)應(yīng)于容器D的重疊屬性設(shè)置UI 4434中,列出容器A,作為預(yù)計(jì)與容器D重疊的對(duì)象。與容器A、B和C的情況類似,重疊屬性設(shè)置UI 4433具有選項(xiàng)按鈕,用于選擇性地啟用允許“上方重疊”或“下方重疊”的屬性設(shè)置、以及“拒絕重疊”的屬性設(shè)置。與用于設(shè)置可能與容器A重疊的容器D的重疊屬性的重疊屬性設(shè)置UI 4431同步,在重疊屬性設(shè)置UI 4434中,設(shè)置“上方重疊”屬性作為容器D的重疊屬性(即,允許將容器D布置在“上方”、將容器A布置在“下方”的重疊)。在本實(shí)施例的情況下,容器A用作用于設(shè)置重疊屬性的基準(zhǔn)。如上所述,容器B至D中的每個(gè)的重疊屬性的設(shè)置與容器A的重疊屬性的設(shè)置同步。例如,在屬性設(shè)置UI 4434中,容器D的重疊屬性被改變?yōu)閷傩浴跋路街丿B”的情況下,在容器A的屬性設(shè)置UI 4431中設(shè)置的重疊屬性與其同步地改變?yōu)椤吧戏街丿B”屬性。在被判斷為相互重疊的容器相互相關(guān)的狀態(tài)下,保存表示所設(shè)置的容器的重疊順序的信息、以及表示“拒絕重疊”屬性的信息。因此,例如,在設(shè)置了“上方重疊”屬性作為其中一個(gè)容器的屬性的情況下,可以設(shè)置“下方重疊”屬性作為與其相關(guān)的另一容器的重疊屬性。
因此,與在另一重疊屬性設(shè)置UI中設(shè)置另一容器的重疊屬性同步,在重疊屬性設(shè)置UI中,布局編輯應(yīng)用程序121可以設(shè)置兩個(gè)容器中的一個(gè)容器的重疊屬性。
根據(jù)下面的關(guān)系,由布局編輯應(yīng)用程序121來實(shí)現(xiàn)設(shè)置屬性的同步。在通過重疊屬性設(shè)置UI將其中一個(gè)對(duì)象(容器)的重疊屬性設(shè)置為“上方重疊”屬性的情況下,通過重疊屬性設(shè)置UI將與該其中一個(gè)對(duì)象重疊的另一對(duì)象(容器)的重疊屬性設(shè)置為“下方重疊”屬性。在通過重疊屬性設(shè)置UI將其中一個(gè)對(duì)象(容器)的重疊屬性設(shè)置為“下方重疊”屬性的情況下,通過重疊屬性設(shè)置UI將與該其中一個(gè)對(duì)象重疊的另一對(duì)象(容器)的重疊屬性設(shè)置為“上方重疊”屬性。在通過重疊屬性設(shè)置UI將其中一個(gè)對(duì)象(容器)的重疊屬性設(shè)置為“拒絕重疊”屬性的情況下,通過重疊屬性設(shè)置UI將與該其中一個(gè)對(duì)象重疊的另一對(duì)象(容器)的重疊屬性也設(shè)置為“拒絕重疊”屬性。
在響應(yīng)于當(dāng)布局編輯應(yīng)用程序121執(zhí)行步驟S4309中的處理時(shí)而發(fā)生的重疊預(yù)測(cè)結(jié)果的變化而導(dǎo)致對(duì)象(容器)之間重疊的情況下,將對(duì)象添加到重疊屬性設(shè)置UI中的列表顯示中。在消除重疊的情況下,刪除相應(yīng)的對(duì)象。根據(jù)重疊預(yù)測(cè)結(jié)果,對(duì)于新添加的對(duì)象(容器),可以追加設(shè)置允許重疊的屬性或拒絕重疊的屬性。
拒絕重疊動(dòng)態(tài)布局設(shè)置UI圖45示出在第二實(shí)施例中在指定拒絕對(duì)象重疊的情況下的動(dòng)態(tài)布局設(shè)置UI(下面有時(shí)稱為拒絕重疊動(dòng)態(tài)布局設(shè)置UI)。圖45示出用于設(shè)置拒絕容器A與容器B重疊的屬性的拒絕重疊動(dòng)態(tài)布局設(shè)置UI 4541、以及用于設(shè)置拒絕容器B與容器A重疊的屬性的拒絕重疊動(dòng)態(tài)布局設(shè)置UI 4542。
當(dāng)屬性設(shè)置UI 4431指定容器A與容器B“拒絕重疊”并且當(dāng)按下“詳細(xì)設(shè)置”按鈕4491時(shí),布局編輯應(yīng)用程序121顯示拒絕重疊動(dòng)態(tài)布局設(shè)置UI 4541。同樣地,當(dāng)屬性設(shè)置UI 4432指定容器B與容器A“拒絕重疊”并且按下“詳細(xì)設(shè)置”按鈕4492時(shí),布局編輯應(yīng)用程序121顯示拒絕重疊動(dòng)態(tài)布局設(shè)置UI 4542。
如圖45所示,用戶可以指定分別對(duì)應(yīng)于方法“兩個(gè)容器相互排斥并布置(等價(jià))”、“對(duì)對(duì)方退讓優(yōu)先級(jí)并布置(對(duì)方優(yōu)先布局)”以及“移動(dòng)對(duì)方并布置(自身優(yōu)先布局)”的三個(gè)選項(xiàng)按鈕中的一個(gè)。
通過選擇其中一個(gè)選項(xiàng)按鈕,用戶可以指定拒絕重疊動(dòng)態(tài)布局方法。
當(dāng)用戶從選項(xiàng)按鈕中選擇對(duì)應(yīng)于“兩個(gè)容器相互排斥并布置(等價(jià))”的選項(xiàng)按鈕時(shí),用戶可以選擇分別對(duì)應(yīng)于自身容器與被拒絕重疊的對(duì)方容器的排斥方向,即“自動(dòng)設(shè)置方向”、“上方”、“下方”、“左方”以及“右方”(用戶移動(dòng)自身容器以防止自身容器與另一容器重疊的方向)的選項(xiàng)按鈕中的一個(gè)。這些布局編輯操作基于布局編輯應(yīng)用程序121所執(zhí)行的處理。
當(dāng)用戶從選項(xiàng)按鈕中選擇對(duì)應(yīng)于“對(duì)對(duì)方退讓優(yōu)先級(jí)并布置(對(duì)方優(yōu)先布局)”的選項(xiàng)按鈕時(shí),用戶可以選擇分別對(duì)應(yīng)于自身容器的移動(dòng)方向,即“自動(dòng)設(shè)置方向”、“上方”、“下方”、“左方”以及“右方”(用戶相對(duì)于對(duì)方移動(dòng)自身容器的方向)的選項(xiàng)按鈕中的一個(gè)。這些布局編輯操作基于布局編輯應(yīng)用程序121所執(zhí)行的處理。
當(dāng)用戶從選項(xiàng)按鈕中選擇對(duì)應(yīng)于“移動(dòng)對(duì)方并布置(自身優(yōu)先布局)”的選項(xiàng)按鈕時(shí),用戶可以選擇分別對(duì)應(yīng)于對(duì)方容器位移的移動(dòng)方向,即“自動(dòng)設(shè)置方向”、“上方”、“下方”、“左方”以及“右方”(一方相對(duì)于另一方而移動(dòng)其自身的方向)的選項(xiàng)按鈕中的一個(gè)。
這些布局編輯操作基于布局編輯應(yīng)用程序121所執(zhí)行的處理。
例如,在圖45所示的用于設(shè)置拒絕容器A與容器B重疊的拒絕重疊動(dòng)態(tài)布局設(shè)置UI 4541中,通過相應(yīng)的選項(xiàng)按鈕來指定方法“兩個(gè)容器相互排斥并布置(等價(jià))”。通過按下相應(yīng)的選項(xiàng)按鈕,指定“向下”方向作為容器A排斥容器B的方向。在用于設(shè)置拒絕容器B與容器A重疊的拒絕重疊動(dòng)態(tài)布局設(shè)置UI 4542中,與指定方法“兩個(gè)容器相互排斥并布置(等價(jià))”的、用于設(shè)置拒絕容器A與容器B重疊的拒絕重疊動(dòng)態(tài)布局設(shè)置UI 4541同步,通過相應(yīng)的選項(xiàng)按鈕來指定方法“兩個(gè)容器相互排斥并布置(等價(jià))”。通過與拒絕重疊動(dòng)態(tài)布局設(shè)置UI 4541同步,按下用于指定相對(duì)于容器A的容器B的排斥方向的相應(yīng)選項(xiàng)按鈕,指定“向上”方向作為容器B排斥容器A的方向,以允許容器A的排斥方向是“向下”、容器B的排斥方向是“向上”的排斥。
因此,布局編輯應(yīng)用程序121可以使利用用戶操作在其中一個(gè)拒絕重疊動(dòng)態(tài)布局設(shè)置UI中設(shè)置的方法和方向與在另一拒絕重疊動(dòng)態(tài)布局設(shè)置UI中設(shè)置的方法和方向同步。
假定根據(jù)下面的關(guān)系,布局編輯應(yīng)用程序121執(zhí)行設(shè)置方法和方向的同步。
拒絕重疊動(dòng)態(tài)布局的設(shè)置的同步(1)在利用拒絕重疊動(dòng)態(tài)布局設(shè)置UI設(shè)置了方法“兩個(gè)容器相互排斥并布置(等價(jià))”的情況下,在對(duì)應(yīng)于被拒絕重疊的另一個(gè)對(duì)象的另一個(gè)拒絕重疊動(dòng)態(tài)布局設(shè)置UI中設(shè)置相同的方法“兩個(gè)容器相互排斥并布置(等價(jià))”。
(2)在利用拒絕重疊動(dòng)態(tài)布局設(shè)置UI設(shè)置了方法“對(duì)對(duì)方退讓優(yōu)先級(jí)并布置(對(duì)方優(yōu)先布局)”的情況下,在對(duì)應(yīng)于被拒絕重疊的另一個(gè)對(duì)象的另一個(gè)拒絕重疊動(dòng)態(tài)布局設(shè)置UI中設(shè)置方法“移動(dòng)對(duì)方并布置(自身優(yōu)先布局)”。
(3)在利用拒絕重疊動(dòng)態(tài)布局設(shè)置UI設(shè)置了方法“移動(dòng)對(duì)方并布置(自身優(yōu)先布局)”的情況下,在對(duì)應(yīng)于被拒絕重疊的另一個(gè)對(duì)象的另一個(gè)拒絕重疊動(dòng)態(tài)布局設(shè)置UI中設(shè)置方法“對(duì)對(duì)方退讓優(yōu)先級(jí)并布置(對(duì)方優(yōu)先布局)”。
同步排斥方向的設(shè)置、自身容器移動(dòng)方向的設(shè)置以及對(duì)方容器移動(dòng)方向的設(shè)置(1)在利用拒絕重疊動(dòng)態(tài)布局設(shè)置UI設(shè)置了“自動(dòng)設(shè)置”方向的情況下,在對(duì)應(yīng)于被拒絕重疊的另一個(gè)對(duì)象的另一個(gè)拒絕重疊動(dòng)態(tài)布局設(shè)置UI中也設(shè)置“自動(dòng)設(shè)置”方向。
(2)在利用拒絕重疊動(dòng)態(tài)布局設(shè)置UI設(shè)置了“向上”方向的情況下,在對(duì)應(yīng)于被拒絕重疊的另一個(gè)對(duì)象的另一個(gè)拒絕重疊動(dòng)態(tài)布局設(shè)置UI中設(shè)置“向下”方向。
(3)在利用拒絕重疊動(dòng)態(tài)布局設(shè)置UI設(shè)置了“向下”方向的情況下,在對(duì)應(yīng)于被拒絕重疊的另一個(gè)對(duì)象的另一個(gè)拒絕重疊動(dòng)態(tài)布局設(shè)置UI中設(shè)置“向上”方向。
(4)在利用拒絕重疊動(dòng)態(tài)布局設(shè)置UI設(shè)置了“向左”方向的情況下,在對(duì)應(yīng)于被拒絕重疊的另一個(gè)對(duì)象的另一個(gè)拒絕重疊動(dòng)態(tài)布局設(shè)置UI中設(shè)置“向右”方向。
(5)在利用拒絕重疊動(dòng)態(tài)布局設(shè)置UI設(shè)置了“向右”方向的情況下,在對(duì)應(yīng)于被拒絕重疊的另一個(gè)對(duì)象的另一個(gè)拒絕重疊動(dòng)態(tài)布局設(shè)置UI中設(shè)置“向左”方向。
表示分別利用圖44和45所示的UI設(shè)置的方法和設(shè)置方向的信息保持在存儲(chǔ)器單元136中。
拒絕重疊動(dòng)態(tài)布局圖46是示出布局編輯應(yīng)用程序121執(zhí)行的拒絕重疊動(dòng)態(tài)布局的處理流程的流程圖。假定在本實(shí)施例中執(zhí)行的拒絕重疊動(dòng)態(tài)布局中,利用已在第一實(shí)施例中說明的動(dòng)態(tài)引導(dǎo)物、防止重疊可變鏈接、或者防止重疊對(duì)應(yīng)角可變鏈接,布局編輯應(yīng)用程序121可以控制可變?nèi)萜鞯奈灰啤?br>
用戶操作鼠標(biāo)133在菜單項(xiàng)目304上進(jìn)行點(diǎn)擊,以指示系統(tǒng)使圖像數(shù)據(jù)流入文檔模板上存在的可變?nèi)萜鲀?nèi)。在步驟S4601,布局編輯應(yīng)用程序121判斷圖像數(shù)據(jù)(內(nèi)容)是否流入可變?nèi)萜?。如果判斷為可變?shù)據(jù)流入其中(步驟S4601中的“是”),則根據(jù)邊緣狀態(tài)、所設(shè)置的容器尺寸、以及動(dòng)態(tài)因素的變化,布局編輯應(yīng)用程序121的布局引擎105獲得文檔模板4109上的可變?nèi)萜?111至4114的位移。然后,在步驟S4602,布局引擎105計(jì)算可變?nèi)萜?111至4114的預(yù)計(jì)最大可移動(dòng)范圍。該處理與步驟S4302中的處理相同。因此,在此不重復(fù)該處理的詳細(xì)說明。
然后,在步驟S4603,布局編輯應(yīng)用程序121判斷作為執(zhí)行動(dòng)態(tài)布局的結(jié)果,對(duì)象(可變?nèi)萜?之間是否發(fā)生重疊。如果不發(fā)生重疊(步驟S4603中的“否”),則該處理結(jié)束。如果發(fā)生重疊(步驟S4603中的“是”),則在步驟S4604,布局編輯應(yīng)用程序121判斷用戶是否在參考圖44說明的重疊屬性設(shè)置UI中對(duì)對(duì)應(yīng)于相互重疊的對(duì)象(可變?nèi)萜?設(shè)置了“拒絕重疊”屬性。表示所設(shè)置的屬性的信息保持在存儲(chǔ)器單元136中。因此,通過參考存儲(chǔ)器單元136,布局編輯應(yīng)用程序121可以進(jìn)行該判斷。
如果在步驟S4604中判斷為未對(duì)可變?nèi)萜髟O(shè)置“拒絕重疊”屬性(步驟S4604中的“否”),則布局編輯應(yīng)用程序121使相互重疊的對(duì)象(可變?nèi)萜?反映允許重疊的指定,該重疊是“上方重疊”或者“下方重疊”,而且通過參考圖44說明的重疊屬性設(shè)置UI,根據(jù)Z順序,用戶設(shè)置該重疊。此外,布局編輯應(yīng)用程序121改變對(duì)象的顯示順序(根據(jù)“上方重疊”或“下方重疊”的指定,其中一個(gè)對(duì)象顯示在上方,而另一個(gè)對(duì)象顯示在下方),并在步驟S4610中,在編輯窗口中預(yù)覽對(duì)象。然后,該處理結(jié)束。
如果在步驟S4604中判斷為對(duì)可變?nèi)萜髟O(shè)置了“拒絕重疊”屬性(步驟S4604中的“是”),則該處理進(jìn)入步驟S4605,在該步驟S4605中布局編輯應(yīng)用程序121判斷是否利用參考圖45描述的拒絕重疊動(dòng)態(tài)布局設(shè)置UI設(shè)置了方法“兩個(gè)容器相互排斥并布置(等價(jià))”。如上所述,存儲(chǔ)器單元136保持表示該設(shè)置條件的信息。因此,通過參考存儲(chǔ)器單元136,布局編輯應(yīng)用程序121可以進(jìn)行該判斷。
如果在步驟S4605中設(shè)置了方法“兩個(gè)容器相互排斥并布置”,則該處理進(jìn)入步驟S4606,在該步驟S4606,布局編輯應(yīng)用程序121判斷利用拒絕重疊動(dòng)態(tài)布局設(shè)置UI設(shè)置的排斥方向是否是“自動(dòng)設(shè)置”方向。
如果在步驟S4606判斷為設(shè)置了“自動(dòng)設(shè)置”方向作為排斥方向(步驟S4606中的“是”),則利用布局引擎105,布局編輯應(yīng)用程序121計(jì)算移動(dòng)方向相互相反、移動(dòng)量相互基本相同的兩個(gè)對(duì)象(容器)不相互重疊的移動(dòng)位置。布局編輯應(yīng)用程序121在步驟S4607執(zhí)行的處理計(jì)算每個(gè)對(duì)象的位置以識(shí)別重疊區(qū)域,并通過以相反方向?qū)?duì)象移動(dòng)重疊區(qū)域的尺寸,來獲得對(duì)象不相互重疊的移動(dòng)位置。根據(jù)在步驟S4607計(jì)算的移動(dòng)位置,在步驟S4608,布局編輯應(yīng)用程序121使兩個(gè)對(duì)象(可變?nèi)萜?移動(dòng),布置對(duì)象并預(yù)覽顯示布局結(jié)果。然后,結(jié)束該處理。
即,布局編輯應(yīng)用程序121根據(jù)預(yù)定的拒絕重疊設(shè)置(防止重疊鏈接)來判斷是否執(zhí)行拒絕(防止)重疊處理,并且判斷當(dāng)將對(duì)其分配的數(shù)據(jù)裝入每個(gè)容器內(nèi)時(shí)該容器是否重疊。根據(jù)所設(shè)置的屬性,例如重疊設(shè)置、拒絕重疊、以及拒絕重疊的詳細(xì)條件,用于執(zhí)行文檔布局的布局引擎105重新計(jì)算其中一個(gè)可變?nèi)萜髋c另一容器的布局位置。具有顯示控制功能的用戶界面模塊103使重新計(jì)算結(jié)果預(yù)覽顯示在顯示單元144的屏幕上。
如果在步驟S4606判斷為未在拒絕重疊動(dòng)態(tài)布局設(shè)置UI中將“自動(dòng)設(shè)置”方向設(shè)置為排斥方向(步驟S4606中的“否”),則布局編輯應(yīng)用程序121使兩個(gè)對(duì)象(可變?nèi)萜?在兩個(gè)對(duì)象(容器)的排斥方向移動(dòng),該方向相同同步地設(shè)置為相互相反,以便容器的移動(dòng)量接近于相互相等,然后布置對(duì)象。隨后,在步驟S4609,布局編輯應(yīng)用程序121預(yù)覽顯示布局的結(jié)果。然后,結(jié)束該處理。
如果在步驟S4605判斷為未利用拒絕重疊動(dòng)態(tài)布局設(shè)置UI設(shè)置方法“兩個(gè)容器相互排斥并布置”(步驟S4605中的“否”),則該處理進(jìn)入步驟S4611,在該步驟S4611中,布局編輯應(yīng)用程序121判斷是否利用拒絕重疊動(dòng)態(tài)布局設(shè)置UI設(shè)置了方法“對(duì)對(duì)方退讓優(yōu)先級(jí)并布置(對(duì)方優(yōu)先布局)”。
如果在步驟S4611判斷為利用拒絕重疊動(dòng)態(tài)布局設(shè)置UI設(shè)置了方法“對(duì)對(duì)方退讓優(yōu)先級(jí)并布置(對(duì)方優(yōu)先布局)”(步驟S4611中的“是”),則該處理進(jìn)入步驟S4612,在該步驟S4612,布局編輯應(yīng)用程序121判斷是否利用拒絕重疊動(dòng)態(tài)布局設(shè)置UI將“自動(dòng)設(shè)置”方向設(shè)置為自身容器相對(duì)于對(duì)方容器的移動(dòng)方向。
如果在步驟S4612判斷為“自動(dòng)設(shè)置”方向被設(shè)置為自身容器的移動(dòng)方向(步驟S4612中的“是”),則該處理進(jìn)入步驟S4613,在步驟S4613,利用布局引擎105,布局編輯應(yīng)用程序121計(jì)算自身對(duì)象(自身容器)不與布局位置被優(yōu)先確定的對(duì)方對(duì)象(對(duì)方容器)重疊的最小移動(dòng)位置。然后,布局編輯應(yīng)用程序121將自身對(duì)象移動(dòng)到該移動(dòng)位置,并布置容器。隨后,在步驟S4614,布局編輯應(yīng)用程序121預(yù)覽顯示布局結(jié)果。然后,結(jié)束該處理。
如果在步驟S4612判斷為未利用拒絕重疊動(dòng)態(tài)布局設(shè)置UI將“自動(dòng)設(shè)置”方向設(shè)置為自身容器相對(duì)于對(duì)方容器的移動(dòng)方向(步驟S4612中的“否”),則根據(jù)被設(shè)置為自身容器的移動(dòng)方向的“向上”方向、“向下”方向、“向左”方向和“向右”方向中的一個(gè),布局編輯應(yīng)用程序121將自身對(duì)象(自身容器)移動(dòng)到自身對(duì)象不與布局位置被優(yōu)先確定的對(duì)方對(duì)象(對(duì)方容器)重疊的位置,然后布置容器。隨后,在步驟S4615,布局編輯應(yīng)用程序121預(yù)覽顯示布局結(jié)果。然后,結(jié)束該處理。
如果在步驟S4611判斷為未利用拒絕重疊動(dòng)態(tài)布局設(shè)置UI設(shè)置方法“對(duì)對(duì)方退讓優(yōu)先級(jí)并布置(對(duì)方優(yōu)先布局)”(步驟S4611中的“否”),則該處理進(jìn)入步驟S4616,在步驟S4616,布局編輯應(yīng)用程序判斷是否設(shè)置了自身優(yōu)先布局。如果未設(shè)置自身優(yōu)先布局(步驟S4616中的“否”),則該處理結(jié)束。如果設(shè)置了自身優(yōu)先布局(步驟S4616中的“是”),則該處理進(jìn)入步驟S4617,在步驟S4617,布局編輯應(yīng)用程序121判斷是否利用拒絕重疊動(dòng)態(tài)布局設(shè)置UI將“自動(dòng)設(shè)置”方向設(shè)置為對(duì)方容器相對(duì)于自身容器的移動(dòng)方向。
如果在步驟S4617“自動(dòng)設(shè)置”方向被設(shè)置為對(duì)方容器相對(duì)于自身容器的移動(dòng)方向(步驟S4617中的“是”),則該處理進(jìn)入步驟S4618,在步驟S4618,利用布局引擎105,布局編輯應(yīng)用程序121計(jì)算布局位置被優(yōu)先確定的自身對(duì)象(自身可變?nèi)萜?不與對(duì)方對(duì)象(對(duì)方容器)重疊的最小移動(dòng)位置。然后,布局編輯應(yīng)用程序121使對(duì)方對(duì)象(對(duì)方容器)移動(dòng)到該移動(dòng)位置,并布置容器。隨后,在步驟S4619,布局編輯應(yīng)用程序121預(yù)覽顯示布局結(jié)果。然后,結(jié)束該處理。
如果在步驟S4617判斷為未利用拒絕重疊動(dòng)態(tài)布局設(shè)置UI將“自動(dòng)設(shè)置”方向設(shè)置為對(duì)方容器相對(duì)于自身容器的移動(dòng)方向(步驟S4617中的“否”),則根據(jù)設(shè)置為對(duì)方容器的移動(dòng)方向的“向上”方向、“向下”方向、“向左”方向和“向右”方向中的一個(gè),布局編輯應(yīng)用程序121將對(duì)方對(duì)象(對(duì)方容器)移動(dòng)到不與布局位置被優(yōu)先確定的自身對(duì)象(自身容器)重疊的位置,并布置容器。隨后,在步驟S4620,布局編輯應(yīng)用程序121預(yù)覽顯示布局結(jié)果。然后,結(jié)束該處理。
即使在布局由于可變數(shù)據(jù)流入容器而被改變并且對(duì)象相互重疊的情況下,也可以利用第二實(shí)施例來設(shè)置對(duì)象的重疊順序。因此,可以創(chuàng)建反映用戶意圖的布局。即使在設(shè)置了“拒絕重疊”屬性的情況下,也可以選擇避免重疊的多個(gè)方法(“等價(jià)”方法、“對(duì)方優(yōu)先布局”以及“自身優(yōu)先布局”)。此外,還可以設(shè)置避免方向。因此,不僅可以實(shí)現(xiàn)避免重疊,甚至還可以在避免重疊之后創(chuàng)建反映用戶意圖的布局。
圖47示出在圖像數(shù)據(jù)流入圖41所示的可變?nèi)萜?,而且不?yīng)用參考圖46描述的處理的情況下的布局結(jié)果。在這種情況下,進(jìn)行預(yù)覽顯示,以使可變?nèi)萜?112至4114的預(yù)覽顯示4712至4714與可變?nèi)萜?111的預(yù)覽顯示4711重疊。
圖48示出在圖像數(shù)據(jù)流入圖41所示的可變?nèi)萜鳎覒?yīng)用了參考圖46描述的處理的情況下,布局編輯應(yīng)用程序121執(zhí)行的布局的結(jié)果。
即使在與圖47所示的圖像數(shù)據(jù)相同的圖像數(shù)據(jù)流入可變?nèi)萜?111至4114的情況下,通過應(yīng)用參考圖46描述的處理而獲得的圖48所示的布局結(jié)果與圖47所示的布局結(jié)果的不同之處在于,可變?nèi)萜?111的預(yù)覽顯示4811不與可變?nèi)萜?112的預(yù)覽顯示4812重疊。
根據(jù)下面的設(shè)置,獲得圖48所示的這些預(yù)覽顯示。即,如圖44所示,在用于設(shè)置容器A的重疊屬性的重疊屬性設(shè)置UI 4431和用于設(shè)置容器B的重疊屬性的重疊屬性設(shè)置UI 4432中,設(shè)置“拒絕重疊”屬性。利用對(duì)應(yīng)于容器A的拒絕重疊動(dòng)態(tài)布局設(shè)置UI 4541和對(duì)應(yīng)于容器B的拒絕重疊動(dòng)態(tài)布局設(shè)置UI 4542指定方法“兩個(gè)容器相互排斥并布置(等價(jià))”。此外,將容器A的排斥方向設(shè)置為“向下”方向。將容器B的排斥方向設(shè)置為“向上”方向。即,如參考圖46所示的拒絕重疊動(dòng)態(tài)布局的處理流程所述,布局編輯應(yīng)用程序121布置容器,以使預(yù)覽顯示4811的位置移動(dòng)到下方位置,使預(yù)覽顯示4812的位置移動(dòng)到上方位置,并且使預(yù)覽顯示4811和4812不相互重疊。
在預(yù)覽顯示4811、4813以及4814中發(fā)生重疊的情況下,根據(jù)在圖44所示的對(duì)象重疊屬性設(shè)置UI中設(shè)置的允許重疊的屬性,通過將容器D的預(yù)覽顯示4814定位在高于容器A的預(yù)覽顯示4811的位置,而且將容器C的預(yù)覽顯示4813定位在低于容器A的預(yù)覽顯示4811的位置,布局編輯應(yīng)用程序121顯示預(yù)覽顯示4811、4813和4814。
根據(jù)本實(shí)施例,當(dāng)編輯布局時(shí),判斷裝入數(shù)據(jù)的容器(局部顯示區(qū))的重疊。當(dāng)編輯布局時(shí),設(shè)置禁止重疊的局部顯示區(qū)和允許重疊的局部顯示區(qū)??梢杂行У靥峁?shí)現(xiàn)用戶所期望的布局顯示的布局控制技術(shù)。即使在允許重疊的情況下,仍可以設(shè)置每個(gè)對(duì)象的重疊順序(換句話說,上方位置或下方位置)。因此,可以在前景上顯示用戶期望的對(duì)象。
在例如圖54中示出上述自動(dòng)布局系統(tǒng)(布局編輯應(yīng)用程序121)的功能配置。
參考圖54,布局編輯應(yīng)用程序121控制多個(gè)包含所分配的數(shù)據(jù)的局部顯示區(qū)的布置,并將數(shù)據(jù)布置在頁面上。預(yù)測(cè)單元5401計(jì)算包含所分配的數(shù)據(jù)的每個(gè)局部顯示區(qū)的可移動(dòng)區(qū)域。預(yù)測(cè)單元5401還根據(jù)該可移動(dòng)區(qū)域來預(yù)測(cè)局部顯示區(qū)是否與布置在該頁面上的另一對(duì)象重疊。防止鏈接顯示單元5402在被預(yù)測(cè)單元5401預(yù)測(cè)為相互重疊的局部顯示區(qū)與另一對(duì)象之間設(shè)置防止重疊鏈接,并顯示所設(shè)置的防止重疊鏈接。
在預(yù)測(cè)單元5401預(yù)測(cè)出局部顯示區(qū)重疊的情況下,設(shè)置數(shù)據(jù)輸入單元A 5403在局部顯示區(qū)中設(shè)置并輸入表示拒絕重疊的數(shù)據(jù)。根據(jù)所分配的數(shù)據(jù)的大小,調(diào)整單元5404調(diào)整多個(gè)局部顯示區(qū)的布局位置。在設(shè)置數(shù)據(jù)輸入單元A 5403在局部顯示區(qū)中設(shè)置了拒絕重疊的屬性的情況下,引導(dǎo)物設(shè)置單元5405設(shè)置引導(dǎo)物。在預(yù)測(cè)單元5401預(yù)測(cè)出局部顯示區(qū)與另一對(duì)象重疊的情況下,設(shè)置數(shù)據(jù)輸入單元B 5406在局部顯示區(qū)中設(shè)置并輸入表示是否允許局部顯示區(qū)與另一對(duì)象重疊的數(shù)據(jù)。在設(shè)置數(shù)據(jù)輸入單元B 5406輸入了允許重疊的數(shù)據(jù)的情況下,顯示順序設(shè)置單元5407設(shè)置局部顯示區(qū)的顯示順序。在響應(yīng)于將所分配的數(shù)據(jù)裝入局部顯示區(qū)而導(dǎo)致局部顯示區(qū)與另一對(duì)象重疊的情況下,根據(jù)該顯示順序,顯示控制單元5408顯示局部顯示區(qū)。在設(shè)置數(shù)據(jù)輸入單元B 5406輸入了表示拒絕重疊的設(shè)置數(shù)據(jù)的情況下,詳細(xì)設(shè)置添加單元5409添加表示優(yōu)先布置局部顯示區(qū)和另一對(duì)象中的至少一個(gè)的詳細(xì)設(shè)置數(shù)據(jù)。布局編輯應(yīng)用程序121的主要單元包括預(yù)測(cè)單元5401和防止鏈接顯示單元5402;或者包括預(yù)測(cè)單元5401、設(shè)置數(shù)據(jù)輸入單元B 5406和顯示控制單元5408。布置單元根據(jù)詳細(xì)設(shè)置信息,將局部顯示區(qū)與另一對(duì)象布置在它們之間不產(chǎn)生重疊部分的位置。
其它實(shí)施例通過對(duì)系統(tǒng)或裝置提供記錄有能實(shí)現(xiàn)上述實(shí)施例的功能的軟件程序代碼的記錄介質(zhì),可以實(shí)現(xiàn)本發(fā)明的特征,其中該系統(tǒng)或裝置的計(jì)算機(jī)(或中央處理單元(CPU)或微處理單元(MPU))讀取并執(zhí)行存儲(chǔ)在該記錄介質(zhì)中的程序代碼。
在這種情況下,從記錄介質(zhì)讀取的程序代碼本身實(shí)現(xiàn)上述實(shí)施例的功能。
例如,可以采用軟盤、硬盤、光盤、磁光盤、光盤只讀存儲(chǔ)器(CD-ROM)、可記錄CD(CD-R)、磁帶、非易失性存儲(chǔ)器、ROM等作為用于提供程序代碼的記錄介質(zhì)。
不僅通過在計(jì)算機(jī)中執(zhí)行所讀取的程序代碼,還通過利用運(yùn)行在計(jì)算機(jī)上的OS(操作系統(tǒng)),根據(jù)程序代碼所發(fā)出的指令執(zhí)行部分或全部實(shí)際處理,來實(shí)現(xiàn)上述實(shí)施例的功能。
根據(jù)從存儲(chǔ)介質(zhì)讀取的、在寫入到設(shè)置在功能擴(kuò)展板或功能擴(kuò)充單元上的存儲(chǔ)器之后由程序代碼發(fā)出的指令,通過由設(shè)置在插入計(jì)算機(jī)的功能擴(kuò)展板或連接至計(jì)算機(jī)的功能擴(kuò)充單元上的CPU等執(zhí)行部分或全部實(shí)際處理,也可以實(shí)現(xiàn)上述實(shí)施例的功能。
盡管參考典型實(shí)施例對(duì)本發(fā)明進(jìn)行了說明,但是應(yīng)當(dāng)理解,本發(fā)明不局限于所公開的典型實(shí)施例。以下權(quán)利要求的范圍符合最寬的解釋,以便包括全部修改、等同結(jié)構(gòu)和功能。
權(quán)利要求
1.一種布局控制裝置,用于控制多個(gè)局部顯示區(qū)的布局,其中在每個(gè)該局部顯示區(qū)中裝入了為其分配的數(shù)據(jù),并且在頁面上布置該數(shù)據(jù),該布局控制裝置包括預(yù)測(cè)單元,用于根據(jù)該局部顯示區(qū)的可移動(dòng)區(qū)域,來預(yù)測(cè)該局部顯示區(qū)是否與排列在該頁面上的另一對(duì)象重疊;以及防止重疊鏈接顯示單元,用于在被預(yù)測(cè)為相互重疊的該局部顯示區(qū)與該另一對(duì)象之間設(shè)置防止重疊鏈接,并顯示該防止重疊鏈接。
2.根據(jù)權(quán)利要求1所述的布局控制裝置,其特征在于,其中,該另一對(duì)象是裝入了所分配的數(shù)據(jù)的局部顯示區(qū),以及其中,該預(yù)測(cè)單元用于計(jì)算排列在該頁面上的每個(gè)局部顯示區(qū)的可移動(dòng)區(qū)域,并根據(jù)該可移動(dòng)區(qū)域來預(yù)測(cè)該多個(gè)局部顯示區(qū)是否相互重疊。
3.根據(jù)權(quán)利要求1所述的布局控制裝置,其特征在于,還包括設(shè)置數(shù)據(jù)輸入單元,用于在該局部顯示區(qū)被該預(yù)測(cè)單元預(yù)測(cè)為重疊的情況下,對(duì)該局部顯示區(qū)輸入拒絕重疊的屬性,其中,在通過該設(shè)置數(shù)據(jù)輸入單元設(shè)置了該拒絕重疊的屬性的情況下,該防止重疊鏈接顯示單元用于在設(shè)置了該拒絕重疊的屬性的局部顯示區(qū)與被預(yù)測(cè)為要與之重疊的另一對(duì)象之間設(shè)置并顯示防止重疊鏈接。
4.根據(jù)權(quán)利要求3所述的布局控制裝置,其特征在于,還包括引導(dǎo)物設(shè)置單元,用于在該設(shè)置數(shù)據(jù)輸入單元對(duì)該局部顯示區(qū)設(shè)置了該拒絕重疊的屬性的情況下,對(duì)該局部顯示區(qū)設(shè)置引導(dǎo)物,其中,該防止重疊鏈接顯示單元用于在對(duì)該局部顯示區(qū)設(shè)置的該引導(dǎo)物與被預(yù)測(cè)為與該局部顯示區(qū)重疊的該另一對(duì)象之間設(shè)置并顯示該防止重疊鏈接。
5.根據(jù)權(quán)利要求4所述的布局控制裝置,其特征在于,還包括調(diào)整單元,用于根據(jù)所分配的數(shù)據(jù)的數(shù)據(jù)大小來調(diào)整該多個(gè)局部顯示區(qū)的布局位置,其中,在該調(diào)整單元調(diào)整了其間設(shè)置有該防止重疊鏈接的該局部顯示區(qū)和另一對(duì)象中的至少一個(gè)的布局位置的情況下,該調(diào)整單元用于響應(yīng)于對(duì)該局部顯示區(qū)和另一對(duì)象中的至少一個(gè)的布局位置的調(diào)整而改變?cè)摲乐怪丿B鏈接的長(zhǎng)度,以使該防止重疊鏈接的長(zhǎng)度不小于對(duì)該防止重疊鏈接設(shè)置的最小值。
6.根據(jù)權(quán)利要求5所述的布局控制裝置,其特征在于,由該引導(dǎo)物設(shè)置單元設(shè)置的該引導(dǎo)物能夠響應(yīng)由調(diào)整單元引起的、該局部顯示區(qū)中被設(shè)置了該引導(dǎo)物的邊的位置的變化而移動(dòng)。
7.根據(jù)權(quán)利要求5所述的布局控制裝置,其特征在于,在該預(yù)測(cè)單元根據(jù)該局部顯示區(qū)的可移動(dòng)區(qū)域的計(jì)算結(jié)果,不能指定該局部顯示區(qū)與被預(yù)測(cè)為與該局部顯示區(qū)重疊的該另一對(duì)象的重疊方向的情況下,該防止重疊鏈接顯示單元用于設(shè)置如下對(duì)角鏈接,所述對(duì)角鏈接能響應(yīng)于該調(diào)整單元對(duì)該局部顯示區(qū)與該另一對(duì)象相互重疊的方向的指定來改變?cè)摲乐怪丿B鏈接所設(shè)置的方向。
8.根據(jù)權(quán)利要求7所述的布局控制裝置,其特征在于,還包括重疊方向判斷單元,用于在設(shè)置了該對(duì)角鏈接的情況下,判斷被預(yù)測(cè)為與該局部顯示區(qū)重疊的該另一對(duì)象的重疊方向是水平方向還是縱向,其中,該防止重疊鏈接顯示單元用于根據(jù)該重疊方向判斷單元的判斷結(jié)果,將該對(duì)角鏈接改變?yōu)樗椒乐怪丿B鏈接或縱向防止重疊鏈接,以防止該局部顯示區(qū)與該另一對(duì)象重疊。
9.一種布局控制裝置,用于控制多個(gè)局部顯示區(qū)的布局,其中在每個(gè)該局部顯示區(qū)中裝入了為其分配的數(shù)據(jù),并且在頁面上布置該數(shù)據(jù),該布局控制裝置包括預(yù)測(cè)單元,用于根據(jù)該局部顯示區(qū)的可移動(dòng)區(qū)域,來預(yù)測(cè)該局部顯示區(qū)是否與排列在該頁面上的另一對(duì)象重疊;設(shè)置信息輸入單元,用于在該局部顯示區(qū)被該預(yù)測(cè)單元預(yù)測(cè)為與另一對(duì)象重疊的情況下,設(shè)置并輸入表示是否允許該局部顯示區(qū)與該另一對(duì)象重疊的設(shè)置信息;重疊順序設(shè)置單元,用于在由該設(shè)置信息輸入單元輸入了表示允許重疊的信息的情況下,設(shè)置顯示該局部顯示區(qū)的重疊順序;以及輸出控制單元,用于在當(dāng)數(shù)據(jù)被裝入每個(gè)該局部顯示區(qū)時(shí),該局部顯示區(qū)與另一對(duì)象重疊的情況下,輸出根據(jù)該重疊順序排列了該局部顯示區(qū)和該另一對(duì)象的頁面。
10.根據(jù)權(quán)利要求9所述的布局控制裝置,其特征在于,該重疊順序設(shè)置單元用于將該局部顯示區(qū)和該另一對(duì)象的重疊部分中的一個(gè)設(shè)置在上方位置,將該重疊部分中的另一個(gè)設(shè)置在下方位置。
11.根據(jù)權(quán)利要求9所述的布局控制裝置,其特征在于,還包括詳細(xì)設(shè)置信息添加單元,用于在該設(shè)置信息輸入單元輸入了表示拒絕重疊的設(shè)置信息的情況下,添加用于優(yōu)先布置該局部顯示區(qū)和該另一對(duì)象中的至少一個(gè)的詳細(xì)設(shè)置信息;以及布置單元,用于根據(jù)該詳細(xì)設(shè)置信息,將該局部顯示區(qū)與該另一對(duì)象布置在它們之間不產(chǎn)生重疊部分的位置。
12.一種布局控制方法,用于控制多個(gè)局部顯示區(qū)的布局,其中在每個(gè)該局部顯示區(qū)中裝入了為其分配的數(shù)據(jù),并且在頁面上布置該數(shù)據(jù),該布局控制方法包括預(yù)測(cè)步驟,用于根據(jù)該局部顯示區(qū)的可移動(dòng)區(qū)域,來預(yù)測(cè)該局部顯示區(qū)是否與排列在該頁面上的另一對(duì)象重疊;防止重疊鏈接設(shè)置步驟,用于在被預(yù)測(cè)為相互重疊的該局部顯示區(qū)與該另一對(duì)象之間設(shè)置防止重疊鏈接;以及防止重疊鏈接顯示步驟,用于如果該防止重疊鏈接設(shè)置步驟設(shè)置了防止重疊鏈接,則顯示該防止重疊鏈接。
13.根據(jù)權(quán)利要求12所述的布局控制方法,其特征在于,該另一對(duì)象是裝入了所分配的數(shù)據(jù)的局部顯示區(qū),以及其中,可移動(dòng)區(qū)域計(jì)算步驟包括計(jì)算布置在頁面上的每個(gè)局部顯示區(qū)的可移動(dòng)區(qū)域,以及該預(yù)測(cè)步驟包括根據(jù)該可移動(dòng)區(qū)域來預(yù)測(cè)多個(gè)局部顯示區(qū)是否相互重疊。
14.根據(jù)權(quán)利要求12所述的布局控制方法,其特征在于,還包括設(shè)置數(shù)據(jù)輸入步驟,用于在該局部顯示區(qū)相互重疊的情況下,在該局部顯示區(qū)中輸入表示拒絕重疊的屬性的設(shè)置數(shù)據(jù),其中,該防止重疊鏈接設(shè)置步驟包括在通過該設(shè)置數(shù)據(jù)輸入步驟設(shè)置了該拒絕重疊的屬性的情況下,在設(shè)置了該拒絕重疊的屬性的局部顯示區(qū)與被預(yù)測(cè)為與該局部顯示區(qū)重疊的另一對(duì)象之間設(shè)置防止重疊鏈接。
15.根據(jù)權(quán)利要求14所述的布局控制方法,其特征在于,還包括引導(dǎo)物設(shè)置步驟,用于在該設(shè)置數(shù)據(jù)輸入步驟設(shè)置了該拒絕重疊的屬性的情況下,對(duì)該局部顯示區(qū)設(shè)置引導(dǎo)物,其中,該防止重疊鏈接設(shè)置步驟包括在對(duì)該局部顯示區(qū)設(shè)置的該引導(dǎo)物與被預(yù)測(cè)為與該局部顯示區(qū)重疊的另一對(duì)象之間設(shè)置該防止重疊鏈接。
16.根據(jù)權(quán)利要求15所述的布局控制方法,其特征在于,還包括調(diào)整步驟,用于根據(jù)所分配的數(shù)據(jù)的數(shù)據(jù)大小來調(diào)整該多個(gè)局部顯示區(qū)的布局位置,其中,該調(diào)整步驟包括在調(diào)整了其間設(shè)置有該防止重疊鏈接的該局部顯示區(qū)和另一對(duì)象中的至少一個(gè)的布局位置的情況下,響應(yīng)于對(duì)該局部顯示區(qū)和另一對(duì)象中的至少一個(gè)的布局位置的調(diào)整而改變?cè)摲乐怪丿B鏈接的長(zhǎng)度,以使該防止重疊鏈接的長(zhǎng)度不小于對(duì)該防止重疊鏈接設(shè)置的最小值。
17.根據(jù)權(quán)利要求16所述的布局控制方法,其特征在于,由該引導(dǎo)物設(shè)置步驟設(shè)置的該引導(dǎo)物能夠響應(yīng)由調(diào)整步驟引起的、該局部顯示區(qū)中被設(shè)置了該引導(dǎo)物的邊的位置的變化而移動(dòng)。
18.根據(jù)權(quán)利要求16所述的布局控制方法,其特征在于,在該預(yù)測(cè)步驟根據(jù)該局部顯示區(qū)的可移動(dòng)區(qū)域的計(jì)算結(jié)果,不能指定該局部顯示區(qū)與被預(yù)測(cè)為與該局部顯示區(qū)重疊的該另一對(duì)象的重疊方向的情況下,該防止重疊鏈接設(shè)置步驟包括設(shè)置如下對(duì)角鏈接,所述對(duì)角鏈接能響應(yīng)于該調(diào)整步驟對(duì)該局部顯示區(qū)與該另一對(duì)象相互重疊的方向的指定來改變?cè)摲乐怪丿B鏈接所設(shè)置的方向。
19.根據(jù)權(quán)利要求18所述的布局控制方法,其特征在于,還包括重疊方向判斷步驟,用于在設(shè)置了該對(duì)角鏈接的情況下,判斷被預(yù)測(cè)為與該局部顯示區(qū)重疊的該另一對(duì)象的重疊方向是水平方向還是縱向,其中,該防止重疊鏈接顯示步驟包括如下步驟根據(jù)該重疊方向判斷步驟的判斷結(jié)果,將該對(duì)角鏈接改變?yōu)樗椒乐怪丿B鏈接或縱向防止重疊鏈接,以防止該局部顯示區(qū)與該另一對(duì)象重疊。
20.一種布局控制方法,用于控制多個(gè)局部顯示區(qū)的布局,其中在每個(gè)該局部顯示區(qū)中裝入了為其分配的數(shù)據(jù),并且在頁面上布置該數(shù)據(jù),該布局控制方法包括預(yù)測(cè)步驟,用于根據(jù)該局部顯示區(qū)的可移動(dòng)區(qū)域,來預(yù)測(cè)該局部顯示區(qū)是否與排列在該頁面上的另一對(duì)象重疊;設(shè)置信息輸入步驟,用于在該局部顯示區(qū)被預(yù)測(cè)為與另一對(duì)象重疊的情況下,設(shè)置并輸入表示是否允許該局部顯示區(qū)與該另一對(duì)象重疊的設(shè)置信息;重疊順序設(shè)置步驟,用于在通過該設(shè)置信息輸入步驟輸入了表示允許重疊的信息的情況下,設(shè)置顯示該局部顯示區(qū)的重疊順序;以及輸出控制步驟,用于在當(dāng)數(shù)據(jù)被裝入每個(gè)該局部顯示區(qū)時(shí),該局部顯示區(qū)與另一對(duì)象重疊的情況下,輸出根據(jù)該重疊順序排列了該局部顯示區(qū)和該另一對(duì)象的頁面。
21.根據(jù)權(quán)利要求20所述的布局控制方法,其特征在于,該重疊順序設(shè)置步驟包括將該局部顯示區(qū)和該另一對(duì)象的重疊部分中的一個(gè)設(shè)置在上方位置,將該重疊部分中的另一個(gè)設(shè)置在下方位置。
22.根據(jù)權(quán)利要求20所述的布局控制方法,其特征在于,還包括詳細(xì)設(shè)置信息添加步驟,用于在通過該設(shè)置信息輸入步驟輸入了表示拒絕重疊的設(shè)置信息的情況下,添加用于優(yōu)先布置該局部顯示區(qū)和該另一對(duì)象中的至少一個(gè)的詳細(xì)設(shè)置信息;以及布置步驟,用于根據(jù)該詳細(xì)設(shè)置信息,將該局部顯示區(qū)與該另一對(duì)象布置在它們之間不產(chǎn)生重疊部分的位置。
全文摘要
本發(fā)明提供一種布局控制裝置和布局控制方法。在未設(shè)置將多個(gè)局部顯示區(qū)相互關(guān)聯(lián)的鏈接的情況下,局部顯示區(qū)相互重疊。存在外觀惡化的擔(dān)心。在不需要相互關(guān)聯(lián)的局部顯示區(qū)中設(shè)置了用于防止重疊的鏈接的情況下,增加了布局的動(dòng)態(tài)變化的因素的數(shù)量。因此,存在處理復(fù)雜化的擔(dān)心。布局控制裝置判斷布置在文檔模板上的局部顯示區(qū)是否相互重疊。在布局控制裝置判斷為它們之間存在重疊的可能性的情況下,布局控制裝置創(chuàng)建用于防止重疊的鏈接。
文檔編號(hào)G06F3/12GK1828516SQ200610057898
公開日2006年9月6日 申請(qǐng)日期2006年3月3日 優(yōu)先權(quán)日2005年3月4日
發(fā)明者細(xì)坪利彥 申請(qǐng)人:佳能株式會(huì)社