專(zhuān)利名稱(chēng):在主動(dòng)滾動(dòng)的視圖窗格中提供功能性上下文的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及計(jì)算機(jī)和類(lèi)似技術(shù)的領(lǐng)域,并且具體地涉及在此領(lǐng)域
中使用的軟件。更具體地,本發(fā)明涉及在主動(dòng)滾動(dòng)的視圖窗格(viewpane) 中提供功能性上下文。
背景技術(shù):
當(dāng)查看或編輯具有功能性片段(section)或有標(biāo)題的數(shù)據(jù)的文檔時(shí), 有時(shí)能夠查看該文檔的一部分,而無(wú)法分辨什么片段或功能正在^L查看。 例如,被標(biāo)為現(xiàn)有技術(shù)的圖1示出了具有可見(jiàn)的源代碼的視口 ( viewport)。 正被查看的方法的內(nèi)容比視口的長(zhǎng)度更長(zhǎng)。因此,當(dāng)滾動(dòng)該浮見(jiàn)口時(shí),用戶(hù) 常常不知道所查看的片段的標(biāo)題或名稱(chēng)。
已知的綜合開(kāi)發(fā)環(huán)境(IDE)已嘗試通過(guò)以層級(jí)化大綱的方式突出正 被查看的方法名稱(chēng)來(lái)解決此問(wèn)題。不過(guò),對(duì)方法的突出是基于編輯指針的 位置。因而,能夠選擇方法中的某段文本,或者將指針激活到方法中的位 置,并且將視口從該方法滾動(dòng)離開(kāi)。此動(dòng)作可以導(dǎo)致所述突出被誤導(dǎo)為與 正在被查看的片段相比較而言與位于代碼中的哪個(gè)片段或功能有關(guān)。例如,
圖1示出了被選擇的一行。如果大綱視圖示出方法cre"teK/en^正在被編輯, 并且該視圖被滾動(dòng)到代碼內(nèi)的新區(qū)域,則大綱將不會(huì)提供關(guān)于視圖已經(jīng)被 滾動(dòng)到哪里的信息。
發(fā)明內(nèi)容
根據(jù)本發(fā)明提供了 一種用于使用上下文知曉視口模塊以便通過(guò)圖形顯 示視口并與之交互的方法、系統(tǒng)和計(jì)算機(jī)可用媒體。在本發(fā)明的各種實(shí)施例中,上下文知曉視口以圖形用戶(hù)界面(GUI)的方式實(shí)現(xiàn),并包括信息 部分和4見(jiàn)口部分。更具體地,在一實(shí)施例中,本發(fā)明涉及一種計(jì)算機(jī)可實(shí)現(xiàn)方法,包括 呈現(xiàn)圖形用戶(hù)界面,所述圖形用戶(hù)界面包括視口部分和信息部分;確定所 述視口是否已經(jīng)被滾動(dòng);以及當(dāng)所述視口部分被滾動(dòng)時(shí)在所述信息部分中 呈現(xiàn)上下文知曉信息。在另一實(shí)施例中,本發(fā)明涉及一種系統(tǒng),包括處理器;耦合于所述 處理器的數(shù)據(jù)總線(xiàn);以及包含計(jì)算機(jī)程序代碼的計(jì)算機(jī)可用媒體,所述計(jì) 算機(jī)可用媒體耦合于所述數(shù)據(jù)總線(xiàn)。所述計(jì)算機(jī)程序代碼包括可以由所述 處理器執(zhí)行的指令,并被配置用于呈現(xiàn)圖形用戶(hù)界面,所述圖形用戶(hù)界 面包括視口部分和信息部分;確定所述視口是否已經(jīng)被滾動(dòng);以及當(dāng)所述 視口部分#^袞動(dòng)時(shí)在所述信息部分中呈現(xiàn)上下文知曉信息。在另 一實(shí)施例中,本發(fā)明涉及一種包含計(jì)算機(jī)程序代碼的計(jì)算機(jī)可用 媒體。所述計(jì)算機(jī)程序代碼包括計(jì)算機(jī)可執(zhí)行指令,其被配置用于呈現(xiàn) 圖形用戶(hù)界面,所述圖形用戶(hù)界面包括視口部分和信息部分;確定所述視 口是否已經(jīng)被滾動(dòng);以及當(dāng)所述視口部分被滾動(dòng)時(shí)在所述信息部分中呈現(xiàn) 上下文知曉信息。在以下詳細(xì)書(shū)寫(xiě)的描述中,本發(fā)明的上述以及附加的目的、特征和優(yōu) 點(diǎn)將變得顯而易見(jiàn)。
在附帶的權(quán)利要求中闡明了被認(rèn)為是本發(fā)明新穎特性的特征。然而, 通過(guò)當(dāng)結(jié)合附圖閱讀時(shí)參考以下說(shuō)明性實(shí)施例的詳細(xì)描述,將最好地理解 本發(fā)明本身以及其優(yōu)選使用模式、另外的目的和優(yōu)點(diǎn),在附圖中圖1 (被標(biāo)為現(xiàn)有技術(shù))示出了示例的視口屏幕演示;圖2示出了其中可以實(shí)現(xiàn)本發(fā)明的示例性計(jì)算機(jī)系統(tǒng);圖3示出了示例的視口屏幕演示;圖4示出了上下文知曉視口模塊的操作的流程圖;圖5示出了視口屏幕演示的另一示例;以及 圖6示出了視口屏幕演示的另一示例。
具體實(shí)施例方式
公開(kāi)了 一種用于使用上下文知曉視口模塊以便通過(guò)圖形顯示視口并與 之交互的方法、系統(tǒng)和計(jì)算機(jī)可用媒體。在本發(fā)明的各種實(shí)施例中,上下 文知曉視口以圖形用戶(hù)界面(GUI)的方式實(shí)現(xiàn),并包括信息部分和視口 部分。
如本領(lǐng)域技術(shù)人員將理解的,本發(fā)明可以被實(shí)現(xiàn)為一種方法、系統(tǒng)或 計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明的實(shí)施例可以完全用硬件、完全用軟件(包 括固件、駐留軟件、微代碼等)、或者結(jié)合軟件和硬件的實(shí)施例來(lái)實(shí)現(xiàn)。 這些各種實(shí)施例在這里可以全部被統(tǒng)稱(chēng)為"電路,,、"模塊"或"系統(tǒng)"。 此外,本發(fā)明可采用計(jì)算機(jī)可用存儲(chǔ)媒體上的計(jì)算機(jī)程序產(chǎn)品的形式,所 述計(jì)算機(jī)可用存儲(chǔ)媒體具有在所述媒體中包含的計(jì)算機(jī)可用程序代碼。
可以利用任何合適的計(jì)算機(jī)可用或計(jì)算機(jī)可讀媒體。例如,所述計(jì)算 機(jī)可用或計(jì)算機(jī)可讀媒體可以是(但不限于)電子的、磁的、光的、電 磁的、紅外的或半導(dǎo)體系統(tǒng)、裝置、設(shè)備或傳播媒體。計(jì)算機(jī)可讀媒體的 更具體示例(非窮舉列表)將包括以下具有一根或多根線(xiàn)的電連接、便 攜式計(jì)算機(jī)磁盤(pán)、硬盤(pán)、隨才;i^取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、 可擦除可編程只讀存儲(chǔ)器(EPROM或閃存)、光纖、便攜式只讀存儲(chǔ)器 致密盤(pán)(CD-ROM)、光存儲(chǔ)媒體、諸如支持因特網(wǎng)或內(nèi)聯(lián)網(wǎng)的傳iN^體、 或者磁存儲(chǔ)媒體。注意,計(jì)算機(jī)可用或計(jì)算機(jī)可讀媒體甚至可以是紙或在 其上打印程序的另一合適的媒體,因?yàn)槌绦蚩梢越?jīng)由例如對(duì)紙或其它媒體 進(jìn)行光掃描而被電捕獲,接著如果需要,可進(jìn)行編譯、解釋、或者另外以 合適的方式進(jìn)行處理,并且接著存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)器中。在本文檔的上下 文中,計(jì)算機(jī)可用或計(jì)算機(jī)可讀媒體可以是可包含、存儲(chǔ)、傳送、傳播或 傳輸程序的任何媒體,所述程序由指令執(zhí)行系統(tǒng)、裝置或設(shè)備使用或與指 令執(zhí)行系統(tǒng)、裝置或設(shè)備相結(jié)合使用。計(jì)算機(jī)可用媒體可以包括這樣的傳播數(shù)據(jù)信號(hào),無(wú)論是在基帶內(nèi)還是作為載波的一部分,該信號(hào)均具有計(jì)算 機(jī)可用程序代碼。計(jì)算機(jī)可用程序代碼可以使用任何合適的媒體來(lái)傳輸,
所述合適的媒體包括但不限于因特網(wǎng)、有線(xiàn)線(xiàn)路、光纖線(xiàn)纜、射頻(RF) 等。
用于執(zhí)行本發(fā)明的操作的計(jì)算機(jī)程序代碼可以以面向?qū)ο蟮木幊陶Z(yǔ)言
(諸如Java、 Smalltalk, C十+等)來(lái)編寫(xiě)。然而,用于執(zhí)行本發(fā)明的操作 的計(jì)算機(jī)程序代碼還可以以傳統(tǒng)的程序式編程語(yǔ)言(諸如"C"編程語(yǔ)言
或類(lèi)似編程語(yǔ)言)來(lái)編寫(xiě)。程序代碼可以完全在用戶(hù)的計(jì)算機(jī)上執(zhí)行、部 分地在用戶(hù)的計(jì)算機(jī)上執(zhí)行、作為單獨(dú)的軟件包來(lái)執(zhí)行、部分地在用戶(hù)的 計(jì)算機(jī)上執(zhí)行以及部分地在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或 服務(wù)器上執(zhí)行。在后一場(chǎng)景中,遠(yuǎn)程計(jì)算機(jī)可以通過(guò)局域網(wǎng)(LAN)或廣 域網(wǎng)(WAN )連接到用戶(hù)的計(jì)算機(jī),或者該連接可以連接到外部計(jì)算機(jī)(例 如,使用因特網(wǎng)服務(wù)供應(yīng)商通過(guò)因特網(wǎng)連接)。
下面參考根據(jù)本發(fā)明實(shí)施例的方法、裝置(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品 的流程示和/或框圖來(lái)描述本發(fā)明的實(shí)施例。將會(huì)理解,流程示和 /或框圖的每個(gè)框以及流程示和/或框圖中的框的組合可以由計(jì)算機(jī)程 序指令來(lái)實(shí)現(xiàn)??梢詫⑦@些計(jì)算機(jī)程序指令提供給通用計(jì)算機(jī)、專(zhuān)用計(jì)算
機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器以產(chǎn)生一種^L器,使得所述指令在 經(jīng)由計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時(shí),創(chuàng)建用于實(shí)現(xiàn)在
流程圖和/或框圖的 一個(gè)或多個(gè)框中指定的功能/動(dòng)作的裝置。
這些計(jì)算機(jī)程序指令還可以存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)器中,其可以指示
計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置以特定的方式運(yùn)行,從而存儲(chǔ)在計(jì)算機(jī) 可讀存儲(chǔ)器中的指令產(chǎn)生一種制品,其包括實(shí)現(xiàn)了在流程圖和/或框圖的一 個(gè)或多個(gè)框中指定的功能/動(dòng)作的指令裝置。
計(jì)算機(jī)程序指令還可以被加載到計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置 上,以使得一系列操作步驟在計(jì)算機(jī)或其它可編程裝置上實(shí)施,以產(chǎn)生計(jì) 算機(jī)實(shí)現(xiàn)過(guò)程,使得在計(jì)算機(jī)或其它可編程裝置上執(zhí)行的指令提供用于實(shí) 現(xiàn)在流程圖和/或框圖的 一個(gè)或多個(gè)框中指定的功能/動(dòng)作的步驟。圖2是其中可使用本發(fā)明的示例性計(jì)算機(jī)202的框圖。計(jì)算機(jī)202包 括耦合于系統(tǒng)總線(xiàn)206的處理器單元204??刂骑@示器210的視頻適配器 208也耦合到系統(tǒng)總線(xiàn)206。系統(tǒng)總線(xiàn)206經(jīng)由總線(xiàn)橋212耦合到輸入/輸 出(I/O)總線(xiàn)214。 1/0接口 216耦合到1/0總線(xiàn)214。 1/0接口 216提供 與各種I/0設(shè)備的通信,各種1/0設(shè)備包括鍵盤(pán)218、鼠標(biāo)220、只讀存儲(chǔ) 器致密盤(pán)(CD-ROM)驅(qū)動(dòng)器222、軟盤(pán)驅(qū)動(dòng)器224以及閃存驅(qū)動(dòng)存儲(chǔ)器 226。連接到1/0接口 216的各端口的格式可以是計(jì)算機(jī)體系結(jié)構(gòu)領(lǐng)域的技 術(shù)人員所公知的任何一種,其包括但不限于通用串行總線(xiàn)(USB)端口。
計(jì)算機(jī)202能夠使用耦合到系統(tǒng)總線(xiàn)206的網(wǎng)口 230經(jīng)由網(wǎng)絡(luò)228 與服務(wù)供應(yīng)商服務(wù)器252進(jìn)行通信。網(wǎng)絡(luò)228可以是諸如因特網(wǎng)之類(lèi)的外 部網(wǎng)絡(luò)或諸如以太網(wǎng)之類(lèi)的內(nèi)部網(wǎng)絡(luò)或虛擬專(zhuān)用網(wǎng)(VPN)。通過(guò)使用網(wǎng) 絡(luò)228,計(jì)算機(jī)202能夠使用本發(fā)明來(lái)訪(fǎng)問(wèn)服務(wù)供應(yīng)商服務(wù)器252
硬盤(pán)驅(qū)動(dòng)器接口 232也耦合到系統(tǒng)總線(xiàn)206。硬盤(pán)驅(qū)動(dòng)器接口 232與 硬盤(pán)驅(qū)動(dòng)器234進(jìn)行接口。在優(yōu)選的實(shí)施例中,硬盤(pán)驅(qū)動(dòng)器234填充 (populate)也耦合到系統(tǒng)總線(xiàn)206的系統(tǒng)存儲(chǔ)器236。填充系統(tǒng)存儲(chǔ)器 236的數(shù)據(jù)包括計(jì)算機(jī)202的操作系統(tǒng)(OS ) 238和應(yīng)用程序244。
OS 238包括命令解釋程序(shell ) 240,用于提供對(duì)諸如應(yīng)用程序244 之類(lèi)的資源的透明的用戶(hù)訪(fǎng)問(wèn)。通常,命令解釋程序240是提供用戶(hù)與操 作系統(tǒng)之間的接口和解釋器的程序。更具體地,命令解釋程序240執(zhí)行被 輸入到命令行用戶(hù)界面之中或者來(lái)自文件的命令。由此,命令解釋程序240 (如它在UNIX⑧中所稱(chēng)呼的那樣,在Windows⑧中也被稱(chēng)為命令處理器) 通常是操作系統(tǒng)軟件層級(jí)的最高級(jí)別,并且用作為命令解釋器。命令解釋 程序提供系統(tǒng)提示符、解釋由鍵盤(pán)、鼠標(biāo)或其它用戶(hù)輸入媒體所輸入的命 令,以及將所解釋的命令發(fā)送到操作系統(tǒng)的適當(dāng)?shù)妮^低級(jí)別(例如內(nèi)核 242 )用于處理。盡管命令解釋程序240通常是基于文本的、面向行的用戶(hù) 界面,但本發(fā)明還可以支持其它用戶(hù)界面模式,諸如圖形的、聲音的、以 手勢(shì)表示的(gestural)等等。
如所描繪的那樣,OS 238還包括內(nèi)核242,其包括用于OS 238的較 低層的功能。內(nèi)核242提供OS 238的其它部分和應(yīng)用程序244所需的必
8要服務(wù),所述服務(wù)包括存儲(chǔ)器管理、進(jìn)程和任務(wù)管理、盤(pán)管理、以及鼠標(biāo) 和鍵盤(pán)管理。
應(yīng)用程序244可以包括瀏覽器246和上下文知曉視口模塊248。瀏覽 器246包括下述程序模塊和指令,其使萬(wàn)維網(wǎng)(WWW)客戶(hù)端(也即計(jì) 算機(jī)202 )能夠通過(guò)使用超文本傳輸協(xié)議(HTTP )消息傳送來(lái)發(fā)送和接收 到因特網(wǎng)的網(wǎng)絡(luò)消息,由此使能與服務(wù)供應(yīng)商服務(wù)器252的通信。應(yīng)用程 序244還包括上下文知曉視口模塊248。上下文知曉視口模塊包括用于實(shí) 現(xiàn)下文描述的圖3-6中所述的過(guò)程的代碼。在一實(shí)施例中,計(jì)算機(jī)202能 夠從服務(wù)供應(yīng)商服務(wù)器252下載交互式進(jìn)度條250。
在計(jì)算機(jī)202中所描繪的硬件組件不是旨在進(jìn)行窮舉,而是代表性的, 用于突出由本發(fā)明使用的部件。例如,計(jì)算機(jī)202可包括諸如磁帶、數(shù)字 通用盤(pán)(DVD)、伯努利盒式磁帶(Bernoulli cartridge )等等的可替換的 存儲(chǔ)器存儲(chǔ)設(shè)備。這些以及其它變體旨在屬于本發(fā)明的精神和范圍內(nèi)。
參考圖3,示出了示例的視口屏幕演示300。更具體地,視口 300包括 位于^f見(jiàn)口部分330之上的信息部分320。信息部分320提供上下文知曉信 息(即,關(guān)于在視口 330上端之上的方法(例如方法340)的信息)。當(dāng) 視口滾動(dòng)時(shí)(例如通過(guò)拖動(dòng)滾動(dòng)條350),信息部分被時(shí)常更新。滾動(dòng)視 口導(dǎo)致在視口部分330中呈現(xiàn)的信息通常以順序的方式改變。不過(guò),在不 同位置激活滾動(dòng)部分并導(dǎo)致滾動(dòng)條350直接移動(dòng)到所激活的位置也是可能 的。在視口部分330中呈現(xiàn)的信息對(duì)應(yīng)于滾動(dòng)條350的位置。
信息部分320提供了與指針(未示出)的位置相比較而言在視口 330 中正在顯示什么信息的直接反映。
在示例的視口屏幕演示300中,Java構(gòu)造函數(shù)raA&d^由/;ter。在視口 330中沒(méi)有完全可見(jiàn)。信息部分320呈現(xiàn)了該構(gòu)造函數(shù)的名稱(chēng)。突出的行 360指示出在視口中可見(jiàn)的其它方法。上下文知曉視口模塊248突出這些 附加方法,以在功能性區(qū)域的開(kāi)始和結(jié)束之間進(jìn)行區(qū)分。
參考圖4,示出了上下文知曉視口模塊248的操作的流程圖。上下文 知曉視口模塊248在步驟410監(jiān)視正在呈現(xiàn)視口的程序以確定用戶(hù)是否已經(jīng)滾動(dòng)查看器。當(dāng)查看器被滾動(dòng)時(shí),上下文知曉視口模塊248在步驟420 計(jì)算在視口中正被呈現(xiàn)的文檔的最上端的可見(jiàn)行。接著上下文知曉視口模 塊248在步驟430從行號(hào)減1。接著上下文知曉視口模塊248在步驟440 確定新的行號(hào)是否包含頭部(諸如方法頭部)。如果新的行號(hào)不包含頭部, 則上下文知曉視口模塊248再次在步驟430從行號(hào)減1。
如果新的行號(hào)確實(shí)包含頭部,則上下文知曉視口模塊248在步驟450 向所標(biāo)識(shí)的頭部設(shè)置空間上下文變量。所述空間上下文變量被上下文知曉 視口模塊248用于呈現(xiàn)與視口 330相關(guān)聯(lián)的信息部分320。
在某些實(shí)施例中,上下文知曉視口模塊248使用Java Swing JEditorPane的能力來(lái)查詢(xún)哪一行位于任意給定屏幕坐標(biāo)之下。滾動(dòng)監(jiān)聽(tīng) 器被附加到視口 ,從而上下文知曉視口模塊248被通知編輯器中的所有滾 動(dòng)事件。當(dāng)檢測(cè)到滾動(dòng)時(shí),Java Swing被詢(xún)問(wèn)哪個(gè)行號(hào)位于JEditorPane 的(01,01)之下。從該行起,文檔被向回遍歷,以尋找具有標(biāo)題的片段的 第一實(shí)例(諸如Java方法名稱(chēng))。當(dāng)找到時(shí),標(biāo)題^^顯示于信息部分中。 由此,當(dāng)用戶(hù)在文檔內(nèi)滾動(dòng)時(shí),信息部分320被實(shí)時(shí)更新。在某些實(shí)施例 中,如果具有標(biāo)題的片段未被找到,則信息部分320可以顯示文檔名稱(chēng)或 文件名稱(chēng)。
圖5示出了視口屏幕演示的另一示例500。信息部分320直到視口被 滾動(dòng)到新的上下文之前繼續(xù)呈現(xiàn)上下文知曉信息。因而,信息部分320示 出了浮見(jiàn)口 320的上下文對(duì)應(yīng)于/ "6/ic 0 ec,gC丄fl;v wa 附/7Owew,(9。上下文 g"丄"j;ow,C^附/wwew^)僅剩下的是結(jié)尾i吾句*/ 540。如果視口 再被滾動(dòng)兩行,則信息部分320將改變?yōu)槭境鲆暱?330的上下文對(duì)應(yīng)于上 下文戸緒c ^4flf一er ge,5^/ecteflL4flto/;tef (9 。
圖6示出了視口屏幕演示的另一示例600。在較長(zhǎng)的上下文的情形中, 在視口 330中可能沒(méi)有任何上下文信息可見(jiàn)。因而,如果視口 330被滾動(dòng) 到這樣的上下文,則用戶(hù)仍能夠經(jīng)由信息部分320具有與視口的上下文有 關(guān)的上下文知曉信息。例如,通過(guò)一見(jiàn)口屏幕演示600, 一見(jiàn)口的上下文對(duì)應(yīng)附圖中的流程圖和框圖示出了根據(jù)本發(fā)明的各種實(shí)施例的系統(tǒng)、方法 和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系結(jié)構(gòu)、功能和操作。在這點(diǎn)上,流程 圖或框圖中的每個(gè)框可以表示代碼部分、段或模塊,其包括用于實(shí)現(xiàn)指定 的一個(gè)或多個(gè)邏輯功能的一個(gè)或多個(gè)可執(zhí)行指令。還應(yīng)該注意,在某些可 替換實(shí)現(xiàn)中,在框中闡述的功能可以以不同于圖中闡述的順序發(fā)生。例如, 取決于所涉及的功能,順序示出的兩個(gè)框可能實(shí)際上基本并行地執(zhí)行,或 者所述框可能有時(shí)以相反的順序執(zhí)行。還將會(huì)注意,框圖和/或流程示 中的每個(gè)框、以及框圖和/或流程示中的框的組合可以由實(shí)施特定功能 或動(dòng)作的專(zhuān)用的基于硬件的系統(tǒng)、或者專(zhuān)用硬件和計(jì)算機(jī)指令的組合來(lái)實(shí) 現(xiàn)。
這里使用的術(shù)語(yǔ)是僅用于描述特定實(shí)施例的目的,而并非要限制本發(fā) 明。如這里使用的,除非上下文明確地另外進(jìn)行指示,否則單數(shù)形式"一
個(gè)(a)"、"一個(gè)(an)"和"該(the)"意在也包括復(fù)數(shù)形式。將會(huì) 進(jìn)一步理解,術(shù)語(yǔ)"包括(comprises),,和/或"包括(comprising),,當(dāng) 在本說(shuō)明書(shū)中使用時(shí)指定了所闡述的特征、整數(shù)、步驟、操作、單元和/ 或組件的存在,但不會(huì)排除其中的一個(gè)或多個(gè)其它的特征、整數(shù)、步驟、 操作、單元、組件和/或組的存在或增加。
權(quán)利要求中的所有裝置或步驟加上功能單元的相應(yīng)的結(jié)構(gòu)、材料、動(dòng) 作和等同物意在包括按照明確要求保護(hù)的、用于結(jié)合其它所要求保護(hù)的單 元來(lái)實(shí)施功能的任意結(jié)構(gòu)、材料或動(dòng)作。已經(jīng)出于說(shuō)明和描述的目的呈現(xiàn) 了對(duì)本發(fā)明的描述,但其并非意在窮舉或限制于所公開(kāi)的形式的發(fā)明。對(duì) 于本領(lǐng)域技術(shù)人員來(lái)說(shuō)許多修改和變體將顯而易見(jiàn),而不會(huì)背離本發(fā)明的 范圍和精神。所選擇和描述的實(shí)施例用來(lái)最好地解釋本發(fā)明的原理和實(shí)踐 應(yīng)用,以及使得本領(lǐng)域技術(shù)人員能夠理解針對(duì)具有適于預(yù)期的特定使用的 多種修改的多種實(shí)施例的本發(fā)明。
因此,在已經(jīng)詳細(xì)描述了本應(yīng)用發(fā)明并通過(guò)參考其中的實(shí)施例之后, 將很明顯,修改和變體是可能的,而不會(huì)背離在權(quán)利要求中限定的本發(fā)明 的范圍。
權(quán)利要求
1.一種計(jì)算機(jī)可實(shí)現(xiàn)方法,包括呈現(xiàn)圖形用戶(hù)界面,所述圖形用戶(hù)界面包括視口部分和信息部分;確定所述視口是否已經(jīng)被滾動(dòng);以及當(dāng)所述視口部分被滾動(dòng)時(shí)在所述信息部分中呈現(xiàn)上下文知曉信息。
2. 根據(jù)權(quán)利要求l所述的計(jì)算機(jī)可實(shí)現(xiàn)方法,進(jìn)一步包括 使用位置知曉功能來(lái)提供所述上下文知曉信息。
3. 根據(jù)權(quán)利要求l所述的計(jì)算機(jī)可實(shí)現(xiàn)方法,其中所述呈現(xiàn)上下文知 曉信息進(jìn)一步包括使用Java Swing JEditorPane來(lái)查詢(xún)哪一行位于任意給定4見(jiàn)口坐標(biāo)之下。
4. 根據(jù)權(quán)利要求l所述的計(jì)算機(jī)可實(shí)現(xiàn)方法,進(jìn)一步包括突出所述視口中的信息的若干部分以在不同的功能性區(qū)域之間進(jìn)行區(qū)分。
5. 根據(jù)權(quán)利要求l所述的計(jì)算機(jī)可實(shí)現(xiàn)方法,其中所述呈現(xiàn)上下文知 曉信息進(jìn)一步包括標(biāo)識(shí)所述視口中呈現(xiàn)的文檔的最上端的可見(jiàn)行; 確定與所述最上端的可見(jiàn)行相鄰的一行是否包含頭部;以及 呈現(xiàn)所述頭部。
6. 根據(jù)權(quán)利要求4所述的計(jì)算機(jī)可實(shí)現(xiàn)方法,其中所述呈現(xiàn)上下文知 曉信息進(jìn)一步包括確定與所述文檔的所述最上端的可見(jiàn)行相關(guān)聯(lián)的行號(hào);以及 從所述行號(hào)減一,以提供所述文檔的相鄰行的新的行號(hào),以標(biāo)識(shí)與所 述最上端的可見(jiàn)行相鄰的一行。
7. —種系統(tǒng),包括 處理器;耦合于所述處理器的數(shù)據(jù)總線(xiàn);以及包含計(jì)算機(jī)程序代碼的計(jì)算機(jī)可用媒體,所述計(jì)算機(jī)可用々某體耦合于 所述數(shù)據(jù)總線(xiàn),所述計(jì)算機(jī)程序代碼包括可以由所述處理器執(zhí)行的指令,并被配置用于呈現(xiàn)圖形用戶(hù)界面,所述圖形用戶(hù)界面包括視口部分和信息部分; 確定所述視口是否已經(jīng)被滾動(dòng);以及當(dāng)所述視口部分被滾動(dòng)時(shí)在所述信息部分中呈現(xiàn)上下文知曉信息。
8. 根據(jù)權(quán)利要求7所述的系統(tǒng),其中所述代碼被進(jìn)一步配置用于 使用位置知曉功能來(lái)提供所述上下文知曉信息。
9. 根據(jù)權(quán)利要求7所述的系統(tǒng),其中用于呈現(xiàn)上下文知曉信息的指令 被進(jìn)一步配置用于<吏用Java Swing JEditorPane來(lái)查詢(xún)哪一行位于任意給定浮見(jiàn)口坐標(biāo)之下。
10. 根據(jù)權(quán)利要求7所述的系統(tǒng),其中所述代碼被進(jìn)一步配置用于 突出所述視口中的信息的若干部分以在不同的功能性區(qū)域之間進(jìn)行區(qū)分。
11. 根據(jù)權(quán)利要求7所述的系統(tǒng),其中用于呈現(xiàn)上下文知曉信息的指 令被進(jìn)一步配置用于標(biāo)識(shí)所述^L口中呈現(xiàn)的文檔的最上端的可見(jiàn)行; 確定與所述最上端的可見(jiàn)行相鄰的一行是否包含頭部;以及 呈現(xiàn)所述頭部。
12. 根據(jù)權(quán)利要求ll所述的系統(tǒng),其中用于呈現(xiàn)上下文知曉信息的指 令被進(jìn)一步配置用于確定與所述文檔的所述最上端的可見(jiàn)行相關(guān)聯(lián)的行號(hào);以及 從所述行號(hào)減一,以提供所述文檔的相鄰行的新的行號(hào),以標(biāo)識(shí)與所 述最上端的可見(jiàn)行相鄰的一行。
全文摘要
一種在主動(dòng)滾動(dòng)的視圖窗格中提供功能性上下文的方法和系統(tǒng)。其中公開(kāi)了一種用于使用上下文知曉視口模塊來(lái)通過(guò)圖形顯示視口并與之交互的方法、系統(tǒng)和計(jì)算機(jī)可用媒體。所述上下文知曉視口以圖形用戶(hù)界面(GUI)的方式實(shí)現(xiàn),并包括空間上的上下文知曉信息部分和視口部分。
文檔編號(hào)G06F9/44GK101295248SQ200810091249
公開(kāi)日2008年10月29日 申請(qǐng)日期2008年4月23日 優(yōu)先權(quán)日2007年4月25日
發(fā)明者J·E·費(fèi)爾伯, L·S·巴爾比, R·A·伯伊爾斯, S·D·奧爾特加 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司