本发明涉及了用于管理窗口的一种系统和方法,特别是涉及了这样一种系统的方法,在该系统和方法中,多窗口之间的关系易于实现且用户易于掌握这些关系。 一般来说,诸如用于数据库和语言处理器的浏览器这样的使用窗口系统的应用程序包括有多窗口(含有窗口中生成的子窗口),且这些窗口之间的关系通常是事先固定的。
例如,图1中所示的应用程序由四个窗口组成。这些窗口分别显示了一个表,另一个表,一个图形和一个图表。在这个例子中,一个汽车销售公司各分部的名称显示在第一个窗口中,属于各分部的雇员名字显示在第二个表窗口中。该图形窗口以一个图形方式显示出以月为基础的每个分部或每个雇员的年度销售。图表空口在一张图上显示了每个分部或每个雇员所负责的区域。
由于普通的方法中窗口之间的关系是固定的,于是(见图1),比如以下地操作是可以执行的
(1)如果从分部名称表中选出一个分部,则有关该分部的信息在其余三个窗口中自动地显示出来。
(2)如果从雇员人名表中选出一个雇员,则该雇员的年度销售图形及负责区域框图自动地显示出来。
在这一例子中,右上方的年度销售图形窗口既可显示分部的销售又可显示雇员的销售。又类似地区域窗口可显示分部负责区域及雇员负责区域。
在这一普通的技术中,通过简单地选择一个数据项,相关的窗口即可被自动地操作,而这样的操作是简单的。但是,由于在窗口和目的窗口类别(例如表、图形、图表、文本)之间数据的运动方向是事先固定的,因而可操作的程度是很小的。例如,诸如只改变分部的名称和销售(不将这一改变与图形窗口相联系)的显示或将图形窗口中的数据输入到表里这样的操作就不能执行。
例如在文献“Reference Manual.Rel.2 of Objectworks/c++”,Fuji-Xerox Information Systems,Co.,Ltd”的第四章“源码浏览”中对这一普通的窗口管理方法有详细叙述。
顺便一提,为了避免普通技术上述的不方便之处,对于每一种事先未没完的操作也可以对窗口之间的关系作出指定。具体而言,首先对于其中要指定的数据所在的窗口(源窗口)的数据作指定(用鼠标器按动)。然后对于已被指定的数据的属性要进行显示的窗口作出指定(目的窗口)。例如,按动目的窗口的接收按钮。然后通过选择一个视图来确定在目的窗口要显示的属性。如果当前视图即是要显示的属性,则继续执行。这样,一个在源窗口内被指定的数据样品所需要的属性数据就以所希望的视图显示在所要求的窗口里。
以下是用户对于每一种操作指定数据的源(窗口)和目的(窗口)应用的例子(见图1):
(1)当从分部名称表中选下一个分部并在图形窗口中执行接收操作时,则该分部的年销售则被显示出来。
(2)当一个分部从分部名称表中选定并在框图窗口中执行接收操作时,则该分部负责的区域图试显示出来。
(3)当一个雇员从雇员名单表中选定并且在图形窗口中执竺接收操作时,则该雇员的年销售试被显示出来。
(4)当一个雇员从雇员名单表中选定并在图形窗口中执行接收操作时,则该雇员所负责的区域图就被显示出。
在这种情形下,数据目的可被灵活地转换。但是,在对于每一分部顺序地显示其销售图表和区域图表这样的连续操作时,分部名称每一次改变就必须在图形窗口和框图窗口中执行一个接收操作,这样操作的次数至少是前一种方法操作次数的三倍。
在此指出,与本发明相关的另外一些先有的对比文献包括已公布的未审日本专利申请:No.273947/1988。这一先有对比文献透露了当在卡片形窗口中的一个数据样品被指定时,另个窗口自动地生成,并且该数据样品的预定属性自动地在此窗口中显示出来。然而,这一对比文献并未包含通过对图形窗口的指令设定窗口之间的关系或通过图形对象来显示关系的说明。
本发明是在考虑到以上环境的情况下完成的,其目的在于使得用户能够自由地改变窗口之间的关系并易于理解这些关系。
本发明中为达到上述目的,用以设定多窗口之间关系的图形对象被显示出来。窗口关系可以通过图形对象上的操作来设定,例如,通过鼠标器的按动,并且这一设定可由图形对象的显示方式的变化表示出来。
在图2所示的一个特殊的例子中,与窗口个数相同的按钮象窗口排布那样被排布并且对每一窗口都配备这些按钮。在图2的情形,四个按钮被排布成“田”的形状,并且每一窗口都配备这样一组按钮。一个按钮通过利用鼠标器或相应的键对其进行选择旨,该按钮就反相显示出来。
每一按钮对应于一个单独的窗口。开始,所有的按钮都不被选择,那么这些按钮都是白色的。这种状态下,任何窗口都没有关系,且对于数据运动,源和目的(窗口”是对每一种操作被指定的。为了多次执行同一操作,对应于目的窗口的按钮从要取出数据的一个窗口的那个“田”形的四个按钮中选下。之后,源窗口和目的窗口之间的关系将一直保持至这些按钮再另被选择或者释放为止。只要在一个窗口中选择数据,则相关的窗口就与这个数据相连接。例如,为了使得分部名称表与雇员人名表及年销售情况相关,使得雇员人名表相关,则各自的“田”形按钮就如图2中所示那样进行选择。
根据本发明,窗口之间的关系可以象通常那样对于固定操作建立起来,而如果需要更灵活的操作,则这些关系可以按操作的不同而实现,于是可以适应用户广泛的需求。
现对照图例对本发明的实施例作出说明。
图3表示本实施例的系统总图。图中,系统包括工作站1、操作系统2、窗口管理系统3以及应用程序4。工作站1,例如,可以是“日本IBM公司”(Iapan IBM Co.Ltd)的一台RS/6000(RS/6000是“美国国际商业机器公司的商标),该工作站包括处理器5、显示设备6。键盘7、鼠标器8等。操作系统2,例如,可以是“日本IBM公司”的AIX/6000(AIX/6000是“美国国际商业机器公司”的商标)。操作系统2包括图形用户界面系统9,它是管理显示设备6和用户之间的交互作用的。用户界面系统9,例如,可以是“开放系统基金会”(“Open System Foundation”)的OSF/Motif。用户界面系统9也管理由鼠标器控制的鼠标器光标(指针)的信息。
应用程序4,例如,是一个数据库的浏览器或一个程序的源码浏览器。应用程序4执行窗口的生成并设定窗口视图,即要显示哪些数据属性,并向用以显示窗口和数据的用户界面系统9提供显示数据。例如,在图2的例子中,形成了四个窗口,各窗口中分别建立的视图是:分部名称表视图,分部年销售情况视图,分部雇员名单视图以及区域框图。
要改变窗口的视图,则要按动窗口的用于“表”、“图形”、“框图”或“文本”(未示出)的按钮。例如,如果要选择一个特定的表型视图,则要按动“表”按钮。这时各种表型视图的名称就在一个弹出菜单里显示出来,并通过按动鼠标器在这些视图名称中选出一个来。类似地,按动“图形”按钮则可以选择一个图形型视图,以及按动“框图”或“文本”按钮可以选择相应类型的视图。
图4进一步描述了图3中窗口管理系统的配置。窗口管理系统3位于应用程序4和用户界面系统9之间。在窗口管理系统3之中有一个用于自动控制窗口的管理表。用户是通过用户界面的系统9来使用应用程序4的。来自用户的处理a就是按动鼠标器或键盘字符输入这样的操作。与窗口管理系统3无关的输入操作直接传送到应用程序4(处理C)。与窗口管理系统3有关的那些输入操作先通过窗口管理系统3,用它们的处理传送到应用程序4(处理b,d)。在此点,处理的实施是应用了管理表的。应用程序4的输出被直接传送到用户界面系统9(处理e)。
图5表示了窗口管理系统3中的管理表的一个例子。图5还包含了一个窗口排布框图,该框图表示了管理表中的窗口数码与窗口之间的对应关系。在应用程序4中使用了多少个子窗口,就准备出多少表。在该例子中,子窗口的数目是4。每一表中的项数也做成与子窗口数目相等。一项对应于一个子窗口。每一项具有“通”或“断”作为取值。“通”表示窗口之间有关系,而“断”则表面没有关系。图5表示了对于图2的例子的管理表。例如,表1表示了左上方子窗口的“田”形按钮的设定状态,其中对应于左下“项2)和右上(项3)的子窗口的小按钮设置为“通”(关系存在)”。
图6表示了窗口管理系统3中处理过程的略图。首先,当通过用户界面系统9进行的用户处理是按动“田”形按钮时,则“田”形按钮的设备过程被执行(S1,S2)。当在一个子窗口的数据处按动鼠示器时,则自动窗口处理被执行(S3,S4)。如果用户的处理不是在“田”形按钮上或数据止按动鼠标器,则进行其他处理(S5)。该其他处理包括对应于键盘等的输入的处理,菜单操作或按动非“田”形的铵钮,还包括分别指定源窗口和目的窗口。
除了其他处理之外,首先参见图7说明源窗口和目的窗口的分别指定过程。
先对源窗口里的数据按动鼠标器而作出选择。例如,图2中分部名称表窗口中的“Hakozaki”被指定(S11)。另外,假定此时分部名称表窗口尚未同任何其他窗口建立关系。如果该窗口已建立关系,则在相关的窗口中相关的数据即被自动显示出来。然后此窗口的接收(take-in)按钮(未示出)被按动以设定目的窗口(S12)。此后,接收数据的视图选择按钮(未示出)被按动以引起接收数据视图的表被显示在一个弹出菜单上,从而使得用户以选择一个视图(S13,S14)(有用于表,图形,框图和文本视图的选择按钮)。并且,用户指定的数据被显示在目的窗口里(S15)。例如,如果要在左下窗口现显示的是(雇员名单)显示这个分部的大客户表,则大客户的数据项就从弹出菜单中被选出。“Hakozaki”分部的大客户表就在左下窗口中被显示出来。
“田”形按钮的设置过程现将参照图8予以说明。首先,被按动的“田”形按钮所处在的窗口的数码被存放在一个“from”(“源”)寄存器之中(S21)。对应于“田”形按钮的四个小按钮中那个被按动的按钮的子窗口数码被存放在一个“to”(“目的”)寄存器(S22)。并且依照该“from”与“to”寄存器中的数值,在第“from”个表中的第“to”个项的值被反相。就是说,如果该项的值是“on”则它被反相为“off”,而如果是“off”,则被反相成“on”(S23,S24,S25)。例如在图2中,由于分部名称表的“田”形按钮的右上和左下按钮是高亮度的,则以分部名称表窗口为源窗口的目的窗口就是右上方的年度销售图形窗口和左下方的雇员名单窗口。在这种状态下,如果分部名称表窗口的右上方按钮被鼠标按动,则高亮度消失。这即是说关系被重新设置。另一方面,当分部名称表窗口的“田”形按钮的右下方按钮被鼠标按动时,则该按钮成为高亮度面实现了一种关系。
以下参见图9说明自动窗口处理过程。如果在一个源窗口中数据被鼠标按动,则被按动的数据的标识符被存入一个“数据”寄存器(S31)。进而,被按动的数据所在的子窗口的数码被存入“from”寄存器(S32)。第“from”个表中的每一项都受到检查,如果其值为“on”,则在“data”(数据)寄存器中指定的数据所需要的属性(在目的窗口中要显示的属性)就在相应的子窗口即目的窗口显示出来(S34到S37)。
例如考虑图2中的例子。在这种情形下,从分部名称表的“田”形按钮的右上和左下按钮呈现高亮度可见,所建立起来的关系是:分部名称表是源窗口,而右上方的年度销售图形窗口及左下方的雇员名单窗口则是目的窗口。而与此相关联的管理表如图5的表1所示。
如果这时分部名称表中的“Hakozaki”被鼠标按动,则“Hakoza-ki”的标识符被存储到“data”(“数据”)寄存器中,而左上方的分部名称表窗口的窗口数码被存储到“from”(“源”)寄存器中。然后,“from”(“源”)寄存器中的值表即“第一”个表被检查。由于表1的1,2,3和4项的值分别为“off”,“on”,“on”及“off”,首先,第二窗口的显示属性值,即右上方的年度销售图形从“Hakozaki”的标识符中抽取出来并显示在右上方的年度销售图形窗口中。类似地,第三个窗口的显示即左下方的雇员名单也自动地被修改并显示出来。
虽然在以上的说明中所展示的是一个四窗口的例子,但本发明可以一般地应用到两个或更多的窗口情形。进而可以看到,这一应用程度可以广泛地应用到具有多窗口的程序测览器或多媒体浏览器上。而且,本发明也可用到重叠窗口上,而不是彼此互不重叠地生成的花砖形多窗口。在这种情形下,替代符号化表示两维窗口一个排布图表对象的,是窗口之间的关系的设定和显示可以由三维图形对象提供,该三维图形对象也显示出重叠的状态。窗口之间的关系除去上述的数据的取出与接收的关系之外也可以是各种各样其他的关系。例如,可以包括这样一种关系,使得一个表或文本的行位置和列位置发生联系。
如上所述,根据本发明,用于设定多窗口之间关系的图形对象被显示出来,这些关系可以通过在图形对象上的操作所设定,例如,通过鼠标按动来设定,且这种设定可以通过图形对象显示方式的改变来表达。于是,子窗口之间的关系柯以象通常那样为固定操作设定。而如果需要更为灵活的操作,则窗口关系对每一种操作都蚵以实现,因而可以满足用户广泛的需求。
图1示例说明了一个具有四个窗口应用程序的屏幕显示;
图2示例说明了本发明的屏幕显示;
图3是本发明实施例的总的说明框图;
图4是解释图3主要部分的框图;
图5示例说明了图4的窗口管理系统3的管理表;
图6是解释图3实施例的操作的框图;
图7是说明图3实施例操作的一个程序框图;
图8是说明图3实施例操作的一个程序框图;以及
图9是说明图3实施例操作的一个程序框图。
(符号说明)
1…工作站
2…操作系统
3…窗口管理系统
4…应用程序
9…用户界面系统。