CN1828516A - 布局控制装置和布局控制方法 - Google Patents
布局控制装置和布局控制方法 Download PDFInfo
- Publication number
- CN1828516A CN1828516A CNA2006100578981A CN200610057898A CN1828516A CN 1828516 A CN1828516 A CN 1828516A CN A2006100578981 A CNA2006100578981 A CN A2006100578981A CN 200610057898 A CN200610057898 A CN 200610057898A CN 1828516 A CN1828516 A CN 1828516A
- Authority
- CN
- China
- Prior art keywords
- overlapping
- container
- partial display
- link
- layout
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 134
- 230000036961 partial effect Effects 0.000 claims abstract description 154
- 230000008859 change Effects 0.000 claims abstract description 67
- 230000014509 gene expression Effects 0.000 claims description 59
- 238000004364 calculation method Methods 0.000 claims description 52
- 238000009826 distribution Methods 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 11
- 230000008021 deposition Effects 0.000 claims 1
- 238000012545 processing Methods 0.000 abstract description 129
- 230000008569 process Effects 0.000 description 51
- 238000010586 diagram Methods 0.000 description 29
- 238000007639 printing Methods 0.000 description 23
- 230000006870 function Effects 0.000 description 19
- 230000003068 static effect Effects 0.000 description 19
- 238000005516 engineering process Methods 0.000 description 18
- 238000012856 packing Methods 0.000 description 10
- 238000003860 storage Methods 0.000 description 10
- 230000001360 synchronised effect Effects 0.000 description 9
- 238000006073 displacement reaction Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 238000005034 decoration Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000003672 processing method Methods 0.000 description 4
- 239000000126 substance Substances 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000008676 import Effects 0.000 description 3
- 238000003825 pressing Methods 0.000 description 3
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000004513 sizing Methods 0.000 description 2
- 241000406668 Loxodonta cyclotis Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 210000003141 lower extremity Anatomy 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000002203 pretreatment Methods 0.000 description 1
- 230000001915 proofreading effect Effects 0.000 description 1
- 230000001846 repelling effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Editing Of Facsimile Originals (AREA)
- Digital Computer Display Output (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明提供一种布局控制装置和布局控制方法。在未设置将多个局部显示区相互关联的链接的情况下,局部显示区相互重叠。存在外观恶化的担心。在不需要相互关联的局部显示区中设置了用于防止重叠的链接的情况下,增加了布局的动态变化的因素的数量。因此,存在处理复杂化的担心。布局控制装置判断布置在文档模板上的局部显示区是否相互重叠。在布局控制装置判断为它们之间存在重叠的可能性的情况下,布局控制装置创建用于防止重叠的链接。
Description
技术领域
本发明涉及一种动态控制用于产生、编辑以及打印包括文本和图像的文档的布局的技术,特别是涉及一种适于产生、编辑以及打印可变数据文档的技术。
背景技术
最近,商品的多样化缩短了商品的生命周期。此外,因特网的广泛使用增强了对使用因特网的客户的定制服务的倾向。因此,CRM(Customer Relationship Management,客户关系管理)和一对一营销的必要性受到关注。这些技术提升了客户的满意度,并且旨在获取并赢得客户。
一对一营销是一种用于建立例如年龄、性别、业余爱好、偏好以及购买历史的个人属性信息的数据库,对信息进行分析,并提出满足客户需要的建议的数据库营销技术。可变打印技术是这种营销技术中的典型营销技术。随着近来DTP(DeskTopPublishing,桌面打印)技术的进步和数字打印机的广泛使用,已经开发了可变打印系统,该可变打印系统可以对每个客户定制文档,并输出定制的文档。可变打印系统要求最佳布局和显示信息量根据客户而变化的内容。
通过在每个文档上布置作为在每个上显示信息的区域的容器(还称为文档形式的字段区域),并还使该容器与数据库相关联,实现了相关的可变打印系统。
然而,用作对其粘贴文本和图像的局部显示区的每个容器的尺寸是固定的。因此,在当包含在数据库中的数据插入容器时,该数据的量大于容器的尺寸的情况下,发生文本重叠或图像裁剪。相反,在数据量小于容器的尺寸的情况下,在容器内形成空白区。在这两种情况的任何一种情况下,对表示文本和图像的信息量都不能实现最佳布局显示。
为了解决该问题,提出了自动布局系统,该自动布局系统可以根据信息量来改变每个容器的尺寸。该自动布局系统可以可变地设置用于文本和图像的容器的尺寸。因此,该自动布局系统可以改变每个容器的尺寸,以根据要插入的数据量而增大。此外,当将数据量大于固定尺寸的容器的数据插入该容器中时,存在一种减小文本的字体大小,以在该容器内显示整个文本的技术。
然而,上述系统的问题是,当增大容器的尺寸时,该容器可能与设置在该文档上的另一容器重叠。该系统的另一个问题是,在文本量大的情况下,当调整字体时,字体大小可能变得过小。为了解决这些问题,日本特开平11-316792号公报公开了布局设计装置所采用的另一种自动布局技术,用于当容器的尺寸增大时,减小邻近容器的尺寸。
日本特开平11-316792号公报描述了容器的容器尺寸根据对其输入的文本而增大,并且相邻容器的尺寸减小,以保持它们之间的距离。因此,该相关自动布局技术的问题是,随着输入文本量的增大,相邻容器的尺寸不断减小。
此外,日本特开平11-316792号公报所描述的技术没有考虑到通过使每个容器与数据库相关联,然后使内容数据流入每个容器中,来创建对每个客户定制的文档的可变打印系统。
考虑到可变数据打印的有关布局方法的例子是创建具有固定尺寸的容器,然后将内容数据流入其中的方法。然而,在使用具有固定尺寸的容器的情况下,该布局方法的问题是,当大小大于容器的尺寸的内容数据流入该容器时,发生溢出,当以减小的字体强行使该内容数据流入其中时,字体大小变得极小。此外,根据内容数据的大小,可能增大或者减小容器的尺寸。然而,在多个容器相互相关的状态下,当该多个容器中的一个的尺寸增大时,随着该多个容器中的一个的尺寸的增大,相关容器的尺寸不得不减小。因此,不能执行考虑到容器间的平衡的布局处理。
因此,采用如下有关布局处理方法作为考虑到相互相关的多个容器的尺寸之间的平衡的有关布局方法,其中,该方法在每个容器的尺寸根据流入其中的内容数据的大小而变化的情况下,通过控制每个容器的尺寸变化量来执行布局处理。因此,可以执行考虑到相关容器的尺寸之间的平衡的布局处理。然而,尽管可以利用该布局处理方法调整相关容器的布局,但是该布局处理方法不调整相互无关的容器的布局。例如,假定在模板上布置了两个容器A和B,而且它们相互无关。在这种情况下,当大量内容数据流入容器A和B中的每个时,容器A和B两者的尺寸增大,而不对容器A和B执行布局调整,直到内容数据适合容器A和B中的每个。因此,该布局处理方法导致的问题是容器最终相互重叠。
此外,有关方法导致的另一个问题是,即使当用户使容器相互相关,以保持它们之间的距离,从而防止容器相互重叠时,布局的动态变化的因素也增大,从而难以预测布局的动态变化。此外,对分别流入完全不相关的内容数据的容器的布局进行调整可能导致用户错误地认为该内容数据相互相关。此外,随着使容器相互相关的因素的数量的增多,布局调整应该考虑很多因素。这导致的问题是不能执行最佳布局调整,以致未获得所期望的布局。
发明内容
本发明的一个方面提供一种布局控制技术,该布局控制技术通过在布局编辑期间判断每个装入了数据的容器(局部显示区)是否相互重叠,并且在布局编辑期间设置禁止与另一局部显示区重叠的局部显示区、以及允许与另一局部显示区重叠的局部显示区,来有效实现用户所期望的布局。
根据本发明的一个方面,提供一种布局控制装置,用于控制多个局部显示区的布局,其中在每个该局部显示区中装入了为其分配的数据,并且在页面上布置该数据,该布局控制装置包括:预测单元,用于计算每个局部显示区的可移动区域,其中在每个局部显示区中装入了为其分配的数据,根据可移动区域来预测每个局部显示区是否与排列在页面上的另一对象重叠;还包括防止重叠链接显示单元,用于在被预测为相互重叠的局部显示区与对象之间设置防止重叠链接,并显示所设置的防止重叠链接。
根据本发明的另一方面,提供一种布局控制装置,用于控制多个局部显示区的布局,其中在每个该局部显示区中装入了为其分配的数据,并且在页面上布置该数据,该布局控制装置包括:预测单元,用于计算每个局部显示区的可移动区域,其中在每个局部显示区中装入了为其分配的数据,根据可移动区域来预测每个局部显示区是否与排列在页面上的另一对象重叠;设置信息输入单元,用于在每个局部显示区被预测单元预测为与另一对象重叠的情况下,设置并输入表示是否允许每个局部显示区与另一对象重叠的设置信息;重叠顺序设置单元,用于在由设置信息输入单元输入了表示允许重叠的信息的情况下,设置显示局部显示区的显示顺序;以及输出控制单元,用于在当数据被装入每个局部显示区时,局部显示区与另一对象重叠的情况下,根据显示顺序显示局部显示区。
根据本发明的另一方面,提供一种布局控制方法,用于控制多个局部显示区的布局,其中在每个该局部显示区中装入了为其分配的数据,并且在页面上布置该数据,该布局控制方法包括:可移动区域计算步骤,用于计算每个局部显示区的可移动区域,其中在每个局部显示区中装入了为其分配的数据;预测步骤,用于根据可移动区域来预测每个局部显示区是否与排列在页面上的另一对象重叠;防止链接设置步骤,用于在被预测为相互重叠的局部显示区与对象之间设置防止重叠链接;以及防止链接显示步骤,用于显示防止重叠链接。
根据本发明的另一方面,提供一种布局控制方法,用于控制多个局部显示区的布局,其中在每个该局部显示区中装入了为其分配的数据,并且在页面上布置该数据,该布局控制方法包括:
计算步骤,用于计算每个局部显示区的可移动区域,其中在每个局部显示区中装入了为其分配的数据;预测步骤,用于根据可移动区域来预测每个局部显示区是否与排列在页面上的另一对象重叠;设置信息输入步骤,用于在每个局部显示区被预测为与另一对象重叠的情况下,设置并输入表示是否允许局部显示区与另一对象重叠的设置信息;显示顺序设置步骤,用于在通过设置信息输入步骤输入了表示允许重叠的信息的情况下,设置显示局部显示区的显示顺序;以及显示控制步骤,用于在当数据被装入每个局部显示区时,局部显示区与另一对象重叠的情况下,根据显示顺序来显示局部显示区。
通过下面参考附图对典型实施例的详细说明,本发明的其它特征是显而易见的。
附图说明
包含在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并与说明书一起用于解释本发明的原理。
图1A示出根据本发明典型实施例的计算机系统的配置。
图1B示出图1A所示的主计算机的典型配置。
图2示出布局引擎模块设置在主计算机中且布局引擎模块还设置在引擎服务器中的配置。
图3示出包括菜单栏、工具栏、工作区以及浮动板(palette)的用户界面窗口。
图4示出具有设置在容器间的链接、锚(anchor)以及滑动块的典型容器。
图5A至5D示出容器规则。
图6是示出链接设置方法的流程图。
图7中的(A)~(C)示出当创建链接时,用户界面窗口中的变化的例子。
图8是示出该实施例的布局引擎执行的布局计算处理的流程图。
图9是示出该实施例的布局引擎执行的布局计算处理的流程图。
图10中的(A)~(C)示出对应于图9所示的用户界面窗口的显示例子。
图11示出该实施例的布局计算中的容器组。
图12示出自动布局系统中的使用可变链接的容器的布局。
图13是示出自动布局系统中的设置可变链接的处理的流程图。
图14示出设置链接的属性的对话框窗口的例子。
图15示出在自动布局系统中通过固定链接而获得的布局结果。
图16示出在自动布局系统中通过可变链接而获得的布局结果。
图17示出设置容器的属性的属性对话框窗口的例子。
图18是示出在设置容器的属性的操作中布局编辑应用程序执行的处理的流程的流程图。
图19示出在可变地设置容器的设置之前,布局编辑应用程序所使用的编辑窗口。
图20示出在利用鼠标指针选择用作图19所示的静态对象的图像容器以及可变地改变该图像容器的设置属性的情况下,布局编辑应用程序所使用的编辑窗口。
图21示出图像容器的最大可移动区域以及它们之间的预计重叠区域。
图22示出一编辑窗口,在该编辑窗口中,布局编辑应用程序显示用于使用户确定是否允许要编辑的动态对象与另一动态对象重叠的对话框。
图23示出一编辑窗口,在该编辑窗口中,布局编辑应用程序显示表示“拒绝动态对象之间重叠”的属性对话框。
图24示出一编辑窗口,在该编辑窗口中,布局编辑应用程序显示Y方向动态引导物和X方向防止重叠可变链接。
图25A至25C是示出布局编辑应用程序所执行的防止重叠可变链接设置处理的流程的流程图。
图26示出在两个可变容器的可移动区域可能相互重叠的情况下,表示“拒绝动态对象之间重叠”、并由布局编辑应用程序显示的属性对话框。
图27示出一编辑窗口,在该编辑窗口中,在存在三个可变容器的情况下,布局编辑应用程序设置动态引导物和防止重叠可变链接。
图28示出用于设置防止重叠可变链接的属性的对话框窗口的例子。
图29示出一预览窗口,该预览窗口表示将适合于图24所示的每个可变容器的数据流入容器中的状态。
图30示出一预览窗口,该预览窗口表示与图29所示的情况下所使用的图像数据不同的图像数据流入图24所示每个可变容器的状态。
图31示出表示图像数据流入图27所示每个可变容器的状态的预览窗口。
图32是示出由布局编辑应用程序执行的、关于设置动态引导物和防止重叠可变链接的处理的流程的流程图。
图33示出一编辑窗口,该编辑窗口表示分别沿垂直方向(对应于Y方向)和水平方向(对应于X方向)延伸的动态引导物以及防止重叠可变链接。
图34示出用于设置防止重叠对应角可变链接的属性的对话框的例子。
图35示出一预览窗口,该预览窗口表示在图像数据流入未应用防止重叠对应角可变链接的可变容器的情况下,该容器的布局的变化。
图36示出由图40所示的处理设置的容器的布局的例子。
图37示出一预览窗口,该预览窗口表示在图像数据流入未应用防止重叠对应角可变链接的、图33所示的可变容器的情况下,该容器的布局的变化。
图38示出由图40所示的处理设置的容器的布局的例子。
图39是示出设置可应用于本发明实施例的防止重叠对应角可变链接的处理的流程的流程图。
图40是示出设置可应用于本发明实施例的防止重叠对应角可变链接的布局编辑处理的流程的流程图。
图41示出在本发明第二实施例中布局编辑应用程序所使用的编辑窗口。
图42示出在第二实施例中可变容器的预计最大可移动范围。
图43是示出在第二实施例中布局编辑应用程序所执行的重叠设置处理的流程的流程图。
图44示出在第二实施例中用于设置每个对象的重叠属性的用户界面(UI)。
图45示出在第二实施例中在指定拒绝对象重叠的情况下的动态布局设置UI。
图46是示出在第二实施例中拒绝重叠动态布局的处理的流程的流程图。
图47示出在不应用图46所示的重叠设置处理,并且图像数据流入图41所示的可变容器的情况下的布局结果。
图48示出在第二实施例中应用图46所示的重叠设置处理,并且图像数据流入图41所示的可变容器的情况下的布局结果。
图49是示出在存储单元中保持的、由属性对话框窗口设置的信息的表。
图50是示出在存储单元中保持的、由属性对话框窗口设置的信息的表。
图51是示出保持在存储单元中的最大可移动范围信息的表。
图52是示出保持在存储单元中的防止重叠链接信息的表。
图53示出通过考虑到纵向(垂直方向)和横向(水平方向)执行布局计算来确定布局的例子。
图54是示出用于执行布局编辑应用程序的自动布局系统的功能配置的例子的方框图。
具体实施方式
下面将参考附图来详细说明本发明的典型实施例。
第一实施例
系统配置
图1A示出通过可变地设置容器尺寸来打印文档(可变数据文档)的系统100。在下面参考图1B详细说明的主计算机101的控制下,在该系统中执行控制容器尺寸、设置容器之间的链接以及编辑容器的布局的操作。通过在用作布局控制装置的主计算机101中执行全部或者部分布局编辑应用程序121(根据本发明的布局控制程序),执行图6所示的处理。通过在主计算机101中执行软件,执行布局编辑步骤和打印步骤。
软件存储在包括下面描述的存储单元的计算机可读介质内。将该软件从计算机可读介质加载到主计算机101上。这种软件、记录在介质上的计算机程序、以及存储该程序的计算机可读介质指定计算机的功能,以在计算机与每个外围单元协作的基础上进行文档布局编辑和可变数据打印所需的计算、显示控制、布局控制以及对内容的信息处理。
如图1B所示,根据情况,主计算机101连接到:输入装置,例如键盘132或例如鼠标的指示装置;以及输出单元,包括显示单元144和本地打印机145。输入/输出(I/O)接口138使主计算机101连接到网络107,以使系统100连接到另一计算机(例如,数据库服务器117)。网络107的典型例子是局域网(LAN)和广域网(WAN)。
主计算机101通常包括:至少一个处理器单元135;存储器单元136,包括例如半导体随机存取存储器(RAM)和/或只读存储器(ROM);输入/输出(I/O)接口138,用于连接网络107;视频接口137;以及I/O接口143,用于连接到(多个)输入装置,例如键盘132和鼠标133。存储单元139包括硬盘驱动器140和软盘驱动器(FDD)141。尽管图1B未示出,但是磁带驱动器可以用作存储单元。
通过将硬件构成元件和软件构成元件组合在一起来实现布局控制装置。
布局控制装置用于控制多个局部显示区的布局,其中在每个局部显示区中装入对其分配的数据,布局控制装置还用于将数据布置在页面上,该布局控制装置包括预测单元,用于计算每个局部显示区的可移动区域,并根据该可移动区域来预测每个局部显示区是否与排列在该页面上的另一对象重叠,其中在每个局部显示区中装入对其分配的数据。布局控制装置还包括防止重叠链接显示单元,用于在预测单元预测为相互重叠的局部显示区与对象之间设置防止重叠链接,并显示所设置的防止重叠链接。
提供光盘-ROM(CD-ROM)驱动器142,作为非易失性数据源。主计算机101根据例如GNU/Linux或者Microsoft Windows的操作系统进行操作,或者进行典型地根据操作系统构成的计算机系统的操作。因此,输入/输出接口143可以由主计算机101的处理器单元135使用,处理器单元135通过互联总线134建立与该输入/输出接口143之间的通信。图1A所示的包括主计算机101的系统的例子为IBM兼容PC(个人计算机)、Sun Sparcstation计算机或者包括这种计算机的计算机系统。
布局编辑应用程序121典型地驻留在硬盘驱动器140中,从硬盘驱动器140读取,并由处理器单元135执行。当从存储程序121的存储单元139获取数据,或者通过网络107获取数据时,使用硬盘驱动器140等。可选地,对于该操作可以使用存储器单元136。在CD-ROM或者软盘上对应用程序121进行编码,通过相应的CD-ROM驱动器142或者相应的FDD 141读取该应用程序121,并提供给用户。
可选地,用户可以从网络107安装应用程序121。可以将软件从另一计算机可读介质装入主计算机101,该计算机可读介质具有适当容量,包括磁带、ROM、集成电路、磁光盘、计算机可读卡例如PCMCIA卡和通过主计算机101与另一装置之间的无线通信或红外通信而读取的介质、电子邮件通信、或者在WEB网站上具有所记录的信息的因特网或内部网。顺便提一句,这些计算机可读介质仅涉及标准介质。介质类型并不局限于此。还可以使用任意其它计算机可读介质。
调用“布局编辑程序”的应用程序121是用于执行可变数据打印(Variable Data Printing,VDP)的程序模块,该应用程序121包括两个软件组件:布局引擎模块105;以及用户界面模块103。布局引擎模块105是软件模块,它根据对容器(矩形区域)的尺寸和位置施加的限制逐记录读取存储在数据库119中的可变数据,其中该容器用作在每个中装入数据的局部显示区,并根据对该容器施加的限制来计算每个装入所读取的数据的容器的尺寸和位置。在布局引擎模块105作为用于确定每个局部显示区(容器)的尺寸和位置的应用程序而运行,并将绘制(render)信息输出到打印机驱动器(未示出)的情况下,打印机驱动器对可变数据文档执行图像绘制处理,产生打印数据。
用户界面模块103提供一种使用户创建文档模板并将数据源与该文档模板中的容器相关联的机制。通过通信信道123,用户界面模块103和布局引擎模块105可以相互通信。用于创建文档的数据源存储在位于执行数据库应用程序的另一计算机上的数据库服务器117上的数据库119中。通过到网络107的连接,主计算机101可以与数据库服务器117通信。在执行可变数据打印的情况下,布局编辑应用程序121产生存储到主计算机101或作为另一计算机的文件服务器115中的文档模板。布局编辑应用程序121还产生通过与数据进行合并的文档模板而创建的文档。该文档存储到主计算机101的存储单元139中或文件服务器115中,或者由打印机113直接打印。
打印服务器109对未直接连接到网络107的打印机113提供网络功能。通过典型的通信信道111,打印服务器109和打印机113相互连接。
图2示出除了主计算机101的布局引擎模块105之外,布局引擎225还设置在引擎服务器227内的配置。引擎服务器227是典型计算机。存储在文件服务器115内的文档模板可以与存储在数据库119内的数据合并,以使布局引擎225创建用于打印或其它目的的文档。在用户界面模块103的控制下,通过用户界面(UI)窗口输入表示该操作的数据,而且可以设置该数据,以仅打印特定记录。
应用程序配置
主窗口
在运行期间,用户界面模块103(图1A)使图3所示的应用程序窗口301显示在显示单元144上。应用程序窗口301包括菜单栏302和工具栏303,可以将它们设置为非显示状态,而且可以在屏幕上将它们移动到各位置,应用程序窗口301还包括:工作区306,可以根据鼠标133的位置和操作移动其位置;可选的板311;以及光标/指针装置313。这些组件是应用程序窗口301的特征。
根据公知技术的菜单栏302具有许多在菜单选项之下展开的菜单项目304。工具栏303具有许多可以根据应用程序的模式而进入非显示状态或者显示状态的工具按钮305。可选的标尺308用于表示工作区306中的指针、页面、线、空白指导(margin guide)以及容器或者对象的位置。板311用于访问附加功能,例如,可变数据的库(variable data library)。板311具有按钮312,用于提供窗口控制功能,以使窗口移动、调整窗口的尺寸或者关闭窗口。板311的显示是可选的。板311可以显示在工作区306的前景上,或者可以隐藏在对象的后面。可以对板311的显示进行控制,以使板311仅显示在应用程序窗口301内,或者部分或全部显示在应用程序窗口301之外。
工具栏303至少具有用户可选择的“按钮”403至406(例如,参考图4),接下来将说明它们。
选择工具按钮403用于选择、移动容器的边、调整其尺寸,并且用于锁定(固定)或者解锁容器。通过围绕多个容器进行拖动,或者通过在选择容器的同时保持CTRL键被按下,可以选择多个容器。
文本容器工具按钮404用于创建具有静态或者可变文本的容器。
图像容器工具按钮405用于创建具有静态或者可变图像的容器。
链接工具按钮406用于创建用于使容器相互关联的链接,而且还用于控制链接的距离。
根据公知技术,这些按钮可以被显示为适应操作状况而变化的图标。
通过在页面上布置容器和链接,布局编辑应用程序121利用图3所示的应用程序窗口301来确定基本布局。基本布局用作可变数据打印的基础。在基本布局中的全部容器是固定容器的情况下,全部打印记录结果具有相同的布局。在基本布局中的容器是可变容器(后面说明)的情况下,每个容器的尺寸或位置在根据以记录为单位读取的数据的量或者大小的限制(后面说明)的范围内变化。布局编辑应用程序121所创建的文档模板仅用于确定基本布局。在包括可变容器的情况下,根据所读取的数据来控制打印内容的布局。
文档模板
图3所示的工作区306用于显示并编辑文档模板的设计。这使用户能够理解准备打印的文档的总体设计,而且还可以使用户理解合并后的文档如何根据可变数据的量和大小而改变。在外部数据库链接到模板的情况下,可以在每个容器内显示可变文本或者可变图像,以便可以预览当前处理的文档。在光标移动到容器上,或者在选择容器的情况下,可以始终显示文档结构和可变数据容器。
工作区306的特征是滚动条307、可选的标尺308以及文档模板309。文档模板309可以表示多个页面的存在。通过执行公知技术,用户可以指定给定文档模板的页面大小。例如,从菜单的“文件”中选择“页面设置”,以显示用于设置页面大小的对话框。然后,反映用户所指定的页面大小。每个文档的实际页数可能根据可变数据而改变。在可变数据不能装入一页,而且基本布局没有施加使容器适应具有预定大小的页面的限制的情况下,自动创建附加页面。在基本布局中设置有对装入具有预定大小的页面的容器的约束(可以通过使用锚图标等设置该限制,将在下面说明)的情况下,确定每个容器的尺寸和位置,同时在页面中改变容器的尺寸。根据环境需要减小要装入的可变数据。因此,布局是对应于每个记录而动态确定的。
图3所示页面中的虚线所表示的边界线310是可以可选地设置并表示页面上的可打印对象的最大宽度的页边距。
图4示出可以显示在一页的文档模板309上的对象的例子。图4示出多个容器407和408。容器407和408之间的关系由用于固定边414的位置的锚409、非固定边410、链接412以及滑动块413来确定。锚图标409可以设置在矩形容器的角或边上,或者设置在容器的中心。在设置有锚图标409的情况下,设置锚图标409的场所的位置是固定的。即,在图4所示的例子中,锚图标409设置在容器407的左上角,如该图所示。在可变数据流入容器407,而且对应于该可变数据的图像大小或文本量大的情况下,可以向右和向下扩大容器407。在锚图标409设置在边上的情况下,该边是固定的。可以沿其余三个边的方向扩大该容器。
在锚图标409设置在容器的中心的情况下,该容器的中心的位置是固定的。该容器可以沿四个方向扩大,而不改变矩形容器的中心的位置。下面将详细说明的链接412表示容器407和408相互关联。链接412还表示容器408可以向右移动,而保持对应于该链接412而设置的长度(在该链接是将在下面说明的可变链接的情况下,可以指定该链接的长度的范围)。滑动块413表示该容器可以平行于分别设置有滑动块413的边而被水平移动。
容器
下面说明容器。容器是被称为“局部显示区”的空间,在该“局部显示区”中,固定(静态)或可变文本或图像以记录为单位从可变数据文件流入文档模板,并被绘制。如图4所示,该系统将容器与其它容器或对象一起布置。根据用户利用用户界面窗口执行的操作或者发出的指令,通过操作鼠标133来进行容器的移动、调整尺寸、以及重新创建容器。在此,用作例如文本数据或者图像数据的内容数据所流入的区域的容器有时被称为“局部显示区”。
利用锚图标409、链接412以及滑动块413规定关于容器的变形的限制。在根据文本或图像数据的信息的量而允许变形的方向,容器空间变形,在该容器内执行文本或者图像数据的布局。如果需要使两个相关联(链接)的容器变形,则控制容器的形状,以便能根据要装入容器的文本或图像数据的量以平衡良好的方式变形(而不压迫容器)。
通过作为指示装置(图3中的313)的鼠标133执行的操作,来指定在工作区306中每个容器的位置。可以使容器移动,或者可以调整其在用作用户界面的窗口(图3)中的尺寸。此外,可以添加新的容器。利用锚图标、链接和滑动块,可以设置关于变形的各种条件,例如容器之间的相互关系。每个容器都具有从视觉上显示内容、以及在容器之间进行相互作用、并对容器内的信息进行编辑的功能。容器定义如下。
(1)在容器内,输入固定(静态)或者可变内容。从数据是从数据源获取的意义上说,内容是动态的,根据不同文档内的不同数据,改变容器的尺寸。动画内容和通过另一方法随时间变化的内容不包括在可变内容中,因为该内容不适合打印。在利用容器创建的全部文档中,以同样的方式显示固定内容。然而,在固定内容与可变内容之间设置有链接的情况下,对固定内容的显示进行控制,以便响应于可变容器的操作,改变在文档间的显示位置。
(2)容器具有装饰功能,例如文本设置,例如对内容应用的背景色、边界以及字体式样。这种要设置的特征被称为容器属性。可以对应于每个容器设置容器属性。还可以这样设置容器属性,以便一个容器与另一容器具有相同的容器属性。
(3)在创建文档时,容器与从数据源接收到的数据合并。装饰功能反映在作为全部固定内容的典型打印产品的输出产品上。使反映装饰的结果可见。可变内容显示从数据源接收到的特定数据。特别是,相对于特定数据,根据对容器设置的条件,可变地设置容器的尺寸。例如,利用打印机113可以打印可变地设置的容器的布局以及该容器内的具体数据显示,或者将其显示在显示装置144上,或者使其既显示又打印。
(4)关于容器的设置,该系统具有用户界面模块103,例如,用于编辑容器或者用于设置显示的交互式图形用户界面(GUI)。用户界面的每个元素(element)显示在显示单元144的屏幕上,而不在文档中打印。用户界面模块103可以将容器的某些装饰功能,例如,背景色和字体显示在界面屏幕上,而且可以将装饰功能添加到设置、编辑以及显示容器的功能中。
(5)此外,用户界面模块103设置容器之间的边界、为了交互式改变或者显示容器的尺寸和位置而设置在容器上的位于角部的图标、以及当容器与从数据源接收到的数据合并时容器的操作条件(例如,与重写次数、线和图标的设置、以及文本的编辑有关的信息)。
容器具有限制,以使容器与内容相关联并控制其显示和布局,从而显示每个文档中的容器的内容。这些限制(因为固定或可变内容与容器的关联)用作使用户根据一个文档模板来控制许多文档的主要方法。限制的例子是容器中内容高度的最大值是4英寸。另一个限制的例子是容器内的左边缘应该显示在每个文档内的相同的水平位置。利用GUI可以设置上述条件,以显示和编辑该限制的条件。
与图像在页面上具有所定义的位置的情况相同,指定内容的位置。容器具有位置和尺寸。根据要插入容器的内容,可以在设置容器的布局的条件下,在可变数据打印中显示和编辑该内容。在使用容器的情况下,用户可以指定文档的内容的大小和位置。通过使用一个文档模板创建一些文档。因此,通过使用用户界面模块103,用户可以指定对容器的限制。
一个容器的边定义显示在文档中的内容的相关容器的虚拟边界。例如,矩形容器的左边确定内容的相关容器的布局的左边位置。同样,容器的高度对与所创建的文档相关的内容的高度施加限制。
在下面的说明中,定义用于约束内容的显示的特定值的术语“固定”以相同的方式应用于全部文档。
(1)在容器的宽度固定的情况下,在全部文档内对相关联的内容赋予相同的宽度。
(2)在容器的高度固定的情况下,在全部文档内对相关联的内容赋予相同的高度。
(3)在对距离施加的限制是该距离是固定的情况下,所指定的距离是对全部文档的限制。
(4)在容器的左边和右边被固定的情况下,在允许变形以使内容完全适合容器的高度方向或Y方向,可以改变容器的高度和在Y方向上的位置。
(5)在容器的上边和下边被固定的情况下,在允许变形以使内容完全适合容器的宽度方向或水平方向,可以改变容器的尺寸。
(6)容器的纵轴是与容器的右边和左边平行并通过它们之间的中间位置而延伸的假想的垂直线。在容器的纵轴被固定的情况下,在全部文档内设置相同的容器的左边和右边的水平位置的平均位置。根据该限制,可以改变容器的宽度。在不同文档中,左边和右边可以最靠近或最远离纵轴。然而,在全部文档中,将该轴设置在相同的水平位置上。因此,该限制不影响容器的高度和水平位置。
(7)同样地,在水平轴被固定的情况下,对容器施加限制,以定义上边和下边的垂直位置。然而,该限制不影响容器的高度。
(8)在水平轴和纵轴两者均被固定的情况下,这意味着容器的中心位置被固定。然而,该限制不影响容器的宽度和高度。
(9)在容器的角部、容器的边的中间位置、或者容器的中心位置被固定的情况下,在与该容器相关联的全部文档中的每个中在同样的位置显示该容器。这意味着,例如,在容器的左上角被固定的情况下,在全部文档内,所布置的容器的左上位置位于相同的位置。
(10)通过与页面的左边或右边、左页边距或右页边距、或者另一水平位置相关联,可以固定纵边或者纵轴。同样地,通过与页面的上边或下边、上页边距或下页边距、或者另一纵向位置相关联,可以固定水平边或者水平轴。
与术语“固定”相反的术语是“可变”,它表示在文档之间(或者记录之间)可以改变容器的边、轴、角部、或者中间位置,或者对文档的限制。例如,在页面中,期望根据可变数据的大小或量动态地改变布局。然而,用户可能希望固定特定容器的尺寸和位置,或者固定位于页面的角部的容器的四个角。因此,布局编辑应用程序121能用于对应于每个容器(每个局部显示区)来适当设置边、轴、角部或者中间位置是固定的还是可变的。因此,用户可以创建所期望的基本布局,以确定文档模板的基本布局。
显示/编辑容器
新创建容器的方法
容器被分类为两种类型,即,文本容器和图像容器。每个文本容器具有文本,或者具有文本和所嵌入的图像。每个图像容器仅具有图像。如图4所示,通过在文本容器工具404上或者图像容器工具405上点击鼠标133,并将矩形拖动到模板309上,可以在文档模板309上创建新文本容器或者新图像容器。通过启动适当的文本容器工具404或者405,并且通过在文档模板309上点击鼠标133,创建容器。在这种情况下,插入具有缺省尺寸的容器。可选地,提供对话框或者提示信息,以输入新容器的尺寸。可以利用各种方法设置容器尺寸。容器被自动预先定义,通过所计算的方案在文档模板309上创建并布置该容器。在利用例如鼠标的输入单元选择所产生的容器,而且通过点击鼠标的右键指定该容器的属性的情况下,显示容器属性对话框,以便可以设置对该容器施加的限制。在容器属性对话框UI(对应于局部显示区设置单元)中,可以设置上述各种限制。在容器属性对话框中,可以设置容器的尺寸(即,宽度和高度)和位置。为了设置可变尺寸,设置容器的基本样式(pattern)(基本尺寸和基准位置)。此外,可以设置最大容器尺寸(宽度和高度)以及最小容器尺寸(宽度和高度)。
显示容器的方法
图5A至5D示出容器的边的规则。为了表示某边的状态,布局编辑应用程序121利用填充线(实线)503或者虚线504绘制边。作为特征,布局编辑应用程序121具有锚(利用506、507和509表示的、在边的附近绘制的线、形状和图标)、图柄(handle)(绘制在边或形状上或其附近的、用于移动和校正的控制点502)、滑动块(绘制在边的两侧短平行线,即,图4中的413)、扩大/缩小图标(505)、以及颜色。
下面说明图5A至5D所示的容器显示方法的规则。
1.对于固定边,利用填充线绘制该边。
2在宽度固定的情况下,利用填充线绘制左边和右边。
3.该高度固定的情况下,利用填充线绘制上边和下边。
4.不绘制轴。
5.在全部尚未绘制的边的附近绘制扩大/缩小图标,利用虚线绘制该边。
6.在一对纵边或轴与水平边或轴被固定的情况下,在它们之间的交叉点绘制锚。
7.在未在每个固定边上绘制锚的情况下,在两个边缘的中心绘制滑动块。此外,在一对纵边和水平边,或者一对纵轴和水平轴两者均被固定的情况下,作为绘制锚的例子,可以考虑在它们之间的交叉点绘制锚。
8.在对应于一对纵边或轴与水平边或轴既没有绘制锚也没有绘制滑动块的情况下,在它们之间的交叉点绘制图柄。
上述规则1、2和3定义的线被固定或者限制,如上所述。因此,利用实线绘制上述规则1、2和3定义的线。利用虚线绘制规则5定义的可变边。规则6、7和8定义的固定点表示锚。某些固定边表示滑动块。其它点表示图柄。
用户之后设置的限制的优先级高于上述规则。即,在之后设置了另一限制,而且该规则影响应该根据该规则绘制的边,则改变用于绘制实线或虚线的绘制条件。
绘制可变边的位置取决于容器的内容。如后所述,使用“动态校准处理”。这意味着,内容与文档模板合并,而且通过使用用户界面使内容可见。可以利用替代执行功能来确定在用户界面中可变边的布局位置,或者在全部文档中平均化的容器的内容区域。根据上述规则,布局编辑应用程序121可以执行容器显示控制、布局控制以及布局编辑。
通过将内容插入尺寸可以根据设置在容器的每个边上的锚图标或滑动块图标而改变的容器内,可以可视化该内容的显示。所设置的、对应于容器和该容器的边的图标以如下方式工作。
锚表示边或轴的交叉处是固定的。图4中的图标409是锚图标的例子,其表示交叉边414是固定的。
滑动块意味着尽管有关的边在垂直于该边的方向被固定,但是可以平移该有关的边。在布局编辑应用程序121的控制下,在辅助对话框窗口内显示其宽度和高度的值,因此,可以设置作为容器尺寸所允许的基本值、最小值以及最大值的基本样式。
如图5A所示,容器501的宽度和高度两者是不固定的。实线表示的边503是固定边。配置虚线表示的边504,以便其宽度和高度两者都是可变的。扩大/缩小图标505表示相邻边504是可变的。参考图5B,利用实线表示的容器501的边503是固定边。
参考图5B,锚图标506表示在边503相互交叉的高度方向和宽度方向上,位移被限制。
参考图5C,将容器501设置为容器501能够在围绕锚图标507所表示的中心点在宽度和高度方向被相等地扩大的状态,因此,其每个边的宽度和高度是可变的。在这种情况下,相对于通过锚图标507的中轴(纵轴),容器501可以沿每个边的横向和纵向位移。因此,可以改变其容器尺寸。在扩大/缩小过程中,调整布局,以便始终将锚图标507的位置设置在容器501的中心。参考图5D,在容器501内,对应于固定的上边508,设置锚图标509。可以改变由虚线表示的边的宽度和高度。
设置链接的方法
图6是示出由布局编辑应用程序121执行的链接设置方法的流程图。图7中的(A)~(C)是示出用户界面窗口的显示例子的图。下面参考图6和图7中的(A)~(C)来说明设置容器之间的链接的操作方法。利用信息处理装置(主计算机)101的处理器单元135可以实现本申请中所描述的流程图所示的处理。
在图6所示的链接设置方法中,创建链接设置对象,以设置容器(至少两个容器)之间的链接(步骤S601)。图7中的(A)示出创建两个容器701和702的状态。
随后,在步骤S602,选择上述链接工具按钮406(参见图4)。图7中的(A)所示的容器701和702表示与上述图4中的容器407和408相同的内容。图标703和704是与图4所示的锚图标409相同的锚图标。图7中的(A)还示出鼠标指针705。
在完成了选择链接工具按钮406时(步骤S602),选择容器。在步骤S603,用户在其中一个容器(例如,容器701)上点击鼠标133,以选择该容器。然后,在步骤S604,用户在另一容器(例如,容器702)上点击鼠标133,以完成对与要设置的链接相对应的另一容器的选择。
在图7中的(B)中,显示表示鼠标指针133的示意轨迹的线段706(步骤S605),该线段706连接在步骤S603点击鼠标133的点(P1)与在步骤S604点击鼠标133的点(P2)。在与该线段相交的容器的边711和712之间设置链接707。最后,将界面窗口更新为如图7中的(C)所示在容器之间设置有链接707的状态(步骤S606)。在设置了链接707的情况下,还自动改变用于显示容器的窗口显示。在改变后的窗口(参见图7中的(C))中,利用表示可变边的虚线来表示边708,如上所述。边708的状态从固定边(对应于在设置链接之前所提供的边711和712)变为可变边。这是因为,链接707的设置需要将容器701和702的边的状态变为可变状态。如果即使在设置了链接707之后,全部边仍是固定的,则利用该链接指定容器之间的相对关系。上述处理旨在防止出现这种矛盾,而且在布局编辑应用程序121的控制下自动执行该处理。
例如图5A至5D中的图标505的指示符709可视地表示通过设置链接707可以分别移动容器701和702的方向。在图7中的(C)所示的例子中,可变地改变左容器701的右边和右容器702的左边。这是一个例子。通过设置容器以使其具有由图4中的413所指定的滑动块,可以表示边708是可变的。在布局编辑应用程序121的控制下,可以执行上述处理。
布局计算方法(总流程)
根据该实施例的布局编辑应用程序121具有利用用户界面模块103来创建容器、以及通过使容器相互关联(即,设置它们之间的链接)来创建布局的布局模式,还具有将数据源的每个记录插入布局引擎模块105所创建的布局中、并预览实际插入记录后获得的布局结果的预览模式。在预览模式下,插入实际的记录,并根据上述优先级顺序来计算布局。然而,在预览模式下,计算用于显示的布局。即使在实际打印的情况下,仍通过使布局引擎模块105将数据插入每个容器中来计算布局。此时的计算方法与预览模式下的相同。图8示出布局计算的流程。
首先,在步骤S801选择预览模式。自动布局系统具有创建容器、并通过使容器相互关联来创建布局的布局模式,还具有将要显示在所创建的布局中的数据记录插入其中、并预览实际插入记录后所获得的布局结果的预览模式。在预览模式下,插入实际的记录,并计算布局。然而,在预览模式下,计算用于显示的布局。即使在实际打印的情况下,仍通过插入记录来计算布局。
此时使用的计算方法与预览模式下的相同。在设置了预览模式的情况下,在步骤S802选择并插入要预览的记录。在记录被插入的情况下,在步骤S803执行布局计算以布置记录。在步骤S804,显示在步骤S803计算的布局。在步骤S805,判断是否预览另一记录。如果在处理步骤S805中判断为不需要预览另一记录(步骤S805中的“否”),则该处理进入步骤S807,以结束预览模式。如果在步骤S805中判断为要预览另一记录,则在步骤S806选择另一记录,在步骤S803再次执行布局计算,并在步骤S804预览该记录。
在系统未处于预览模式,而且系统执行打印的情况下,对要打印的全部记录依次执行布局计算。因此,在打印记录时,无需步骤S804中的处理。在步骤S805,判断是否对要打印的全部记录进行了处理。绘制并输出在步骤S803执行的布局计算的结果。然后,利用打印机驱动器产生打印数据,并将其输出到打印机。在这种情况下,在完成了输出全部记录(指定要打印的全部记录)的打印数据时,该处理结束。可以在处理器单元135的控制下执行上述处理。
动态布局计算方法
图9是示出布局计算的处理的详细流程的流程图。图10中的(A)~(C)示出该处理中的用户界面窗口的显示例子。图9是示出布局计算处理方法的流程图。在该图中示出的处理对应于打印/预览进行可变数据打印的一个记录中的布局计算方法。在存在多个记录的情况下,重复下面的处理。
首先,在步骤S901,布局编辑应用程序121获得一组容器,并计算其布局。对一组相关的容器执行布局计算。例如,如图11所示,四个容器A、B、C和D布置在页面上,而且它们相互相关。在这种情况下,通过链接1106使容器A和B相互相关。此外,通过链接使容器C和D相互相关。因此,容器A和B形成第一组,容器C和D形成第二组。例如图11所示的容器可以含有锚1101、固定边1102、控制点1103、可变边1105、表示可变边的变化方向的箭头1104、以及滑动块1107。利用链接1106表示容器之间的关联。
随后,在步骤S902,布局编辑应用程序121从在步骤S901中获得的容器组中选择进行布局计算的一组。对所选择的一组容器进行布局计算。首先,通过假定由要插入的数据所表示的图像的大小或文本的量不影响容器,来计算用作可变元素的、包括在所选择的一组容器中的两个容器A和B的尺寸。更具体地,布局编辑应用程序121判断容器A是图像数据容器还是文本容器。可以根据对容器设置的属性来执行该判断,如上所述。
随后,布局编辑应用程序121读取要流入容器A的数据。在容器A是图像数据容器的情况下,将图像数据的大小(沿宽度方向排列的像素数、沿高度方向排列的像素数、以及分辨率)定义为容器A的尺寸,而没有限制。在容器A是文本容器的情况下,可以根据文本数据的字符的数量和字符属性,例如,由容器A的容器属性指定的字体类型、字体大小、字符间距、以及线间距,来计算要流入容器A的数据的量。在没有限制的情况下,不能确定容器A的宽高比。因此,对其施加限制如下。
在图11所示的例子中,锚设置在容器A的左上角和左下角,因此,高度(纵向)是固定的。因此,布局编辑应用程序121判断所计算的数据量(文本量)的字符是否能流入宽度(横向)被设置为容器A的基本样式的宽度的容器A中。如果判断为全部字符可以流入其中,则不改变被设置为基本样式的尺寸(宽度和高度)。如果判断为不能使全部字符流入其中,因为通过设置锚而使高度是固定的,因而沿横向扩大容器A。在这种情况下,布局编辑应用程序121计算允许所计算的量的字符流入其中的容器A的宽度,并计算容器A的尺寸。
随后,在步骤S903,布局编辑应用程序121优化布局,以使要布置的每个容器的尺寸与实际内容大小之间的差尽可能小。执行布局的优化,以便在相互相关的容器中使要插入的内容的大小与要布置的内容的大小之间的差尽可能相同,从而动态地改变大小。布局编辑应用程序121获得在步骤S902选择的容器组的尺寸,即,容器A和B以及链接1106(固定链接)的总尺寸。然后,布局编辑应用程序121计算该总尺寸与基本布局中的该容器组的尺寸之间的差(在图11所示的例子中,该容器组的尺寸对应于容器A和B的锚图标之间的距离)。在先前步骤的计算结果表明容器A或B的宽度因为将内容流入容器中而增大的情况下,产生差值。通过在该容器组的各元素之间均匀分布该差值,布局编辑应用程序121调整布局。
布局编辑应用程序121优化布局。在优化计算中,如果发生违反规则(即,对容器施加的限制),则在步骤S904再次计算容器尺寸,以防止发生违反规则。在此描述的规则是在创建布局时用户设置的限制。该限制的例子是容器的尺寸和位置以及可变链接的长度。在计算出的布局不违反规则的情况下,在步骤S902选择的该组布局结束。对页面上的全部容器组执行步骤S902至S904中的处理。在步骤S905,计算整个页面的布局。重复步骤S902至S904的处理,直到在步骤S905判断为对全部容器组执行了计算。当对全部容器组进行了计算时,结束布局计算处理。
图10中的(A)~(C)是示出当进行布局计算时显示的用户界面窗口的例子。图10中的(A)示出插入记录、并且确定布局的状态。图10中的(A)所示的容器含有锚1001、1002、固定边1003、1004、可变边1005、以及指出各容器的可变边1005的变化方向的箭头1006和1007。链接1008表示容器之间相关联。在这种状态下,在记录发生改变,并且将具有不同大小的内容插入其中的情况下,获得图10中的(B)所示的状态。由双点划线表示图10中的(A)所示的状态下每个可变边的位移1009。进行布局计算,以便不违反上述规则。图10中的(C)示出布局计算结果。计算容器1012和1013的尺寸,以便与要实际插入的内容的大小具有相同的差,从而容器相互一起变形,而且不违反上述规则。如图10中的(C)所示,计算图10中的(B)所示的要插入的内容(a1b1c1d1和e1f1g1h1)的大小、以及在计算后获得的内容(a2b2c2d2和e2f2g2h2)的大小,以使在左容器和右容器中的每个容器中前者内容与后者内容之间具有相同的差。在处理器单元135和布局引擎模块105的控制下,执行上述处理。
即使在改变容器尺寸以简单地使每个容器中改变前获得的大小与改变后获得的大小之间具有相同的差的情况下,在仅考虑内容沿横向变化的布局计算时不存在问题,如图10中的(A)~(C)所示。然而,在这种情况下,当应该考虑纵向变化和横向变化两者来进行布局计算时,存在不能正确获得容器的尺寸的可能性。在对图53所示的、具有横向尺寸和纵向尺寸的二维布局进行处理的情况下,首先,利用图9所示的布局计算方法进行横向的调整。随后,利用该布局计算方法进行纵向的调整。即,首先,在执行了上述过程之后,在容器5301与5302之间进行布局调整,以使容器5301和5302适合所设置的值的宽度D。随后,在容器5302与5303之间进行布局调整,以使容器5302和5303适合所设置的高度G的纵向范围。然而,在首先沿横向进行布局调整,然后沿纵向进行布局调整的情况下,布局结果可能与用户所期望的基本布局不同。为了在每个容器内尽可能地防止布局结果与基本图形(宽高比)存在偏差,设想了并可以采用下面的方法。即,将基本图形与调整后的布局之间的宽度差的平方、以及基本图形与调整后的布局之间的高度差的平方相加。对应于全部容器中的每个容器计算该和。然后,通过计算每个容器的宽度和高度,布局编辑应用程序121可以进行布局调整,以使分别对应于容器的平方和的总和最小。
当通过使用该最小二乘方法进行布局调整时,可以确定完全平衡的最终布局,而与用户最初设置的基本布局不存在大的偏差。在容器之间设置将在后面说明的可变链接。因此,根据要流入其中的内容数据的大小,改变链接的尺寸,如后所述。本申请中所描述的布局编辑应用程序具有这种布局调整单元,而且能够根据所分配的数据的大小来控制多个局部显示区(或容器)的布置位置。
设置可变链接
图12示出在界面窗口中设置常规可变链接的状态。与图4所示的情况下的界面相同,该界面具有应用程序窗口301和工具栏303。典型地,在文档模板309上存在容器1203和1204。该容器1203和1204含有锚图标1201和1202、以及固定边1205、1206、1212和1213。在容器1203与1204之间设置具有可变尺寸的链接1209,以连接该容器。因为在容器1203与1204之间设置有链接1209,因此利用虚线来表示容器1203的右边1207和容器1204的左边1208。在容器1203和1204中分别显示指示符1210和1211,以表示边1207和1208是可变的。
图14示出对话框窗口1401的例子,在该对话框窗口1401中设置关于链接1409的信息。该对话框窗口包括:标题栏1402、工具栏按钮1403、用于打开/关闭对话框窗口的按钮1404、以及用于设置各种信息的区域1406、1407和1410至1412。在该对话框窗口中,链接类型区1405允许在可变长度类型1407或固定长度类型1406间交替选择链接的类型。在链接类型是可变长度类型的情况下,可以在对话框窗口的链接距离区1408中设置链接长度的最大值1412、最小值1410、以及当前值1411。容器之间的当前值1411是在将数据流入其中时,在不改变每个容器的尺寸的情况下所使用的链接的长度。
图13是示出在自动布局系统中设置可变链接的处理的流程图。在步骤S1302,通过利用鼠标133在链接1209上(图12)进行点击,选择要设置的链接。图12所示的链接1209表示可变链接。假定这表示该链接的类型已经从固定链接变为可变链接的状态。在步骤S1303,布局编辑应用程序121显示链接1209的属性对话框窗口1401,例如图14所示的对话框窗口,该链接1209是通过在其上点击鼠标右键或者操作键盘的特定键而选择的。在这种情况下,链接尺寸不是可变的,而是固定的。因此,选择固定类型1406作为链接类型1405。为了使链接类型从固定尺寸类型变为可变尺寸类型,在步骤S1304,在链接类型区1405选择可变类型1407,以将可变类型设置为可变链接尺寸类型。因此,设置在链接距离区1408中的最大值1412、最小值1410以及当前值1411有效,而且允许设置数值。为了设置可变尺寸的链接,在步骤S1305,用户在对应于最大值1412的区域中设置链接长度的最大值,在对应于最小值1410的区域中设置最小值,在对应于当前值1411的区域中设置当前值。在利用常规对话框窗口打开/关闭按钮1404进行设置的情况下,在步骤S1306,该链接的UI显示变为图12所示的链接1209。将关于对话框窗口1401的设置信息存储在存储器单元136中。
图15是示出在使用具有固定尺寸的链接的情况下的布局结果的示意图。在执行了上述过程之后,利用布局编辑应用程序121的布局引擎模块105进行布局计算。例如,当分别将不同大小的数据插入图12所示的容器1203和1204时,容器1203和1204中的每个都认为该数据大小的大小是最佳的。因此,容器1203向右、大幅度改变其尺寸,以靠近框架1504(最佳容器尺寸),框架1504的尺寸对应于所插入的图像的大小。同样地,容器1204向左以稍大的方式改变,以靠近框架1505(最佳容器尺寸),框架1505的尺寸对应于所插入的图像的大小。
然而,假定在容器1203与1204之间设置了具有固定尺寸的链接1503,则因为锚1201和1202,容器1203的左边1212与容器1204的右边1213不能移动。因此,改变后的容器尺寸大于链接尺寸。因为链接尺寸是固定的,而且在布局计算时被优先计算,因此容器1203(参见图12)和容器1204(参见图12)的尺寸被改变。因此,容器1203和1204不能确保适合数据的最佳尺寸。最后,例如图15所示的容器1501和1502的容器的容器尺寸小于最佳尺寸1504和1505。即,因为链接1503的尺寸是固定的,因此容器1501和1502不能获得最佳尺寸。
图16示出链接尺寸的类型变为可变尺寸的情况。在这种情况下,假定在上述例子的容器1203和1204(参见图12)之间设置了具有可变尺寸的链接1209(参见图12),则当改变容器1203和1204的尺寸时,该链接的尺寸减小,以便容器1203和1204可以大于图15所示的例子中的尺寸。因此,可以获得适合所插入的数据大小的最佳尺寸。可选地,可以计算容器的框架,以接近所插入的数据的大小(最佳尺寸)。图16示出结果容器1601和1602。作为布局计算的结果,可变链接1209的尺寸变为可变链接1603的尺寸。在这种情况下,容器1601和1602相互一起变形,而且它们具有最佳尺寸(适合数据大小的尺寸)。可以在处理器单元135和布局编辑应用程序121的控制下,执行上述处理。
设置容器属性
图17示出用于设置容器属性(property或attribute)的属性对话框窗口的例子。例如,通过利用键盘132和/或鼠标133选择容器,通过在菜单上点击鼠标的右键进行选择,或者通过利用Alt键执行预定操作,可以显示该属性对话框窗口。
图17所示的典型属性对话框窗口1701包括:标题栏1702、窗口按钮1703、用于应用或者取消属性并关闭属性对话框窗口的按钮1704、以及用于设置各种信息的区域1711、1721和1741。该属性对话框窗口1701具有用于将容器的各边(边缘)设置为可变的边缘状态设置区1711。当选中分别对应于设置在边缘状态设置区1711中的上边、下边、右边和左边的复选框1712至1715(即,将容器的边缘设置为可变的)时,启用容器尺寸设置区1721。
图17示出将右边1714设置为可变的状态的例子。因此,可以仅沿横向改变该容器的尺寸。设置该容器的属性,以使分别对应于边缘状态设置单元1711中的未选中的框的边(边缘)(图17所示例子中的上边1712、下边1713以及左边1715)的尺寸是固定的。
因为对应于边缘状态设置区1711中的选中的框1714的右边的尺寸被设置为可变的,因此启用容器尺寸设置单元1721中用于设置横向上的最大值和最小值的设置框1724、1726和1727,而不启用用于设置高度方向上的尺寸的设置框1728、1730和1731。图形显示部分1722和1723利用位图来分别可视地支持对容器的宽度和高度的指定。在框1724内,设置容器的宽度的最小值。在图17所示的例子中,值“80”被设置为最小值。在框1726内,设置容器的宽度的最大值。在图17所示的例子中,值“120”被设置为最大值。在将上边和下边中的至少一个设置为可变的以作为边缘状态的情况下,同样地,可以启用分别对应于容器高度的最小值和最大值的框1728和1730。在列表框1727和1731内设置表示容器尺寸的单位。在这种情况下,作为例子,示出了“毫米”(mm)。然而,可以采用其它单位,例如,“英寸”、“像素”等。存储器单元136保存该设置信息。
图18是示出在容器属性设置操作中由布局编辑应用程序121执行的处理的流程图。首先,在步骤S1802选择容器,例如,通过点击鼠标133选择容器。在步骤S1803,布局编辑应用程序121显示所选择的容器的属性对话框窗口1701。然后,在步骤S1804,布局编辑应用程序121判断是否选中了复选框1712至1715中的每个,以将该容器的各边缘设置为可变的。如果在步骤S1804判断为未选中用于设置容器边缘的框(步骤S1804中的“否”),则终止该处理。
相反,如果在步骤S1804判断为选中了某些框,以将相应边缘设置为可变的(步骤S1804中的“是”),则在步骤S1805启用分别对应于该容器尺寸的最大值和最小值的框。因为由存储器单元136保存该设置信息,因此该判断可以通过使布局编辑应用程序121参考存储器单元136来进行。此外,在步骤S1806,启用对应于布局方法的选项的框。
如图17所示,布局方法区用于选择布局方法。在通过判断容器的重叠来执行容器布局的情况下,选中入口字段1742。在选中了入口字段1742的情况下,布局编辑应用程序121执行与重叠有关的容器属性的设置,执行重叠预测计算,并且执行动态引导物和防止重叠可变链接的设置,下面将详细说明它们。可选地,通过当容器之间发生重叠时设置重叠的形式(例如,其中一个容器位于另一个容器之上的形式,拒绝重叠等),另一入口字段1743用于布置容器。在选中了入口字段1743的情况下,布局编辑应用程序121根据在下面第二实施例的说明中描述的重叠形式的设置来布置容器。
然后,通过使用按钮1704来关闭容器属性对话框窗口1701。在步骤S1807,对所选择的容器应用设置。
以图49所示的形式,将使用图17所示的属性对话框窗口1701通过图18所示的流程图示出的处理而设置的数据保持在存储器单元136中。例如,下面说明位于图19所示的文档模板1909上的容器1921和1922的属性的设置信息。在图19所示的情况下,设置容器1921,以使右边和下边是可变的。此外,如图49所示,将容器1921的属性设置为沿横向和纵向是可变的。然后,将不同的值设置为最大值和最小值。因此,根据要流入容器1921的数据的大小,可以在预先设置的范围内改变该容器的尺寸。相反,设置容器1922,以使全部四个边的尺寸均是固定的。因此,如图49所示,将容器1922的属性设置为沿横向和纵向均是固定的,以便将相同的值设置为最大值和最小值。因此,在将任意可变数据流入其中的情况下,将容器1922的尺寸固定为所设置的值。
因此,以图49所示的形式,将表示如图17所示设置的每个容器的设置的数据保持在存储器单元136中。
防止重叠可变链接设置流程
图25A至25C是示出由布局编辑应用程序121执行的防止重叠可变链接设置处理的流程的流程图。下面将参考图17、19至20以及24来说明该处理的流程。
图19是示出由布局编辑应用程序121显示的编辑窗口的图。在文档模板1909上存在用作动态对象、可以改变其尺寸的图像容器1921和用作静态对象、其尺寸被固定的图像容器1922。在本申请中,通常将位于页面模板上的实体称为对象。因此,有时将设置有从数据库流出的内容数据的容器称为对象。在将容器与对象区分开的情况下,将容器明确地称为局部显示区。
图20是示出在选择用作图19所示的静态对象的图像容器1922并将该容器的属性设置为可变的情况下,布局编辑应用程序121所显示的编辑窗口的图。在文档模板2009上存在用作动态对象的图像容器2021和用作动态对象的图像容器2022。容器的设置从固定容器1922变为可变容器2022,以便将图49所示的设置信息变为图50所示的设置信息。容器1922的横向尺寸和纵向尺寸是固定的,如图49所示。然而,容器2022的横向尺寸和纵向尺寸是可变的,如图50所示。响应于该变化,重新设置容器1922(改变之后被称为容器2022)沿宽度方向和纵向中的每个方向的最大值和最小值。关于新设置的值的信息保持在存储器单元136中。
图21示出图20所示的图像容器2021和2022中的每个容器的最大可移动区域以及它们之间的预计重叠区域,它们是由布局引擎模块105(下面有时将其简称为布局引擎105)计算的。更具体地说,在文档模板区域2109中显示图像容器2121(图20中的图像容器2021)的预计最大可移动区域2131和图像容器2122(图20中的图像容器2022)的预计最大可移动区域2132。还示出图像容器2121与2122之间的预计重叠区域2133。
下面说明利用布局引擎预测每个容器的最大可移动区域的方法。如上所述,表示对应于每个容器的最大值和最小值的数据以图50所示的形式保持在存储器单元136中。因此,考虑到每个容器所位于的位置以及在其中设置的最大值,布局引擎105可以预测最大可移动区域。有时,用于预测最大可移动区域的方法不仅要考虑到对应于每个容器的最大值,而且要考虑到通过链接相互相关的容器之间的关系。
图22示出布局编辑应用程序121所显示的、示出文档模板中的对话框2251的编辑窗口。对话框2251用于使用户确定是否允许要编辑的动态对象与另一动态对象重叠。当用户例如利用鼠标指针2213选择对话框2251中的“是”时,在拒绝容器2221与另一动态对象(例如,容器2222)重叠的条件下,布局编辑应用程序121设置该容器。相反,当选择对话框2251内的“否”时,在允许容器2221与另一动态对象(例如,容器2222)之间的重叠的条件下,布局编辑应用程序121设置该容器。将关于这些条件的设置信息保持在存储器单元136中。
图24示出布局编辑应用程序121在文档模板2409中显示的编辑窗口。该编辑窗口示出纵向动态引导物2441和水平防止重叠可变链接2442。在拒绝容器2421与另一动态对象重叠的条件下,通过在图22所示的对话框2251内选择“是”,设置动态引导物2441和防止重叠可变链接2442,以设置容器。在本申请中,为了将普通可变链接与防止重叠可变链接区分开,利用虚线表示普通可变链接,而利用双粗点划线表示防止重叠可变链接。
在图24所示的例子的情况下,动态引导物2441接触图像容器2421的右边。防止重叠可变链接2442用于防止图像容器2421与2422重叠。
图25A至25C示出布局编辑应用程序121执行的防止重叠可变链接设置处理的流程的流程图,接下来将说明该流程图。
在步骤S2501,布局编辑应用程序121判断在文档模板上是否存在至少一个对象。因为表示在每个文档上设置的容器和链接的属性的数据以例如图50所示的形式存储在存储器单元136中,因此在步骤S2501,通过参考存储器单元136,布局编辑应用程序121执行该判断。
如果在步骤S2501布局编辑应用程序121判断为在该文档模板上不存在至少一个容器(步骤S2501中的“否”),则该处理结束。然而,如果在步骤S2501布局编辑应用程序121判断为在该文档模板上至少存在一个容器,则在步骤S2502判断是否另外新创建可变容器。当在文档模板上创建容器时,关于该容器的信息临时存储在存储器单元136中。因此,在布局编辑应用程序121更新存储器单元136的情况下,通过将临时保持在存储器单元136中的信息与保持在更新后的存储器单元136中的信息进行比较,可以执行步骤S2502中的判断。
如果在步骤S2502判断为没有新创建可变容器,则在步骤S2503,布局编辑应用程序121判断该文档模板上是否至少存在两个容器。判断方法与在步骤S2501中执行的判断方法相同。因此,在此不重复该判断方法的详细说明。
如果在步骤S2503判断为在该文档模板上不存在至少两个容器(步骤S2503中的“否”),则该处理结束。然而,如果在步骤S2503判断为在该文档模板上至少存在两个容器,则在步骤S2504判断该容器的属性是否从固定容器变为可变容器。判断方法与在步骤S2501中执行的判断方法相同。因此,在此不重复该判断方法的详细说明。
如果在步骤S2504判断为该容器的属性未从固定容器变为可变容器,则在步骤S2505,布局编辑应用程序121判断位于该文档模板上的可变容器的尺寸是否沿扩大方向变化。特别是,已经设置了可变容器的尺寸变化的范围,因此,布局编辑应用程序121判断是否改变可变容器的尺寸以增大其最大尺寸。与步骤S2502相同,通过执行比较处理,布局编辑应用程序121可以进行该判断。
在步骤S2502、S2504和S2505中的一个获得肯定判定(“是”)的情况下,布局编辑应用程序121进入设置动态引导物和防止重叠链接的处理,在步骤S2508(图25B)执行该处理,在下面说明该处理。
如果在步骤S2505获得否定判定(“否”),则在步骤S2506,布局编辑应用程序121判断布置在该文档模板上的可变容器的尺寸是否沿减小方向变化。在步骤S2506执行的处理与在步骤S2505执行的判断的不同之处仅在于,扩大方向变为减小方向。基本上,该判断方法与在步骤S2505中使用的判断方法相同。
如果在步骤S2506获得否定判定(“否”),则在步骤S2507,布局编辑应用程序121判断布置在该文档模板上的可变容器是否变为固定容器。
如果在步骤S2507判断为该属性未从可变容器变为固定容器(步骤S2507中的“否”),则该处理结束。
如果在步骤S2506和S2507中的一个获得肯定判定(“是”),则布局编辑应用程序121进入步骤S2517(图25C),执行下述删除防止重叠链接的处理。
如图25B所示,在步骤S2508,布局编辑应用程序121进入设置动态引导物和防止重叠链接的处理。在步骤S2508,通过考虑到由图17所示的属性对话框窗口1701的复选框1712至1715设置为沿水平(或者横向)方向和沿纵向(或者上下)方向可变的容器的属性,还通过考虑到通过设置框1726和1730而执行的、对容器尺寸的最大值的设置,以及由于另一容器产生的、在对应于容器设置了链接的情况下包括该链接的设置的可变因素,布局编辑应用程序121使布局引擎105计算布置在文档模板上的每个容器,包括新创建的容器和改变了设置的容器的可移动区域。
即,根据下面两个因素:(1)设置容器的最大尺寸的因素;以及(2)因为与其链接的另一容器而导致的可变因素,布局引擎105计算执行了改变其属性设置的编辑操作的动态对象(例如,容器)的最大可移动范围。即,因素(1)表示如何根据对应于该容器而设置的最大尺寸通过流入其中的内容数据来扩大该容器。因素(2)是由与其链接的另一容器的尺寸或位置的变化而引起的可变因素。
在步骤S2509,布局编辑应用程序121使表示布局引擎105执行的最大可移动范围的计算结果的数据保持在存储器单元136中,作为表示图像容器2022的可移动区域的数据。例如,以图51所示的形式保存该计算的结果,作为用于表示根据坐标值保存的最大可移动范围的信息。图51示出以容器2121的左上角点作为原点、按坐标值表示的可移动范围。利用该信息使容器2121在横向(水平)方向上的可移动区域保持在从20至80的范围内,而使容器2121在竖向(或者纵向)方向上的可移动区域在0至-100的范围内。此外,关于容器2122,利用该信息使容器2122在横向(水平)方向上的可移动区域在40至100的范围内,而使容器2122在竖向(或者纵向)方向上的可移动区域在0至-70的范围内。
在步骤S2510,布局编辑应用程序121将文档模板上存在的对象中的可移动区域,例如图像容器与其它可变容器的可移动区域的结果,与保持在存储器单元136中的其它固定容器(静态对象)所占据的区域进行比较。随后,在步骤S2511,布局编辑应用程序121判断在该文档模板上是否存在可能相互重叠的对象。如果在步骤S2511判断为不存在可能重叠的对象,则该处理结束。
在该阶段可能相互重叠的对象不通过链接相互相关。因此,布局编辑应用程序121抽出未通过链接相互相关的对象。然后,考虑到因为流入每个对象的内容数据而引起的尺寸变化的范围,还考虑到相互相关的其它对象而使每个对象移动的移动范围,来判断对象是否相互重叠。
更具体地说,下面通过例子来说明如图51所示所保持的信息。通过参考如图51所示所保持的信息,布局编辑应用程序121可以识别出容器2121的横向上的最大可移动范围在20至80范围内。此外,布局编辑应用程序121可以识别出容器2122在横向上的最大可移动范围在40至100的范围内。即,可以判断出容器2121和2122在40至80的坐标值范围内在横向可能相互重叠。纵向上的最大可移动范围执行同样的处理。因此,可以判断为容器2121和2122在0至-70的坐标值的范围内在纵向可能相互重叠。
例如,如图21所示,在存在可能与被新设置为可变的最大可移动范围2132重叠的被重叠对象2121(步骤S2511中的“是”)的情况下,在步骤S2512,布局编辑应用程序121检验并判断是否在重叠对象2121中已设置了防止在动态对象之间发生重叠的属性。例如,可以以图52所示的形式,将每个对象的属性保持在存储器单元136中。因此,通过参考保持在存储器单元136中的信息,布局编辑应用程序121可以进行判断。
如果在步骤S2512判断为设置了防止重叠属性(步骤S2512中的“是”),则该处理进入步骤S2515(下面说明)。另一方面,如果在步骤S2512判断为在步骤S2511被判断属性的对象中未设置防止重叠属性(步骤S2512中的“否”),则在步骤S2513,布局编辑应用程序121显示如图22所示的对话框窗口2251,以将该对象可能与另一对象重叠通知给用户。
在步骤S2514,利用图22所示的对话框窗口,布局编辑应用程序121判断是否选择了防止重叠。例如,在图22所示的对话框窗口中询问“拒绝重叠”。在布局编辑应用程序121识别到选择了否定判定(“否”)的情况下,布局编辑应用程序121判断为未设置防止重叠属性(步骤S2514中的“否”),该处理结束。另一方面,在布局编辑应用程序121识别到选择了肯定判定(“是”)的情况下,布局编辑应用程序121判断为设置了防止重叠属性(步骤S2514中的“是”)。如果在步骤S2514中布局编辑应用程序121识别到设置了防止重叠属性,则将表示设置了防止重叠属性的信息保持在存储器单元136中,该处理进入步骤S2515。
在步骤S2515,布局编辑应用程序121创建动态引导物2441,该动态引导物2441邻接设置了防止重叠属性的对象2421的、预计另一重叠动态对象2422首先侵入的边,如图24所示。例如,假定该边是对象2421的右边,因为对象2421的右边部分与动态对象2422的最大可移动范围重叠。
随后,在步骤S2516,布局编辑应用程序121创建防止重叠可变链接2442,该防止重叠可变链接2442将动态对象2422的边(假定该边是动态对象2422的左边,因为动态对象2422的左边部分与动态对象2421的最大可移动范围重叠)与在步骤S2515创建的动态引导物2441连接起来。以例如图52所示的形式,保持表示分别在步骤S2515和S2516设置了动态引导物和防止重叠可变链接的信息。
根据上述处理,在布置在文档模板上的、被判断为可能由于所流入的内容数据而发生重叠的对象之间创建防止重叠链接。因此,即使在根据流入到对象中的内容数据而改变布局的情况下,本实施例也能解决因为发生重叠而使外观恶化的问题。
接着,将参考图25C来说明在步骤S2506和S2507中的每个中获得肯定判定(“是”)的情况下,删除不必要的防止重叠链接和不必要的动态引导物的处理。
步骤S2517至S2519与步骤S2508至S2510相同。在此不重复步骤S2517至S2519的详细说明。
在步骤S2520,布局编辑应用程序121根据在步骤S2519进行的比较判断是否存在被判断为不与另一对象重叠的对象。即,认为在步骤S2520判断的对象在执行步骤S2520的判断之前可能发生重叠。布局编辑应用程序121判断在步骤S2506或S2507执行的处理是否导致每个对象不可能与另一对象重叠。在步骤2519执行的上述处理允许抽出可能相互重叠的对象。通过检查根据在该步骤抽出的对象而设置的属性信息,布局编辑应用程序121可以判断对象是否发生重叠。例如,图21所示的容器2121和2122是可变容器,并且被判断为可能相互重叠。然而,在容器2121和2122两者的属性变为固定类型的情况下,消除了重叠的可能性。
如果在步骤S2520判断为不存在不重叠的对象(步骤S2520中的“否”),则该处理结束。另一方面,如果在步骤S2520判断为存在不重叠的对象(步骤S2520中的“是”),则在步骤S2521,布局编辑应用程序121判断是否对每个这种对象设置了动态引导物和防止重叠链接。特别是,因为存储器单元136保存表示是否对每个对象设置了动态引导物和防止重叠链接的信息,因此通过参考保持在存储器单元136中的信息,布局编辑应用程序121可以判断是否对每个对象设置了动态引导物和防止重叠链接。
如果在步骤S2521判断为未对每个对象设置动态引导物和防止重叠链接(步骤S2521中的“否”),则该处理结束。然而,如果在步骤S2521判断为对每个对象设置了动态引导物和防止重叠链接(步骤S2521中的“是”),则在步骤S2522,布局编辑应用程序121删除对被判断为不与另一对象重叠的每个对象设置的动态引导物和防止重叠链接。然后,在步骤S2522,相应地改变存储器单元136的属性。
图23示出布局编辑应用程序121所显示的编辑窗口,该编辑窗口示出对应于用于“拒绝动态对象之间重叠”属性的属性对话框窗口。对话框窗口2361用于设置用于“拒绝动态对象之间重叠”属性,而且它包括用于改变该属性的设置(“打开/关闭”)的复选框2362。
图23示出复选框2362被选中,而且将“拒绝动态对象之间重叠”属性设置为“打开”的状态。该对话框窗口用于在图25B所示的步骤S2513设置“拒绝动态对象之间重叠”属性。布局编辑应用程序121用作用户界面(UI),而且根据复选框2362是否被选中来执行显示控制,以设置动态对象的属性。在图25B所示的步骤S2511判断为存在与另一对象重叠的对象,而且在该对象中未设置“防止重叠属性”的情况下,显示图23所示的设置对话框窗口2361。然而,响应于在文档模板上容器等的设置,可以设置“防止重叠属性”。
在用户手动将复选框2362的设置状态从“打开”变为“关闭”的情况下,布局编辑应用程序121从图25C所示的步骤S2520开始执行处理。在用户手动将复选框2362的设置状态从“关闭”变为“打开”的情况下,布局编辑应用程序121从图25B所示的步骤S2511开始执行处理。
布局编辑应用程序121将与文档模板2309上存在的全部对象的区域有关的信息(占据文档模板2309的静态和动态对象的可移动区域信息)高速缓存到存储器单元136上。在通过用户执行操作而改变关于每个容器的属性的信息的情况下,利用布局引擎105更新关于该变化所影响的容器的区域的信息。
即使用户的编辑操作明确使静态对象与某个对象重叠,在属性对话框窗口2361中的复选框2362的设置是“打开”的情况下,布局编辑应用程序121也不在静态对象中设置防止重叠可变链接。仅在动态对象重叠的情况下,“拒绝动态对象之间重叠”属性的设置才有效。用户可以在静态对象内设置防止重叠可变链接。
图26示出用于设置“拒绝动态对象之间重叠”属性的对话框窗口2661和2663,在文档模板上存在的两个可变容器(动态对象)可能相互重叠的情况下,布局编辑应用程序121显示该对话框窗口2661和2663。
如图26所示,在分别设置在用于在动态对象2621和2622两者中设置“拒绝动态对象之间重叠”属性的对话框窗口2661和2663中的复选框2662和2664的设置是“打开”的情况下,布局编辑应用程序121在这两个可变容器(动态对象)内创建动态引导物2641和2643,还创建防止重叠可变链接2642。
图27示出布局编辑应用程序121所显示的编辑窗口,该编辑窗口用于在存在于文档模板2709上的三个可变容器(动态对象)2721(对应于图24所示的对象2421)、2722(对应于图24所示的对象2422)以及2723中设置动态引导物2741(对应于图24所示的动态引导物2441)和2743、以及对应于纵向(图27所示的Y方向)和水平方向(图27所示的X方向)的防止重叠链接2742(对应于图24所示的链接2442)和2744。
图27示出用作图像容器的可变容器(动态对象)2723被添加到存在于图24所示的文档模板2409上的可变容器(动态对象)2421和2422的情况。
在用户利用图像工具按钮405将图像容器2723新布置在文档模板2709(对应于图24所示的文档模板2409)上,而且通过用户使用属性设置对话框窗口1701进行的操作而使图像容器2723的上边缘(上边)的属性从固定类型变为可变类型的情况下,布局编辑应用程序121执行用于设置防止重叠可变链接的处理,图25A至25C示出该处理的流程。此时,已经在动态对象2721内设置了“拒绝动态对象之间重叠”属性。因此,创建邻接动态对象(被重叠对象)2721的下边缘(下边)的水平方向(图27中的X方向)动态引导物2743、以及用于防止对象2721与新添加的重叠对象2723重叠的纵向(图27中的Y方向)上的防止重叠可变链接2744。
用于设置防止重叠可变链接的属性的对话框
防止重叠可变链接本质上与用于使图12、14和16所示的容器相互相关的可变尺寸链接1209、1409、1603以及固定尺寸链接412、1008和1503不同。在布局计算时考虑可变尺寸链接和固定尺寸链接。然而,在布局计算时不考虑防止重叠可变链接。根据布局计算的结果,防止重叠可变链接的尺寸被改变,以便不小于对防止重叠链接所设置的最小值。因此,在本说明书中,为了将布局计算时考虑的链接与布局计算时不考虑的链接明确区分开,将布局计算时考虑的、使容器相互相关的固定尺寸链接和可变尺寸链接定义为相关链接,而将布局计算时不考虑的、防止对象之间重叠的链接定义为防止重叠链接。
图28是示出用于设置防止重叠可变链接2809的属性的对话框窗口2801的例子的图。该对话框窗口通常包括:标题栏2802、工具栏按钮2803、用于打开/关闭该对话框窗口的按钮2804、以及用于设置关于链接距离的信息的区域2808。利用文本框2810可以设置防止重叠可变链接的长度的最小值,而且可以从列表框2811内选择长度的单位。在这种情况下,作为例子,显示“毫米”(mm)。然而,可以选择其它单位,例如,“英寸”或“像素”。
在用户在文本框2810内设置了负值而非正值的情况下,设置为允许容器重叠。关于所设置的最小值的信息保持在存储器单元136中。
设置动态引导物和防止重叠可变链接
图32是示出由布局编辑应用程序121执行的用于设置动态引导物和防止重叠可变链接的处理的流程的流程图。下面将参考图24、29和30通过例子来说明该处理。然而,根据本发明的设置动态引导物和防止重叠可变链接的处理并不局限于此。
图29示出布局编辑应用程序121所显示的预览窗口,该预览窗口示出要装入可变容器的图像数据(可变数据)流入存在于图24所示的文档模板2409上的可变容器(动态对象)2421和2422的状态。
在文档模板2909中显示:预览显示2921,其表示图像数据被流入到图24所示的可变容器(图像容器)2421中的状态;以及另一预览显示2922,其表示图像数据被流入到图24所示的可变容器(图像容器)2422中的状态。
在文档模板2909中还显示:预览辅助显示2941,其表示设置了非打印动态引导物的状态;以及预览辅助显示2942,其表示设置了非打印防止重叠可变链接的状态。
图30示出布局编辑应用程序121所显示的预览窗口,该预览窗口示出与在图29所示的情况下使用的图像数据不同的图像数据流入图24所示的文档模板2409上存在的可变容器(动态对象)2421和2422的状态。
图30包括文档模板3009,该文档模板3009包括:预览显示3021,其表示图像数据流入图24所示的可变容器(图像容器)2421的状态;以及预览显示3022,其表示与在图29所示的情况下使用的图像数据不同的图像数据流入图24所示的可变容器(图像容器)2422的状态。预览辅助显示3041表示设置非打印动态引导物的状态。预览辅助显示3042表示设置非打印防止重叠可变链接的状态。
图32是示出布局编辑应用程序所执行的、涉及设置动态引导物和防止重叠可变链接的处理的流程图。用户操作鼠标133点击菜单项目304(参见图3),以指示系统将图像数据流入图24所示的文档模板2409上存在的可变容器。当在步骤S3201中可变数据(内容)流入用作图像容器的可变容器2421和2422时,布局编辑应用程序121检验在图像容器2421和2422的每个边中设置的属性。在将图像容器的边设置为可变的情况下,在步骤S3202,根据内容的大小来扩大或减小容器的尺寸。表示在每个容器上设置的属性的信息保持在存储器单元136中。因此,通过参考该信息,布局编辑应用程序121可以识别该属性。
如图24所示,设置用作图像容器的可变容器2421的每个边的属性,以便关于宽度(对应于图24所示的X方向),右边是可变的,关于高度(对应于图24所示的Y方向),下边是可变的。因此,可以扩大或者减小容器2421。
此外,设置用作图像容器的可变容器2422的每个边的属性,以便关于宽度,左边和右边是可变的,而关于高度,下边是可变的。因此,可以扩大或者减小容器2422。
在步骤S3203,布局编辑应用程序121将图像数据的数据大小与用作图像容器的可变容器2421和2422中的每个的尺寸进行比较。然后,布局编辑应用程序121分别沿向右的方向(对应于X+方向)和向下的方向(对应于Y-方向)扩大可变容器2421的右边和下边。同样地,布局编辑应用程序121分别沿X-方向、X+方向和Y-方向扩大可变容器2422的左边、右边和下边。在步骤S3203,通过布局计算来进行每个容器的尺寸的改变。
在可变容器的尺寸在步骤S3203未被改变(步骤S3203中的“否”)的情况下,该处理结束。在可变容器的尺寸在步骤S3203被改变(步骤S3203中的“是”)的情况下,布局编辑应用程序121进入步骤S3204,在该步骤S3204,布局编辑应用程序121判断是否像对可变容器2421的右边(右边缘)那样,动态引导物2441被设置在容器的扩大方向或减小方向的边缘上。因为由存储器单元136保持表示是否设置了动态引导物的信息,因此通过参考所保持的信息,布局编辑应用程序121可以进行该判断。
在沿容器的扩大/减小方向的边缘上未设置动态引导物2441(步骤S3204中的“否”)的情况下,该处理结束。在沿容器的扩大/减小方向的边缘上设置了动态引导物2441(步骤S3204中的“是”)的情况下,在步骤S3205,通过在文档模板2409上移动动态引导物2441,同时保持动态引导物2441接触可变容器2421的右边(右边缘)的状态,布局编辑应用程序121改变动态引导物2441的位置。即,在图24所示的情况下,在动态引导物2441接触可变容器2421的右边(右边缘)的状态下,动态引导物2441沿向右的方向(图24中的X+方向)移动。
在步骤S3206,根据在步骤S3202中可变容器的尺寸的扩大/缩小,并且根据在步骤S3205中动态引导物的位置的改变,布局编辑应用程序121改变防止重叠可变链接2442的长度。
在防止重叠可变链接2442的长度不小于防止重叠可变链接的最小值(步骤S3207中的“否”)的情况下,该处理结束。在作为改变防止重叠可变链接2442的链接长度的结果,防止重叠可变链接2442的长度小于在图28所示的对话框窗口2801设置的防止重叠可变链接的最小值(步骤S3207中的“是”)的情况下,布局编辑应用程序121移动通过防止重叠可变链接2442与动态引导物2441链接的可变容器2422的位置,以使防止重叠可变链接2442的长度满足所设置的最小值的条件。因此,在步骤S3208,布局编辑应用程序121确定可变容器2422的布局,该处理结束。
图30所示的例子与图29所示的情况的不同之处在于,图像数据的大小小于可变容器2421和2422的原始尺寸。随着图像容器3021的右边(右边缘)的减小,接触可变容器3021的右边(右边缘)而设置的动态引导物3041(对应于图24所示的动态引导物2441)沿向左的方向(图30所示的X-方向)移动。减小通过防止重叠可变链接3042与动态引导物3041(对应于图24所示的动态引导物2441)链接的可变容器3022(对应于图24所示的可变容器2422)的宽度和高度尺寸。因此,与防止重叠可变链接2442的初始长度相比,防止重叠可变链接3042的长度被延长。
当在图32所示的步骤S3201中可变数据被流入可变容器时,布局编辑应用程序121检验除了防止重叠可变链接之外,存在/不存在可变链接和固定链接的设置,还检验所设置的容器的属性。因此,布局编辑应用程序121判断存在/不存与改变容器尺寸有关的限制条件的设置条件。然后,当满足所设置的限制条件时,布局编辑应用程序121改变动态引导物的位置和防止重叠可变链接的长度。因此,布局编辑应用程序121确定可变容器的布局。
图31示出布局编辑应用程序121所显示的预览窗口,该预览窗口示出图像数据流入图27所示的文档模板2709上存在的可变容器(动态对象)2721、2722和2723的状态。
在文档模板3109上显示:预览显示3121,其表示图像数据流入图27所示的可变容器2721的状态;以及预览显示3122,其表示图像数据流入图27所示的可变容器2722的状态。预览辅助显示3141表示设置了非打印动态引导物的状态。预览辅助显示3142表示设置了非打印防止重叠可变链接的状态。预览辅助显示3143表示设置了非打印动态引导物的状态。预览辅助显示3144表示设置了非打印防止重叠可变链接的状态。预览显示3123表示图像数据流入图27所示的可变容器2723的状态。
在如图31所示,沿水平方向(图31中的X方向)和纵向(图31中的Y方向)设置了动态引导物3141和3143、以及防止重叠可变链接3142和3144的情况下,布局编辑应用程序121执行与图29、30和32所示的处理相同的处理。根据本实施例的动态引导物具有可与容器的边的移动同步移动的动态(可变)属性。然而,在接触固定容器(静态对象)和可变容器(动态对象)的固定边(固定边缘)设置动态引导物的情况下,该动态引导物不能移动。用户不能对这种动态引导物的属性进行编辑。尽管在本说明书中描述了动态引导物接触容器的边,但是根据本发明的动态引导物并不局限于此。可以在距容器的边预定距离处显示根据本发明的动态引导物。
对角链接
在已参考图25A至25C描述的设置防止重叠可变链接的处理中,对应于沿纵向(图中的Y方向)延伸的动态引导物2441和2741,创建对应于水平方向(图中的X方向)的防止重叠可变链接2442和2742;对应于沿水平方向(图中的X方向)延伸的动态引导物2743,创建沿纵向(图中的Y方向)的防止重叠可变链接2744。
然而,存在这样的情况,当选择不允许重叠的属性(“拒绝对象之间重叠”属性)时,扩大后的重叠对象要侵入的边不能被指定为该重叠对象扩大和侵入的被重叠对象的可移动区域中的边。例如,存在如下可能性:可变容器2323可以扩展并侵入图23所示的被重叠对象2321的右边。此外,根据文档模板上的可变容器的布局、被设置为每个容器的特性的边缘状态、所设置的容器的最大尺寸,存在对象所侵入的边不是指定的边的情况。
下面参考图33、35和37来说明被边所侵入的边不是所指定的边的情况的例子。图33示出布局编辑应用程序121所显示的编辑窗口,该编辑窗口示出分别对应于纵向(图33中的Y方向)和水平方向(图33中的X方向)的动态引导物3341和3342、以及防止重叠对应角可变链接3343。
如图33所示,用作图像容器的可变容器3321、3322、3323以及3324布置在文档模板3309上。可变容器3322和3323通过固定链接3325相互相关。可变容器3322和3324通过固定链接3326相互相关。可变容器3323和3324通过固定链接3327相互相关。
利用防止重叠对应角可变链接3343,防止可变容器3321和3322相互重叠。防止重叠对应角可变链接3343防止作为重叠对象的可变容器3322的两个边3353和3354侵入作为被重叠对象的可变容器3321的可移动范围(由可变容器3321的两个边3351和3352的移动定义)。
图35和37示出布局编辑应用程序121所显示的预览显示,该预览显示示出在图像数据流入未应用图33所示的防止重叠对应角可变链接3343的可变容器的情况下,可变容器的布局如何变化。
在大小比可变容器3322的尺寸大的图像数据流入图33所示的窗口中的可变容器3322时,扩大可变容器3322的尺寸。此时,在可变容器3322的上边3354沿Y+方向移动的情况下,该边3354可能侵入可变容器3321的下边3352(或与之重叠)。同样地,在可变容器3322的左边3353沿X-方向移动的情况下,该边3353可能侵入可变容器3321的右边3351(或与之重叠)。
侵入的第一个例子
在图35所示的例子中,在未设置防止重叠对应角可变链接的情况下,可变容器3322的上边(参见图33)首先侵入可变容器3321的下边(参见图33)。这是由下面的布局流程所引起的。
(1)通过使图像数据流入可变容器3321,扩大容器3321的尺寸(参见图33)。因此,可变容器3321的右边3351(参见图33)沿向右的方向(X+方向)移动(通过图35所示的预览显示,该状态被显示为可变容器3521)。
(2)图像数据流入可变容器3322、3323和3324(参见图33)。然后,可变容器3324的可变边缘(边)3355沿Y+方向移动(左边、右边以及下边被设置为固定边缘)。此时,通过移动可移动边3355,向上推通过固定链接3326和3327而相互相关的可变容器3322和3323,并且可变容器3322和3323沿Y+方向移动(通过示出图35所示的可变容器3522和3523,该状态被显示为预览显示)。
(3)在上述步骤(1)和(2)中,图像数据流入可变容器。因此,在被重叠部分3530,可变容器3522的上边侵入可变容器3521的下边。
侵入的第二个例子
在图37所示的例子中,在未设置防止重叠对应角可变链接的情况下,可变容器3322的左边首先侵入可变容器3521的右边。这是由于下面的布局流程而引起的。
(1)图像数据流入可变容器3321(参见图33)。因此,容器3321的尺寸扩大,以使下边3352(参见图33)沿向下的方向(Y-方向)移动(通过示出图37中的可变容器3721,该状态被显示为预览显示)。
(2)图像数据流入可变容器3322、3323和3324(参见图33)。然后,可变容器3324的可变边缘(边)3356沿X-方向移动(右边被设置为固定边缘(虚线部分3729表示可变容器3323的固定边缘))。此时,通过移动可移动边3356,推动通过固定链接3325而链接的可变容器3322,并且可变容器3322沿X-方向移动(通过示出图37所示的可变容器3722,该状态显示为预览显示)。
(3)在上述步骤(1)和(2)中,图像数据流入可变容器。因此,在被重叠部分3730中,可变容器3722的左边侵入可变容器3721的右边。
在侵入的第一个例子和第二个例子中,当对应于重叠对象3322(可变容器)可能首先侵入的被重叠对象3321(可变容器)的水平方向和纵向上的两个边(不可能侵入三个边或更多的边)来创建动态引导物和防止重叠可变链接时,产生的问题是,即使不发生重叠,仍总是限制重叠对象的布局范围。
下面参考图27进一步说明该问题。例如,对应于沿可变容器2722的纵向延伸的动态引导物2741,设置防止重叠可变链接2742。如果还对应于沿水平方向延伸的动态引导物2743设置防止重叠可变链接,则当图像数据等流入可变容器2722时,由沿纵向延伸的动态引导物2741和沿水平方向延伸的动态引导物2743限制可变容器2722的可移动范围。即,可变容器2722的可移动范围被限制在位于动态引导物2741的右侧和动态引导物2743的上侧的区域内,该区域位于文档模板2709上。
为了防止发生上述由设置动态引导物和防止重叠可变链接而限制可变容器的可移动范围的问题,本实施例创建由图33中的附图标记3343表示的对角链接,该对角链接对应于分别沿水平方向和纵向延伸的、另一重叠对象(可变容器)可能首先侵入的两个边。在下面的说明中,将用作例如对角链接3343的防止重叠可变链接的链接称为“防止重叠对应角可变链接”。该防止重叠对应角可变链接是考虑到邻接被重叠对象的两个动态对象和重叠对象的两个边而创建的,防止重叠对象(可变容器)与被重叠对象(可变容器)重叠。
设置防止重叠对应角可变链接
图39是示出设置能应用于本发明实施例的防止重叠对应角可变链接的处理的流程图。该流程图详细描述了在作为防止重叠可变链接设置步骤的步骤S2515和S2516中执行的处理,已经参考图25B详细说明了该处理。
首先,在步骤S3901,与图25B中的步骤S2515相同,布局编辑应用程序121判断是否创建对应于被重叠对象(例如,图33所示的动态对象3321)的动态引导物。如果判断为创建该动态引导物(步骤S3901中的“是”),则该处理进入步骤S3902,在该步骤S3902,布局编辑应用程序121判断在设置了不允许重叠的属性的被重叠对象(可变容器)3321中是否存在重叠对象可以侵入的两个边(下面有时称为侵入边)。如上所述,表示存在于文档模板上的每个对象的可变范围和可移动范围的信息保持在存储器单元136中。因此,通过参考存储器单元136中的该信息,布局编辑应用程序121可以进行该判断。
例如,在分别沿可变容器3321的水平方向和纵向延伸的两个边3352和3351是侵入边(步骤S3902中的“是”)的情况下,由布局编辑应用程序121执行的处理进入步骤S3903。相反,如果在步骤S3902中布局编辑应用程序121判断为不存在两个被侵入的边(步骤S3902中的“否”),则该处理进入步骤S3905,以执行已参考图25B所示的步骤S2515进行了说明的动态引导物的设置、以及已参考图25B所示的步骤S2516进行了说明的防止重叠链接的设置。
如果存在两个被侵入的边(步骤S3902中的“是”),则在步骤S3903,布局编辑应用程序121设置分别邻接被侵入的边的动态引导物(例如,图33中的动态引导物3341和3342)。
随后,在步骤S3904,布局编辑应用程序121设置防止重叠对应角可变链接。为了详细说明在步骤S3904中执行的处理,参考图33说明该处理。布局编辑应用程序121设置防止重叠对应角可变链接3343,作为将在步骤S3903创建的两个动态引导物3341和3342的交叉点与可变容器3322的两个侵入边3353和3354所定义的角部分连接起来的链接。该处理对应于已参考图25B进行了说明的、在防止重叠可变链接设置步骤S2516中执行的处理。
如参考图39所述,在存在两个被侵入的边的情况下(即,未指定重叠方向),设置防止重叠对应角可变链接。如下所述,将防止重叠对应角可变链接变为防止重叠链接,其设置方向根据布局计算的结果来确定。
图34示出用于设置防止重叠对应角可变链接的属性的对话框窗口3401的例子。该对话框窗口通常包括:标题栏3402、工具栏按钮3403、用于打开/关闭该对话框窗口的按钮3404、以及用于设置与链接距离有关的各种信息的区域3409。
可以在文本框3410内设置对应角可变链接沿纵向长度的最小值(即,沿水平方向延伸的动态引导物与容器的上边或下边之间的纵向距离)。此外,还可以在文本框3412内设置对应角可变链接沿水平方向长度的最小值(即,沿纵向延伸的动态引导物与容器的左边或右边之间的水平方向距离)。
可以在列表框3411和3413内设置长度的单位。在这种情况下,作为例子,显示毫米(mm)。当用户在文本框内设置负值而非正值时,动态引导物和容器的重叠被设置为允许,而与“拒绝动态对象之间重叠”属性的设置无关。
图40是示出在设置了防止重叠对应角可变链接的情况下,布局编辑应用程序121执行的布局编辑处理的流程图。下面参考图33详细说明布局编辑处理。
用户操作鼠标133在菜单项目304(参见图3)上进行点击,以指示系统将图像数据流入图33所示的文档模板3309上存在的可变容器内。当判断为图像数据(内容)流入可变容器3321和3322至3324(步骤S4001中的“是”)时,根据可变容器3321和3322至3324的边缘(边)的设置,布局编辑应用程序121扩大或者减小容器的尺寸,以使图像数据的内容大小适合容器。在步骤S4002,在该容器与另一可变容器之间存在影响布局计算的固定链接或者可变链接的情况下,根据已参考图9说明过的动态布局计算,布局编辑应用程序121移动可变容器的布局位置。
如果在步骤S4003中布局编辑应用程序121判断为通过在步骤S4002执行的可变容器的扩大/缩小和位移,可变容器的尺寸或位置发生了变化,则在步骤S4004,布局编辑应用程序121判断是否像在可变容器3321的右边3351和下边3352那样,已设置了动态引导物3341和3342。如果已经设置了动态引导物3341和3342,则该处理进入步骤S4005。然后,在步骤S4005,响应于可变容器的扩大/缩小或位移,布局编辑应用程序121移动动态引导物3341和3342,同时保持动态引导物3341和3342接触该容器的边的状态。
如果判断为容器的尺寸未改变(步骤S4003中的“否”),则结束该处理。
如果判断为未设置动态引导物(步骤S4004中的“否”),则该处理结束。可选地,在结束该处理之前,可以新设置用于设置防止重叠对角链接的动态引导物。
如果布局编辑应用程序121判断为不发生容器之间的重叠(步骤S4006中的“否”),则该处理结束。另一方面,如参考图35和37所述,如果作为反映在步骤S4002改变可变容器的尺寸和位置以及在步骤S4005改变动态引导物的位置的结果,布局编辑应用程序121判断为容器3521和3522、或者3721和3722之间发生重叠(步骤S4006中的“是”),则在步骤S4007,布局编辑应用程序121判断容器之间的重叠方向。如果容器之间的重叠方向是纵向(步骤S4007中的“是”),如图35所示,则在步骤S4008,布局编辑应用程序121将防止重叠对应角可变链接3343改变为对应于纵向的防止重叠可变链接。
相反,如果在步骤S4007判断为容器之间的重叠方向是水平方向(步骤S4007中的“否”),如图37所示,则在步骤S4009,布局编辑应用程序121将防止重叠对应角可变链接3343改变为对应于水平方向的防止重叠可变链接。
然后,该处理进入步骤S4010,在该步骤S4010中,响应于根据动态布局计算的布局变化,改变防止重叠可变链接的长度。作为改变防止重叠可变链接的链接长度的结果,在防止重叠可变链接的长度小于用户在用于设置防止重叠对应角可变链接的属性的对话框窗口的文本框3410(在对应于步骤S4008中的纵向的防止重叠对应角可变链接的情况下)或文本框3412(在对应于步骤S4009中的水平方向的防止重叠对应角可变链接的情况下)中设置的防止重叠可变链接的最小值的情况下,在步骤S4012中,通过移动经由防止重叠可变链接与动态引导物相链接的容器的边的位置,其中该边被设置有链接以增加链接长度从而使防止重叠可变链接的链接长度满足最小值的条件,布局编辑应用程序121确定可变容器的布局。然后,布局编辑应用程序121结束该处理。
如果在步骤S4011中判断为链接的长度不小于最小值(步骤S4011中的“否”),则布局编辑应用程序121判断为可变容器的布局在链接长度所确定的位置处,并结束该处理。
如上所述,即使在不能指定重叠方向的布局的情况下,仍与上述“侵入的第一个例子”和“侵入的第二个例子”类似,利用图40所示的布局处理来设置防止重叠对应角可变链接。因此,根据实际流入的可变数据,可以将防止重叠对应角可变链接改变为对应于纵向的防止重叠链接,或者对应于水平方向的防止重叠链接。
因此,通过创建与沿重叠对象可以首先侵入的被重叠对象的水平方向和纵向延伸的两个边中的每个边相对应的动态引导物和防止重叠可变链接,可以解决对重叠对象的布局范围施加限制的问题。
布局的第一个例子
图36示出通过执行图40所示的处理由图33所示的布局变成的布局的例子。布局编辑应用程序121判断出重叠,该重叠是由可变数据流入每个容器而导致的侵入的第一个例子的情况下的重叠。因此,防止重叠对应角可变链接3343被改变为对应于纵向的防止重叠可变链接3643。与图35所示的可变容器3521和3522类似,将可变容器布置得使其不重叠。
利用在可变容器3621中设置的动态引导物3642和防止重叠可变链接3643,限制可变容器3622沿Y+方向的移动。在需要扩大图像数据被装入的可变容器3622的尺寸的情况下,布局编辑应用程序121使可变容器的边沿Y-方向移动,以扩大该可变容器的尺寸,并确定布局的位置。
在与可变容器3622的情况类似,需要扩大通过固定链接3626和3627与可变容器3622相关的可变容器3623和3624的尺寸的情况下,或者在通过可变容器3622的扩大来改变布局的位置的情况下,布局编辑应用程序121使可变容器的边沿Y-方向移动,以扩大可变容器的边,并确定布局的位置。
布局的第二个例子
图38示出通过执行图40所示的处理,从图33所示的布局变成的布局的例子。布局编辑应用程序121判断出重叠,该重叠是在由可变数据流入每个容器中而导致的侵入的第二个例子的情况下的重叠。因此,防止重叠对应角可变链接3343被改变为对应于水平方向的防止重叠可变链接3843。与图37所示的可变容器3721和3722类似,将可变容器布置得使容器不重叠。
利用在可变容器3821中设置的动态引导物3841和防止重叠可变链接3843,来限制可变容器3822沿X-方向的移动。在需要扩大图像数据被装入的可变容器3822的尺寸的情况下,布局编辑应用程序121使可变容器的边沿X+方向移动,以扩大该可变容器的尺寸,并确定布局的位置。
在与可变容器3822的情况类似,需要扩大通过固定链接3825和3826与可变容器3822相关的可变容器3823和3824的尺寸的情况下,或者在通过可变容器3822的扩大来改变布局的位置的情况下,布局编辑应用程序121使可变容器的边沿X+方向移动,以扩大可变容器的边,并确定布局的位置。
如上所述,根据第一实施例,当编辑布局时,判断数据被装入的容器(局部显示区)的重叠。然后,当编辑布局时,设置禁止重叠的局部显示区和允许重叠的局部显示区。因此,第一实施例可以提供有效地实现用户所期望的布局显示的布局控制技术。
第二实施例
下面说明本发明的第二实施例。第二实施例用于判断位于文档模板上的多个容器之间的重叠,并且根据用户的指令对每个容器的显示进行控制。
通过将硬件构成元件和软件构成元件组合在一起,来实现根据第二实施例的布局控制装置。
布局控制装置用于控制每个均装入为其分配的数据的局部显示区的布局并在页面上布置数据,该布局控制装置包括:预测单元,用于计算每个均装入对其分配的数据的每个局部显示区的可移动区域,并根据该可移动区域来预测每个局部显示区是否与排列在页面上的另一对象重叠;显示顺序设置单元,用于在预测单元预测为多个局部显示区之间发生重叠的情况下,设置显示局部显示区的显示顺序;以及显示控制单元,用于根据显示顺序设置单元设置的显示顺序来显示局部显示区。
图41示出根据第二实施例由布局编辑应用程序121显示的编辑窗口。以下,通过例子来说明由图像数据流入四个可变容器4111至4114而导致的可变容器之间的重叠。尽管通过例子在下面的说明中说明了假定图像数据要流入的、用作图像容器的可变容器之间的重叠,但是可变容器可以是假定文本数据要流入的、作为文本容器的可变容器。即使在文档模板4109上同时存在文本容器和图像容器的情况下,布局编辑应用程序121(包括用户界面模块103和布局引擎模块105)也可以判断多个容器间的重叠,而且可以根据用户的指令对每个容器的显示进行控制。在复选框1743被选中的情况下,第二实施例执行的处理对应于根据图17所示的布局方法而执行的处理。
可变容器4111至4114位于文档模板4109上。通过链接4121,可变容器4112和4113相互相关。布局编辑应用程序121根据用户的指定或自动地为可变容器4111、4112、4113以及4114分别分配标识符“容器A”、“容器B”、“容器C”和“容器D”,并在窗口中显示该标识符。
图42示出位于图41所示的位置的可变容器4111至4114的预计最大可移动范围。根据利用图17所示的属性对话框窗口而设置的、用于设置容器属性的容器的边缘和尺寸的状态,布局引擎105计算预计最大可移动范围。如图42所示,容器A 4211可以在水平方向与容器B 4212和C 4213重叠,而在纵向可以与容器D 4214重叠。
重叠设置处理流程
图43是示出由布局编辑应用程序121执行的重叠设置处理的流程的流程图。
在步骤S4301,布局编辑应用程序121判断当在文档模板上至少存在两个容器时,用户是否改变了容器的设置条件。如果在步骤S4301中判断为用户改变了容器的设置条件(步骤S4301中的“是”),则在步骤S4302,布局编辑应用程序121判断该改变是否与对象的动态因素有关。例如,与对象的动态因素有关的改变是从静态对象到动态对象的改变,以及动态对象的位置、尺寸以及可变边缘的改变。存储器单元136保持表示每个对象的设置条件的信息。因此,在步骤S4302,通过参考存储器单元136,布局编辑应用程序121可以执行该判断处理。
如果在步骤S4302判断为该改变与动态因素有关(步骤S4302中的“是”),则在步骤S4303,通过使用布局引擎105,布局编辑应用程序121计算与该动态因素的改变有关的全部动态对象(例如,可变容器)的最大可移动范围。
该计算与在图25B所示的步骤S2508中执行的处理相同。根据“容器的最大尺寸的设置”因素和“因为与之链接的另一容器而导致的移动”因素,布局引擎105计算用作动态对象的可变容器的最大可移动范围(即,计算最大可移动区域)。
在步骤S4302判断为用户进行的改变,例如从动态对象(可变容器)到静态对象(固定容器)的改变、静态对象(固定容器)的布局位置和尺寸的改变,与文档模板上存在的对象的动态因素无关(步骤S4302中的“否”)的情况下,在步骤S4304,根据作为静态对象的固定容器的布局位置和尺寸,布局编辑应用程序121计算文档模板上的静态对象(固定容器)所占据的区域(即,进行所占据的区域的计算)。因为关于静态对象所占据的区域的信息保持在存储器单元136中,因此布局编辑应用程序121可以通过参考存储器单元136来计算所占据的区域。
在步骤S4305,根据预测位于文档模板4109上的对象的重叠的计算(在步骤S4303中执行的)结果,或者根据在文档模板4109上占据的区域的计算(在步骤S4304执行的)结果,布局编辑应用程序121的布局引擎模块105预测容器发生重叠,如图42所示。
在步骤S4306,布局编辑应用程序121将对象重叠的最后预测结果与对重叠的上一预测结果进行比较。如果预测重叠的计算结果中没有不同(步骤S4307中的“否”),则该处理结束。
如果预测重叠的计算结果中存在不同(步骤S4307中的“是”),则在步骤S4308,将表示发生改变的重叠预测结果的信息保持在存储器单元136中。因此,布局编辑应用程序121更新发生改变的、上一重叠预测结果。随后,在步骤S4309,布局编辑应用程序121更新用于设置与重叠预测发生了改变的对象相对应的重叠属性的用户界面。然后,该处理结束。
在布局编辑应用程序121的控制下,可以自动更新用于设置重叠属性的用户界面。此外,根据用户的指定,可以对每个容器的显示进行控制。
对象重叠属性设置UI
图44示出用于设置对象重叠属性的UI(下面被称为对象重叠属性设置UI)。在图44中示出对应于容器A的对象重叠属性设置UI4431、对应于容器B的对象重叠属性设置UI 4432、对应于容器C的对象重叠属性设置UI 4433、以及对应于容器D的对象重叠属性设置UI 4434。布局编辑应用程序121通过执行布局编辑处理,可以设置拒绝布置在文档模板上的每个对象与另一对象(容器)重叠,或者允许通过将位于“上方”的后一对象放置在前一对象之上而使前一对象与后一对象重叠(下面有时称为“上方重叠”)、或者允许通过将位于“下方”的后一对象放置在前一对象之下而使前一对象与后一对象重叠(下面有时称为“下方重叠”)(根据Z顺序)。
当输入表示允许重叠的设置的信息时,布置两个可变容器,以使两个容器之间的重叠部分处于其中一个可变容器布置在位于“上方”的另一个容器之下的“下方”位置处的状态。
当输入表示拒绝重叠的设置的信息时,系统允许输入表示以相同的优先级布置两个可变容器的详细设置信息,或者输入表示优先布置其中一个可变容器的详细设置信息。根据该详细设置,用于执行动态布局的布局引擎模块105将两个可变容器布置在不发生重叠的位置处。
容器B、C和D作为被预测为与容器A发生重叠的对象而在图44所示的、对应于容器A的重叠属性设置UI 4431中列出,该预测是由已参考图43而说明的、由布局编辑应用程序121所执行的处理进行的。重叠属性设置UI 4431具有选项按钮,用于选择性地启用允许“上方重叠”或“下方重叠”的属性设置、以及“拒绝重叠”的属性设置。在重叠属性设置UI 4431中,对容器B选择“拒绝重叠”属性。对容器C选择允许“上方重叠”属性。对容器D选择允许“下方重叠”属性。
在对应于容器B的图44所示的重叠属性设置UI 4432中,列出容器A和C,作为预计与容器B重叠的对象。图44所示的重叠属性设置UI 4432具有选项按钮,用于选择性地启用允许“上方重叠”或“下方重叠”的属性设置、以及“拒绝重叠”的属性设置。与用于设置可能与容器B重叠的容器A的重叠属性的重叠属性设置UI 4431同步,将“拒绝重叠”属性设置为容器A的重叠属性(即,UI 4431和4432均设置“拒绝重叠”)。在重叠属性设置UI 4432中,对容器C设置允许“上方重叠”属性。
在对应于容器C的重叠属性设置UI 4433中,列出容器A和B,作为预计与容器C重叠的对象。与容器A和B的情况类似,重叠属性设置UI 4433具有选项按钮,用于选择性地启用允许“上方重叠”或“下方重叠”的属性设置、以及“拒绝重叠”的属性设置。与用于设置可能与容器B重叠的容器A的重叠属性的重叠属性设置UI 4431同步,在重叠属性设置UI 4433中,设置“下方重叠”属性,作为容器A的重叠属性(即,允许将容器A放置在容器C的“上方”的重叠)。与可能与容器C重叠的容器B的重叠属性设置UI4432同步,在容器B的重叠属性设置UI 4433中设置允许“下方重叠”属性(允许将容器B布置在容器C的“上方”的重叠)。
在对应于容器D的重叠属性设置UI 4434中,列出容器A,作为预计与容器D重叠的对象。与容器A、B和C的情况类似,重叠属性设置UI 4433具有选项按钮,用于选择性地启用允许“上方重叠”或“下方重叠”的属性设置、以及“拒绝重叠”的属性设置。与用于设置可能与容器A重叠的容器D的重叠属性的重叠属性设置UI 4431同步,在重叠属性设置UI 4434中,设置“上方重叠”属性作为容器D的重叠属性(即,允许将容器D布置在“上方”、将容器A布置在“下方”的重叠)。在本实施例的情况下,容器A用作用于设置重叠属性的基准。如上所述,容器B至D中的每个的重叠属性的设置与容器A的重叠属性的设置同步。例如,在属性设置UI 4434中,容器D的重叠属性被改变为属性“下方重叠”的情况下,在容器A的属性设置UI 4431中设置的重叠属性与其同步地改变为“上方重叠”属性。在被判断为相互重叠的容器相互相关的状态下,保存表示所设置的容器的重叠顺序的信息、以及表示“拒绝重叠”属性的信息。因此,例如,在设置了“上方重叠”属性作为其中一个容器的属性的情况下,可以设置“下方重叠”属性作为与其相关的另一容器的重叠属性。
因此,与在另一重叠属性设置UI中设置另一容器的重叠属性同步,在重叠属性设置UI中,布局编辑应用程序121可以设置两个容器中的一个容器的重叠属性。
根据下面的关系,由布局编辑应用程序121来实现设置属性的同步。在通过重叠属性设置UI将其中一个对象(容器)的重叠属性设置为“上方重叠”属性的情况下,通过重叠属性设置UI将与该其中一个对象重叠的另一对象(容器)的重叠属性设置为“下方重叠”属性。在通过重叠属性设置UI将其中一个对象(容器)的重叠属性设置为“下方重叠”属性的情况下,通过重叠属性设置UI将与该其中一个对象重叠的另一对象(容器)的重叠属性设置为“上方重叠”属性。在通过重叠属性设置UI将其中一个对象(容器)的重叠属性设置为“拒绝重叠”属性的情况下,通过重叠属性设置UI将与该其中一个对象重叠的另一对象(容器)的重叠属性也设置为“拒绝重叠”属性。
在响应于当布局编辑应用程序121执行步骤S4309中的处理时而发生的重叠预测结果的变化而导致对象(容器)之间重叠的情况下,将对象添加到重叠属性设置UI中的列表显示中。在消除重叠的情况下,删除相应的对象。根据重叠预测结果,对于新添加的对象(容器),可以追加设置允许重叠的属性或拒绝重叠的属性。
拒绝重叠动态布局设置UI
图45示出在第二实施例中在指定拒绝对象重叠的情况下的动态布局设置UI(下面有时称为拒绝重叠动态布局设置UI)。图45示出用于设置拒绝容器A与容器B重叠的属性的拒绝重叠动态布局设置UI 4541、以及用于设置拒绝容器B与容器A重叠的属性的拒绝重叠动态布局设置UI 4542。
当属性设置UI 4431指定容器A与容器B“拒绝重叠”并且当按下“详细设置”按钮4491时,布局编辑应用程序121显示拒绝重叠动态布局设置UI 4541。同样地,当属性设置UI 4432指定容器B与容器A“拒绝重叠”并且按下“详细设置”按钮4492时,布局编辑应用程序121显示拒绝重叠动态布局设置UI 4542。
如图45所示,用户可以指定分别对应于方法“两个容器相互排斥并布置(等价)”、“对对方退让优先级并布置(对方优先布局)”以及“移动对方并布置(自身优先布局)”的三个选项按钮中的一个。
通过选择其中一个选项按钮,用户可以指定拒绝重叠动态布局方法。
当用户从选项按钮中选择对应于“两个容器相互排斥并布置(等价)”的选项按钮时,用户可以选择分别对应于自身容器与被拒绝重叠的对方容器的排斥方向,即“自动设置方向”、“上方”、“下方”、“左方”以及“右方”(用户移动自身容器以防止自身容器与另一容器重叠的方向)的选项按钮中的一个。这些布局编辑操作基于布局编辑应用程序121所执行的处理。
当用户从选项按钮中选择对应于“对对方退让优先级并布置(对方优先布局)”的选项按钮时,用户可以选择分别对应于自身容器的移动方向,即“自动设置方向”、“上方”、“下方”、“左方”以及“右方”(用户相对于对方移动自身容器的方向)的选项按钮中的一个。这些布局编辑操作基于布局编辑应用程序121所执行的处理。
当用户从选项按钮中选择对应于“移动对方并布置(自身优先布局)”的选项按钮时,用户可以选择分别对应于对方容器位移的移动方向,即“自动设置方向”、“上方”、“下方”、“左方”以及“右方”(一方相对于另一方而移动其自身的方向)的选项按钮中的一个。
这些布局编辑操作基于布局编辑应用程序121所执行的处理。
例如,在图45所示的用于设置拒绝容器A与容器B重叠的拒绝重叠动态布局设置UI 4541中,通过相应的选项按钮来指定方法“两个容器相互排斥并布置(等价)”。通过按下相应的选项按钮,指定“向下”方向作为容器A排斥容器B的方向。在用于设置拒绝容器B与容器A重叠的拒绝重叠动态布局设置UI 4542中,与指定方法“两个容器相互排斥并布置(等价)”的、用于设置拒绝容器A与容器B重叠的拒绝重叠动态布局设置UI 4541同步,通过相应的选项按钮来指定方法“两个容器相互排斥并布置(等价)”。通过与拒绝重叠动态布局设置UI 4541同步,按下用于指定相对于容器A的容器B的排斥方向的相应选项按钮,指定“向上”方向作为容器B排斥容器A的方向,以允许容器A的排斥方向是“向下”、容器B的排斥方向是“向上”的排斥。
因此,布局编辑应用程序121可以使利用用户操作在其中一个拒绝重叠动态布局设置UI中设置的方法和方向与在另一拒绝重叠动态布局设置UI中设置的方法和方向同步。
假定根据下面的关系,布局编辑应用程序121执行设置方法和方向的同步。
拒绝重叠动态布局的设置的同步
(1)在利用拒绝重叠动态布局设置UI设置了方法“两个容器相互排斥并布置(等价)”的情况下,在对应于被拒绝重叠的另一个对象的另一个拒绝重叠动态布局设置UI中设置相同的方法“两个容器相互排斥并布置(等价)”。
(2)在利用拒绝重叠动态布局设置UI设置了方法“对对方退让优先级并布置(对方优先布局)”的情况下,在对应于被拒绝重叠的另一个对象的另一个拒绝重叠动态布局设置UI中设置方法“移动对方并布置(自身优先布局)”。
(3)在利用拒绝重叠动态布局设置UI设置了方法“移动对方并布置(自身优先布局)”的情况下,在对应于被拒绝重叠的另一个对象的另一个拒绝重叠动态布局设置UI中设置方法“对对方退让优先级并布置(对方优先布局)”。
同步排斥方向的设置、自身容器移动方向的设置以及对方容器移动方向的设置
(1)在利用拒绝重叠动态布局设置UI设置了“自动设置”方向的情况下,在对应于被拒绝重叠的另一个对象的另一个拒绝重叠动态布局设置UI中也设置“自动设置”方向。
(2)在利用拒绝重叠动态布局设置UI设置了“向上”方向的情况下,在对应于被拒绝重叠的另一个对象的另一个拒绝重叠动态布局设置UI中设置“向下”方向。
(3)在利用拒绝重叠动态布局设置UI设置了“向下”方向的情况下,在对应于被拒绝重叠的另一个对象的另一个拒绝重叠动态布局设置UI中设置“向上”方向。
(4)在利用拒绝重叠动态布局设置UI设置了“向左”方向的情况下,在对应于被拒绝重叠的另一个对象的另一个拒绝重叠动态布局设置UI中设置“向右”方向。
(5)在利用拒绝重叠动态布局设置UI设置了“向右”方向的情况下,在对应于被拒绝重叠的另一个对象的另一个拒绝重叠动态布局设置UI中设置“向左”方向。
表示分别利用图44和45所示的UI设置的方法和设置方向的信息保持在存储器单元136中。
拒绝重叠动态布局
图46是示出布局编辑应用程序121执行的拒绝重叠动态布局的处理流程的流程图。假定在本实施例中执行的拒绝重叠动态布局中,利用已在第一实施例中说明的动态引导物、防止重叠可变链接、或者防止重叠对应角可变链接,布局编辑应用程序121可以控制可变容器的位移。
用户操作鼠标133在菜单项目304上进行点击,以指示系统使图像数据流入文档模板上存在的可变容器内。在步骤S4601,布局编辑应用程序121判断图像数据(内容)是否流入可变容器。如果判断为可变数据流入其中(步骤S4601中的“是”),则根据边缘状态、所设置的容器尺寸、以及动态因素的变化,布局编辑应用程序121的布局引擎105获得文档模板4109上的可变容器4111至4114的位移。然后,在步骤S4602,布局引擎105计算可变容器4111至4114的预计最大可移动范围。该处理与步骤S4302中的处理相同。因此,在此不重复该处理的详细说明。
然后,在步骤S4603,布局编辑应用程序121判断作为执行动态布局的结果,对象(可变容器)之间是否发生重叠。如果不发生重叠(步骤S4603中的“否”),则该处理结束。如果发生重叠(步骤S4603中的“是”),则在步骤S4604,布局编辑应用程序121判断用户是否在参考图44说明的重叠属性设置UI中对对应于相互重叠的对象(可变容器)设置了“拒绝重叠”属性。表示所设置的属性的信息保持在存储器单元136中。因此,通过参考存储器单元136,布局编辑应用程序121可以进行该判断。
如果在步骤S4604中判断为未对可变容器设置“拒绝重叠”属性(步骤S4604中的“否”),则布局编辑应用程序121使相互重叠的对象(可变容器)反映允许重叠的指定,该重叠是“上方重叠”或者“下方重叠”,而且通过参考图44说明的重叠属性设置UI,根据Z顺序,用户设置该重叠。此外,布局编辑应用程序121改变对象的显示顺序(根据“上方重叠”或“下方重叠”的指定,其中一个对象显示在上方,而另一个对象显示在下方),并在步骤S4610中,在编辑窗口中预览对象。然后,该处理结束。
如果在步骤S4604中判断为对可变容器设置了“拒绝重叠”属性(步骤S4604中的“是”),则该处理进入步骤S4605,在该步骤S4605中布局编辑应用程序121判断是否利用参考图45描述的拒绝重叠动态布局设置UI设置了方法“两个容器相互排斥并布置(等价)”。如上所述,存储器单元136保持表示该设置条件的信息。因此,通过参考存储器单元136,布局编辑应用程序121可以进行该判断。
如果在步骤S4605中设置了方法“两个容器相互排斥并布置”,则该处理进入步骤S4606,在该步骤S4606,布局编辑应用程序121判断利用拒绝重叠动态布局设置UI设置的排斥方向是否是“自动设置”方向。
如果在步骤S4606判断为设置了“自动设置”方向作为排斥方向(步骤S4606中的“是”),则利用布局引擎105,布局编辑应用程序121计算移动方向相互相反、移动量相互基本相同的两个对象(容器)不相互重叠的移动位置。布局编辑应用程序121在步骤S4607执行的处理计算每个对象的位置以识别重叠区域,并通过以相反方向将对象移动重叠区域的尺寸,来获得对象不相互重叠的移动位置。根据在步骤S4607计算的移动位置,在步骤S4608,布局编辑应用程序121使两个对象(可变容器)移动,布置对象并预览显示布局结果。然后,结束该处理。
即,布局编辑应用程序121根据预定的拒绝重叠设置(防止重叠链接)来判断是否执行拒绝(防止)重叠处理,并且判断当将对其分配的数据装入每个容器内时该容器是否重叠。根据所设置的属性,例如重叠设置、拒绝重叠、以及拒绝重叠的详细条件,用于执行文档布局的布局引擎105重新计算其中一个可变容器与另一容器的布局位置。具有显示控制功能的用户界面模块103使重新计算结果预览显示在显示单元144的屏幕上。
如果在步骤S4606判断为未在拒绝重叠动态布局设置UI中将“自动设置”方向设置为排斥方向(步骤S4606中的“否”),则布局编辑应用程序121使两个对象(可变容器)在两个对象(容器)的排斥方向移动,该方向相同同步地设置为相互相反,以便容器的移动量接近于相互相等,然后布置对象。随后,在步骤S4609,布局编辑应用程序121预览显示布局的结果。然后,结束该处理。
如果在步骤S4605判断为未利用拒绝重叠动态布局设置UI设置方法“两个容器相互排斥并布置”(步骤S4605中的“否”),则该处理进入步骤S4611,在该步骤S4611中,布局编辑应用程序121判断是否利用拒绝重叠动态布局设置UI设置了方法“对对方退让优先级并布置(对方优先布局)”。
如果在步骤S4611判断为利用拒绝重叠动态布局设置UI设置了方法“对对方退让优先级并布置(对方优先布局)”(步骤S4611中的“是”),则该处理进入步骤S4612,在该步骤S4612,布局编辑应用程序121判断是否利用拒绝重叠动态布局设置UI将“自动设置”方向设置为自身容器相对于对方容器的移动方向。
如果在步骤S4612判断为“自动设置”方向被设置为自身容器的移动方向(步骤S4612中的“是”),则该处理进入步骤S4613,在步骤S4613,利用布局引擎105,布局编辑应用程序121计算自身对象(自身容器)不与布局位置被优先确定的对方对象(对方容器)重叠的最小移动位置。然后,布局编辑应用程序121将自身对象移动到该移动位置,并布置容器。随后,在步骤S4614,布局编辑应用程序121预览显示布局结果。然后,结束该处理。
如果在步骤S4612判断为未利用拒绝重叠动态布局设置UI将“自动设置”方向设置为自身容器相对于对方容器的移动方向(步骤S4612中的“否”),则根据被设置为自身容器的移动方向的“向上”方向、“向下”方向、“向左”方向和“向右”方向中的一个,布局编辑应用程序121将自身对象(自身容器)移动到自身对象不与布局位置被优先确定的对方对象(对方容器)重叠的位置,然后布置容器。随后,在步骤S4615,布局编辑应用程序121预览显示布局结果。然后,结束该处理。
如果在步骤S4611判断为未利用拒绝重叠动态布局设置UI设置方法“对对方退让优先级并布置(对方优先布局)”(步骤S4611中的“否”),则该处理进入步骤S4616,在步骤S4616,布局编辑应用程序判断是否设置了自身优先布局。如果未设置自身优先布局(步骤S4616中的“否”),则该处理结束。如果设置了自身优先布局(步骤S4616中的“是”),则该处理进入步骤S4617,在步骤S4617,布局编辑应用程序121判断是否利用拒绝重叠动态布局设置UI将“自动设置”方向设置为对方容器相对于自身容器的移动方向。
如果在步骤S4617“自动设置”方向被设置为对方容器相对于自身容器的移动方向(步骤S4617中的“是”),则该处理进入步骤S4618,在步骤S4618,利用布局引擎105,布局编辑应用程序121计算布局位置被优先确定的自身对象(自身可变容器)不与对方对象(对方容器)重叠的最小移动位置。然后,布局编辑应用程序121使对方对象(对方容器)移动到该移动位置,并布置容器。随后,在步骤S4619,布局编辑应用程序121预览显示布局结果。然后,结束该处理。
如果在步骤S4617判断为未利用拒绝重叠动态布局设置UI将“自动设置”方向设置为对方容器相对于自身容器的移动方向(步骤S4617中的“否”),则根据设置为对方容器的移动方向的“向上”方向、“向下”方向、“向左”方向和“向右”方向中的一个,布局编辑应用程序121将对方对象(对方容器)移动到不与布局位置被优先确定的自身对象(自身容器)重叠的位置,并布置容器。随后,在步骤S4620,布局编辑应用程序121预览显示布局结果。然后,结束该处理。
即使在布局由于可变数据流入容器而被改变并且对象相互重叠的情况下,也可以利用第二实施例来设置对象的重叠顺序。因此,可以创建反映用户意图的布局。即使在设置了“拒绝重叠”属性的情况下,也可以选择避免重叠的多个方法(“等价”方法、“对方优先布局”以及“自身优先布局”)。此外,还可以设置避免方向。因此,不仅可以实现避免重叠,甚至还可以在避免重叠之后创建反映用户意图的布局。
图47示出在图像数据流入图41所示的可变容器,而且不应用参考图46描述的处理的情况下的布局结果。在这种情况下,进行预览显示,以使可变容器4112至4114的预览显示4712至4714与可变容器4111的预览显示4711重叠。
图48示出在图像数据流入图41所示的可变容器,而且应用了参考图46描述的处理的情况下,布局编辑应用程序121执行的布局的结果。
即使在与图47所示的图像数据相同的图像数据流入可变容器4111至4114的情况下,通过应用参考图46描述的处理而获得的图48所示的布局结果与图47所示的布局结果的不同之处在于,可变容器4111的预览显示4811不与可变容器4112的预览显示4812重叠。
根据下面的设置,获得图48所示的这些预览显示。即,如图44所示,在用于设置容器A的重叠属性的重叠属性设置UI 4431和用于设置容器B的重叠属性的重叠属性设置UI 4432中,设置“拒绝重叠”属性。利用对应于容器A的拒绝重叠动态布局设置UI 4541和对应于容器B的拒绝重叠动态布局设置UI 4542指定方法“两个容器相互排斥并布置(等价)”。此外,将容器A的排斥方向设置为“向下”方向。将容器B的排斥方向设置为“向上”方向。即,如参考图46所示的拒绝重叠动态布局的处理流程所述,布局编辑应用程序121布置容器,以使预览显示4811的位置移动到下方位置,使预览显示4812的位置移动到上方位置,并且使预览显示4811和4812不相互重叠。
在预览显示4811、4813以及4814中发生重叠的情况下,根据在图44所示的对象重叠属性设置UI中设置的允许重叠的属性,通过将容器D的预览显示4814定位在高于容器A的预览显示4811的位置,而且将容器C的预览显示4813定位在低于容器A的预览显示4811的位置,布局编辑应用程序121显示预览显示4811、4813和4814。
根据本实施例,当编辑布局时,判断装入数据的容器(局部显示区)的重叠。当编辑布局时,设置禁止重叠的局部显示区和允许重叠的局部显示区。可以有效地提供实现用户所期望的布局显示的布局控制技术。即使在允许重叠的情况下,仍可以设置每个对象的重叠顺序(换句话说,上方位置或下方位置)。因此,可以在前景上显示用户期望的对象。
在例如图54中示出上述自动布局系统(布局编辑应用程序121)的功能配置。
参考图54,布局编辑应用程序121控制多个包含所分配的数据的局部显示区的布置,并将数据布置在页面上。预测单元5401计算包含所分配的数据的每个局部显示区的可移动区域。预测单元5401还根据该可移动区域来预测局部显示区是否与布置在该页面上的另一对象重叠。防止链接显示单元5402在被预测单元5401预测为相互重叠的局部显示区与另一对象之间设置防止重叠链接,并显示所设置的防止重叠链接。
在预测单元5401预测出局部显示区重叠的情况下,设置数据输入单元A 5403在局部显示区中设置并输入表示拒绝重叠的数据。根据所分配的数据的大小,调整单元5404调整多个局部显示区的布局位置。在设置数据输入单元A 5403在局部显示区中设置了拒绝重叠的属性的情况下,引导物设置单元5405设置引导物。在预测单元5401预测出局部显示区与另一对象重叠的情况下,设置数据输入单元B 5406在局部显示区中设置并输入表示是否允许局部显示区与另一对象重叠的数据。在设置数据输入单元B 5406输入了允许重叠的数据的情况下,显示顺序设置单元5407设置局部显示区的显示顺序。在响应于将所分配的数据装入局部显示区而导致局部显示区与另一对象重叠的情况下,根据该显示顺序,显示控制单元5408显示局部显示区。在设置数据输入单元B 5406输入了表示拒绝重叠的设置数据的情况下,详细设置添加单元5409添加表示优先布置局部显示区和另一对象中的至少一个的详细设置数据。布局编辑应用程序121的主要单元包括:预测单元5401和防止链接显示单元5402;或者包括:预测单元5401、设置数据输入单元B 5406和显示控制单元5408。布置单元根据详细设置信息,将局部显示区与另一对象布置在它们之间不产生重叠部分的位置。
其它实施例
通过对系统或装置提供记录有能实现上述实施例的功能的软件程序代码的记录介质,可以实现本发明的特征,其中该系统或装置的计算机(或中央处理单元(CPU)或微处理单元(MPU))读取并执行存储在该记录介质中的程序代码。
在这种情况下,从记录介质读取的程序代码本身实现上述实施例的功能。
例如,可以采用软盘、硬盘、光盘、磁光盘、光盘只读存储器(CD-ROM)、可记录CD(CD-R)、磁带、非易失性存储器、ROM等作为用于提供程序代码的记录介质。
不仅通过在计算机中执行所读取的程序代码,还通过利用运行在计算机上的OS(操作系统),根据程序代码所发出的指令执行部分或全部实际处理,来实现上述实施例的功能。
根据从存储介质读取的、在写入到设置在功能扩展板或功能扩充单元上的存储器之后由程序代码发出的指令,通过由设置在插入计算机的功能扩展板或连接至计算机的功能扩充单元上的CPU等执行部分或全部实际处理,也可以实现上述实施例的功能。
尽管参考典型实施例对本发明进行了说明,但是应当理解,本发明不局限于所公开的典型实施例。以下权利要求的范围符合最宽的解释,以便包括全部修改、等同结构和功能。
Claims (22)
1.一种布局控制装置,用于控制多个局部显示区的布局,其中在每个该局部显示区中装入了为其分配的数据,并且在页面上布置该数据,该布局控制装置包括:
预测单元,用于根据该局部显示区的可移动区域,来预测该局部显示区是否与排列在该页面上的另一对象重叠;以及
防止重叠链接显示单元,用于在被预测为相互重叠的该局部显示区与该另一对象之间设置防止重叠链接,并显示该防止重叠链接。
2.根据权利要求1所述的布局控制装置,其特征在于,
其中,该另一对象是装入了所分配的数据的局部显示区,以及
其中,该预测单元用于计算排列在该页面上的每个局部显示区的可移动区域,并根据该可移动区域来预测该多个局部显示区是否相互重叠。
3.根据权利要求1所述的布局控制装置,其特征在于,还包括:
设置数据输入单元,用于在该局部显示区被该预测单元预测为重叠的情况下,对该局部显示区输入拒绝重叠的属性,
其中,在通过该设置数据输入单元设置了该拒绝重叠的属性的情况下,该防止重叠链接显示单元用于在设置了该拒绝重叠的属性的局部显示区与被预测为要与之重叠的另一对象之间设置并显示防止重叠链接。
4.根据权利要求3所述的布局控制装置,其特征在于,还包括:
引导物设置单元,用于在该设置数据输入单元对该局部显示区设置了该拒绝重叠的属性的情况下,对该局部显示区设置引导物,
其中,该防止重叠链接显示单元用于在对该局部显示区设置的该引导物与被预测为与该局部显示区重叠的该另一对象之间设置并显示该防止重叠链接。
5.根据权利要求4所述的布局控制装置,其特征在于,还包括:
调整单元,用于根据所分配的数据的数据大小来调整该多个局部显示区的布局位置,
其中,在该调整单元调整了其间设置有该防止重叠链接的该局部显示区和另一对象中的至少一个的布局位置的情况下,该调整单元用于响应于对该局部显示区和另一对象中的至少一个的布局位置的调整而改变该防止重叠链接的长度,以使该防止重叠链接的长度不小于对该防止重叠链接设置的最小值。
6.根据权利要求5所述的布局控制装置,其特征在于,由该引导物设置单元设置的该引导物能够响应由调整单元引起的、该局部显示区中被设置了该引导物的边的位置的变化而移动。
7.根据权利要求5所述的布局控制装置,其特征在于,在该预测单元根据该局部显示区的可移动区域的计算结果,不能指定该局部显示区与被预测为与该局部显示区重叠的该另一对象的重叠方向的情况下,该防止重叠链接显示单元用于设置如下对角链接,所述对角链接能响应于该调整单元对该局部显示区与该另一对象相互重叠的方向的指定来改变该防止重叠链接所设置的方向。
8.根据权利要求7所述的布局控制装置,其特征在于,还包括:
重叠方向判断单元,用于在设置了该对角链接的情况下,判断被预测为与该局部显示区重叠的该另一对象的重叠方向是水平方向还是纵向,
其中,该防止重叠链接显示单元用于根据该重叠方向判断单元的判断结果,将该对角链接改变为水平防止重叠链接或纵向防止重叠链接,以防止该局部显示区与该另一对象重叠。
9.一种布局控制装置,用于控制多个局部显示区的布局,其中在每个该局部显示区中装入了为其分配的数据,并且在页面上布置该数据,该布局控制装置包括:
预测单元,用于根据该局部显示区的可移动区域,来预测该局部显示区是否与排列在该页面上的另一对象重叠;
设置信息输入单元,用于在该局部显示区被该预测单元预测为与另一对象重叠的情况下,设置并输入表示是否允许该局部显示区与该另一对象重叠的设置信息;
重叠顺序设置单元,用于在由该设置信息输入单元输入了表示允许重叠的信息的情况下,设置显示该局部显示区的重叠顺序;以及
输出控制单元,用于在当数据被装入每个该局部显示区时,该局部显示区与另一对象重叠的情况下,输出根据该重叠顺序排列了该局部显示区和该另一对象的页面。
10.根据权利要求9所述的布局控制装置,其特征在于,该重叠顺序设置单元用于将该局部显示区和该另一对象的重叠部分中的一个设置在上方位置,将该重叠部分中的另一个设置在下方位置。
11.根据权利要求9所述的布局控制装置,其特征在于,还包括:
详细设置信息添加单元,用于在该设置信息输入单元输入了表示拒绝重叠的设置信息的情况下,添加用于优先布置该局部显示区和该另一对象中的至少一个的详细设置信息;以及
布置单元,用于根据该详细设置信息,将该局部显示区与该另一对象布置在它们之间不产生重叠部分的位置。
12.一种布局控制方法,用于控制多个局部显示区的布局,其中在每个该局部显示区中装入了为其分配的数据,并且在页面上布置该数据,该布局控制方法包括:
预测步骤,用于根据该局部显示区的可移动区域,来预测该局部显示区是否与排列在该页面上的另一对象重叠;
防止重叠链接设置步骤,用于在被预测为相互重叠的该局部显示区与该另一对象之间设置防止重叠链接;以及
防止重叠链接显示步骤,用于如果该防止重叠链接设置步骤设置了防止重叠链接,则显示该防止重叠链接。
13.根据权利要求12所述的布局控制方法,其特征在于,该另一对象是装入了所分配的数据的局部显示区,以及
其中,可移动区域计算步骤包括计算布置在页面上的每个局部显示区的可移动区域,以及
该预测步骤包括根据该可移动区域来预测多个局部显示区是否相互重叠。
14.根据权利要求12所述的布局控制方法,其特征在于,还包括:
设置数据输入步骤,用于在该局部显示区相互重叠的情况下,在该局部显示区中输入表示拒绝重叠的属性的设置数据,
其中,该防止重叠链接设置步骤包括在通过该设置数据输入步骤设置了该拒绝重叠的属性的情况下,在设置了该拒绝重叠的属性的局部显示区与被预测为与该局部显示区重叠的另一对象之间设置防止重叠链接。
15.根据权利要求14所述的布局控制方法,其特征在于,还包括:
引导物设置步骤,用于在该设置数据输入步骤设置了该拒绝重叠的属性的情况下,对该局部显示区设置引导物,
其中,该防止重叠链接设置步骤包括在对该局部显示区设置的该引导物与被预测为与该局部显示区重叠的另一对象之间设置该防止重叠链接。
16.根据权利要求15所述的布局控制方法,其特征在于,还包括:
调整步骤,用于根据所分配的数据的数据大小来调整该多个局部显示区的布局位置,
其中,该调整步骤包括在调整了其间设置有该防止重叠链接的该局部显示区和另一对象中的至少一个的布局位置的情况下,响应于对该局部显示区和另一对象中的至少一个的布局位置的调整而改变该防止重叠链接的长度,以使该防止重叠链接的长度不小于对该防止重叠链接设置的最小值。
17.根据权利要求16所述的布局控制方法,其特征在于,由该引导物设置步骤设置的该引导物能够响应由调整步骤引起的、该局部显示区中被设置了该引导物的边的位置的变化而移动。
18.根据权利要求16所述的布局控制方法,其特征在于,在该预测步骤根据该局部显示区的可移动区域的计算结果,不能指定该局部显示区与被预测为与该局部显示区重叠的该另一对象的重叠方向的情况下,该防止重叠链接设置步骤包括设置如下对角链接,所述对角链接能响应于该调整步骤对该局部显示区与该另一对象相互重叠的方向的指定来改变该防止重叠链接所设置的方向。
19.根据权利要求18所述的布局控制方法,其特征在于,还包括:
重叠方向判断步骤,用于在设置了该对角链接的情况下,判断被预测为与该局部显示区重叠的该另一对象的重叠方向是水平方向还是纵向,
其中,该防止重叠链接显示步骤包括如下步骤:根据该重叠方向判断步骤的判断结果,将该对角链接改变为水平防止重叠链接或纵向防止重叠链接,以防止该局部显示区与该另一对象重叠。
20.一种布局控制方法,用于控制多个局部显示区的布局,其中在每个该局部显示区中装入了为其分配的数据,并且在页面上布置该数据,该布局控制方法包括:
预测步骤,用于根据该局部显示区的可移动区域,来预测该局部显示区是否与排列在该页面上的另一对象重叠;
设置信息输入步骤,用于在该局部显示区被预测为与另一对象重叠的情况下,设置并输入表示是否允许该局部显示区与该另一对象重叠的设置信息;
重叠顺序设置步骤,用于在通过该设置信息输入步骤输入了表示允许重叠的信息的情况下,设置显示该局部显示区的重叠顺序;以及
输出控制步骤,用于在当数据被装入每个该局部显示区时,该局部显示区与另一对象重叠的情况下,输出根据该重叠顺序排列了该局部显示区和该另一对象的页面。
21.根据权利要求20所述的布局控制方法,其特征在于,该重叠顺序设置步骤包括将该局部显示区和该另一对象的重叠部分中的一个设置在上方位置,将该重叠部分中的另一个设置在下方位置。
22.根据权利要求20所述的布局控制方法,其特征在于,还包括:
详细设置信息添加步骤,用于在通过该设置信息输入步骤输入了表示拒绝重叠的设置信息的情况下,添加用于优先布置该局部显示区和该另一对象中的至少一个的详细设置信息;以及
布置步骤,用于根据该详细设置信息,将该局部显示区与该另一对象布置在它们之间不产生重叠部分的位置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005061064 | 2005-03-04 | ||
JP2005061064A JP4241647B2 (ja) | 2005-03-04 | 2005-03-04 | レイアウト制御装置、レイアウト制御方法及びレイアウト制御プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1828516A true CN1828516A (zh) | 2006-09-06 |
CN100407125C CN100407125C (zh) | 2008-07-30 |
Family
ID=36944176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006100578981A Expired - Fee Related CN100407125C (zh) | 2005-03-04 | 2006-03-03 | 布局控制装置和布局控制方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7900139B2 (zh) |
JP (1) | JP4241647B2 (zh) |
CN (1) | CN100407125C (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102117290A (zh) * | 2009-12-30 | 2011-07-06 | 北京搜狗科技发展有限公司 | 一种展现网页中页面元素的方法及系统 |
CN105260351A (zh) * | 2015-09-10 | 2016-01-20 | 武汉改图网技术有限公司 | 一种基于自适应模版的印刷品在线自助设计方法 |
CN106796518A (zh) * | 2014-09-30 | 2017-05-31 | 微软技术许可有限责任公司 | 基于意图的反馈 |
CN109766094A (zh) * | 2018-11-19 | 2019-05-17 | 苏州蜗牛数字科技股份有限公司 | 一种停靠式布局窗口框架创建方法 |
CN110275683A (zh) * | 2018-03-15 | 2019-09-24 | 佳能株式会社 | 控制方法和信息处理装置 |
CN110515511A (zh) * | 2019-08-20 | 2019-11-29 | 新奥数能科技有限公司 | 一种操作应用程序图标的方法及装置 |
Families Citing this family (72)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4047308B2 (ja) * | 2004-08-06 | 2008-02-13 | キヤノン株式会社 | レイアウト処理方法、情報処理装置及びコンピュータプログラム |
US7472340B2 (en) * | 2004-12-20 | 2008-12-30 | Microsoft Corporation | Method and computer-readable medium for generating a multiple column layout |
DE102005009105A1 (de) * | 2005-02-28 | 2006-09-07 | Siemens Ag | Verfahren und Verwalten einer Anzeigeeinrichtung |
US8370770B2 (en) | 2005-06-10 | 2013-02-05 | T-Mobile Usa, Inc. | Variable path management of user contacts |
US8370769B2 (en) | 2005-06-10 | 2013-02-05 | T-Mobile Usa, Inc. | Variable path management of user contacts |
US7685530B2 (en) | 2005-06-10 | 2010-03-23 | T-Mobile Usa, Inc. | Preferred contact group centric interface |
US8359548B2 (en) | 2005-06-10 | 2013-01-22 | T-Mobile Usa, Inc. | Managing subset of user contacts |
US8255281B2 (en) | 2006-06-07 | 2012-08-28 | T-Mobile Usa, Inc. | Service management system that enables subscriber-driven changes to service plans |
JP4303311B2 (ja) * | 2006-10-13 | 2009-07-29 | 株式会社コアアプリ | 操作支援コンピュータプログラム、操作支援コンピュータシステム |
US9081782B2 (en) * | 2006-11-17 | 2015-07-14 | Cabin Creek, Llc | Systems and methods for dynamically generating graphical memorabilia projects for presentation and use |
JPWO2008096417A1 (ja) * | 2007-02-06 | 2010-05-20 | パナソニック株式会社 | コンテンツリスト表示装置およびコンテンツリスト表示方法 |
AU2007201627B2 (en) * | 2007-04-13 | 2010-11-25 | Canon Kabushiki Kaisha | Gluing layout containers |
US20080266606A1 (en) * | 2007-04-24 | 2008-10-30 | Huenemann Geoffrey W | Optimized print layout |
US7949946B2 (en) * | 2007-10-17 | 2011-05-24 | Microsoft Corporation | Layout and line routing composition |
JP2009110391A (ja) * | 2007-10-31 | 2009-05-21 | Canon Inc | 情報処理装置および制御方法および制御プログラム |
JP4605478B2 (ja) * | 2007-12-19 | 2011-01-05 | ソニー株式会社 | 情報処理装置、表示制御方法及び表示制御プログラム |
US20100053215A1 (en) * | 2008-08-27 | 2010-03-04 | International Business Machines Corporation | Creation and application of patterns to diagram elements |
US8717383B2 (en) * | 2008-08-27 | 2014-05-06 | International Business Machines Corporation | Automatic management of diagram elements |
US20100058162A1 (en) * | 2008-08-27 | 2010-03-04 | International Business Machines Corporation | Automatic customization of diagram elements |
US8402381B2 (en) * | 2008-09-23 | 2013-03-19 | International Business Machines Corporation | Automatically arranging widgets of a model within a canvas using iterative region based widget relative adjustments |
JP2010097564A (ja) * | 2008-10-20 | 2010-04-30 | Canon Inc | 情報処理装置及びレイアウト処理方法 |
US8924888B2 (en) * | 2008-11-13 | 2014-12-30 | SAP France S.A. | Dynamic data object insertion |
JP5335495B2 (ja) * | 2009-03-10 | 2013-11-06 | キヤノン株式会社 | 情報処理装置、画像データ生成方法、及びコンピュータプログラム |
US9369542B2 (en) | 2009-03-27 | 2016-06-14 | T-Mobile Usa, Inc. | Network-based processing of data requests for contact information |
US9355382B2 (en) | 2009-03-27 | 2016-05-31 | T-Mobile Usa, Inc. | Group based information displays |
US9210247B2 (en) * | 2009-03-27 | 2015-12-08 | T-Mobile Usa, Inc. | Managing contact groups from subset of user contacts |
US8739028B2 (en) * | 2009-05-22 | 2014-05-27 | Cabin Creek, Llc | Methods for producing user-configurable accented presentations |
US8438475B2 (en) * | 2009-05-22 | 2013-05-07 | Cabin Creek, Llc | Systems and methods for producing user-configurable accented presentations |
US9253447B2 (en) * | 2009-12-29 | 2016-02-02 | Kodak Alaris Inc. | Method for group interactivity |
US20110157218A1 (en) * | 2009-12-29 | 2011-06-30 | Ptucha Raymond W | Method for interactive display |
JP5417185B2 (ja) * | 2010-01-07 | 2014-02-12 | 1stホールディングス株式会社 | オブジェクト処理装置およびオブジェクト選択方法 |
US20110210986A1 (en) * | 2010-03-01 | 2011-09-01 | Stoitcho Goutsev | Systems and methods for determining positioning and sizing of graphical elements |
US8683370B2 (en) | 2010-03-01 | 2014-03-25 | Dundas Data Visualization, Inc. | Systems and methods for generating data visualization dashboards |
JP2011248421A (ja) * | 2010-05-24 | 2011-12-08 | Sharp Corp | データ作成方法及びデータ作成システム |
US8479117B2 (en) * | 2010-06-04 | 2013-07-02 | Lenovo (Singapore) Pte. Ltd. | Intelligent window sizing for graphical user interfaces |
JP5739623B2 (ja) * | 2010-06-25 | 2015-06-24 | キヤノン株式会社 | 編集装置、およびプログラム |
US20120089902A1 (en) | 2010-10-07 | 2012-04-12 | Dundas Data Visualization, Inc. | Systems and methods for dashboard image generation |
US10210260B2 (en) | 2010-10-20 | 2019-02-19 | Microsoft Technology Licensing, Llc | Templates for displaying data |
US8806332B2 (en) * | 2010-10-25 | 2014-08-12 | Kodak Alaris Inc. | Template opening modification for image layout method |
US9679404B2 (en) | 2010-12-23 | 2017-06-13 | Microsoft Technology Licensing, Llc | Techniques for dynamic layout of presentation tiles on a grid |
US20120166496A1 (en) * | 2010-12-23 | 2012-06-28 | Microsoft Corporation | Techniques for generating custom objects representing content files |
US9436685B2 (en) | 2010-12-23 | 2016-09-06 | Microsoft Technology Licensing, Llc | Techniques for electronic aggregation of information |
CA2737148A1 (en) | 2011-01-06 | 2012-07-06 | Dundas Data Visualization, Inc. | Methods and systems for providing a discussion thread to key performance indicator information |
US9715485B2 (en) | 2011-03-28 | 2017-07-25 | Microsoft Technology Licensing, Llc | Techniques for electronic aggregation of information |
TWI567570B (zh) * | 2011-06-15 | 2017-01-21 | 微軟技術授權有限責任公司 | 用於產生代表內容檔案之客製物件的技術 |
EP2722742A4 (en) * | 2011-09-13 | 2015-06-17 | Sony Computer Entertainment Inc | INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD, DATA STRUCTURE OF CONTENT FILE, GUI PLACEMENT SIMULATOR, AND GUI PLACEMENT SETTING ASSIST METHOD |
US9418292B2 (en) * | 2011-10-04 | 2016-08-16 | Here Global B.V. | Methods, apparatuses, and computer program products for restricting overlay of an augmentation |
CN102346782A (zh) * | 2011-10-25 | 2012-02-08 | 中兴通讯股份有限公司 | 在用户终端浏览器上按需显示图片的方法及装置 |
US8866854B2 (en) | 2011-10-31 | 2014-10-21 | Microsoft Corporation | Consolidated orthogonal guide creation |
JP2013114424A (ja) * | 2011-11-28 | 2013-06-10 | Sony Computer Entertainment Inc | 画面設定ファイル生成装置、情報処理装置、画面設定ファイル生成方法、画面表示方法、および画面設定ファイルのデータ構造 |
US10185703B2 (en) * | 2012-02-20 | 2019-01-22 | Wix.Com Ltd. | Web site design system integrating dynamic layout and dynamic content |
US10789412B2 (en) * | 2012-02-20 | 2020-09-29 | Wix.Com Ltd. | System and method for extended dynamic layout |
US9704189B2 (en) * | 2012-09-05 | 2017-07-11 | Rakuten Kobo, Inc. | System and method for a graphical user interface having recommendations |
JP2014102790A (ja) * | 2012-11-22 | 2014-06-05 | Toshiba Corp | 情報処理装置、プロファイル作成方法およびプログラム |
US10078626B1 (en) * | 2012-11-27 | 2018-09-18 | Amazon Technologies, Inc. | Automated layout testing of content |
US9594603B2 (en) | 2013-04-15 | 2017-03-14 | Microsoft Technology Licensing, Llc | Application-to-application launch windowing |
US10754536B2 (en) | 2013-04-29 | 2020-08-25 | Microsoft Technology Licensing, Llc | Content-based directional placement application launch |
KR102192159B1 (ko) * | 2013-07-25 | 2020-12-16 | 삼성전자주식회사 | 디스플레이 방법 및 그 방법을 처리하는 전자 장치 |
JP2015138315A (ja) * | 2014-01-21 | 2015-07-30 | コニカミノルタ株式会社 | オブジェクト表示システム及びオブジェクト表示制御プログラム並びにオブジェクト表示制御方法 |
JP6422228B2 (ja) * | 2014-03-28 | 2018-11-14 | キヤノン株式会社 | 画像処理装置、画像処理方法およびプログラム |
US10162855B2 (en) | 2014-06-09 | 2018-12-25 | Dundas Data Visualization, Inc. | Systems and methods for optimizing data analysis |
JP5664813B1 (ja) * | 2014-06-10 | 2015-02-04 | 富士ゼロックス株式会社 | デザイン管理装置及びプログラム |
JP6237498B2 (ja) * | 2014-06-30 | 2017-11-29 | カシオ計算機株式会社 | 図形表示制御装置、表示制御方法およびプログラム |
JP6812170B2 (ja) * | 2016-08-29 | 2021-01-13 | キヤノン株式会社 | 情報処理装置、その制御方法、および制御プログラム |
US11379252B1 (en) * | 2018-01-31 | 2022-07-05 | Parallels International Gmbh | System and method for providing layouts for a remote desktop session |
US11157293B2 (en) | 2018-04-18 | 2021-10-26 | Microsoft Technology Licensing, Llc | Dynamic incident console interfaces |
US10937127B2 (en) * | 2018-08-13 | 2021-03-02 | International Business Machines Corporation | Methods and systems for managing text in rendered images |
US11481083B2 (en) * | 2018-09-18 | 2022-10-25 | Figma, Inc. | Tool for arranging objects and adjusting spacing in a layout |
CN109783181B (zh) * | 2019-01-31 | 2019-12-20 | 掌阅科技股份有限公司 | 屏幕适配显示方法、电子设备及计算机存储介质 |
CN111367480B (zh) * | 2020-02-27 | 2024-12-03 | 珠海奔彩电子股份有限公司 | 信息处理的方法及装置、手持式打印机、可读存储介质 |
US20210357110A1 (en) * | 2020-05-13 | 2021-11-18 | Cbs Interactive Inc. | Systems and methods for generating consistent user interfaces across multiple computing platforms |
CN112596730B (zh) * | 2020-12-30 | 2024-06-18 | 广州繁星互娱信息科技有限公司 | 布局调整方法、装置、终端及存储介质 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01130274A (ja) | 1987-11-16 | 1989-05-23 | Canon Inc | 文書処理装置 |
DE3838740A1 (de) * | 1987-11-16 | 1989-06-01 | Canon Kk | Dokumentationsverarbeitungsanlage |
US5060170A (en) * | 1989-08-09 | 1991-10-22 | International Business Machines Corp. | Space allocation and positioning method for screen display regions in a variable windowing system |
JPH05110708A (ja) | 1991-10-16 | 1993-04-30 | Fuji Xerox Co Ltd | ミクスト・モ―ド通信装置 |
US5459825A (en) * | 1994-03-14 | 1995-10-17 | Apple Computer, Inc. | System for updating the locations of objects in computer displays upon reconfiguration |
US5873106A (en) * | 1995-09-18 | 1999-02-16 | Oracle Corporation | Geometry management for displaying objects on a computer |
JPH09146948A (ja) | 1995-11-22 | 1997-06-06 | Sharp Corp | 文書作成支援装置 |
US6300936B1 (en) * | 1997-11-14 | 2001-10-09 | Immersion Corporation | Force feedback system including multi-tasking graphical host environment and interface device |
JPH09311857A (ja) | 1996-05-24 | 1997-12-02 | Sumitomo Metal Ind Ltd | 文書組版方法,電子組版装置及び記録媒体 |
JPH10154648A (ja) * | 1996-11-22 | 1998-06-09 | Mitsubishi Electric Corp | 荷電ビーム描画データ作成装置 |
US5963203A (en) * | 1997-07-03 | 1999-10-05 | Obvious Technology, Inc. | Interactive video icon with designated viewing position |
US6573907B1 (en) * | 1997-07-03 | 2003-06-03 | Obvious Technology | Network distribution and management of interactive video and multi-media containers |
US6380954B1 (en) * | 1998-02-09 | 2002-04-30 | Reuters, Ltd. | Method and system for layout of objects within a perimeter using constrained interactive search |
JPH11232474A (ja) | 1998-02-17 | 1999-08-27 | Fuji Xerox Co Ltd | デザイン制作支援装置 |
JPH11316792A (ja) | 1998-02-27 | 1999-11-16 | Mantaro Yajima | 情報処理装置及び帳表作成方法 |
JP2000048216A (ja) | 1998-07-24 | 2000-02-18 | Dainippon Screen Mfg Co Ltd | 画像部品ブロックのレイアウト処理方法及び装置、並びに、コンピュータ読み取り可能な記憶媒体 |
EP1108240B1 (en) * | 1999-06-07 | 2003-08-27 | Hewlett-Packard Company, A Delaware Corporation | An agent and method for dynamically scheduling publication in an automated document delivery system |
US7028255B1 (en) * | 2000-08-14 | 2006-04-11 | Adobe Systems Incorporated | Self-sizing object placement |
US7356760B2 (en) * | 2001-02-15 | 2008-04-08 | Nbor Corporation | System and method for editing an electronic document of text and graphic objects |
JP4298362B2 (ja) * | 2003-04-17 | 2009-07-15 | キヤノン株式会社 | 情報処理装置及び印刷プレビュー表示方法 |
JP4165888B2 (ja) * | 2004-01-30 | 2008-10-15 | キヤノン株式会社 | レイアウト制御方法、レイアウト制御装置及びレイアウト制御プログラム |
-
2005
- 2005-03-04 JP JP2005061064A patent/JP4241647B2/ja not_active Expired - Fee Related
-
2006
- 2006-02-22 US US11/359,959 patent/US7900139B2/en not_active Expired - Fee Related
- 2006-03-03 CN CN2006100578981A patent/CN100407125C/zh not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102117290A (zh) * | 2009-12-30 | 2011-07-06 | 北京搜狗科技发展有限公司 | 一种展现网页中页面元素的方法及系统 |
CN102117290B (zh) * | 2009-12-30 | 2015-03-18 | 北京搜狗科技发展有限公司 | 一种展现网页中页面元素的方法及系统 |
CN106796518A (zh) * | 2014-09-30 | 2017-05-31 | 微软技术许可有限责任公司 | 基于意图的反馈 |
CN105260351A (zh) * | 2015-09-10 | 2016-01-20 | 武汉改图网技术有限公司 | 一种基于自适应模版的印刷品在线自助设计方法 |
CN105260351B (zh) * | 2015-09-10 | 2018-05-01 | 武汉改图网技术有限公司 | 一种基于自适应模版的印刷品在线自助设计方法 |
CN110275683A (zh) * | 2018-03-15 | 2019-09-24 | 佳能株式会社 | 控制方法和信息处理装置 |
US11429331B2 (en) | 2018-03-15 | 2022-08-30 | Canon Kabushiki Kaisha | Control method and information processing apparatus extending the function of a printer driver |
CN109766094A (zh) * | 2018-11-19 | 2019-05-17 | 苏州蜗牛数字科技股份有限公司 | 一种停靠式布局窗口框架创建方法 |
CN110515511A (zh) * | 2019-08-20 | 2019-11-29 | 新奥数能科技有限公司 | 一种操作应用程序图标的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
JP4241647B2 (ja) | 2009-03-18 |
US20060198555A1 (en) | 2006-09-07 |
CN100407125C (zh) | 2008-07-30 |
US7900139B2 (en) | 2011-03-01 |
JP2006244276A (ja) | 2006-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1828516A (zh) | 布局控制装置和布局控制方法 | |
CN1313916C (zh) | 布局控制方法和布局控制装置 | |
CN1731391A (zh) | 布局处理方法、信息处理装置 | |
CN100337187C (zh) | 布局调整方法、布局调整装置及程序 | |
CN1811691A (zh) | 信息处理装置及其控制方法 | |
CN1731399A (zh) | 信息处理装置及其控制方法 | |
CN1648846A (zh) | 文件处理装置和文件处理方法 | |
CN1912825A (zh) | 信息处理装置及其控制方法 | |
CN100351770C (zh) | 布局调整方法和装置 | |
CN1828517A (zh) | 文档处理装置和文档处理方法 | |
CN1126025C (zh) | 窗口显示装置 | |
CN1110745C (zh) | 具有面向目标的打印接口的操作系统 | |
CN1790338A (zh) | 布局处理方法、装置以及程序 | |
CN1731397A (zh) | 信息处理装置及其控制方法 | |
CN1731819A (zh) | 布局调整方法和装置 | |
CN1648849A (zh) | 布局调整方法和装置 | |
CN1940912A (zh) | 文件作成系统、文件作成方法、程序以及存储介质 | |
CN1763743A (zh) | 图表上的自动标签放置系统和方法 | |
CN101046729A (zh) | 信息处理设备和其控制方法 | |
CN1648894A (zh) | 文件处理装置和文件处理方法 | |
CN1530855A (zh) | 布局系统和布局程序以及布局方法 | |
CN1607524A (zh) | 包含可变数据的文档或版面的选择性预览和校对 | |
CN1321923A (zh) | 画面程序作成方法、记录媒体 | |
CN101046728A (zh) | 信息处理设备和其控制方法 | |
CN1607522A (zh) | 用于创建和编辑可变数据文档的用户界面 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080730 Termination date: 20160303 |
|
CF01 | Termination of patent right due to non-payment of annual fee |