著录项信息
专利名称 | 拖放操作中滚动目标窗口的方法和系统 |
申请号 | CN94119747.6 | 申请日期 | 1994-12-19 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 1995-12-06 | 公开/公告号 | CN1113021 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | 暂无 | IPC分类号 | 暂无查看分类表>
|
申请人 | 国际商业机器公司 | 申请人地址 | 美国纽约州
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 国际商业机器公司 | 当前权利人 | 国际商业机器公司 |
发明人 | S·-G·李;T·J·L·施雷德 |
代理机构 | 中国专利代理(香港)有限公司 | 代理人 | 杜有文 |
摘要
一种用于将计算机显示器上的图形用户界面中的一图形目标由一源窗口传送至一目标窗口的技术。首先判断在拖放操作中自源窗口的一图形目标已进入目标窗口。然后,判断该图形目标已触及目标窗口的内边界。若该图形目标持续触及其内边界,滚动该目标窗口。
1.一种将计算机显示器上的图形用户界面中的图形目标由一源 窗口传送至一目标窗口的方法,其特征在于包括下述步骤:
在拖放操作期间判断来自源窗口的图形目标已进入目标窗口;
判断该图形目标已触及目标窗口的内边界;
若图形目标持续触及内边界,就滚动目标窗口;以及
在拖放操作结束时将该图形目标定位于目标窗口的一目标位置 上。
2.根据权利要求1的方法,其进一步特征在于包括判断在对由 源窗口中产生的图形目标进行的拖放操作中该目标窗口是否可滚动 的步骤。
3.根据权利要求1的方法,其进一步特征在于包括下述步骤:
在拖放操作开始时存贮指示器的起始位置以判断该图形目标起 源于源窗口;以及
在图形目标持续触及内部边界时刷新指示器的边界位置。
4.根据权利要求2的方法,其特征在于通过引用目标窗口类判 断该目标窗口是否可滚动。
5.根据权利要求2的方法,其特征在于通过参照可滚动目标窗 口表判断目标窗口是可滚动的。
6.一个将在一计算机显示器上的图形用户界面中的图形目标由 一源窗口传送至一目标窗口的系统,其特征在于包括:
用于判断在一拖放操作中来自源窗口的图形目标已进入目标窗 口的装置;
用于判断该图形目标已触及该目标窗口的内边界的装置;
在该图形窗口持续触及内边界的情况下滚动目标窗口的装置;以 及
在拖放操作结束时,将图形目标定位在目标窗口的目标位置上的 装置。
7.根据权利要求6的系统,其进一步特征在于包括用于判断在 对由源窗口中产生的图形目标进行的拖放操作中目标窗口是否可滚 动的装置。
8.根据权利要求6的系统,其进一步特征在于包括:
用于在拖放操作开始时存贮指示器起始位置的装置,用以判断在 源窗口中产生的图形目标;以及
在该图形目标持续触及内部边界时刷新指示器边界位置的装 置。
9.根据权利要求7的系统,其特征在于根据目标窗口类判断该 目标窗口可滚动。
10.根据权利要求7的系统,其特征在于根据可滚动目标窗口表 判断该目标窗口可滚动。
11.根据权利要求8的系统,其进一步特征在于包括:
一个连至系统总线的存储器,用于存储操作该系统的指令集合;
一个连至系统总线的处理器,以执行该指令集合;以及
一个连至系统总线的显示器,以显示该图形用户界面。
本发明总的来说涉及数据处理系统的图形用户界面。更具体点, 本发明涉及在拖放操作中确定是否提供在目标窗口中的滚动能力的 技术。\n众所周知,现有图形用户界面(GUI)以供用户控制一个计算机 系统。图形用户界面用于在屏幕上提供可以供用户选择的项目及其选 择的结果。在图形用户界面中通常提供多个图形目标以代表应用程序 和数据文件,比如窗口或图标。通过“拖放”操作让用户在窗口内或 窗口之间移动图形目标也已众所周知。在拖放操作中,用户在界面中 将鼠标移向表示成诸如图标的图形目标以选择一个项目,比如一个数 据文件。然后按下鼠标上的一个或多个按钮,将鼠标经由该GUI移向 期望位置过程中一直保持着。该期望位置可以仅仅是出于对界面进行 美学上的安排,或者在窗口间进行传送的情况下,它就可能代表了应 用程序或数据文件之间的数据传送。然后用户释放按钮,该图形目标 就被“放下”并处于该界面中一个新的位置上。这种操作结果也造成 了逻辑上的改变,比如将该新位置存入支持该GUI的数据结构中以及 将由该图标所代表的数据文件放入一个新的文件结构中,该文件结构 由图标所移向的窗口表示。\n在该拖放操作涉及窗口到窗口的传送和为每一窗口所分配的空 间不足以显示整个窗口用户界面的情况下,该拖放操作就有些不方 便,尤其当目标窗口中期望位置未被显示出时。用户可以使用目标窗 口中的滚动棒以将期望位置移进该目标窗口的显示空间,然后该要 移动的目标通过拖放就由源位置移到目标位置。若该目标位置在目 标窗口中看不见,该图标可放在目标窗中的一个任意位置。接着用户 再使用滚动棒以及拖放技术将该图标移至图标位置。\n本发明说明了拖放操作的一种改进方法。\n因此本发明的一个目标是在拖放操作中提供滚动能力。\n本发明的另一目标是在一种通常不支持滚动拖放操作的操作系 统中提供滚动拖放操作。\n通过将计算机显示屏上的图形用户界面中的图形目标由一个源 窗口传送到目标窗口的技术可以实现这些目标以及其它目标。在拖 放操作中要确定来自源窗口的图形目标已进入目标窗口。接着要确 定该图形目标已触及该目标窗口的内部边界。只要该图形目标继续 触及其内部边界,就滚动该目标窗口。一旦目标位置在目标窗口中可 见,在拖放操作结束时该图形目标就定位在目标位置。本发明考虑了 这样一种图形用户界面,在一个图形目标从一外部窗口进行拖放操 作期间一些目标窗口是可滚动的,而一些是不能滚动的。这样,在一 种混合图形用户界面中必须确定其目标窗口在拖放操作中是不是可 滚动。可以通过参照目标窗口类或可滚动目标窗口表来确定一个可 滚动窗口是可以滚动的。\n通过参照附图以及下面对本发明较佳实施例的详细描述可以更 易理解本发明。在附图中:\n图1显示了由系统单元、键盘、鼠标以及显示器构成的计算机。\n图2是图1中所显示计算机的结构框图。\n图3显示了根据本发明的原则实现了拖放操作的一个图形用户 界面。\n图4A-4D是描述根据本发明的原则的拖放操作的流程图。\n图5是一个数据结构,它用于标识根据本发明可以被选择为滚 动的窗口。\n本发明可以在使用不同操作系统的计算机集群上运行。在网络 上的计算机比如可以是个人计算机、小型机、大型机或在其它计算机 与分布式网络上运行的计算机。尽管具体的计算机选择仅受磁盘和 磁盘容量要求的限制,IBM PS/2(TM)系列中的计算机可以用于本 发明。关于IBM的PS/2系列计算机的其它信息,读者可参照 ″Technical Reference Manual Personal System/2 model 50,60 Systems″,IBM Corporation,(Part No.68X2224 Order Number S68X-2224)以及″Technical Reference Manual Personal Systems/2 (model 80)″,IBM Corporation(Part No.68X2256 Order Nunmber S68X-2254)。IBM PS/2个人计算机可以运行的一个操作系统是 IBM的OS/2 2.0(TM)。关于IBM OS/2 2.0操作系统的更多的信 息,读者可参见OS/2 2.0 Technical Library,Programming Guide Vol.1,2,3(Version 2.0 Order No s.10G6261,10G6495,10G6494)。\n另外,该计算机系统可以是IBM RISC System/6000(TM)系列 的计算机,它运行AIX(TM)操作系统。RISC System/6000的不同型 号在IBM公司的许多出版物中作了描述,比如RISC System/16000, 7073 and 7016 POWERstation and POWERserver Hardware Technical reference(Order No.SA23-2644-00)。AIX操作系统在 General Concepts and Procedure-AIX Version 3 for RISC System /6000(Order No.SC23-2202-00)以及IBM公司的其它出版物中 作了描述。\n图1中,计算机10包括了一个系统单元11、一个键盘12、一个 鼠标13以及显示器14。显示设备14的屏幕16用于显示图形用户界 面(GUI)。该图形用户界面由操作系统支持,允许用户使用输入的点 与射(point and shoot)方法,即将鼠标15移向屏幕16上位于一特定 位置上代表一个数据目标的图标并按下一个鼠标按钮以完成用户命 令或选择。\n图2是图1中所示个人计算机各部件方框图。系统单元11包括 一条或多条系统总线21,多个部件耦合至该总线,而且不同部件之间 的通讯也是通过其进行的。微处理器22连至该系统总线21,并由同 样连至系统总线21的只读存诸器(ROM)和随机存取存储器 (RAM)24支持。在IBM多媒体PS/2系列计算机中的微处理器是包 括386或486微处理器的Intel微处理器中的一种。然而在具体的计 算机中也可包括其它微处理器,比如Motorola系列微处理器中的 68000、68020或68030,各种精简指令集计算机(RISC)微处理器(由 IBM、Hewlett Packard、Sun、Intel、Motorola以及其它厂家制造),但 也不限于此。\nROM 23中包含有对基本硬件操作比如交互、磁盘驱动器和键 盘进行控制的基本输入输出系统(BIOS)。RAM 24是主存储器,操 作系统和应用程序就装载在其中。存储管理芯片25连至系统总线 21,用之控制存储器直接存取操作,包括在RAM 24与硬盘驱动器 26、软盘驱动器27之间传送数据。CD ROM 32也连至系统总线21, 用于存储大量的数据,比如多媒体程序或大的数据库。\n连到系统总线21的还有各种I/O控制器:键盘控制器28、鼠标 控制器29、视频控制器30以及音频控制器31。正如所期望的那样, 键盘控制器28提供了键盘12的硬件接口,鼠标控制器29提供了鼠 标13的硬件接口,视频控制器30是显示器14的硬件接口,而音频 控制器是扬声器15a和15b的硬件接口。扬声器15a与15b可用于 向用户提供声音。一个I/O控制器40,比如Token Ring适配器可以 通过网络46与别的类似配置的数据处理系统进行通讯。\n本发明的一个较佳实施是以驻留在随机存取存储器24中的一 个代码模块中的一组指令的形式实现的。除非计算机系统的需要,该 组指令可以存放在别的计算机存储器中,例如硬盘驱动器26中,最 终用于CD ROM 32的光盘中或最终用于软盘驱动器27的软盘中。 正如图中所示,操作系统50和显示管理器(Presentation manager) 52均驻留在RAM 24中。在该例子中,本发明是以操作系统之上的 一个附属模块方式实施的。另外,该图形用户界面也可结合进一个单 独的应用系统中去,比如在一个监视数据库56的监视程序中。\n图3A、3B与3C中显示了一个源与一个目标窗口100、101。本 发明在数据库中寻找到一个特殊的应用,其中数据库中的每列数据 表示成一个图标。通过将一个图标由源窗口100拖动到目标窗口 101(它们在该数据库中以图形方式表示两个数据库表)就将那列数 据加入到目标窗口所表示的数据库表中。在这个例子中,根据本发明 的原则,目标窗口101被指定为在拖放操作中提供了滚动能力。目标 窗口可通过GUI的窗口分类或图5所示的表结构进行指定。对其它 窗口若开发者不想如此,也可不用本发明的方式。\n在图3A中可看到,用户从源窗口100向目标窗口101拖动图 标103。如图3B所示,该图标103触及目标窗口101的边界105,它 使目标窗口进行滚动,直到用户在目标窗口中找到目标位置107为 止,如图3C所示。用户然后将图标103放在位置107上从而完成这 个操作。在GUI中可包括一个标记109,比如一个图标,它可以向用 户指示该窗口以该方式操作。通常是用鼠标进行这种拖放操作,但本 方面有一定技术的人们会认识到也可使用其它指点设备,比如跟踪 球或触笔(stylus)。\n图4A-4D描述了本发明的过程\n该过程开始于步骤150,前进到步骤151,这时在一个图标上产 生了一个鼠标按钮按下事件,在这种情况下,检测到一个列图标。在 步骤153,变量SourceColumn设置成所选中的列,该列由鼠标按钮 按下事件所指示,同时变量CPos设置成当前鼠标位置。接着,系统 在步骤155中循环,直至下一用户输入出现,比如一个键盘或鼠标事 件。若该事件是一个鼠标拖动事件,正如步骤157所检测到的,则在 步骤159,设置拖动操作变量。变量Drag Drop设置为“ON”,变量 ENTERED设置为“OFF”。在当前鼠标位置复制并显示所选择的列 图标,变量PPos设置为拖放操作开始时的鼠标位置,而CPos则允许 根据当前鼠标位置而变动。\n在该点上过程在图4B中继续。若检测到一个鼠标按钮抬起事 件,过程便进入到图4C所描述的流程。若在步骤163中检测到其它 类型的操作,便在步骤165由操作系统进行正常的缺省处理。在步骤 166,该过程返回。在步骤167若在一个列图标上又一次检测到鼠标 按钮按下事件,表示选择了一个不同的图标,该过程返回至上面步骤 153。\n拖动操作持续到鼠标进入一目标窗口,并且鼠标指示器触及内 窗口边界。根据在源窗口开始拖放操作时所保存的鼠标位置以及在 目标窗口中的当前位置可以确定鼠标正进入一个窗口。根据鼠标指 示器当前位置的坐标以及窗口边界的位置坐标可以确定鼠标已触及 窗口边界。若步骤169的测试正在进入一目标窗口,该目标窗口中显 示了本发明的方式,比如基本键定义窗口(primary key definition), 在步骤179,变量ENTERED设置为“ON”。在步骤181,测试该窗口 是否可滚动。可以在创建窗口时,由操作系统或应用系统开发者定义 窗口是可滚动的。若该窗口可滚动,进入步骤183,变量Scroll_Move 设置为“ON”。在步骤177或步骤183结束以及在步骤181其判断为 “否”,则过程返回到步骤155,循环等待下一输入事件。\n在用户继续该拖动操作时,该过程将返回步骤169,确定鼠标是 否正在进入一目标窗口的测试结果是“否”,其中目标窗口显示了本 发明的方式,比如基本键定义窗口。因此,在步骤171,对于变量 ENTERED是否设置为“ON”进行测试。若已设置为“ON”,就在步骤 173中判断该鼠标是否已触及窗口边界。若该鼠标已触及基本键定 义窗口边界,进入步骤175,判断该窗口是否可滚动,即,变量Scroll_ Move是否为“ON”。若可滚动,该流程持续至图4D。若该过程对上述 任一测试为“否”,则进入步骤177,执行由操作系统定义的缺省动 作。\n参照图4C,若检测到鼠标按钮释放操作(图4A步骤161),就进 入步骤191,判断变量ENTERED与DRAG_DROP是否都为“ON”。 若是,则意味着用户已拖动一个图标进入一个可滚动目标窗口,并准 备将该图标放在目标位置。在步骤193,在目标窗口创建一个新目 标,比如一个数据库表中的一新数据列,它是基于来自源窗口所选择 图标的有关信息。新目标列在目标窗口中的位置是由放下的位置所 确定的。在步骤195,对源目标列进行标志,以指示它已被选择过。在 步骤197,变量ENTERED、DRAG_DROP以及Scroll_Move均设置 为“OFF”。步骤199,过程返回。\n在图4D,响应已经过步骤171、173、175判断的一拖动操作,在 步骤201判断非滚动“按键”(keystroke)是否为“ON”。步骤201提供 了一种逃逸机制,从而鼠标指示器可拖出目标窗口或位于源与目标 窗口之间的中间窗口,该中间窗口同样也根据本发明的原则操作。如 果非滚动按键(keystroke)是“ON”,就至步骤177执行由操作系统定 义的正常操作。然而,假如非滚动按键(keystroke)不是“ON”,就根据 边界值滚动目标窗口。在步骤205,将变量CPos设置为等于PPos,它 是拖放操作开始时的滚动位置。\n在上面流程图中要说明的重要一点是设置鼠标位置。通常是通 过查询窗口管理系统获得鼠标位置。然而,必须保留前一个鼠标位置 以限制实际的鼠标位置。在鼠标指示器触及一目标窗口的边界时,即 使用户正拖动鼠标离开该窗口,在该窗口滚动期间,该拖动操作将不 触发重现拖动操作的鼠标图标。由于每一次都复位鼠标位置,若在鼠 标按键一直按下期间检测到该鼠标触及窗口边界,即使鼠标没有移 动,也将判断为一个拖动操作。在拖动过程中,通过按下一个预定义 键,例如一个控制键,用户仍然可自由地将鼠标移出目标窗口。\n本发明不仅可应用某一类窗口,比如上面例子中的基本键定义 窗口,也可应用于那些已被选择成具有本发明工作方式的窗口。只要 窗口可滚动,在一个图标拖进其中时,用户可以指定使用本发明所描 述的方法,即拖动过程中进行滚动。图5中所描述的数据结构,是一 个简单的窗口id(标识符)表,其指针指向该表中的下一窗口id(标识 符)。操作系统可使用该数据结构标识是否提供本发明的工作方式。 在大多数操作系统或窗口管理系统中,窗口的id(标识符)一般是访 问一个窗口信息的一个关键字。因此,该窗口id将允许代码访问任 何所需信息。在GUI中既不是一个指定的窗口类也不在表结构中的 窗口将显示该操作系统正常的、缺省的工作方式。\n本发明与原有技术相比在直接操纵技术方面具有长处,并可更 有效地使用。在一个操作中,用户可以拖放一个图标至一目标位置。\n尽管参照上面的具体实施例对本发明进行了描述,但那些在本 技术上具有一定水平的人将理解在不偏离本发明思想与范围情况下 可以对本发明进行修改。这些实施例仅是为了举例与图示之目的,而 不是对本发明进行限制,使之窄于所附权利要求的范围。
法律信息
- 2011-03-09
未缴年费专利权终止
IPC(主分类): G06F 3/14
专利号: ZL 94119747.6
申请日: 1994.12.19
授权公告日: 2003.04.23
- 2003-04-23
- 1995-12-06
- 1995-11-22
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |