在主动滚动的视图窗格中提供功能性上下文的方法和系统的制作方法

文档序号:6462183阅读:88来源:国知局
专利名称:在主动滚动的视图窗格中提供功能性上下文的方法和系统的制作方法
技术领域
本发明一般涉及计算机和类似技术的领域,并且具体地涉及在此领域
中使用的软件。更具体地,本发明涉及在主动滚动的视图窗格(viewpane) 中提供功能性上下文。
背景技术
当查看或编辑具有功能性片段(section)或有标题的数据的文档时, 有时能够查看该文档的一部分,而无法分辨什么片段或功能正在^L查看。 例如,被标为现有技术的图1示出了具有可见的源代码的视口 ( viewport)。 正被查看的方法的内容比视口的长度更长。因此,当滚动该浮见口时,用户 常常不知道所查看的片段的标题或名称。
已知的综合开发环境(IDE)已尝试通过以层级化大纲的方式突出正 被查看的方法名称来解决此问题。不过,对方法的突出是基于编辑指针的 位置。因而,能够选择方法中的某段文本,或者将指针激活到方法中的位 置,并且将视口从该方法滚动离开。此动作可以导致所述突出被误导为与 正在被查看的片段相比较而言与位于代码中的哪个片段或功能有关。例如,
图1示出了被选择的一行。如果大纲视图示出方法cre"teK/en^正在被编辑, 并且该视图被滚动到代码内的新区域,则大纲将不会提供关于视图已经被 滚动到哪里的信息。

发明内容
根据本发明提供了 一种用于使用上下文知晓视口模块以便通过图形显 示视口并与之交互的方法、系统和计算机可用媒体。在本发明的各种实施例中,上下文知晓视口以图形用户界面(GUI)的方式实现,并包括信息 部分和4见口部分。更具体地,在一实施例中,本发明涉及一种计算机可实现方法,包括 呈现图形用户界面,所述图形用户界面包括视口部分和信息部分;确定所 述视口是否已经被滚动;以及当所述视口部分被滚动时在所述信息部分中 呈现上下文知晓信息。在另一实施例中,本发明涉及一种系统,包括处理器;耦合于所述 处理器的数据总线;以及包含计算机程序代码的计算机可用媒体,所述计 算机可用媒体耦合于所述数据总线。所述计算机程序代码包括可以由所述 处理器执行的指令,并被配置用于呈现图形用户界面,所述图形用户界 面包括视口部分和信息部分;确定所述视口是否已经被滚动;以及当所述 视口部分#^衮动时在所述信息部分中呈现上下文知晓信息。在另 一实施例中,本发明涉及一种包含计算机程序代码的计算机可用 媒体。所述计算机程序代码包括计算机可执行指令,其被配置用于呈现 图形用户界面,所述图形用户界面包括视口部分和信息部分;确定所述视 口是否已经被滚动;以及当所述视口部分被滚动时在所述信息部分中呈现 上下文知晓信息。在以下详细书写的描述中,本发明的上述以及附加的目的、特征和优 点将变得显而易见。


在附带的权利要求中阐明了被认为是本发明新颖特性的特征。然而, 通过当结合附图阅读时参考以下说明性实施例的详细描述,将最好地理解 本发明本身以及其优选使用模式、另外的目的和优点,在附图中图1 (被标为现有技术)示出了示例的视口屏幕演示;图2示出了其中可以实现本发明的示例性计算机系统;图3示出了示例的视口屏幕演示;图4示出了上下文知晓视口模块的操作的流程图;图5示出了视口屏幕演示的另一示例;以及 图6示出了视口屏幕演示的另一示例。
具体实施例方式
公开了 一种用于使用上下文知晓视口模块以便通过图形显示视口并与 之交互的方法、系统和计算机可用媒体。在本发明的各种实施例中,上下 文知晓视口以图形用户界面(GUI)的方式实现,并包括信息部分和视口 部分。
如本领域技术人员将理解的,本发明可以被实现为一种方法、系统或 计算机程序产品。因此,本发明的实施例可以完全用硬件、完全用软件(包 括固件、驻留软件、微代码等)、或者结合软件和硬件的实施例来实现。 这些各种实施例在这里可以全部被统称为"电路,,、"模块"或"系统"。 此外,本发明可采用计算机可用存储媒体上的计算机程序产品的形式,所 述计算机可用存储媒体具有在所述媒体中包含的计算机可用程序代码。
可以利用任何合适的计算机可用或计算机可读媒体。例如,所述计算 机可用或计算机可读媒体可以是(但不限于)电子的、磁的、光的、电 磁的、红外的或半导体系统、装置、设备或传播媒体。计算机可读媒体的 更具体示例(非穷举列表)将包括以下具有一根或多根线的电连接、便 携式计算机磁盘、硬盘、随才;i^取存储器(RAM)、只读存储器(ROM)、 可擦除可编程只读存储器(EPROM或闪存)、光纤、便携式只读存储器 致密盘(CD-ROM)、光存储媒体、诸如支持因特网或内联网的传iN^体、 或者磁存储媒体。注意,计算机可用或计算机可读媒体甚至可以是紙或在 其上打印程序的另一合适的媒体,因为程序可以经由例如对纸或其它媒体 进行光扫描而被电捕获,接着如果需要,可进行编译、解释、或者另外以 合适的方式进行处理,并且接着存储在计算机存储器中。在本文档的上下 文中,计算机可用或计算机可读媒体可以是可包含、存储、传送、传播或 传输程序的任何媒体,所述程序由指令执行系统、装置或设备使用或与指 令执行系统、装置或设备相结合使用。计算机可用媒体可以包括这样的传播数据信号,无论是在基带内还是作为载波的一部分,该信号均具有计算 机可用程序代码。计算机可用程序代码可以使用任何合适的媒体来传输,
所述合适的媒体包括但不限于因特网、有线线路、光纤线缆、射频(RF) 等。
用于执行本发明的操作的计算机程序代码可以以面向对象的编程语言
(诸如Java、 Smalltalk, C十+等)来编写。然而,用于执行本发明的操作 的计算机程序代码还可以以传统的程序式编程语言(诸如"C"编程语言
或类似编程语言)来编写。程序代码可以完全在用户的计算机上执行、部 分地在用户的计算机上执行、作为单独的软件包来执行、部分地在用户的 计算机上执行以及部分地在远程计算机上执行、或者完全在远程计算机或 服务器上执行。在后一场景中,远程计算机可以通过局域网(LAN)或广 域网(WAN )连接到用户的计算机,或者该连接可以连接到外部计算机(例 如,使用因特网服务供应商通过因特网连接)。
下面参考根据本发明实施例的方法、装置(系统)和计算机程序产品 的流程示和/或框图来描述本发明的实施例。将会理解,流程示和 /或框图的每个框以及流程示和/或框图中的框的组合可以由计算机程 序指令来实现。可以将这些计算机程序指令提供给通用计算机、专用计算
机或其它可编程数据处理装置的处理器以产生一种^L器,使得所述指令在 经由计算机或其它可编程数据处理装置的处理器执行时,创建用于实现在
流程图和/或框图的 一个或多个框中指定的功能/动作的装置。
这些计算机程序指令还可以存储在计算机可读存储器中,其可以指示
计算机或其它可编程数据处理装置以特定的方式运行,从而存储在计算机 可读存储器中的指令产生一种制品,其包括实现了在流程图和/或框图的一 个或多个框中指定的功能/动作的指令装置。
计算机程序指令还可以被加载到计算机或其它可编程数据处理装置 上,以使得一系列操作步骤在计算机或其它可编程装置上实施,以产生计 算机实现过程,使得在计算机或其它可编程装置上执行的指令提供用于实 现在流程图和/或框图的 一个或多个框中指定的功能/动作的步骤。图2是其中可使用本发明的示例性计算机202的框图。计算机202包 括耦合于系统总线206的处理器单元204。控制显示器210的视频适配器 208也耦合到系统总线206。系统总线206经由总线桥212耦合到输入/输 出(I/O)总线214。 1/0接口 216耦合到1/0总线214。 1/0接口 216提供 与各种I/0设备的通信,各种1/0设备包括键盘218、鼠标220、只读存储 器致密盘(CD-ROM)驱动器222、软盘驱动器224以及闪存驱动存储器 226。连接到1/0接口 216的各端口的格式可以是计算机体系结构领域的技 术人员所公知的任何一种,其包括但不限于通用串行总线(USB)端口。
计算机202能够使用耦合到系统总线206的网口 230经由网络228 与服务供应商服务器252进行通信。网络228可以是诸如因特网之类的外 部网络或诸如以太网之类的内部网络或虛拟专用网(VPN)。通过使用网 络228,计算机202能够使用本发明来访问服务供应商服务器252
硬盘驱动器接口 232也耦合到系统总线206。硬盘驱动器接口 232与 硬盘驱动器234进行接口。在优选的实施例中,硬盘驱动器234填充 (populate)也耦合到系统总线206的系统存储器236。填充系统存储器 236的数据包括计算机202的操作系统(OS ) 238和应用程序244。
OS 238包括命令解释程序(shell ) 240,用于提供对诸如应用程序244 之类的资源的透明的用户访问。通常,命令解释程序240是提供用户与操 作系统之间的接口和解释器的程序。更具体地,命令解释程序240执行被 输入到命令行用户界面之中或者来自文件的命令。由此,命令解释程序240 (如它在UNIX⑧中所称呼的那样,在Windows⑧中也被称为命令处理器) 通常是操作系统软件层级的最高级别,并且用作为命令解释器。命令解释 程序提供系统提示符、解释由键盘、鼠标或其它用户输入媒体所输入的命 令,以及将所解释的命令发送到操作系统的适当的较低级别(例如内核 242 )用于处理。尽管命令解释程序240通常是基于文本的、面向行的用户 界面,但本发明还可以支持其它用户界面模式,诸如图形的、声音的、以 手势表示的(gestural)等等。
如所描绘的那样,OS 238还包括内核242,其包括用于OS 238的较 低层的功能。内核242提供OS 238的其它部分和应用程序244所需的必
8要服务,所述服务包括存储器管理、进程和任务管理、盘管理、以及鼠标 和键盘管理。
应用程序244可以包括浏览器246和上下文知晓视口模块248。浏览 器246包括下述程序模块和指令,其使万维网(WWW)客户端(也即计 算机202 )能够通过使用超文本传输协议(HTTP )消息传送来发送和接收 到因特网的网络消息,由此使能与服务供应商服务器252的通信。应用程 序244还包括上下文知晓视口模块248。上下文知晓视口模块包括用于实 现下文描述的图3-6中所述的过程的代码。在一实施例中,计算机202能 够从服务供应商服务器252下载交互式进度条250。
在计算机202中所描绘的硬件组件不是旨在进行穷举,而是代表性的, 用于突出由本发明使用的部件。例如,计算机202可包括诸如磁带、数字 通用盘(DVD)、伯努利盒式磁带(Bernoulli cartridge )等等的可替换的 存储器存储设备。这些以及其它变体旨在属于本发明的精神和范围内。
参考图3,示出了示例的视口屏幕演示300。更具体地,视口 300包括 位于^f见口部分330之上的信息部分320。信息部分320提供上下文知晓信 息(即,关于在视口 330上端之上的方法(例如方法340)的信息)。当 视口滚动时(例如通过拖动滚动条350),信息部分被时常更新。滚动视 口导致在视口部分330中呈现的信息通常以顺序的方式改变。不过,在不 同位置激活滚动部分并导致滚动条350直接移动到所激活的位置也是可能 的。在视口部分330中呈现的信息对应于滚动条350的位置。
信息部分320提供了与指针(未示出)的位置相比较而言在视口 330 中正在显示什么信息的直接反映。
在示例的视口屏幕演示300中,Java构造函数raA&d^由/;ter。在视口 330中没有完全可见。信息部分320呈现了该构造函数的名称。突出的行 360指示出在视口中可见的其它方法。上下文知晓视口模块248突出这些 附加方法,以在功能性区域的开始和结束之间进行区分。
参考图4,示出了上下文知晓视口模块248的操作的流程图。上下文 知晓视口模块248在步骤410监视正在呈现视口的程序以确定用户是否已经滚动查看器。当查看器被滚动时,上下文知晓视口模块248在步骤420 计算在视口中正被呈现的文档的最上端的可见行。接着上下文知晓视口模 块248在步骤430从行号减1。接着上下文知晓视口模块248在步骤440 确定新的行号是否包含头部(诸如方法头部)。如果新的行号不包含头部, 则上下文知晓视口模块248再次在步骤430从行号减1。
如果新的行号确实包含头部,则上下文知晓视口模块248在步骤450 向所标识的头部设置空间上下文变量。所述空间上下文变量被上下文知晓 视口模块248用于呈现与视口 330相关联的信息部分320。
在某些实施例中,上下文知晓视口模块248使用Java Swing JEditorPane的能力来查询哪一行位于任意给定屏幕坐标之下。滚动监听 器被附加到视口 ,从而上下文知晓视口模块248被通知编辑器中的所有滚 动事件。当检测到滚动时,Java Swing被询问哪个行号位于JEditorPane 的(01,01)之下。从该行起,文档被向回遍历,以寻找具有标题的片段的 第一实例(诸如Java方法名称)。当找到时,标题^^显示于信息部分中。 由此,当用户在文档内滚动时,信息部分320被实时更新。在某些实施例 中,如果具有标题的片段未被找到,则信息部分320可以显示文档名称或 文件名称。
图5示出了视口屏幕演示的另一示例500。信息部分320直到视口被 滚动到新的上下文之前继续呈现上下文知晓信息。因而,信息部分320示 出了浮见口 320的上下文对应于/ "6/ic 0 ec,gC丄fl;v wa 附/7Owew,(9。上下文 g"丄"j;ow,C^附/wwew^)仅剩下的是结尾i吾句*/ 540。如果视口 再被滚动两行,则信息部分320将改变为示出视口 330的上下文对应于上 下文戸緒c ^4flf一er ge,5^/ecteflL4flto/;tef (9 。
图6示出了视口屏幕演示的另一示例600。在较长的上下文的情形中, 在视口 330中可能没有任何上下文信息可见。因而,如果视口 330被滚动 到这样的上下文,则用户仍能够经由信息部分320具有与视口的上下文有 关的上下文知晓信息。例如,通过一见口屏幕演示600, 一见口的上下文对应附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法 和计算机程序产品的可能实现的体系结构、功能和操作。在这点上,流程 图或框图中的每个框可以表示代码部分、段或模块,其包括用于实现指定 的一个或多个逻辑功能的一个或多个可执行指令。还应该注意,在某些可 替换实现中,在框中阐述的功能可以以不同于图中阐述的顺序发生。例如, 取决于所涉及的功能,顺序示出的两个框可能实际上基本并行地执行,或 者所述框可能有时以相反的顺序执行。还将会注意,框图和/或流程示 中的每个框、以及框图和/或流程示中的框的组合可以由实施特定功能 或动作的专用的基于硬件的系统、或者专用硬件和计算机指令的组合来实 现。
这里使用的术语是仅用于描述特定实施例的目的,而并非要限制本发 明。如这里使用的,除非上下文明确地另外进行指示,否则单数形式"一
个(a)"、"一个(an)"和"该(the)"意在也包括复数形式。将会 进一步理解,术语"包括(comprises),,和/或"包括(comprising),,当 在本说明书中使用时指定了所阐述的特征、整数、步骤、操作、单元和/ 或组件的存在,但不会排除其中的一个或多个其它的特征、整数、步骤、 操作、单元、组件和/或组的存在或增加。
权利要求中的所有装置或步骤加上功能单元的相应的结构、材料、动 作和等同物意在包括按照明确要求保护的、用于结合其它所要求保护的单 元来实施功能的任意结构、材料或动作。已经出于说明和描述的目的呈现 了对本发明的描述,但其并非意在穷举或限制于所公开的形式的发明。对 于本领域技术人员来说许多修改和变体将显而易见,而不会背离本发明的 范围和精神。所选择和描述的实施例用来最好地解释本发明的原理和实践 应用,以及使得本领域技术人员能够理解针对具有适于预期的特定使用的 多种修改的多种实施例的本发明。
因此,在已经详细描述了本应用发明并通过参考其中的实施例之后, 将很明显,修改和变体是可能的,而不会背离在权利要求中限定的本发明 的范围。
权利要求
1.一种计算机可实现方法,包括呈现图形用户界面,所述图形用户界面包括视口部分和信息部分;确定所述视口是否已经被滚动;以及当所述视口部分被滚动时在所述信息部分中呈现上下文知晓信息。
2. 根据权利要求l所述的计算机可实现方法,进一步包括 使用位置知晓功能来提供所述上下文知晓信息。
3. 根据权利要求l所述的计算机可实现方法,其中所述呈现上下文知 晓信息进一步包括使用Java Swing JEditorPane来查询哪一行位于任意给定4见口坐标之下。
4. 根据权利要求l所述的计算机可实现方法,进一步包括突出所述视口中的信息的若干部分以在不同的功能性区域之间进行区分。
5. 根据权利要求l所述的计算机可实现方法,其中所述呈现上下文知 晓信息进一步包括标识所述视口中呈现的文档的最上端的可见行; 确定与所述最上端的可见行相邻的一行是否包含头部;以及 呈现所述头部。
6. 根据权利要求4所述的计算机可实现方法,其中所述呈现上下文知 晓信息进一步包括确定与所述文档的所述最上端的可见行相关联的行号;以及 从所述行号减一,以提供所述文档的相邻行的新的行号,以标识与所 述最上端的可见行相邻的一行。
7. —种系统,包括 处理器;耦合于所述处理器的数据总线;以及包含计算机程序代码的计算机可用媒体,所述计算机可用々某体耦合于 所述数据总线,所述计算机程序代码包括可以由所述处理器执行的指令,并被配置用于呈现图形用户界面,所述图形用户界面包括视口部分和信息部分; 确定所述视口是否已经被滚动;以及当所述视口部分被滚动时在所述信息部分中呈现上下文知晓信息。
8. 根据权利要求7所述的系统,其中所述代码被进一步配置用于 使用位置知晓功能来提供所述上下文知晓信息。
9. 根据权利要求7所述的系统,其中用于呈现上下文知晓信息的指令 被进一步配置用于<吏用Java Swing JEditorPane来查询哪一行位于任意给定浮见口坐标之下。
10. 根据权利要求7所述的系统,其中所述代码被进一步配置用于 突出所述视口中的信息的若干部分以在不同的功能性区域之间进行区分。
11. 根据权利要求7所述的系统,其中用于呈现上下文知晓信息的指 令被进一步配置用于标识所述^L口中呈现的文档的最上端的可见行; 确定与所述最上端的可见行相邻的一行是否包含头部;以及 呈现所述头部。
12. 根据权利要求ll所述的系统,其中用于呈现上下文知晓信息的指 令被进一步配置用于确定与所述文档的所述最上端的可见行相关联的行号;以及 从所述行号减一,以提供所述文档的相邻行的新的行号,以标识与所 述最上端的可见行相邻的一行。
全文摘要
一种在主动滚动的视图窗格中提供功能性上下文的方法和系统。其中公开了一种用于使用上下文知晓视口模块来通过图形显示视口并与之交互的方法、系统和计算机可用媒体。所述上下文知晓视口以图形用户界面(GUI)的方式实现,并包括空间上的上下文知晓信息部分和视口部分。
文档编号G06F9/44GK101295248SQ200810091249
公开日2008年10月29日 申请日期2008年4月23日 优先权日2007年4月25日
发明者J·E·费尔伯, L·S·巴尔比, R·A·伯伊尔斯, S·D·奥尔特加 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1