图形的基于区块的布局的制作方法

文档序号:6513331阅读:139来源:国知局
图形的基于区块的布局的制作方法
【专利摘要】本公开涉及图形的基于区块的布局。在此描述的是促进页面的布局的设计或排列的技术。在一个实现中,提供了具有形成页面布局的一个或多个区块的基于区块的页面。基于区块的页面包括焦点区块。响应于指示页面布局中的区块变化的用户事件,确定布局中的区块邻近。区块邻近是将被移位以实现区块变化的最小区域。将区块吸收进空白区域中,并且分析改变的布局来确定基于区块的页面是否是凸起页面。
【专利说明】图形的基于区块的布局

【技术领域】
[0001]本公开一般涉及工具。具体地,本公开涉及用于设计或排列页面的布局的工具。

【背景技术】
[0002]软件应用可以向终端用户提供个性化页面布局的灵活性。例如,基于区块(tile)的页面用来使终端用户能够个性化页面布局。在基于区块的页面中,可以将区块从一个位置灵活地移动到另一个位置。区块可以是表示功能区域的图标。典型的例子包括桌面,诸如智能手机和平板的桌面。图标可以装饰以指示功能模块的信息。
[0003]然而,常规的基于区块的页面一般具有大小统一的区块。这限制了用户个性化页面的灵活性。此外,当移动区块时,由于布局变化的不明确,其他区块的自动重排是受限的,并且没有考虑用户的意图。
[0004]根据上述讨论,需要提供没有区块大小限制可以被灵活地个性化并且对于区块重排考虑用户的意图的页面。


【发明内容】

[0005]在此描述促进页面的布局的设计或排列的技术。根据技术的一方面,提供了具有形成页面布局的一个或多个区块的基于区块的页面。基于区块的页面包括焦点区块。页面的任何区块的大小包括区块基本单位的任意倍数。响应于指示页面布局中的区块变化的用户事件,确定布局中的区块邻近,其中区块改变包括区块移动改变、区块调整大小改变、区块添加改变或区块删除改变。区块邻近是将被移位以实现区块变化的最小区域。区块邻近可以包括无区块或一个或多个区块。将区块吸收到由区块改变创建的空白区域中。吸收区块包括执行吸收分析。识别空白区域,并且计算区块从焦点区块的区块距离。识别用于吸收的潜在的区块。如果存在,则选择潜在的区块之一用于吸收。将所选择的潜在的区块吸收到空白区域中。所选择的潜在的区块的视图考虑空白区域周围的区块的平均视图吸附力(affinity)。如果更多的空白区域存在,则重复吸收分析。分析改变的布局来确定基于区块的页面是否是凸起(convex)页面。
[0006]根据另一方面,提供了具有形成页面布局的一个或多个区块的、基于区块的页面。基于区块的页面包括焦点区块。响应于指示页面布局中的区块改变的用户事件,确定布局中的区块邻近。区块邻近是将被移位以实现区块变化的最小区域。将区块吸收进空白区域中,并且分析改变的布局来确定基于区块的页面是否是凸起页面。
[0007]与在下文中将变得明显的这些和其它优点和特征一起,通过参考下面的详细描述和所附权利要求,以及参照这里的附图,可以获得进一步的信息。

【专利附图】

【附图说明】
[0008]在附图中示出一些实施例。附图中相似的参考标号指定相似的部分。
[0009]图1示出区块页面的示范性实施例;
[0010]图2a-图2d示出各种类型的区块页面;
[0011]图3示出区块页面中可能的焦点区块位置的示范性实施例;
[0012]图4a_图4c不出非凸起和凸起区块页面的例子;
[0013]图5示出测量页面的凸起距离;
[0014]图6示出布局排列器(arranger)的实施例;
[0015]图7a-图7b示出在页面中移动区块的例子;
[0016]图8a-图8d示出页面中的吸收的简单的例子;
[0017]图9示出布局排列器的过程流的实施例;
[0018]图1Oa示出用于动量吸收的过程的实施例;
[0019]图1Ob-图1Oc示出用于垂直的页面的动量吸收的简单例子;以及
[0020]图1la-图14e示出区块变化的各种实施例。

【具体实施方式】
[0021]在下面的描述中,为了说明,阐述特定的数字、材料和配置,以便提供对本框架和方法的彻底理解,并且以便满足法定的撰写描述、启动(enablement)和最佳实施例的要求。然而,对于一位本领域技术人员来说显然,可以没有特定的示范性细节而实践本框架和方法。在其它情况下,省略或简化公知特征以阐明本框架和方法的示范性实现的描述,并且从而更好地解释本框架和方法。此外,为便于理解,将某些方法步骤描绘为单独的步骤;然而,这些单独描绘的步骤不应该被认为是在它们的执行中必需次序依赖或独立的。
[0022]本公开针对的是布局排列器。例如,布局排列器可以在环境中采用。环境可以具有客户端/服务器架构。例如,环境可以是分布的客户端/服务器架构。客户端服务器架构可以具有经由通信网络通信耦接的一个或多个客户端和一个或多个服务器。例如,通信网络可以是互连诸如客户端和服务器的不同的设备的局域网(LAN)。其他类型或配置的网络也可以是有用的。例如,网络可以通过广域网(WAN)或因特网互连至其他网络。可以通过无线和/或有线连接经由网络耦接设备。客户端可以访问服务器用于信息的存储或检索。此外,服务器可以促进客户端之间的通信。
[0023]在一个实施例中,服务器可以是包括存储器和处理器的计算机。服务器的存储器可以包括任何存储器或数据库模块。存储器可以是易失性或非易失性类型的存储器,诸如磁介质、光介质、随机存取存储器(RAM)、只读存储器(ROM)、可移动介质或任何其他适合的本地或远程存储组件。服务器被配置为发送、接收、处理和存储与环境相关的信息或数据。可以采用各种类型的计算机。例如,计算机可以是主机、工作站以及其他类型的处理设备。服务器可以适合于运行任何操作系统。例如,服务器的操作系统可以是z/0S、LinUX-1ntel、Linux/390、UNIX或Windows Server。还可以使用其他类型的操作系统。服务器还可以包括网络服务器和/或简单邮件传输协议(SMTP)服务器,或者与其通信地耦接。
[0024]客户端可以是具有例如本地存储器和处理器的本地或远程计算设备。存储器可以包括固定和/或可移动的存储介质,诸如磁性计算机磁盘、CD-ROM或其他适合的介质。各种类型的处理设备可以充当客户端。例如,客户端可以是PC、平板PC、工作站、网络计算机、电话亭或移动计算设备,诸如膝上型计算机、平板或智能手机。也可以使用其他类型的处理设备。客户端可以接收、发送、处理和存储与架构相关的任何合适的数据。
[0025]可以在环境中提供客户端/服务器(C/S)应用。一般,C/S应用包括前端和后端部分。前端部分本地地存储在客户端上,而后端部分位于服务器中。可以在环境中提供各种类型的C/S应用。例如,C/S应用可以包括企业应用。例如,这样的应用保持企业或公司的数据,并且可以包括例如SAP Business One。其他类型的应用,包括非C/S应用也可以是有用的。
[0026]布局排列器是用于设计或排列页面的布局的软件工具。在一个实施例中,布局排列器促进设计或排列页面的基于区块的布局。例如,页面可以是网页或html页面、桌面、登陆页面或用户界面(UI)页面。其他类型的页面也可以是有用的。
[0027]图1示出页面的基于区块的布局100的示范性实施例。如所示,实际上将页面映射到具有大小统一的块(block) 130的栅格结构中。例如,将块排列在X列和y行的矩阵中,其中第一列和第一行从O开始。可以通过指示在页面布局之内的块的位置的坐标(x,y)来指定块。例如,可以用坐标(0,0)来指定位于布局的左上角的块。
[0028]在个实施例中,块对应于区块的基本单位。区块在四边周围有空白。例如,区块具有右、左、顶和底的空白。区块中心是区块的对角线的交点。页面可以包含很多区块,形成区块页面。页面的区块可以具有为基本单位的倍数的任何大小。基本单位可以具有任何大小。例如,基本单位的大小可以由用户定义,或者可以具有默认的大小。区块可以与I个基本单位一样小,或者大于I个基本单位。区块的大小可以用符号(mxn)来表示,其中m是在宽度(或X)方向上的单位数目,并且η是在高度(或y)方向上的单位数目。例如,在具有单个基本单位的大小的区块的情况中,它通过符号(Ixl)来指定。
[0029]说明性地,页面包括第一、第二、第三和第四区块,130η。区块的位置是位于区块的左上角的块的坐标。第一区块OO1由坐标(0,0)指定,具有(Ixl)的大小,第二区块1302由坐标(1,0)指定,具有(3x3)的大小,第三区块1303由坐标(0,I)指定,具有(1x2)的大小,并且第四区块1304由坐标(0,3)指定,具有(1x3)的大小。用于区块页面的区块的其他配置也可以是有用的。可以在区块页面之内移动或排列区块。
[0030]图2a_2d示出不同类型的页面。参照图2a,示出固定的页面200a。固定的页面包括四条边框,在其中布置区块。图2b示出垂直页面200b。在垂直页面中,在页面的底部没有边框。例如,垂直的页面可以是可从底部扩展的。关于沿着页面的底部方向(例如,y方向)布置的区块没有限制。在图2c中示出水平页面200c。在水平页面中,在页面的右侧没有边框。例如,水平页面可以是可从页面的右侧(例如,X方向)扩展的。关于沿着页面的右侧方向布置的区块没有限制。如图2d中所示,可拉伸页面200d在页面的右侧和底部上没有边框。例如,可拉伸页面可以是可从页面的右侧和底部扩展的。关于沿着页面的底部和右侧方向布置的区块没有限制。
[0031]区块具有内容视图。区块的内容视图可以被分类成不同的种类。例如,内容视图的种类可以包括文本、分析(analytics)和自由样式(free style)。提供内容视图的其他种类也可以是有用的。不同种类的视图可以具有不同的或者适合的区块大小。内容视图种类可以具有一个或多个适合的区块大小。
[0032]在一个实施例中,区块页面包括焦点区块。可以由用户来选择焦点区块。可替换地,焦点区块可以具有默认的选择。焦点区块优选地位于页面的左上角。一旦选择或确定焦点区块,它的位置就是固定的位置。例如,焦点区块位于坐标(0,O)。在页面的其他位置提供焦点区块也可以是有用的。在一个实施例中,焦点区块可以是不邻近于页面的非边框的任何区块。作为说明,参照图3,如果页面300是固定的页面,则页面33(V9的任何一个可以是焦点区块。对于垂直页面的情况,区块33(V6可以是焦点区块。如果页面是水平页面,则区块33(^33(^33(^33(^3304^ 3304^任何一个可以是焦点区块。对于可拉伸页面,区块33(^33(^3304和3305的任何一个可以是焦点区块。
[0033]焦点区块是用于包括区块调整大小和区块视图变化的所有区块移动的基准区块。使用视图因子I来定义焦点区块。区块X包括视图吸附力V,其为区块X与焦点区块之间的系数。例如,区块X的吸附力定义如下:
[0034]吸附力(X,V)=因子*视图类型比+(1-因子)*范围比;
[0035]视图类型比指定视图类型之间的比率。例如,在文本类型对自由类型的情况中,视图类型比可以是0.8。因子是预定义的比率,例如从O到I。范围比被定义为:
[0036]2*计数(由焦点区块的视图和区块X的视图V共享的范围)/计数(焦点区块的视图与区块X的视图V的所有范围)
[0037]在一个实施例中,最终的区块页面应该是区块凸起。例如,改变的区块页面应该导致作为区块凸起的页面。区块凸起页面是满足下面两个条件的页面:
[0038]I)从焦点区块的中心到非焦点区块的中心的所有线不跨过至少等于一个基本单位(例如,包含至少一个Ixl区块)的空白区域;以及
[0039]2)跨过至少等于一个基本单位的空白区域的线长于从焦点区块到非焦点区块的中心的所有其他线。
[0040]不能满足两个条件将导致不是区块凸起的页面。
[0041]图4a_4c示出非凸起和凸起区块页面400的例子。如所示,页面是固定的页面。提供诸如垂直的、水平的和可拉伸页面的非固定页面也可以是有用的。说明性地,区块Tl是焦点区块。然而,可以理解,也可以采用可以满足成为焦点区块的条件的其他区块。
[0042]参照图4a,页面包括区块Tl至T8。在Tl和T6之间的页面中布置空白区域Al。Al的大小等于例如区块的基本单位。如所示,从焦点区块Tl的中心到T6的线L6跨过至少等于一个基本单位的Al。另外,从焦点区块的中心到Al的中心的线LAl至少短于从Tl的中心到T7的中心的线L7。存在长于LAl的、从Tl的中心到其他非焦点区块的其他线。清楚地,页面不是凸起页面,因为它至少不能满足上面所列的两个条件之一。
[0043]参照图4b,页面包括区块Tl至T8。在T3和T8之间的页面中布置空白区域Al。Al的大小等于例如区块的基本单位。如所示,没有从焦点区块的中心到非焦点区块的中心的线跨过Al或者至少等于基本单位的区域。然而,LAl短于L8。这意味着不满足用于凸起页面的第二条件。因此,页面不是凸起页面。
[0044]如图4c中所示,页面包括区块Tl至T8。在页面的右下角布置空白区域Al。例如,在T6之下和T8右边布置Al。Al的大小等于例如区块的基本单位。如所示,没有从焦点区块的中心到非焦点区块的中心的线跨过Al或者至少等于基本单位的区域。此外,LAl长于从焦点区块的中心到非焦点区块的中心的任何其他线,诸如L6或L8。这意味着满足凸起页面所要求的两个条件。因此,页面是凸起页面。
[0045]在一个实施例中,非焦点区块与焦点区块的凸起距离可以通过它距离焦点区块的长度(weight)和宽度的单位(基本单位)来测量。长度是与焦点区块的垂直距离(例如,y方向),而宽度是与焦点区块的水平距离(例如,X方向)。区块页面的总凸起距离是区块与焦点区块的距离的和。在确定焦点和非焦点区块的中心之间的距离时,也可以采用长度和宽度单位的使用。
[0046]图5示出测量页面500的凸起距离。页面包括区块Tl至T7,在Tl和T5之间布置有空白区域Al,并且在T3和T7之间布置有空白区域A2。如所述,非焦点区块与焦点区块的凸起距离可以通过它距离焦点区块的长度和宽度的单位来测量。长度是与焦点区块的垂直距离(例如,y方向),而宽度是与焦点区块的水平距离(例如,X方向)。因此,T2具有凸起距离1,T3具有凸起距离2,T4具有凸起距离2,T5具有凸起距离2,T6具有凸起距离3,并且T7具有凸起距离4。因此,页面的凸起距离是区块的凸起距离的和,为14。
[0047]图6不出布局排列器600的实施例的框图。布局排列器包括各种模块。在一个实施例中,布局排列器包括布局变化检测器模块610、动量吸收布局修改器模块或动量吸收器模块630、以及布局分析器模块650。也可以提供用户界面(UI)模块600。提供其他模块或模块的配置也可以是有用的。
[0048]布局排列器与用户交互。例如,用户可以提供信息。信息可以由用户提供,诸如对布局进行改变。布局排列器也可以向用户提供信息。其他类型的交互也可以是有用的。可以通过Π模块来促进用户与布局排列器之间的交互。
[0049]布局变化检测器模块610检测对基于区块的布局的变化。对布局的改变例如可以通过用户或页面的设计者来进行。改变可以包括改变区块位置、改变区块大小、添加区块和移除区块。其他类型的改变也可以是有用的。要改变区块的位置,可以使用拖放技术。至于改变区块的大小,用户可以选择区块并输入改变。要添加区块,用户选择要添加的区块的位置。要删除区块,用户选择区块并删除它。用于实现区块变化的其他技术也可以是有用的。
[0050]区块变化检测器模块610向动量吸收器模块630提供变化信息。使用变化信息来实现对布局的改变。如所述,改变可以包括区块位置改变、区块大小改变以及区块添加和区块移除。其他类型的改变也可以是有用的。
[0051]当由用户发起改变时,动量吸收器模块确定布局中的区块邻近。区块邻近是被移位以允许变化发生的最小的区域。取决于变化的情况,区块邻近可以是零或者I个或多个区块。区块邻近的移位是朝着页面的可扩展边。例如,在垂直页面的情况中,移位向下,以及对于水平页面向右。在固定的或可拉伸页面的情况中,用户可以选择用于移位方向的偏好。如果没有选择偏好,则布局排列器可以具有默认的移位方向。
[0052]图7a_7b示出在页面700中移动区块的例子。如所示,页面是垂直的页面并且包括区块T1-T13。区块具有不同的大小。例如,T1、T3-T6和T8-T10是Ixl或与基本单位相同,T7是1x2,T2和T12是2x2,Tll是2x3并且T13是4x2。例如,焦点区块是Tl。如图7a中所示,选择T2来改变。选择区块T2来移动。在这种情况中,变化区块C (mxn)具有(2x2)的区块大小(例如,m=2和n=2)。将C移动到的位置是X。位置X具有X (pxq)的面积。在这种情况下,位置X具有由TlO定义的Ixl的面积(例如,p=l和q=l)。在其他情况中,位置X可以是空白区域。移动区块的其他配置也可以是有用的。
[0053]在确定区块邻近时,考虑页面的类型。如所示,页面是垂直的页面。在垂直的页面中,移动朝向页面的扩展性。例如,在垂直的页面的情况中,它向着页面的底部。对于水平的页面,移动朝向页面的右侧。如所述,在固定或可拉伸页面的情况中,用户可以定义移动的方向的偏好。布局排列器可以提供移动的默认方向。可替换地,布局排列器可以包括移动的默认移动,除非被用户的偏好改写(override)。移动的方向的其他配置也可以是有用的。
[0054]对于垂直的页面的情况,如果m=p,那么不需要选择在X右边的区块。另一方面,如果m>p,则选择右边的一个或多个区块直到X足以容纳M。例如,选择右区块直到m < X和X右边的区块的宽度的和。X之下的区块与右边的区块也被选择并形成区块邻近750。说明性地,T10、T7和T12-T13形成区块邻近。
[0055]朝向页面的底部充分地移动区块邻近以容纳C区块(例如,T2),如图7b中所示。例如,将区块邻近离开焦点区块垂直向下移动两个基本单位,创建供T2占据的空间。
[0056]在如果页面是水平的页面的情况中,区块邻近将包括T5-T9。将区块邻近水平地向右边移动两个基本单位,以创建供T2占据的空间。
[0057]回头参照图6,动量吸收器模块确定区块页面中供吸收的空白区域。例如,在实现改变之后,空白区域可能存在。例如,从移动区块C的地方可能存在空白区域。此外,通过移动区块邻近来容纳区块C,空白区域可能存在。如果可能,空白区域吸收页面中的其他区块。例如,可以将页面中的其他区块迁移到空白区域。
[0058]在一个实施例中,通过焦点区块吸收空白区域。例如,通过朝向焦点区块的方向的区块来吸收空白区域。吸收可以在水平或垂直方向。例如,吸收在X或y方向。在多于一个区块可以填充空白区域的情况中,从可扩展边的方向移动的区块拥有优先权。提供在其他方向的吸收也可以是有用的。
[0059]图8a_8c示出页面800中的吸收的简单的例子。如图8a中所示,页面是垂直的页面并且包括区块T1-T15。例如,区块Tl是焦点区块。页面是凸起页面,即使存在邻近于T15和T12的空白区域Al。但是,因为满足用于凸起页面的两个条件,所以页面是凸起页面。区块全是相同大小。例如,所有区块是lxl(例如,基本单位)。如所示,选择将T2移动到由T9占据的位置。定义包括T9和T13的区块邻近850。
[0060]参照图Sb,将区块邻近向下移位例如一个基本单位。这提供了足够的区域供T2占据。T2向T9之前位于的地方的移动导致创建空白区域A2。如果可以将区块移位来填充A2,则将它移位。说明性地,可以将T6或T3移位来填充A2。在一个实施例中,从可扩展边的方向移动的区块拥有优先权。在这种情况下,将T6移位来填充A2。还移动可以随着T6一起移动的区块,创建了动量吸收。例如,TlO和T14与T6 —起形成动量组860,并且通过动量吸收被移位,如图8c中所示。这创建了 T9和T15之间的区域A3。
[0061]可以用T13或T15来填充区域A3。另一选项可以是将T12吸收进A3。在一个实施例中,A3的填充将导致具有更小的凸起值的布局。此外,偏好是在页面的类型的方向上。在这种情况下,页面是垂直的页面,赋予垂直方向上的吸收优先权。使用这些偏好,使用T13来填充A3。作为结果的凸起值小于吸收之前。
[0062]图8d示出基于页面805中周围的区块的平均吸附力的视图变化的例子。如所示,具有2x2大小的空白区域A被区块1-7围绕。如果将区块X吸收到A中,则可以根据周围的区块的平均视图吸附力来改变它的视图。
[0063]假设区块X可以具有下面的视图:
[0064]a)Vl-0.8;
[0065]b)V2-0.7;
[0066]c)V3-0.6;以及
[0067]d)V4-0.5.
[0068]在视图中,只有Vl和V2支持2x2大小。区块1_7的当前视图吸附力是0.5、0.4、
0.6,0.5,0.8,0.7和0.6。在这种情况中,空白区域的周围平均视图吸附力是0.59,其等于用周围区块的数目7除视图吸附力的和。区块X应该采用具有与周围的区块的平均吸附力最接近的吸附力的视图。在这种情况下,区块X应该采用V2。这是因为V2在支持2x2大小的视图中具有与周围的区块最接近的吸附力。如果区块X已经具有V2,那么不需要改变。另一方面,如果区块X具有VI,那么将它改变为V2。在一个实施例中,基于周围区块的平均视图吸附力的视图变化申请动量吸收或区块调整大小,没有区块的手动移动。视图吸附力的其他配置也可以是有用的。
[0069]回头参照图6,分析器650分析改变的布局。在一个实施例中,分析器分析改变的布局来确定它是否是凸起页面。如果页面是凸起的,则用户可以保存布局页面或取消变化。取消变化将布局页面恢复到它的初始状态。另一方面,如果页面是非凸起的,则UI模块660可以通知用户指示页面不是凸起的。用户可以拥有调整改变的布局页面的选项。例如,用户可以改变区块位置或区块大小,之后重复动量吸收和分析。如果取消变化,则页面恢复为它的初始状态。
[0070]图9示出用于排列布局的过程900的实施例。如所示,在步骤905初始化布局排列器。当初始化时,在步骤910提供页面的初始布局。在一个实施例中,布局是基于区块的布局。页面可以是任何类型的页面,诸如固定的、水平的、垂直的或可拉伸的。页面包括区块,并且可以是凸起的或非凸起的。
[0071]在步骤915,用户可以对初始布局进行改变。例如,改变是区块改变,可以包括将区块从一个位置移动到另一个位置、改变区块的大小、添加区块或者移除区块。其他类型的区块改变也可以是有用的。例如,通过布局排列器的布局变化检测器模块来检测变化。
[0072]在步骤920,过程检测改变是添加、删除区块或对区块调整大小。在添加、删除区块或对区块调整大小的情况中,过程前进到步骤945。可以通过选择要被删除或调整大小的区块来指示删除区块或对区块调整大小,而可以通过选择要添加区块的位置来指示添加区块。在添加区块和对区块调整大小的情况中,提供诸如区块大小的信息。还可以包括诸如视图类型的其他信息。
[0073]另一方面,在步骤925,过程检测改变是移动区块改变。例如,可以通过拖动所选择的区块并在期望的位置放下它来指示移动区块变化。过程前进到步骤930用于空白区域的动量吸收。例如,在步骤935填充通过移动的区块腾出的空白区域。在步骤940,过程确定是否存在需要或可以被填充的其他空白区域。如果存在其他空白区域,则过程返回到步骤935。当没有空白区域存在或可以被填充时,过程继续到步骤945。例如,当填充空白区域时,可以创建另一空白区域。如果新的空白区域可以被填充,则填充它。过程重复直到没有空白区域存在或可以被填充为止。
[0074]在一个实施例中,当基于动量吸收填充空白区域时,考虑视图吸附力。例如,当移动区块时,根据空白区域周围所有区块的平均视图吸附力,移动的区块的视图可以变化。例如,根据靠近空白区域的区块的平均视图吸附力,移动的区块的视图可以变化。在一个实施例中,根据空白区域周围的平均视图吸附力,吸收的区块的视图被改变。根据空白区域周围的平均视图吸附力,被调整大小的区块的视图也可以被改变。针对移动的区块,视图吸附力不改变移动的区块的视图。
[0075]注意到当通过步骤925初始化动量吸收时,过程沿着NI的路径前进到步骤945。例如,动量吸收可以是在不同阶段被布局排列器调用的常规例程(routine)。例如,在步骤925调用常规步骤的情况中,过程前进到步骤945。
[0076]在步骤945,过程确定区块邻近。例如,确定要移动来容纳变化的区块。如所述,区块邻近可以是移动来容纳变化的无区块、一个区块或一组区块。一旦确定区块邻近,就将它移位来容纳区块变化。在将区块邻近移位之后实现区块变化。在一些情况中,如所述,实现变化不需要区块邻近的移位。
[0077]区块邻近的移位创建一个或多个空白区域。过程前进到930用于动量吸收,如前所述。当全部空白区域被填充或可以被填充时,过程前进到步骤950。注意到当通过步骤945发起动量吸收时,过程沿着N2的路径前进到步骤950。在步骤950,可以临时保存中间布局。
[0078]布局排列器在步骤955分析中间布局来确定它是否是凸起页面。如果页面不是凸起的,则过程返回到步骤915。这使得用户能够对布局进行进一步的改变以使得它是凸起的。
[0079]在页面是凸起页面的情况下,过程前进到步骤960。在步骤960,用户可以选择保存中间布局。如果用户选择保存中间布局,则它在步骤970被保存,并且过程之后在步骤980终止。
[0080]另一方面,如果用户没有选择保存中间布局,则过程在步骤965继续。在步骤965,过程取消改变,并且返回到步骤910以允许用户对初始布局进行改变。
[0081]注意到布局排列器可以向用户提供在任何阶段终止过程的选项。例如,可以在过程的所有阶段提供终止或取消按钮。这使得用户能够退出布局排列器。过程的终止可以导致不保存对初始布局进行的任何改变。但是,如果需要,布局排列器可以提供供用户保存改变的选项。
[0082]图1Oa示出用于动量吸收的过程940的实施例。当在步骤1001发起动量吸收过程时,在步骤1010识别空白区域。在步骤1020处理空白区域。在一个实施例中,处理空白区域包括分析它以确定它的大小。如果空白区域大于基本单位,则将它子划分成等于基本单位的子单位。例如,如果空白区域等于3个基本单位,则将它子划分成三个空白子区域,SA1、SA2和SA3,每个具有等于基本单位的大小。空白子区域可以具有任何配置。例如,它们可以在列中,在行中,或者其组合。在子区域的情况下,填充时的优先权赋予与焦点区块最近的那个。
[0083]在步骤1030,处理区块。例如,处理区块包括确定区块与焦点区块的距离。例如,区块的距离等于区块距离焦点区块的宽度(行方向上的距离)与长度(列方向上的距离)的和。此外,过程包括识别区块的区块大小。识别或确定其他区块特征也可以是有用的。
[0084]一旦计算出区块的距离,过程就在步骤1040识别供吸收的潜在的区块。潜在的区块可以具有下面的特征或条件:
[0085]I)具有与子区域相同的大小;
[0086]2)具有可以作为整体适合空白区域的大小;以及
[0087]3)吸收优先权
[0088]a.水平的页面中的水平方向,
[0089]b.垂直的页面中的垂直方向,或
[0090]c.用于固定的或可拉伸的页面的选择或默认的优先权。
[0091]在一个实施例中,供吸收的潜在的区块满足条件1、条件2、条件I和3或条件2和
3。提供其他条件也可以是有用的。
[0092]在步骤1050,选择潜在的怎来吸收到空白区域中。例如,选择潜在的区块。在存在多于一个潜在区块的情况中,基于下面的优先次序来选择潜在的区块:
[0093]I)条件 I 和 3 ;
[0094]2)条件 2 和 3;
[0095]3)条件2;以及
[0096]4)条件 I。
[0097]提供其他优先次序也可以是有用的。基于优选,选择导致更小的凸起值并沿着页面类型的方向的潜在的区块。使用用于潜在的区块的选择的其他优选也可以是有用的。
[0098]在步骤1050选择具有最高优先权的区块用于吸收。在步骤1060,将所选择的区块吸收到空白区域中。在一个实施例中,区块的吸收考虑区块吸附力。例如,基于区块吸附力,吸收的区块可能使它的视图改变。在步骤1070,过程确定是否存在更多的空白区域供吸收。如果存在,则过程返回到步骤1010。如果不存在,则动量吸收过程在步骤1090终止。
[0099]图1Ob-1Oc示出用于垂直的页面1005的动量吸收的简单例子。如所示,页面包括区块T1、T3、T4、T6和T7-T9,以及空白区域1008。动量吸收器识别空白区域。因为空白区域是1x2区域,所以它包含2个基本单位。因此,将空白区域划分成Al和Α2。
[0100]基于用于潜在的区块的条件,所有区块都是潜在的区块。然而,因为页面是垂直的页面,所以将优先权赋予在垂直方向上的区块。在此情况中,Τ8具有被吸收到更接近于焦点区块的Al中的优先权。将Τ8吸收到Al中导致空白区域A3被创建。执行附加的吸收分析。基于条件和优先权,将Τ6吸收到Α2中并将T9吸收到A3中。
[0101]图1la-图14e示出各种区块变化的例子。参照图lla_lle,示出垂直的页面1100中的区块移动的例子。页面包括区块I至区块11。参照图11a,选择将区块2移动到区块7所在的地方。区块2的移动导致空白区域Al。因为优先权在垂直方向,所以动量吸收导致区块5被吸收到Al中。此外,区块9随着区块5—起被吸收。这是因为区块5的吸收导致敢可以容纳区块9的空白区域。这导致空白区域A2。
[0102]要容纳区块2,确定区块邻近1160。如图1lc中所示,区块邻近包括区块7、区块8和区块11。将区块邻近垂直地移位。例如,将区块邻近向底部移位一个基本单位。这允许区块2被容纳。区块邻近的移位导致空白区域A,如图1ld中所示。空白区域的大小是1x2。将空白区域子划分成A2和A3,每个具有Ixl的大小(基本单位)。
[0103]在图1le中,基于动量吸收规则将区块8吸收到A2中。这导致空白区域被创建,其具有大小1x2。将区块11吸收进新创建的空白区域中。作为结果的页面是凸起的。
[0104]图12a_12b示出在水平的页面1200中的区块调整大小的例子。页面包括区块I至区块10。参照图12a,选择将区块5从1x2大小调整大小为Ixl大小。区块5的调整大小导致空白区域Al。可以将区块9或区块10吸收到Al中。因为页面是水平的,所以优先权赋予区块10,如图12b中所示。作为结果的页面是凸起的。
[0105]参照图13a_13d,示出垂直的页面1300中的区块调整大小的例子。页面包括区块I至区块10。参照图13a,选择将区块7从Ixl调整大小到2x1。图13b示出所确定的区块邻近1360。将区块邻近向下移位两个基本单位来容纳区块7的扩展,如图13c中所示。区块邻近的移位创建了空白区域Al和A2。空白区域A2的大小是1x2。将空白区域A2子划分成和A22,每个是1x1。
[0106]使用区块8来填充空白区域Al,如图13d中所示。使用1x2的区块5来填充空白区域六21和八22。由区块5腾出的区域由区块9来填充。作为结果的页面是凸起的。在页面不是凸起的情况下,用户进行改变来实现凸起页面。
[0107]参照图14a_14e,示出水平的页面1400中的区块调整大小的例子。页面包括区块1-7。参照图14a,选择将区块7从Ixl调整大小到2x1。图14b示出所确定的区块邻近1460。将区块邻近向右移位一个基本单位来容纳区块7的扩展,如图14c中所示。区块7的扩展可以考虑周围区块的平均视图吸收力。区块邻近的移位创建了空白区域A1、A2和A3。
[0108]使用区块3来填充空白区域Al,如图14d中所示。例如,Al是到焦点区块最近的空白区域,并且移位的优先权在水平方向。使用区块3填充Al创建了空白区域A4。因为A4是到焦点区块的第二近的空白区域,所以它接下来被填充。如图14e中所示,使用区块5来填充A4。另外的动量吸收包括使用区块4来填充A3和使用区块6来填充A2。这导致凸起页面。被吸收的区块可以考虑周围区块的视图吸附力。
[0109]如所述,布局排列器可以被实现为应用。例如,布局排列器可以被实现为软件应用。该应用可以被集成到现有的软件应用中,诸如基于网络的应用,作为现有应用的附件(add-on)或插件(plug-1n),或者作为单独的独立应用。现有的软件应用可以是一套软件应用。可以编译显示系统的源代码来创建可执行的代码。例如,代码可以存储在诸如一个或多个存储磁盘的存储介质中。其他类型的存储介质也可以是有用的。
[0110]虽然已经用结构特征和/或方法步骤特定的语言描述了一个或多个上述实现,但是要理解,没有所述特定特征或步骤,也可以实践其他实现。而是,公开特定特征和步骤作为一个或多个实现的优选形式。
【权利要求】
1.一种用于排列区块的计算机实现的方法,包括: 提供具有形成页面布局的一个或多个区块的基于区块的页面,其中基于区块的页面包括焦点区块,页面的任何区块的大小包括区块基本单位的任意倍数; 响应于指示页面布局中的区块变化的用户事件,其中区块变化包括区块移动变化、区块调整大小变化、区块添加变化或区块删除变化, 确定布局中的区块邻近,其中区块邻近是将被移位以实现区块变化的最小区域,区块邻近能够不包括区块或者能够包括一个或多个区块; 将区块吸收到由区块变化所创建的空白区域中,其中吸收区块包括执行吸收分析,该吸收分析包括: 识别空白区域, 计算区块与焦点区块的区块距离, 识别用于吸收的潜在的区块, 如果存在用于吸收的潜在的区块,则选择用于吸收的潜在的区块之一, 将选择的潜在的区块吸收到空白区域中,其中选择的潜在的区块的视图考虑空白区域周围的区块的平均视图吸附力,并且 如果更多的空白区域存在,则重复执行吸收分析;以及 分析改变的布局来确定基于区块的页面是否是凸起页面。
2.一种用于排列区块的计算机实现的方法,包括: 提供具有形成页面布局的一个或多个区块的基于区块的页面,基于区块的页面包括焦点区块; 响应于指示页面布局中的区块变化的用户事件, 确定布局中的区块邻近,其中区块邻近是将被移位以实现区块变化的最小区域; 将区块吸收进空白区域中;以及 分析改变的布局来确定基于区块的页面是否是凸起页面。
3.如权利要求2所述的计算机实现的方法,其中页面的任何区块的大小包括区块基本单位的任意倍数。
4.如权利要求2所述的计算机实现的方法,其中基于区块的页面是固定的页面类型、水平的页面类型、垂直的页面类型或可拉伸页面类型。
5.如权利要求4所述的计算机实现的方法,其中吸收沿着页面类型的方向。
6.如权利要求4所述的计算机实现的方法,其中用户能够定义用于吸收的方向。
7.如权利要求2所述的计算机实现的方法,其中焦点区块能够被布置在页面中除了邻近于页面的非边框以外的任何地方。
8.如权利要求7所述的计算机实现的方法,其中吸收区块包括: 识别空白区域; 计算区块相对于焦点区块的区块距离; 识别用于吸收到空白区域中的潜在的区块; 选择用于吸收的潜在的区块之一;以及 将所选择的潜在的区块移动至空白区域。
9.如权利要求8所述的计算机实现的方法,其中移动所选择的潜在的区块考虑空白区域周围的区块的平均视图吸附力。
10.如权利要求9所述的计算机实现的方法,其中所选择的潜在的区块采用具有与空白区域周围的区块的平均视图吸附力最接近的吸附力的视图。
11.如权利要求2所述的计算机实现的方法,其中区块变化包括区块移动;区块调整大小;区块添加;或区块删除。
12.如权利要求11所述的计算机实现的方法,其中实现区块移动变化包括: 将所选择的区块从第一位置移动到第二位置; 吸收由所选择的区块腾出的第一位置处的空白区域; 识别区块邻近; 沿着与页面的类型对应的方向将区块邻近移位,以在第二位置处容纳所选择的区块;以及 吸收将区块邻近移位所导致的空白区域。
13.如权利要求12所述的计算机实现的方法,其中吸收一个或多个空白区域朝向最小凸起值。
14.如权利要求12所述的计算机实现的方法,其中吸收一个或多个空白区域包括视图吸附力分析。
15.如权利要求11所述的计算机实现的方法,其中实现区块调整大小变化、区块添加变化或区块删除变化包括: 识别区块邻近; 沿着与页面的类型对应的方向将区块邻近移位,以在位置处容纳所选择的区块;以及 吸收将区块邻近移位所导致的空白区域。
16.如权利要求15所述的计算机实现的方法,其中吸收空白区域朝向最小凸起值。
17.如权利要求15所述的计算机实现的方法,其中吸收空白区域包括视图吸附力分析。
18.如权利要求15所述的计算机实现的方法,其中实现区块调整大小变化包括对于用于调整大小的所选择的区块执行视图吸附力分析。
19.一种系统,包括: 非瞬时性存储器件,用于存储计算机可读程序代码;以及 与存储器件通信的处理器,处理器利用计算可读程序代码来操作,以: 接收具有形成页面布局的一个或多个区块的基于区块的页面,基于区块的页面包括焦点区块; 检测页面布局的区块变化; 确定布局中的区块邻近,其中区块邻近是将被移位以实现区块变化的最小区域; 将区块吸收到空白区域中;以及 分析改变的布局来确定基于区块的页面是否是凸起页面。
20.如权利要求19所述的系统,其中将区块邻近沿着基于页面类型的方向移位。
【文档编号】G06F17/30GK104516880SQ201310446098
【公开日】2015年4月15日 申请日期:2013年9月26日 优先权日:2013年9月26日
【发明者】彭玉军, 侯长军 申请人:Sap欧洲公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1