(57)【要約】【課題】表示スクリーン上に表示されている内容のタイトル等をこの内容の上部に表示する方法を提供する。【解決手段】ビューポート部及び情報部を含むグラフィカル・ユーザ・インターフェースを表示即ち提示し、ビューポート部がスクロールされたかどうかを調べ、そして、ビューポート部がスクロールされるときに情報部内にコンテキスト意識情報を表示即ち提示する。【選択図】図４
2008276762.tif 000002
【特許請求の範囲】
【請求項１】
ビューポート部及び情報部を含むグラフィカル・ユーザ・インターフェースを表示するステップと、
前記ビューポート部がスクロールされたかどうかを調べるステップと、
前記ビューポート部がスクロールされるときに前記情報部内にコンテキスト意識情報を表示するステップを含む、コンピュータにより実行される方法。
【請求項２】
前記コンテキスト意識情報を与えるために位置意識機能を使用する、請求項１に記載の方法。
【請求項３】
前記コンテキスト意識情報を表示するステップは、どの行が、任意に与えられたビューポート座標の下にあるかを質問するためにJava Swing JEditorPaneを使用する、請求項１に記載の方法。
【請求項４】
異なる機能領域相互間を区別するためにビューポート部内の情報の一部分をハイライトにするステップを含む、請求項１に記載の方法。
【請求項５】
前記コンテキスト意識情報を表示するステップは、
前記ビューポート部内に表示されているドキュメントの最も上の可視行を識別するステップと、
前記最も上の可視行に隣接する行がヘッダを含むか否かを調べるステップと、
前記ヘッダが含まれていれば、前記ヘッダを表示するステップとを含む、請求項１に記載の方法。
【請求項６】
前記コンテキスト意識情報を表示するステップは、
ドキュメントの最も上の可視行に関連する行番号を調べるステップと、
前記行番号から１を減算して、前記ドキュメントの隣接する行の新たな行番号を与えて前記最も上の可視行に隣接する行を同定するステップとを含む、請求項４に記載の方法。
【請求項７】
プロセッサと、
前記プロセッサに結合されたデータ・バスと、
前記データ・バスに結合され、プログラムを記録したコンピュータ読み取り可能な記録媒体とを備え、
コンピュータ読み取り可能な記録媒体は、前記プロセッサに、
ビューポート部及び情報部を含むグラフィカル・ユーザ・インターフェースを表示するステップと、
前記ビューポート部がスクロールされたかどうかを調べるステップと、
前記ビューポート部がスクロールされるときに前記情報部内にコンテキスト意識情報を表示するステップを実行させる、システム。
【請求項８】
コンピュータに、
ビューポート部及び情報部を含むグラフィカル・ユーザ・インターフェースを表示するステップと、
前記ビューポート部がスクロールされたかどうかを調べるステップと、
前記ビューポート部がスクロールされるときに前記情報部内にコンテキスト意識情報を表示するステップとを実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項９】
前記プログラムは、遠隔地にあるサーバからクライアント・コンピュータに送られて利用可能な状態にされる、請求項８に記載のコンピュータ読み取り可能な記録媒体。
【請求項１０】
前記プログラムは、サービス・プロバイダからカストマにオン・デマンド方式で与えられる、請求項８に記載のコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的にいうと、コンピュータの分野及び同様な技術に関し、更に具体的にいうと、この分野で利用されるソフトウエアに関する。更に具体的にいうならば、本発明は、活動的にスクロール中のビュー・ペイン（ｐａｎｅ、データ表示部分）内に機能的コンテキスト（データ若しくはアドレス等の情報）を与えることに関する。
【背景技術】
【０００２】
ユーザが、機能的セクション又は題名がつけられたデータを有するドキュメント（文書）を観察又は編集しているときに、ドキュメントの一部分を観察することはできるが、どのセクション又は機能を見ているかを知ることができないことがある。例えば図1（従来技術）は、可視可能なソース・コードを有するビューポート（スクリーン座標系の領域）を示す。観察中のメソッドの内容は、ビューポートの長さよりも長い。従って、ビューポートをスクロールしても、ユーザは、観察中のセクションのタイトル（題名）又は名称を常に知り得るとは限らない。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
周知のグラフィカルなプログラム開発環境（ＩＤＬ）は、観察中のメソッド名を階層アウトラインでハイライト表示することによりこの問題に対処してきた。しかしながら、メソッドのハイライト表示は、編集カーソルの位置に基づいてなされる。従って、メソッド内の或るテキストを選択すること、又はメソッド内の或る位置にカーソルを付勢すること、及びこのメソッドから離れるようにビューポートをスクロールすることが可能である。この動作は、観察中のセクションに比較してどのセクション又は機能がコード内に配置されているかに関してハイライトを誤らせ得る。例えば、図1は、1行（１ライン）が選択されていることを示す。もしもアウトライン・ビユーが、メソッド「クリエイト・ビュー（）」（ｃｒｅａｔｅ  ｖｉｅｗ（））が編集されつつあり、そしてこのビューがコード内の新たな領域にスクロールされるならば、アウトラインは、このビューがどこにスクロールされたかについての情報を与えない。
【課題を解決するための手段】
【０００４】
本発明に従うと、ビューポートをグラフィック的に表示しそして相互作用する、コンテキスト意識ビューポート・モジュールを使用する方法、システム及びコンピュータ読み取り可能な記録媒体が提供される。本発明の種々な実施例において、コンテキスト意識ビューポート（ｃｏｎｔｅｘｔ  ａｗａｒｅ  ｖｉｅｗｐｏｒｔ）は、グラフィカル・ユーザ・インターフェース（ＧＵＩ）で具現化即ち、インプリメントされ、そして、情報部及びビューポート部を含む。
【０００５】
更に具体的にいうと、1つの実施例において、本発明は、コンピュータで具現化し得る方法に関し、そして、この方法は、ビューポート部及び情報部を含むグラフィカル・ユーザ・インターフェースを表示即ち提示（ｐｒｅｓｅｎｔ）し、ビューポート部がスクロールされたかどうかを調べ、そして、ビューポート部がスクロールされるときに情報部内にコンテキスト意識情報（ｃｏｎｔｅｘｔ  ａｗａｒｅ  ｉｎｆｏｒｍａｔｉｏｎ）を表示即ち提示することを含む。
【０００６】
他の実施例において、本発明は、プロセッサ、このプロセッサに結合されたデータ・バス、及びコンピュータ・プログラム・コードを実施するコンピュータ読み取り可能な記録媒体を備え、このコンピュータ読み取り可能な記録媒体は、データ・バスに結合される。コンピュータ・プログラムは、プロセッサにより実行される命令を有し、そしてビューポート部及び情報部を含むグラフィカル・ユーザ・インターフェースを表示即ち提示し、ビューポート部がスクロールされたかどうかを調べ、そして、ビューポート部がスクロールされるときに情報部内にコンテキスト意識情報を表示即ち提示するように構成される。
【０００７】
他の実施例において、本発明は、コンピュータ・プログラム・コードを実施するコンピュータ読み取り可能な記録媒体に関する。コンピュータ・プログラム・コードは、コンピュータ実行可能な命令を有し、そしてビューポート部及び情報部を含むグラフィカル・ユーザ・インターフェースを表示即ち提示し、ビューポート部がスクロールされたかどうかを調べ、そして、ビューポート部がスクロールされるときに情報部内にコンテキスト意識情報を表示即ち提示するように構成される。
【０００８】
本発明は、コンテキスト意識情報を与えるために位置意識機能を使用する。コンテキスト意識情報を表示するステップは、どの行が、任意に与えられたビューポート座標の直ぐ下にあるかを質問するためにJava Swing JEditorPaneを使用する。本発明は、異なる機能領域相互間を区別するためにビューポート部内の情報の一部分をハイライトにするステップを含む。コンテキスト意識情報を表示するステップは、ビューポート部内に表示されているドキュメントの最も上の可視行を識別するステップと、最も上の可視行に隣接する行がヘッダを含むか否かを調べるステップと、ヘッダが含まれていれば、ヘッダを表示するステップとを含む。コンテキスト意識情報を表示するステップは、ドキュメントの最も上の可視行に関連する行番号を調べるステップと、行番号から１を減算して、ドキュメントの隣接する行の新たな行番号を与えて最も上の可視行に隣接する行を同定するステップとを含む。プログラムは、遠隔地にあるサーバからクライアント・コンピュータに送られて利用可能な状態にされる。プログラムは、サービス・プロバイダからカストマにオン・デマンド方式で与えられる。上述の本発明の目的、特徴及び利点は、下記の詳細に記載した説明から明らかになるであろう。
【０００９】
本発明の特徴である新規な構成は、添付の請求の範囲に記載してある。しかしながら、本発明自体、使用の良好なモード、更なる目的及び利点は、添付の図面に関連して以下の例示的な実施例の詳細な説明を参照することによりよく理解されるであろう。
【００１０】
ビューポートをグラフィック的に表示しそしてこれと相互作用するコンテキスト意識ビューポート・モジュール（ｃｏｎｔｅｘｔ  ａｗａｒｅ  ｖｉｅｗｐｏｒｔ  ｍｏｄｕｌｅ）を使用する方法、システム及びコンピュータ読み取り可能な記録媒体が開示される。本発明の種々な実施例において、コンテキスト意識ビューポートは、グラフィカル・ユーザ・インターフェース（ＧＵＩ）においてインプリメント即ち具現化され、そして情報部及びビューポート部を有する。  
【００１１】
当業者により認められるように、本発明は、方法、システム又はコンピュータ読み取り記録媒体として実施されることができる。したがって、本発明の実施例は、全体的にハードウエア、全体的にソフトウエア（ファームウエア、レジデント・ソフトウエア、マイクロ・コード等を含む）又はソフトウエア及びハードウエアを組み合わせた実施例において具現化されることができる。これらの多様な実施例は、本明細書では、回路、モジュールもしくはシステムとして参照する。更に、本発明は、コンピュータ使用可能なプログラム・コードを有する、コンピュータ読み取り可能な記録媒体上のコンピュータ・プログラム製品の形をとることができる。
【００１２】
任意のコンピュータ使用可能な若しくはコンピュータ読み取り可能な記録媒体が利用されることができる。コンピュータ使用可能な若しくはコンピュータ読み取り可能な記録媒体は、例えば電子的、磁気的，光学的、電磁気的、赤外線又は半導体システム、装置、デバイス若しくは伝播媒体でも良いがこれには限定されない。コンピュータ読み取り可能な記録媒体の更に具体的な例は、完全に網羅してはいないが、1つ以上のワイヤを有する電気的接続、ポータブル・コンピュータのディスケット、ハードディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去できるプログラム可能な読み取り専用メモリ（ＥＰＲＯＭ若しくはフラッシュ・メモリ）、光ファイバ、携帯型のコンパクト・ディスク読み取り専用メモリ（ＣＤ-ＲＯＭ）、光学的記憶装置、インターネット若しくはイントラネットをサポートするような伝送媒体、又は磁気記憶デバイスである。コンピュータ使用可能な若しくはコンピュータ読み取り可能な記録媒体は、プログラムが印刷されている紙若しくは他の適切な媒体でもよく、プログラムは、例えば紙若しくは他の媒体を光学的に走査することにより電子的に取り込まれ、次いで、コンパイルされ、変換され、若しくはもしも必要ならば適切な手法で処理され、次いでコンピュータ・メモリに記憶されることができる。本明細書においては、コンピュータ使用可能な若しくはコンピュータ読み取り可能な記録媒体は、命令実効システム、装置若しくはデバイスにより使用されるためのプログラムを含み、記憶し、通信し、伝播し若しくは転送することができる任意の媒体とすることができる。コンピュータ使用可能な記録媒体は、ベースバンド若しくはキャリア波形の一部として具現化されたコンピュータ使用可能なプログラム・コードを伴う伝播型のデータ信号を含むことができる。コンピュータ使用可能なプログラム・コードは、例えばこれに限らないが、インターネット、有線、光ファイバ・ケーブル、無線周波数（ＲＦ）等を含む適切な媒体を使用して転送されることができる。
【００１３】
本発明の動作を実行するコンピュータ・プログラム・コードは、例えばジャバ（Ｊａｖａ）、スモールトーク、Ｃ＋＋若しくは他の同様なもののようなオブジェクト指向のプログラミング・ランゲージで記述されることができる。しかしながら、本発明の動作を実行するコンピュータ・プログラム・コードは、例えば“Ｃ”プログラミング・ランゲージ若しくは同様のプログラミング・ランゲージのような通常の手順のプログラミング・ランゲージで記述されることができる。プログラム・コードは、ユーザのコンピュータ上で全体的に実行し、スタンドアローン・ソフトウエア・パッケージとしてユーザのコンピュータ上で部分的に実行し、ユーザのコンピュータ上で部分的に実行し、そしてリモート・コンピュータ上で部分的に実行し、又はリモート・コンピュータ若しくはサーバ上で部分的に実行することができる。後者の場合、リモート・コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）若しくはワイド・エリア・ネットワーク（ＷＡＮ）を介してユーザのコンピュータに接続されることができ、又は接続は、例えばインターネット・サービス・プロバイダを使用するインターネットを介して外部コンピュータになされることができる。
【００１４】
本発明の実施例は、フローチャートまたは方法のブロック・ダイアグラムあるいはその両方、装置（システム）及びコンピュータ・プログラム製品を参照して以下に説明される。フローチャートの各ブロックまたはブロック・ダイアグラムの各ブロックあるいはその両方、並びにフローチャートのブロックの組み合わせまたはブロック・ダイアグラムのブロックの組み合わせあるいはその両方は、コンピュータ・プログラム命令により実行されることができる。これらのコンピュータ・プログラム命令は、汎用コンピュータ、専用コンピュータ若しくは他のプログラム可能なデータ処理装置のプロセッサに与えられてマシンを構成することができ、その結果、コンピュータ若しくは他のプログラム可能なデータ処理装置のプロセッサを介して実行するこれらの命令は、フローチャート又はブロック・ダイアグラムの単一ブロック若しくは複数ブロックあるいはその両方において指定された機能又は動作を実行する手段を生成する。
【００１５】
これらのコンピュータ・プログラム命令は、コンピュータ読み取り可能なメモリに記憶され、コンピュータ若しくは他のプログラム可能なデータ処理装置を特定な態様で機能させるようにすることができ、その結果、コンピュータ読み取り可能なメモリに記憶された命令は、フローチャート又はブロック・ダイアグラムの単一ブロック若しくは複数ブロックあるいはその両方において指定された機能又は動作を実行する命令手段を含む製品を生じる。
【００１６】
又、コンピュータ・プログラム命令は、コンピュータ若しくは他のプログラム可能なデータ処理装置に入力されて、コンピュータ若しくは他のプログラム可能なデータ処理装置上で一連の動作ステップを実行させて、コンピュータで実行されるプロセスを生成させることができ、その結果、コンピュータ若しくは他のプログラム可能なデータ処理装置上で実行される命令は、フローチャート又はブロック・ダイアグラムの単一ブロック若しくは複数ブロックあるいはその両方において指定された機能又は動作を実行するステップを与える。
【発明を実施するための最良の形態】
【００１７】
図２は、本発明が利用することができる例示的なコンピュータ２０２のブロック・ダイアグラムである。コンピュータ２０２は、システム・バス２０６に結合されたプロセッサ・ユニット２０４を含む。表示装置２１０を制御するビデオ・アダプタ２０８も又システム・バス２０６に結合されている。システム・バス２０６は、バス・ブリッジ２１２を介して入出力（Ｉ／Ｏ）バス２１４に結合されている。Ｉ／Ｏインターフェース２１６は、Ｉ／Ｏバス２１４に結合されている。Ｉ／Ｏインターフェース２１６は、キーボード２１８，マウス２２０，コンパクト・ディスク読みとり専用メモリ（ＣＤ−ＲＯＭ）ドライブ２２２，フロッピィ・ディスク・ドライブ２２４，及びフラッシュ・ドライブ・メモリ２２６を含む種々なＩ／Ｏデバイスと通信することができる。Ｉ／Ｏインターフェース２１６に接続されているポートのフォーマットは、コンピュータ・アーキテクチャの分野の当業者にとって周知のもの、例えばユニバーサル・シリアル・バス（ＵＳＢ）でよいがこれに限定されない。
【００１８】
又、コンピュータ２０２は、システム・バス２０６に結合されたネットワーク・インターフェース２３０を使用して、ネットワーク２２８を介してサービス・プロバイダ・サーバ２５２と通信することができる。ネットワーク２２８は、インターネットのような外部ネットワーク、又はイーサネット・ネットワーク若しくはバーチャル・プライベート・ネットワーク（ＶＰＮ）のような内部ネットワークでもよい。ネットワーク２２８を使用して、コンピュータ２０２は、サービス・プロバイダ・サーバ２５２をアクセスするために本発明を使用することができる。
【００１９】
又、ハード・ドライブ・インターフェース２３２が、システム・バス２０６に結合されている。ハード・ドライブ・インターフェース２３２は、ハード・ドライブ２３４をインターフェースする。良好な実施例においては、ハード・ドライブ２３４は、システム・バス２０６に結合されているシステム・メモリ２３６を補助（ｐｏｐｕｌａｔｅ）する。システム・メモリ２３６にあるデータは、コンピュータ２０２のオペレーティング・システム（ＯＳ）２３８及びアプリケーション・プログラム２４４を含む。
【００２０】
ＯＳ２３８は、例えばアプリケーション・プログラム２４４のようなリソースに対して透過的なユーザ・アクセスを与えるシェル２４０を含む。一般的に、シェル２４０は、ユーザ及びオペレーティング・システムの間のインタプリタ及びインターフェースを与えるプログラムである。更に具体的にいうと、シェル２４０は、コマンド・ライン・ユーザ・インターフェースに入った若しくはファイルからのコマンドを実行する。かくして、シェル２４０は（ＵＮＩＸ（Ｒ）でこう呼ばれるように、又、Ｗｉｎｄｏｗｓ（Ｒ）でコマンド・プロセッサと呼ばれるように）、一般的にオペレーティング・システム・ソフトウエア階層の最高のレベルであり、そしてコマンド・インタプリタとして働く。シェルは、システム・プロンプトを与え、キーボード、マウス若しくは他のユーザ入力媒体により入力されたコマンドを変換し（ｉｎｔｅｒｐｒｅｔ）そして、この変換されたコマンドを、オペレーティング・システムのうちの適切な低レベル（例えば、カーネル２４２）に送って処理させる。シェル２４０は、テキスト・ベースの行指向（ｌｉｎｅ−ｏｒｉｅｎｔｅｄ）ユーザ・インタフェースであるが、本発明は、例えば、グラフィック、音声、身振り手振り等の他のユーザ・インタフェースをサポートすることができる。
【００２１】
前述のように、ＯＳ２３８は又、ＯＳ２３８に対する低レベルの機能を含むカーネル２４２を含み、そしてこれは、ＯＳ２３８の他の部分及びアプリケーション・プログラム２４４により要求される実質的サービスと、メモリ管理、プロセス及びタスク管理、ディスク管理、並びにマウス及びキーボード管理を含む。
【００２２】
アプリケーション・プログラム２４４は、ブラウザ２４６及びイー・メイル・クライアント２４８を含むことができる。ブラウザ２４６は、ワールド・ワイド・ウエブ（ＷＷＷ）クライアント（即ち、コンピュータ２０２）をイネーブルして、ハイパーテキスト転送プロトコル（ＨＴＴＰ）メッセージを使用するインターネットに対するネットワーク・メッセージの送受を行い、かくしてサービス・プロバイダ・サーバ２５２との通信をイネーブルするプログラム・モジュール及び命令を含む。又、アプリケーション・プログラム２４４は、コンテキスト意識ビューポート・モジュール２４８を含む。コンテキスト意識ビューポート・モジュール２４８は、以下に述べる図３乃至図６で説明するプロセスを実行するためのコードを含む。１つの実施例において、コンピュータ２０２は、サービス・プロバイダ・サーバ２５２からインタラクティブ・プログレス・バー２５０（処理の進行状況を知らせるバー）をダウンロードすることができる。
【００２３】
コンピュータ２０２内に示してあるハードウエア要素は、完全性を意図するものではなく、本発明により使用されるハイライト・コンポーネントの典型例である。例えば、コンピュータ２０２は、磁気カセット、ディジタル多用途ディスク（ＤＶＤ）、ベルヌーイ・カートリッジ等の代替的なメモリ記憶装置を含むことができる。これら及び他の変形例は、本発明の精神及び範囲内に含まれる。
【００２４】
図３を参照すると、表示装置２１０の表示スクリーン上に表示される例示的なビューポート・スクリーン提示（表示）３００が示されている。更に具体的にいうと、ビューポート３００は、ビューポート部３３０の上側に位置決めされている情報部３２０を含む。情報部３２０は、コンテキスト意識情報（即ち、ビューポート部３３０（例えばメソッド３４０）の最上端を越えるメソッドに関する情報）を与える。情報部は、ビューポートが（例えばスクロール・バー３５０をドラグすることにより）スクロールされる間に絶えず更新される。ビューポートのスクロールにより、ビューポート部３３０内に提示（表示）されている情報が、しばしば逐次的に変更される。しかしながら、スクロール部をこれの或る位置において能動化し、そしてスクロール・バー３５０を能動化された位置に直接移動させることが可能である。ビューポート部３３０内に表示即ち提示された情報は、スクロール・バー３５０の位置に対応する。
【００２５】
情報部３２０は、カーソル（図示せず）の位置と比較すると、ビューポート部３３０内にどの情報が表示されているかを直接的に反映する。
【００２６】
例示的なビューポート・スクリーン提示３００においては、Ｊａｖａ  ＣｏｎｓｔｒｕｃｔｏｒＴａｂｂｅｄＡｄａｐｔｅｒ（）の全体をビューポート部３３０内で見ることはできない。情報部３２０は、上記コンストラクタの名称を提示（表示）する。ハイライトされた行３６０は、ビューポート内で可視可能な他のメソッドを示す。コンテキスト意識ビューポート・モジュール２４８は、機能領域の開始点と終点とを区別するために、これらの付加的なメソッドをハイライトにする。
【００２７】
図４を参照すると、コンテキスト意識ビューポート・モジュール２４８の動作のフロー・チャートが示されている。コンテキスト意識ビューポート・モジュール２４８は、ステップ４１０において、ユーザがビューワをスクロールしたかどうかを調べる。ユーザがビューポート部３３０の表示をスクロールしたときに、コンテキスト意識ビューポート・モジュール２４８は、ステップ４２０において、ビューポート部３３０内に表示即ち提示されているドキュメント（文書）の最も上の可視行（ライン）を計算する。次に、コンテキスト意識ビューポート・モジュール２４８は、ステップ４３０において、最も上の行の行番号（ｌｉｎｅ  ｎｕｍｂｅｒ）から１を減算する。次に、コンテキスト意識ビューポート・モジュール２４８は、ステップ４４０において、この新たな行番号がヘッダ（例えば、メソッド・ヘッダ）を含むかどうかを調べる。もしも新たな行番号がヘッダを含まなければ、コンテキスト意識ビューポート・モジュール２４８は、ステップ４３０において、再び行番号から１を減算する。
【００２８】
もしも新たな行番号がヘッダを含むならば、コンテキスト意識ビューポート・モジュール２４８は、ステップ４５０において、識別されたヘッダに空間コンテキスト変数（ｓｐａｔｉａｌ  ｃｏｎｔｅｘｔ  ｖａｒｉａｂｌｅ）をセットする。この空間コンテキスト変数は、ビューポート部３３０に関連する情報部３２０を提示（表示）するためにコンテキスト意識ビューポート・モジュール２４８により使用される。この結果、情報部３２０に、上記新たな行番号に含まれているヘッダが表示される。
【００２９】
他の実施例においては、コンテキスト意識ビューポート・モジュール２４８は、どの行が、任意に与えられたスクリーン座標のすぐ下にあるかを質問するために、Ｊａｖａ  Ｓｗｉｎｇ  ＪＥｄｉｔｏｒＰａｎｅの能力を使用する。コンテキスト意識ビューポート・モジュール２４８がエディタ内の全てのスクローリング・イベントを知らされるように、スクロール・リスナが、ビューポートに取り付けられる。スクロールが検出されるときに、ジャバ・スウィング（Ｊａｖａ  Ｓｗｉｎｇ）は、ジェイ・エディタ・ペイン（ＪＥｄｉｔｏｒＰａｎｅ）の（０１，０１）の下の行番号は何かを問われる。この行からドキュメントは、（例えば、ジャバ・メソッド・ネームのような）タイトルが付けられたセクション（Ｔｉｔｌｅｄ  Ｓｅｃｔｉｏｎ）の第１番目のインスタンス（ｉｎｓｔａｎｃｅ、絶対値としてのデータ）を探すために逆方向に移動される。このようなタイトルが見いだされると、このタイトルが情報部３２０に表示される。かくして、情報部３２０は、ユーザがドキュメントをスクロールするにつれて実時間で更新される。別の実施例において、もしもタイトルが付けられたセクションが見いだされなければ、情報部３２０は、ドキュメント名若しくはファイル名を表示することができる。
【００３０】
図５は、ビューポート・スクリーン提示５００の他の例を示す。情報部３２０は、ビューポートが新たなコンテキストにスクロールされるまで、コンテキスト意識情報を表示（提示）し続ける。従って、情報部３２０は、ビューポート部３３０のコンテキストが、パブリック・オブジェクト・ゲットレイアウトコンポーネント  （）（Ｐｕｂｌｉｃ  Ｏｂｊｅｃｔ  ｇｅｔＬａｙｏｕｔＣｏｍｐｏｎｅｎｔ（））に対応することを示す。コンテキストＰｕｂｌｉｃ  Ｏｂｊｅｃｔ  ｇｅｔＬａｙｏｕｔＣｏｍｐｏｎｅｎｔ（）の左の全部は、クローズイング・ステートメント＊／５４０である。もしもビューポートが、更に２行だけスクロールされるならば、情報部３２０は、ビューポート部３３０のコンテキストが、コンテキスト「パブリック・アダプタ・ゲットセレクテッドアダプタ（）（Ｐｕｂｌｉｃ  Ａｄａｐｔｅｒ  ｇｅｔＳｅｌｅｃｔｅｄＡｄａｐｔｅｒ（））」に対応することを示すように変化する。
【００３１】
図６は、ビューポート・スクリーン提示６００の他の例を示す。コンテキストが長い場合、追加のコンテキスト情報がビューポート３３０内で視認できないことが起こり得る。従って、もしもビューポート３３０がそのようなコンテキストまでスクロールされるならば、ユーザは、情報部３２０を介して、ビューポートのコンテキストに関するコンテキスト意識情報を依然として有することができる。例えば、ビューポート・スクリーン提示６００の場合、ビューポートのコンテキストは、ｐｕｂｌｉｃ／＊ｗａｓ  ｐｒｏｔｅｃｔｅｄ  ＊／ｖｏｉｄ  ａｄｄＣｏｍｐｏｎｅｎｔ  （Ａｄａｐｔｅｒ  ａｄａｐｔｅｒ）に対応する。
【００３２】
図２乃至図６のフローチャート及びブロック・ダイアグラムは、本発明の種々な実施例に従うシステム、方法及びコンピュータ・プログラム製品を具現化したもの（インプリメンテーション）のアーキテクチャ（構成）、機能及び動作を示す。これに関して、フローチャート若しくはブロック・ダイアグラムの各ブロックは、指定された論理機能を具現化又は実現するための１つ以上の実行可能な命令を構成するモジュール、セグメント又はコードの一部を表す。幾つかの代替的な具現化（インプレメンテーション）において、ブロック内に表記されている機能は、図に示されている順序と異なる順序で行われることができる。例えば、連続して示されている２つのブロックは、行われる機能に依存して、実際にはほぼ同時に実行されることができ、又は、２つのブロックは、逆の順序で実行されることができる。ブロック・ダイアグラムまたはフローチャートあるいはその両方の各ブロックと、ブロック・ダイアグラムまたはフローチャートあるいはその両方のブロックの組み合わせは、指定された機能または動作を達成する専用のハードウエア・ベースのシステム、または専用ハードウエア及びコンピュータ命令の組み合わせにより具現化（インプリメント）され得ることに注目されたい。
【００３３】
本明細書で使用した用語は、特定な実施例を説明する目的のためのものであるにすぎず、本発明を限定するものではない。
【００３４】
上述の説明は、本発明を説明及び図示するためのものであって、本発明をこれに限定するものではない。本発明の範囲及び精神から逸脱することなく、多くの修正及び変更が可能であることは、当業者にとって明らかであろう。本発明の原理及びこれの実用的な適用を最もよく説明するために、そして、意図する特定な使用に適した種々な修正を伴う種々な本発明の実施例を当業者に理解させるために、上述の実施例が選択されそして説明された。
【図面の簡単な説明】
【００３５】
【図１】従来の例示的なビューポート・スクリーン提示を示す図である。
【図２】本発明が具現化されることができる例示的なコンピュータ・システムを示す図である。
【図３】例示的なビューポート・スクリーン提示を示す図である。
【図４】コンテキスト意識ビューポート・モジュールの動作のフローチャートを示す図である。
【図５】ビューポート・スクリーン提示の他の例を示す図である。
【図６】ビューポート・スクリーン提示の他の例を示す図である。
【図１】
2008276762.tif 000003
【図２】
2008276762.tif 000004
【図３】
2008276762.tif 000005
【図４】
2008276762.tif 000006
【図５】
2008276762.tif 000007
【図６】
2008276762.tif 000008