图形用户接口的动态布局系统和方法

文档序号:6546112阅读:131来源:国知局
专利名称:图形用户接口的动态布局系统和方法
技术领域
本发明涉及计算机的图形用户接口(GUI)。
背景技术
大多数计算机都使用图形用户接口(GUI),图形用户接口允许用户输入命令和数据以及接收计算机的显示结果。图形用户接口是操作系统(OS)(例如,微软的Windows)的一部分,操作系统控制计算机的运行,确定用户怎样与计算机交互作用。例如,一种图形用户接口基于可视化隐喻(metaphor),它使用显示屏幕作为工作台面,称作”桌面”,文档和其它对象显示在桌面上供用户选择。用户通过选择桌面上的对象、或从桌面上显示的菜单选择命令来与计算机交互作用。应用程序就是在操作系统控制下运行在计算机上的程序,图形用户接口确定用户怎样与每一个应用程序交互作用。
通常,由用户选择的每一个对象会在显示屏幕上打开各自的”窗口”,显示屏幕上的窗口是封闭的矩形区域。同时可以打开几个窗口。在每一个窗口内显示的是与基础程序(例如,字处理程序)相关的信息。窗口通常包括对窗口进行操作的控制框(例如,带有复选框的使窗口最小化或关闭窗口的按钮)、与基础程序有关的滚动条。而且,每一个窗口通常都包括一些在窗口内的”容器”,每一个容器都可以看作为窗口内的子窗口。每一个容器显示图形元素或”专用接口工具集”,它们确定用户怎样通过所述容器与基础程序的图形用户接口交互作用。例如,在字处理程序中,容器可以对应于在窗口上方的工具条上向用户展示的特征组。这里,术语”专用接口工具集”和”域”可交换使用,每一个指的是图形用户接口的窗口和容器中显示的图形元素,图形元素确定用户怎样与图形用户接口(即基础程序)交互作用。
当程序员编写应用程序时,程序员必须开发所述程序的图形用户接口。为此,程序员通常要使用称作为”布局编码程序”的程序,所述程序允许程序员确定程序的图形用户接口。使用布局编码程序,程序员可以在给定窗口内安排容器的位置,并在布局编码程序内选择可选项以便给每一个容器安排专用接口工具集并且在窗口内安排容器。例如,程序员可以从可用专用接口工具集的调色板容器内选择要显示的专用接口工具集,然后,可以确定这些专用接口工具集怎样安排或怎样布置在容器内。在容器内布置专用接口工具集的一些典型的可选项包括1)让所有专用接口工具集具有相同大小,并在单个行或列中安排专用接口工具集;2)将专用接口工具集以轮询选项方式安排在行和列中,以便把没有装配到给定行和列的专用接口工具集安排到相邻的行和列中;3)一种从左到右或从上到下的流布局;以及4)一种网格布局,它以NxM的网格形式把专用接口工具集安排在容器内。
图1示出客户定制的窗口100的例子,它是基础应用程序的图形用户接口的一部分。客户定制的窗口100包括地址容器102,它包括显示在窗口上部的姓名、电话、街道地址、城市、州和邮政编码的专用接口工具集或域。包含相同域的账单地址容器104安排在窗口100较低的位置。在图1的例子中,购物地址容器102的域以轮询的特征布置在一行中,其中把”州”和”邮政编码”域设置在第一行下面的第二行中,账单地址域104的布置相同。理想的做法是应该把城市、州和邮政编码域包含在同一行,因为这是预期的地址格式。因此,程序员可能需要手动地调节容器102、104中域的布局,以便获得所需的布局。
在一些情况下,可以为具体客户定制应用程序,这种定制过程的一部分可以包括在这些窗口内定制某些窗口和容器,以便根据客户的需要和偏爱修改所显示的专用接口工具集和域。例如,在图1的窗口100中,或许客户不需要或不想要具体的客户电话域。在这种情况下,程序员必须通过删除购物和账单地址容器102、104中的”电话”域来修改窗口100。图2说明客户定制的窗口200,除了购物地址容器202和账单地址容器204各自的电话域被删除外,所述定制窗口200与图1中的窗口100相同。电话域的删除在所示的容器202、204中留下了如图所示的不想要的空间。结果,程序员必须再次使用布局编码程序重新安排容器中的域,以便得到所需的外观。
对于给定的应用程序,在图形用户接口的各个窗口和容器中重新安排所显示的专用接口工具集的过程是费时而花成本的过程。而且,每一个程序员都可以用不同的方式修改窗口和容器,以便得到程序员认为是最佳的美学的和实用的布局。当在理想的情况下显示的具体域的外观和感觉在各客户之间保持一致而仅仅稍有变化时,这可能引起从一个客户到另一个客户的程序的”外观和感觉”的不希望有的变化。
图3示出说明第三种情况的另一个窗口300,当为特定的客户定制程序时,这种情况通常就会出现。在窗口300中,第一个程序员开发图形用户接口的购物地址容器302,而又有另一个程序员开发账单地址容器304。根据个人爱好,第一个程序员为容器302的域选择中心流程布局,而所述另一个程序员为容器304的域选择列表布局。这样,窗口300用图3所示的分离方式显示两个容器302、304。为了解决这个问题,程序员必须再次进入应用程序的图形用户接口部分的每一个窗口,对所需域的布局进行调整。当解决这些问题时,由于各个程序员的偏爱,不同程序的图形用户接口将出现差别。
存在一种以减少定制图形用户接口所需的时间并且保持为不同客户定制的图形用户接口的一致性的方式布置由图形用户接口显示的域的需求,。

发明内容
根据本发明的一个方面,给出了一种在计算机图形用户接口中,在形成图形用户接口的各窗口中安排待显示的对象的方法。所述方法包括定义对象的属性以及随各个对象的所述定义的属性而变地安排所述对象。对象可以是专用接口工具集,而所述定义的属性可以定义对象之间的关系以及与对象相关联的式样。


图1是客户定制的窗口的一个例子,它构成基础应用程序的图形用户接口的一部分。
图2说明在图1的客户定制的窗口中,当显示在窗口中的某些域被删除时所留下的不希望有的空间。
图3说明有两个分离的容器的图形用户接口的窗口,这些容器中的域具有两种不同的布局。
图4是计算机系统的功能框图,所述计算机系统执行根据本发明一个实施例的动态图形用户接口布局编码程序。
图5是客户定制图形用户接口的窗口的一个例子,包含在窗口中的域是由图4所示的布局编码程序安排的。
图6是客户定制图形用户接口的窗口的一个例子,当删除图5所示的客户定制的窗口中的某些域时,由图4所示的布局编码程序自动地生成所述窗口。
具体实施例方式
图4是计算机系统400的功能框图,所述计算机系统执行根据本发明一个实施例的动态的图形用户接口布局编码程序402,在图形用户接口的窗口中动态地布置或安排域。更准确地说,布局编码程序402允许用户为设计的图形用户接口的窗口中布置的域指定属性,然后所述程序应用指定的属性在窗口中安排作为这些属性功能的域,下面将更详细地说明。用这种方法,布局编码程序402自动地安排域,以便实现一种在美学上令人愉快的并且实用的配置。而且,由于对两个不同客户给定窗口的相同的修改将导致这些客户的图形用户接口具有相同的窗口,因此布局编码程序402能够使不同的客户定制的图形用户接口达到一致。布局编码程序402也允许用户与容器、窗口或域的式样相关,因而根据相关的属性和式样安排窗口或容器中的域。这些式样可看作为给域指定的另一种属性,或给容器或窗口指定的一种属性,并能够通过保证预定窗口的式样(例如,客户定制的窗口)都有它们用相关式样确定的相同方法安排的对应域,开发出标准的图形用户接口。
在以下说明中,某些细节将与本发明描述的实施例一起说明,以便充分理解本发明。然而,本专业的技术人员将明白,没有这些具体的细节本发明也可以实现。而且,本专业的技术人员将明白,下面说明的实施例没有限制本发明的范围,并也将理解,说明的实施例的各种修改、等价物和组合以及这些实施例的组成部分都属于本发明的范围内。虽然下面没有明白地详细说明,但是包含比各个所描述的实施例中任何一个实施例所包含的所有组成部分少的组成部分的实施例也属于本发明的范围内。最后,为了防止对本发明产生不必要的混淆,下面没有示出或详细说明众所周知的部件和/或过程的操作。
计算机系统400包括执行布局编码程序402的计算机电路404。计算机电路404包括执行各种计算功能的电路,例如,执行如布局编码程序402那样的专用软件,以完成专门的计算或任务。计算机电路404还包括存储可编程指令和执行布局编码程序402和其它程序(未示出)所需数据的存储器406。一般地说,计算机电路404是通过地址、数据和控制总线与存储器406连接,以便将数据写入存储器和从存储器读出数据。
计算机系统400还包括一个或多个与计算机电路404连接的输入装置408,例如,键盘和鼠标,以允许操作员与计算机系统连接。一般地说,计算机系统400还包括一个或多个与计算机电路406连接的输出装置410,例如,打印机和显示器、或视频显示器。一般地说,还有一个或多个数据存储装置412与计算机电路404连接,以便在外部存储媒体(未示出)存储或检索数据。布局编码程序402通常存储在数据存储装置412中,正如本专业的技术人员将明白,在执行程序期间,程序或其中的一部分将传送给存储器406。典型的存储装置412的例子包括硬盘和软盘、盒式磁带和光盘存储装置(例如,只读光盘(CD-ROM)和可读写光盘(CD-RW)装置),以及数字视频磁盘(DVD)装置。
工作时,为具体的应用程序指定图形用户接口的用户执行布局编码程序402,以便设计共同形成图形用户接口的各种窗口。布局编码程序402允许用户通过确定窗口的容器以及确定每一个容器中布置所需的域来设计每一个窗口。此外,布局编码程序402还允许用户为给定容器或窗口中布置的每一个域指定属性。给每一个域指定的属性确定了各个域之间的关系,布局编码程序402将这些关系用于安排容器或窗口内的各个域。这些属性可以用各种方式指定,以便在各个域之间建立所需的关系,例如,通过给各个域指定属性,以建立域的分层结构。例如,可以把一些域指定为父域,而把一些域指定为这些父域的子域,等等。另一个例子是简单地将每一个域分配给确定的某些组成员中的一个,例如,地址组或金融数据组。
图5是客户定制图形用户接口的窗口500的一个例子,它包括位于窗口顶部的购物地址容器502和位于窗口底部的账单地址容器504。容器502、504的每一个都包括姓名、电话、街道地址、城市、州和邮政编码域。在所述例子中,可以用不同的方式给这些域的每一个指定属性。例如,在第一种情况下,假设所有这些域都被简单地包含在窗口500中,就是说,容器502、504不存在(即所述窗口包含与所述窗口对应的单一容器)。在所述例子中,属性”购物地址”可以指定给位于窗口500上部的姓名、电话、街道地址、城市、州及邮政编码域,而属性”账单地址”可以指定给位于所述窗口下部的相同域。而且,由于通常需要以单行显示这些域,所以附加属性就可以指定给城市、州以及邮政编码域。一旦把这些属性指定给这些域中的每一个,布局编码程序402就会根据产生图5所示的窗口500的这些属性,将这些域安排在窗口500中。
在布局编码程序402中,可以改变指定给各个域的确定属性和使用指定的属性对这些域的具体安排。在另一个例子中,第一组姓名、电话、街道地址、城市、州和邮政编码可以放在容器502中,并给购物地址指定属性。类似地,第二组相同的域可以放在容器504中,并给账单地址指定属性。然后,可以给容器502、504中的每一个域指定属性,以便确定各个域中的分层结构,其中姓名域放在顶层,城市、州和邮政编码放在底层。这样,布局编码程序402将根据为每一个容器中的各个域指定的分层属性,把各个域安排在容器502、504中的每一个里,获得图5所示的窗口500的布局。
图6是图形用户接口的客户定制窗口600的一个例子,它是由图4所示的布局编码程序402在删除图5所示的客户定制的窗口500中的某些域时自动生成的。所述例子说明布局编码程序402怎样方便地为特定客户定制应用程序的图形用户接口。例如,假设特定的客户不想要在图5所示的窗口500中显示电话域。在这种情况下,用户将从购物地址和账单地址容器502中删除电话域,然后,布局编码程序402将使用指定给这些域的属性,并自动安排保留在每一个容器中的新域,从而产生窗口600。从审美观点上看,图6的布局与图2的布局相比是令人满意的和实用的,图2的布局说明,就象前面讨论的那样,用通常的布局编码程序删除一个域而出现的不想要的空间需要由设计人员用手工修正。
当需要将域加到窗口中时,布局编码程序402只需作相同的操作,使得为特定客户定制图形用户接口更加简便和省时。而且,由于所述程序而不是单独的设计者在生成定制的窗口,因此从一个客户到下一个客户编码程序402都将产生具有一致外观的窗口。
编码程序402也将允许对容器、窗口或域指定式样,从而可以根据相关属性和式样安排窗口或容器中的域。这些式样可以看作为给域指定的另一种属性,或看作为给容器或窗口指定的一种属性。对图形用户接口的窗口,通过使用某些预定的式样,例如,在前述例子中应用的客户定制的窗口,编码程序4 02通过保证预定式样的窗口(例如,客户预定的窗口)都将具有用相同方法安排的(就象由相关式样确定的)它们的对应的域,能够开发标准的图形用户窗口。
本专业的技术人员将理解,虽然在前面的说明中已经描述了本发明的各种实施例和优点,但是,上述讨论只是为了说明本发明,只要所做的其他细节改变不超出本发明的范围,还可以有其他变动。因此,本发明仅仅由所附的权利要求书所限制。
权利要求
1.在计算机(400)的图形用户接口中,一种将待显示的对象安排在形成图形用户接口(GUI)的窗口中的方法,所述方法包括定义所述对象的属性;以及随所述各个对象的所述定义的属性而变地安排所述对象。
2.如权利要求1所述的方法,其中,定义所述对象的属性的步骤包括将属性赋予所述对象,以便确定所述各对象之间的层次关系。
3.如权利要求2所述的方法,其中,将属性赋予所述对象的步骤包括响应用户输入而将属性赋予所述对象。
4.如权利要求1所述的方法,其中,所述对象包括专用接口工具集。
5.如权利要求4所述的方法,其中,所述专用接口工具集包括按钮、对话框、弹出式窗口、下拉式菜单、图标、滚动条、可再现尺寸的窗口边缘、进程指示器、选择框、窗口、移走菜单、菜单条、乒乓开关和格式。
6.如权利要求1所述的方法,其中,赋予每一个对象的一种属性包括式样属性,并且其中,根据所述赋予的式样属性把所述对象安排在所述窗口中。
7.如权利要求1所述的方法,其中,每一个窗口还包括多个容器(502、504),并且其中,所述方法包括定义每一个容器(502、504)中对象的属性,并且随所述定义的属性而变地将所述对象安排在所述容器(502、504)中。
8.如权利要求7所述的方法,其中还包括定义每一个容器(502、504)的式样属性,并且随所述定义的式样属性而变地将所述对象安排在所述容器(502、504)中。
9.如权利要求7所述的方法,其中还包括定义待显示在给定窗口中的每一个容器(502、504)的属性,并且随这些属性而变地把所述容器(502、504)安排在所述窗口内。
10.如权利要求1所述的方法,其中还包括在安排所述对象之后,删除所述窗口中所述对象中选中的一些对象;以及在删除所述对象中选中的一些对象之后,再次随所述剩余的对象的所述定义的属性而变地安排所述对象。
11.如权利要求1所述的方法,其中,定义所述对象的属性的步骤包括响应用户输入而识别所述各对象中定义了属性的各对象之间的关系。
12.一种计算机系统(400),它包括输入装置(408);输出装置(410);以及计算机电路(404),它连接到所述输入和输出装置(408、410)并且可以用来执行布局编码程序(402),所述布局编码程序(402)可以用来定义待显示在图形用户接口(GUI)的窗口上的对象的属性并且还可以用来随所述相应的对象的所述定义的属性而变地把所述对象安排在所述窗口中。
13.如权利要求12所述的计算机系统(400),其中还包括连接到所述计算机电路(404)的数据存储装置(412)。
14.如权利要求12所述的计算机系统(400),其中,所述布局编码程序(402)可以用来响应来自输入装置(408)的用户输入而把定义所述各对象之间的层次关系的属性赋予所述对象。
15.如权利要求12所述的计算机系统(400),其中,所述布局编码程序(402)可以用来把式样属性赋予每一个对象并还可以用来根据所述赋予的式样属性而将所述对象安排在所述窗口中。
16.如权利要求12所述的计算机系统(400),其中,所述布局编码程序(402)还可以用来响应来自所述输入装置的用户输入而删除所述窗口中选中的对象,然后随剩余的对象的所述定义的属性而变地安排所述剩余的对象。
全文摘要
在计算机(400)的图形用户接口(GUI)中,一种将待显示的对象安排在形成图形用户接口(GUI)的窗口中的方法包括定义对象的属性以及随各个对象的所述定义的属性而变地安排所述对象。所述对象可以是专用接口工具集,而所述定义的属性可以定义对象之间的关系以及与对象相关联的式样。
文档编号G06F9/44GK1680919SQ200510065158
公开日2005年10月12日 申请日期2005年4月7日 优先权日2004年4月8日
发明者M·A·约翰逊 申请人:惠普开发有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1