(57)【特許請求の範囲】
【請求項１】
管理しているデータを表示する表示領域と、前記データを階層的に表示可能な第１分割領域とを有するＧＵＩを表示可能な情報処理装置であって、
前記第１分割領域で選択されているデータが、該第１分割領域のスクロール操作により前記第１分割領域から表示されなくなるかどうかを検出するイベント制御手段と、
前記イベント制御手段による検出に基づき、前記第１分割領域から表示されなくなるデータの情報を表示するための、前記表示領域及び第１分割領域とは異なる第２分割領域を生成する分割手段と、
生成された前記第２分割領域に、前記イベント制御手段により前記第１分割領域から表示されなくなると検出されたデータを表示する選択データ表示手段とを備えたことを特徴とする情報処理装置。
【請求項２】
第１分割領域中の所定箇所に移動させる操作に基づき、第２分割領域に表示されたデータを、移動先の箇所に該データを移動させるとともに、前記第２分割領域を消去させることを特徴とする、請求項１に記載の情報処理装置。
【請求項３】
前記第２分割領域に表示する前記選択データの数に対応して、前記第２分割領域のサイズを、設定最大サイズから消去までの範囲で変更するリサイズ手段を含む、請求項１または２に記載の情報処理装置。
【請求項４】
前記重複表示回避手段は、選択データ保持手段に保持されたデータおよび前記分割領域に表示されたデータの集合積の結果集合に含まれる前記データを、前記第２分割領域で非表示に設定する、請求項２または３に記載の情報処理装置。
【請求項５】
前記イベント制御手段は、前記第２分割領域に表示された少なくとも１つの前記選択データへのユーザアクションを検出し、前記選択データ保持手段にエントリされた全データを、シーケンスを保持させながら前記ユーザアクションの引数として渡す、請求項１〜請求項４に記載の情報処理装置。
【請求項６】
前記ＧＵＩシステムは、前記情報処理装置のファイル管理モジュールである、請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
管理しているデータを表示する表示領域と、前記データを階層的に表示可能な第１分割領域とを有するＧＵＩを表示させる装置実行可能な方法であって、情報処理装置が
前記第１分割領域で選択されているデータが、該第１分割領域のスクロール操作により前記第１分割領域から表示されなくなるかどうかを検出するステップと、
イベント制御手段による検出に基づき、前記第１分割領域から表示されなくなるデータの情報を表示するための、前記表示領域及び第１分割領域とは異なる第２分割領域を生成するステップと、
生成された前記第２分割領域に、前記イベント制御手段により前記第１分割領域から表示されなくなると検出されたデータを表示するステップとを実行させることを特徴とする方法。
【請求項８】
前記第１分割領域に形成され、前記第１分割領域に表示させる前記データを変更するスクロール手段または改ページ手段により前記第１分割領域に表示する前記データを変更するステップと、
前記変更に応答して、前記第２分割領域に表示する前記選択データを、前記第１分割領域の表示との重複表示を回避するように設定するステップと
を実行する、請求項７に記載の方法。
【請求項９】
前記重複表示を回避するように設定するステップは、前記選択データ保持手段に保持されたデータおよび前記分割領域に表示されたデータの集合積の結果集合に含まれる前記データを、前記第２分割領域で非表示に設定するステップを含む、請求項７または８に記載の方法。
【請求項１０】
さらに、前記第２分割領域に表示された少なくとも１つの前記選択データへのユーザアクションを検出するステップと、
前記選択データ保持手段にエントリされた全データを、シーケンスを保持させながら前記ユーザアクションの引数として渡すステップと
を実行する、請求項６〜請求項９に記載の方法。
【請求項１１】
請求項１〜６のいずれか１項に記載の機能手段として情報処理装置を機能させるための装置実行可能なプログラム。
【請求項１２】
請求項１１に記載のプログラムを記録した装置可読な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置でのグラフィカルユーザインタフェースシステム、グラフィカルユーザインタフェース生成方法およびプログラムに関する。
【背景技術】
【０００２】
文書管理システムは、近年、専用端末を使用するシステムから、パーソナルコンピュータに対して文書管理アプリケーションをインストールしてシステムとされるようになっている。従来の文書管理システムでのグラフィカルインタフェース（ＧＵＩ）は、文書やフォルダ（以下、総じてデータとして参照する。）に対する操作を行なう場合、デスクトップ画面上にウィンドウを生成し、ウィンドウ内に形成されたフレーム内にデータを表示させる。ユーザがデータを選択する場合、ユーザは、データを表示させたフレーム内に表示されたデータを、マウスなどにより選択した後、目的の操作のメニューやボタンなどの選択する処理が行われる。
【０００３】
また、他のシステムでは、データを表示させたアイコンを、マウスなどでデータアイコンをダブルクリックする処理、または特定の処理を行うためのアプリケーションアイコンに対してデータアイコンを、ドラッグアンドドロップするといったイベントで、特定のデータに対して選択したアプリケーションまたはデータに関連付けられたアプリケーションを起動してデータに対するアクセスする。また、パーソナルコンピュータなどの情報処理装置の機能が高機能化し、またハードディスク装置の大容量化に伴い、文書管理システムが管理しなければならないデータも膨大な量となってきている。
【０００４】
このため、従来、表示するべきデータがデータ表示のために形成されたフレームに収まりきらない場合、ユーザは、目的のデータがフレーム内に表示されるまで、フレームの側部に形成されたスクロールバーを操作し、ファイル名などがフレーム内に表示されるまで、データを順次スクロースして表示させ、目的のデータを画面上に表示する。
【０００５】
また、データに対する処理要求も複雑化しており、ユーザは、複数のデータを同時に選択して特定のアプリケーションプログラムで、マージ、カットアンドペーストなどの処理を行うことも常態化している。ユーザが複数のデータを選択する場合、選択したいデータがすべて画面上に表示されていない場合、従来の文書管理システムでは、１つのデータを選択しながら、スクロールバーを操作して、次に目的とするデータを選択する。
【０００６】
上述した従来のＧＵＩシステムとしては、例えば特開平１１−９６１９４号公報（特許文献１）に記載されたシステムを挙げることができる。特許文献１に記載されたＧＵＩシステムは、ブラウザ画面上でフォルダ表示領域のフォルダの選択に対応してフォルダを識別表示し、選択されたフォルダ内の画像ファイルのサムネイルをサムネイル表示領域に表示する。そして、複数のデータを表示フレームに配置して表示することを開示している。
【特許文献１】特開平１１−９６１９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
特許文献１は、ウィンドウ内にフレームを生成し、生成したフレーム内に複数のデータまたは当該データのサムネイルを表示させることについては開示するものの、特定データの検索性を向上することを解決課題とするものであり、ユーザが複数のデータを選択する可能性や、複数選択したデータを、一括して選択したアプリケーションに読み込ませる操作を効率化することを解決するものではない。すなわち、すでにユーザ選択されたデータは、目的とする他のデータを探すためユーザ自身がスクロール操作を行う結果、データの表示フレームから不可視となっている場合も想定される。
【０００８】
すなわち、ユーザが利用しようとするすべてのデータを選択し終わると、表示フレームは、現在のスクロール位置で表示フレームに収まるデータのみが表示し、スクロールによって画面から消えてしまった既選択のデータが依然として選択されており、またデータの選択シーケンスなどの選択操作に誤りがなかったか、選択漏れが無いかについては、最後のデータを選択した段階では確認できないという、問題があった。
【０００９】
また、従来のＧＵＩシステムでは、スクロールやページめくり機能を使用してフレーム内に表示させるデータを変更した場合、不可視となったデータを確認する為には、再度逆方向にスクロールやページめくり・ページ戻し操作を行うことが必要となり、この場合、逆方向へのスクロール前のデータは同様にして表示フレームから不可視となり、スクロール操作が無駄となり、ユーザの負担が増加してしまうといった問題があった。
【００１０】
また、文書、画像データなどの複数のデータを、例えばフォルダやディレクトリとして参照される特定の記録単位へと集約する処理の場合、フレームのスクロールにより、移動・コピー先のフォルダやディレクトリの表示が表示フレームで不可視になる場合、ユーザは、データの選択を維持したまま、再度逆方向へのスクロール操作を指令して、移動・コピー先の記録単位を表示させ、ドラッグアンドドロップなどの操作を行うことになる。これらの操作は、ユーザがデータの選択状態を維持させたままで行う必要があり、スクロール操作の他、記録単位の認識およびドラッグアンドドロップという複数の操作を並列的に行う必要があり、ユーザに対して負担を与えてしまう、という問題点もあった。
【００１１】
すなわち、これまで、複数のデータを選択し、一括して所定の処理を実行しようとする場合、データ選択を効率化することを可能とする、ＧＵＩシステム、ＧＵＩ生成方法、プログラム、および記録媒体が必要とされていた。
【００１２】
また、複数のデータに対して一括して所定の操作を行う場合、選択されたデータの認識性を改善するＧＵＩシステム、ＧＵＩ生成方法、プログラム、および記録媒体が必要とされていた。
【００１３】
さらに、ユーザが複数のデータを選択し、一括して所定の操作を行う場合、ユーザアクションを軽減することにより、ユーザ操作性を向上させるＧＵＩシステム、ＧＵＩ生成方法、プログラム、および記録媒体が必要とされていた。
【課題を解決するための手段】
【００１４】
本発明は、上述した従来技術の問題点に鑑みてなされたものである。本発明では、複数のデータを表示させながらデータを選択する場合に、ユーザが選択したデータを表示するため、元のウィンドウなどの表示領域について、フレームなどの分割領域をさらに分割し、新たに分割フレームとして第２分割領域を生成し、第２分割領域内に選択されたデータを表示させる。なお、用語「表示領域」とは、ディスプレイ画面上に形成され、メニューバーなどを含むウィンドウまたはメイン表示画面を意味する。また、用語「分割領域」とは、表示領域に内接するように形成され、それぞれ異なるデータを表示するフレームまたは表示フレームを意味する。さらに、用語「第２分割領域」とは、「分割領域」に内接するように生成され、「分割領域」に関連付けられたデータを表示する表示フレームを意味し以下、表示フレームを区別する場合、分割フレームとして参照する。なお、これらの用語は、同一の機能を提供する限り、アプリケーションプログラム、オペレーティングシステムなどによらず特に限定されるものではない。また、用語「選択データ」とは、ユーザがフレーム内に表示されたデータのうち、右クリック、「ｓｈｉｆｔ」＋クリック、または領域選択により選択されたデータを意味する。
【００１５】
選択データの分割フレームへの表示処理は、ユーザが元のフレーム内でデータを選択したことを契機として実行することができる。また、複数のフレームの効率的利用のため、分割フレームへの表示処理を、元のフレーム内でのデータ表示と重複しないように制御して、スクロールまたは改ページ処理に対応して元のフレームに該当する選択データが非表示化・表示化されたことに応答して、分割フレームで表示化・非表示化を制御する。
【００１６】
本発明では、分割フレームのサイズは、分割フレームに表示するべきデータの数に応答して最大サイズから削除までの範囲で制御され、元のフレームでのデータ表示領域を最適化しながら、選択データの表示を効率化させる。
【００１７】
また、本発明では、重複表示を回避するため、選択されたデータと、元のフレームに表示されたデータとの集合積の結果集合を生成させ、結果集合に含まれるデータ識別値に対応する選択データを分割フレームで非表示となるように表示制御する。さらに、分割フレーム内に表示されたデータについて、ユーザがドラッグドロップなどのユーザアクションを行った場合、分割フレーム内での表示・非表示に拘わらず、同一のユーザアクションに対して選択されたデータを、その選択シーケンスを保持させながら取得させ、効率的なデータ編集を可能とする。
【００１８】
さらに、本発明では、上述したＧＵＩシステムを情報処理装置に実現するための、ＧＵＩ生成方法、プログラム、および該プログラムを記録した記録媒体が提供される。
【発明を実施するための最良の形態】
【００１９】
以下、本発明を実施形態をもって説明するが、本発明は、実施形態に限定されるものではない。図１は、本発明のＧＵＩシステム１００の概略的なハードウェア構成を示したブロック図である。本発明のＧＵＩシステム１００は、概ねパーソナルコンピュータまたはワークステーションなどの情報処理装置を使用して構成される。また、さらに他の実装形式では、ＧＵＩシステム１００は、マルチファンクションペリフェラル(Multi-Function Peripheral):MFP)として参照される画像処理装置のシステムモジュールの１機能モジュールとして実装することもできる。
【００２０】
ＧＵＩシステム１００は、概ね、中央処理装置（ＣＰＵ）１０２と、ＣＰＵ１０２が使用するデータの高速アクセスを可能とするキャッシュメモリ１０４と、ＣＰＵ１０２の処理を可能とするＲＡＭ、ＤＲＡＭなどの固体メモリ素子から形成されるシステムメモリ１０６とを備える。
【００２１】
ＣＵＰ１０２、キャッシュメモリ１０４、およびシステムメモリ１０６は、システムバス１０８を介して、情報処理装置１００の他のデバイスまたはドライバ、例えば、グラフィックスドライバ１１０およびネットワークデバイス（ＮＩＣ）１１２へと接続されている。グラフィックスドライバ１１０は、バスを介してディスプレイ１１４に接続されて、ＣＰＵ１０２による処理結果をディスプレイ画面上に表示させている。また、ネットワークデバイス１１２は、ＴＣＰ／ＩＰプロトコルなどにより、ＧＵＩシステム１００をネットワークへと接続して、ＨＴＴＰプロトコル、ＦＴＰプロトコル、ＩＴＵ−Ｔ勧告Ｘ．５００によるＬＤＡＰ検索などのセッションを確立させている。
【００２２】
システムバス１０８には、さらにＩ／Ｏバスブリッジ１１６が接続されている。Ｉ／Ｏバスブリッジ１１６の下流側には、ＰＣＩなどのＩ／Ｏバス１１８を介して、ＩＤＥ、ＡＴＡ、ＡＴＡＰＩ、シリアルＡＴＡ、ＳＣＳＩ、ＵＳＢなどの規格を備えるハードディスク装置１２０が接続されている。また、Ｉ／Ｏバス１１８には、ＵＳＢなどのバスを介して、キーボードおよびマウスなどのポインティングデバイスなどの入力装置１２２が接続され、ユーザなどのオペレータによる入力および指令を受付けている。
【００２３】
ＣＰＵ１０２としては、特に制限はなく、具体的には、例えば、ＰＥＮＴＩＵＭ（登録商標）〜ＰＥＮＴＩＵＭ（登録商標）ＩＶ、ＰＥＮＴＩＵＭ（登録商標）互換ＣＰＵ、ＰＯＷＥＲ  ＰＣ（登録商標）、ＭＩＰＳなど、シングルコアまたはマルチコアなどのいかなるアーキテクチャを備えるプロセッサを挙げることができる。
【００２４】
また、使用するオペレーティングシステム（ＯＳ）は、ＭａｃＯＳ（商標）、Ｗｉｎｄｏｗｓ（登録商標）、Ｗｉｎｄｏｗｓ（登録商標）２００Ｘ  Ｓｅｒｖｅｒ、ＵＮＩＸ（登録商標）、ＡＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）またはそれ以外の適切なＯＳを挙げることができる。さらに、ＧＵＩシステム１００は、上述したＯＳ上で動作する、Ｃ＋＋、ＶｉｓｕａｌＣ＋＋、ＶｉｓｕａｌＢａｓｉｃ、Ｊａｖａ（登録商標）、Ｐｅｒｌ、Ｒｕｂｙなどのオブジェクト指向のプログラミング言語により記述されたアプリケーションプログラムを格納し、実行する。
【００２５】
図２は、ＧＵＩシステム１００の機能ブロック２００の実施形態を示す。ＧＵＩシステム１００の機能ブロック２００は、情報処理装置のＣＰＵ１０２が各種プログラムを実行して、情報処理装置上に各機能ブロックを実現することにより構成される。図２に示すように、機能ブロック２００は、ＧＵＩシステム１００の実行全般を管理するＯＳ２０２と、ＯＳ上に、コンパイラ、リンカ、アセンブラなどを含んで実現される、例えばＶｉｓｕａｌＣ＋＋、バイトコード、インタプリタなどにより各種機能を提供するＪＡＶＡ（登録商標）などのプログラミング言語モジュール２０４とを含んでいる。
【００２６】
プログラミング言語モジュール２０４は、いわゆるオブジェクト指向プログラムの実行を可能とし、マルチウィンドウ表示を可能としている。このため、プログラミング言語モジュール２０４は、ウィンドウ生成、レイアウト変更、ウィンドウ削除などを管理するための表示領域コントローラ２０６を備えている。また、プログラミング言語モジュール２０４は、ウィンドウに形成された各種アイコン、ホットスポットなどの選択に応じて各種処理の実行を指令するイベントハンドラ２０８を備えている。
【００２７】
プログラミング言語モジュール２０４は、後述するアプリケーションプログラム２１０、２１２、２１４などがディスプレイ上に形成したウィンドウからのマウスイベントやマウスイベントに対応するキーシーケンスイベントを受け取って、要求された処理を実行するためのオブジェクト呼出などを実行する。上述した表示領域コントローラ２０６は、例えば、Ｗｉｎｄｏｗクラス、フレームクラス、スクロールクラスなどのウィンドウ制御モジュールが集合して構成される、機能モジュールを総称するものである。図２に示した実施形態では、表示領域コントローラ２０６は、ウィンドウを生成させるための表示領域生成モジュール２０６ａ、表示領域内に表示されたフレームと言った分割領域をさらに領域分割して、「分割フレーム」を生成する領域分割モジュール２０６ｂ、および選択データ表示モジュール２０６ｃなどを含んで構成されているのが示されている。
【００２８】
ウィンドウ生成モジュール２０６ａは、ディスプレイ画面上に、例えばマルチウィンドウ方式のウィンドウやメイン表示画面などとして参照される表示領域を生成し、ウィンドウ内に相対的な位置座標を割当て、フレーム（分割領域）生成を可能とする。領域分割モジュール２０６ｂは、ウィンドウ内で定義されたオリジナルフレーム（第２分割領域）を、データ選択やスクロール、改ページ処理などに対応して分割し、分割フレームを生成する処理を実行する。また、選択データ表示モジュール２０６ｃは、生成した分割フレームに割当てて表示するデータセットを選択し、分割フレームに割当てる処理を行う。
【００２９】
さらに、表示領域コントローラ２０６は、選択テーブル２３０を管理している。選択テーブル２３０は、例えば、ＲＡＭなどで構成されるバッファメモリや、ウィンドウバッファなどを使用して構成することができ、各分割領域、すなわち各フレーム毎に、選択されたデータのデータ識別値を登録することが可能とされている。なお、選択テーブル２３０についてはより詳細に後述する。
【００３０】
アプリケーションプログラム２１０、２１２、２１４は、プログラミング言語モジュール２０４のコンテキストに沿ってプログラミングされている限り、その処理の種類は特に制限されないが、本実施形態では、例えば、ブラウザアプリケーション２１０、文書管理アプリケーション２１２、ワードプロセッサアプリケーション２１４などを挙げることができる。この他、例えば、画像処理アプリケーション、グラフィックアプリケーションなどを適宜実装することができる。
【００３１】
ブラウザアプリケーション２１０は、例えば、Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｌｅｒ（商標）、Ｎｅｔｓｃａｐｅ  Ｎａｖｉｇａｔｏｒ（商標）、Ｍｏｚｉｌｌａ、Ｏｐｅｒａなどを使用して実装することができ、ＨＴＭＬパーサ、ＸＭＬパーサなどにより、ウェブサーバから送信される構造化文書を解析し、ウィンドウ上に構造化文書に基づいて表示を行っている。なお、ブラウザアプリケーション２１０は、例えばＪＡＶＡ（登録商標）Ｓｃｒｉｐｔ、ＪＡＶＡ（登録商標）Ａｐｐｌｅｔなどの処理が可能とされていて、ユーザからの指令に応じてウェブページを動的に変更することが可能とされていることが好ましい。
【００３２】
また、文書管理アプリケーション２１２は、情報処理装置に蓄積された文書データ、画像データなどの編集、検索などを実行する。文書管理アプリケーション２１２は、当該処理を、自己が管理するデータまたはネットワークを介して接続されたサーバのデータベースなどにアクセスして実行することもできる。ワードプロセッサアプリケーションは、文書データを作成し、ハードディスク装置または外部接続されたサーバのデータベースなどに登録させている。
【００３３】
各アプリケーションプログラムへの入出力は、入出力Ｉ／Ｏ２１６を介して行われる。各アプリケーションプログラムは、ＶＧＡ、ＵＳＢ、ＩＥＥＥ８０２．Ｘなどを使用してディスプレイ２１８、キーボード２２０、マウス２２２との間でデータ送受信を行い、データ入出力を実行する。また、各アプリケーションプログラムは、ネットワークＩ／Ｏ２２４を介して、ＴＣＰ／ＩＰプロトコルなどを使用して、ネットワーク２２６へと接続され、ＬＡＮ（ローカルエリアネットワーク）、インターネットなどに接続し、他の情報処理装置やサーバとの間のデータ送受信を行っている。
【００３４】
また、各機能モジュールは、バス２２８を介し、シグナル、ソケット通信などによるプロセス間通信を行っており、相互連携して、ＧＵＩシステム１００を構成する為の各機能モジュールを実現させている。
【００３５】
図３は、本実施形態のＧＵＩシステム１００が表示するデータ表示ウィンドウ３００の実施形態を示す。データ表示ウィンドウ３００は、例えば文書管理アプリケーション２１２が管理するデータを表示する。図３に示したデータ表示ウィンドウ３００は、ユーザが、アプリケーションのデータ選択ユーティリティを起動させた場合に、表示領域コントローラ２０６が、プログラミング言語モジュール２０４に対応して用意されている、ウィンドウメソッド、フレームメソッド、ウィンドウクラス、フレームクラス、またはＪＡＶＡ（登録商標）ＳｃｒｉｐｔのＷｉｎｄｏｗオブジェクト、フレームオブジェクトなどを使用して作成し、ディスプレイ上に表示させることができる。
【００３６】
データ表示ウィンドウ３００は、本実施形態では、表記領域として機能しており、データ表示ウィンドウ３００には、複数の表示フレーム３０２、３０６が分割領域として機能する。表示フレーム３０２には、アプリケーションが管理するデータが、データの階層構造に対応する木構造３０４として表示されている。また、表示フレーム３０２には、スクロールバー３０８が構成されていて、ユーザがスクロールバー３０８を上下に移動させる操作に対応して表示フレーム３０２に表示するべきデータを上下に移動させ、ユーザが要求するデータを表示フレーム３０２内に可視表示している。また、スクロール操作の結果、表示フレーム３０２に可視表示できなくなるデータについては、表示フレーム３０２内で不可視とされる。例えば、図３に示した実施形態では、フォルダ１内には、さらにフォルダ１０までが作成されているが、表示フレーム３０２のスクロール状態では表示フレーム３０２内にはフォルダ８までしか表示されていない。
【００３７】
また、表示フレーム３０６は、本実施形態では、第２分割領域として機能しており、表示フレーム３０２内で選択されたフォルダ２に含まれるファイルがリスト表示されている。表示フレーム３０６に表示されたファイルについても、スクロールバー３１０をスクロール操作することにより、ユーザは、目的とするファイルが表示フレーム３０６内に可視表示されるまでスクロールバー３１０を上下に移動させて、ファイルを表示フレーム３０６内に可視表示させている。なお、フォルダ２内には、ファイルが１４まで格納されているが、図３に示した実施形態では表示フレーム３０６内のサイズおよび１つのファイルを表示させる表示サイズとにより規定される数以外のファイルは、非表示とされている。
【００３８】
図３に示したデータ表示ウィンドウ３００で、例えばユーザがフォルダ１０を表示させることを希望する場合、ユーザは、スクロールバー３０８を下側に移動させる。従来のＧＵＩシステムでは、フォルダ１０を可視表示するためにスクロール処理を行うと、現在選択しているフォルダ２は、表示フレーム３０２のサイズのため、不可視とされてしまう。上述した従来例の場合、ユーザが例えば、フォルダ２に、フォルダ１０内のファイルを移動させたい場合、再度スクロールバー３０８を操作してフォルダ２を可視表示させなければならない。またフォルダ１０内の複数のファイルを移動させる場合や、フォルダ１０自体をフォルダ２の子フォルダに木構造を修正したい場合、フォルダ１０とフォルダ２を共に表示させることができない。なお、フォルダ数や、ファイル数が少ない場合には、フレームサイズを修正することによっても対応することができる。しかしながら、データ数が増加するにつれて、表示フレームのリサイズでは対応することはできず、また、データ数にかかわらず、選択したデータをスクロール状態とは分離してデータ表示ウィンドウ３００に表示させることにより、選択したデータの確認、ファイルの移動・コピー、データ構造修正などが容易になる。
【００３９】
本実施形態のＧＵＩシステム１００は、選択されたデータを表示するため別の表示フレームを表示させ、選択されたデータを別の表示フレーム内に可視表示させる処理を実行し、データ編集の効率を改善する。具体的には、データ表示ウィンドウ３００上で、ユーザがフォルダ２上にマウスアイコン３１２を重ね合わせた状態でシングルクリックまたは右クリックなどの操作でデータを選択する。イベントハンドラ２０８は、データ選択を検出すると、表示領域コントローラ２０６に通知を行い、表示フレームの再配置を指令する。表示フレームの再配置は、種々の形態が想定できるものの、最も直接的な再配置は、図４に示すデータ表示ウィンドウ４００のように、図３の表示フレーム３０２を、第１表示フレーム４０２、第２表示フレーム４０４に分割して再配置する実施形態である。
【００４０】
本実施形態のＧＵＩシステム１００は、図４で説明した実施形態では、フォルダ２の選択イベントに応答してリサイズ手段を呼出して、以下の処理を実行する。表示フレーム３０２は、ウィンドウ座標上で、ｐ１（ｘ１，ｙ１）、ｐ２（ｘ２，ｙ２）、ｐ３（ｘ１，ｙ３）、ｐ４（ｘ２，ｙ４）で示される座標に生成されている。イベントハンドラ２０８がデータ選択を検出すると、表示領域コントローラ２０６は、デフォルト設定された値で表示フレーム３０２のｙ方向を内分し、新たな分点座標ｐ５（ｘ１，ｙ５）を生成する。ここで、ｙ５＝（ｙ３−ｙ１）／ｍ（ｍは、フレーム上側の与える内分比であり、正の実数で与えられる。）。例えば、ウィンドウ座標上でｙ３＝３００、ｙ１＝０、内分比１０として与えられている場合、分点座標ｐ５は、（ｘ１、３０）として生成される。なお、説明する実施形態では、ウィンドウ座標は、左手上隅が（０，０）を与えるものとしている。
【００４１】
その後、表示領域コントローラ２０６は、対応する第２分点ｐ６の分点座標を（ｘ２，ｙ５）として生成し、第２表示フレーム４０４を、ｐ１、ｐ２、ｐ５、ｐ６の範囲で生成する。これと同時に、表示領域コントローラ２０６は、第１表示フレーム４０２を、端点を、ｐ５、ｐ６、ｐ３、ｐ４を有するように修正する。さらに、新たに生成した第２表示フレーム４０４内に選択されたデータを可視表示させ、第１表示フレーム４０２では、選択されたデータであるフォルダ２を不可視表示とすることで、重複表示を防止し、表示スペースの無駄を排除している。
【００４２】
なお、表示領域コントローラ２０６は、図４に示した実施形態では、表示フレームのリサイズ以外の処理を実行しないので、表示フレーム４０２には、上述の処理の後、図４のように、第１表示フレーム４０２と、第２表示フレーム４０４とが連続して表示される。また、新たに生成された第２表示フレーム４０４には、スクロールバーが付されておらず、また、リサイズされただけの第１表示フレーム４０２には、以前と同様にスクロールバー４０６が付されたままに保持されている。
【００４３】
このため、ユーザは、第１表示フレーム４０２をスクロールバー４０６を上下させてフォルダ等のデータを連続的に可視・不可視表示させた場合にでも、第１表示フレーム４０２内のスクロール状態とは分離して選択されたデータを識別することが可能とされる。また、表示フレーム４０８には、選択したデータであるフォルダ２に格納されたファイルが表示されており、ユーザが最新に選択したデータの内容を認識可能としている。
【００４４】
なお、図３および図４に示した実施形態で複数のデータが選択された場合について説明する。イベントハンドラ２０６は、選択されたデータのデータ識別値を登録する選択テーブル２３０を管理しており、ユーザによるデータ選択イベントを検出すると、選択テーブル２３０に降順にデータ識別値、例えばフォルダ名などを格納する。選択テーブル２３０は、表示フレーム毎に対応して生成される複数のテーブルとして実装することもできるし、その時点で表示される表示フレームに対応するようにフィールドが割当て可能とされた単一のテーブルとして実装することもできる。この選択テーブル２３０は、選択されたデータ識別値を登録する、イベントハンドラ２０８からの通知に対応し、選択履歴に対応して順次追加して登録することが好ましい。
【００４５】
一方、表示領域コントローラ２０６は、第２表示フレーム４０４を、領域分割により、第２表示フレーム４０４が分割前の表示フレームの輪郭を共有するように生成する。このため、ユーザは、分割前の表示フレームの表示内容と違和感なくデータにアクセスすることができる。第２表示フレーム４０４を生成した後、選択テーブル２３０にエントリされている最新のデータ識別値を新たに生成させた表示フレーム、具体的には第２表示フレーム４０４の可視表示データを登録する表示リストに追加登録する。表示リストは、領域分割の対象フレームごとに対応して生成され、全く関連性のない分割フレーム内に他の表示フレームの選択データが表示されることがないようにされている。
【００４６】
また、表示リスト内にエントリされたデータ識別値は、第２表示フレーム４０４内に表示する候補として保持される。表示リストのエントリフィールドには、データ識別値を登録するフィールドの他、重複表示回避フラグまたは重複表示回避識別値を登録する制御フィールドが生成されている。この制御フィールドは、データ選択とは別に、データ選択以後のスクロール状態・改ページ状態によって値が更新される。例えば、データの選択後、第１表示フレーム４０２のスクロール状態に対応して、選択データが、第１表示フレーム４０２内に表示される場合、表示領域コントローラ２０６は、選択テーブル２３０、表示リスト、および現在第１表示フレーム４０２に可視表示されているデータを検索し、当該選択データに関し、（選択テーブル２３０∩現在第１表示フレーム４０２に可視表示されているデータ）の集合積の結果集合は、選択が解除されているか、または選択されていても、第１表示フレームで表示状態である。
【００４７】
表示領域コントローラ２０６は、上述した結果集合が含むデータ識別値を取得すると、結果集合に含まれるデータ識別値に対応した表示リストのレコードの制御フィールドに「非表示」を指令する制御フラグまたは制御値を設定する。その後、表示領域コントローラ２０６は、第２表示フレーム４０４内での選択データの表示を、制御フィールドの値を参照して制御することにより、第１表示フレーム４０２および第２表示フレーム４０４での重複表示を排除する。上述した重複表示回避処理により、第１表示フレーム４０２に可視表示されることとなったデータを第２表示フレーム４０４で、選択順を変更すること無しに、可逆的に表示・非表示制御することが可能となる。
【００４８】
なお、重複表示回避処理を実装しない場合には、表示リストには、重複回避制御のための制御フィールドは必要ではない。また、選択テーブル２３０に対し、データ識別値フィールドと、重複表示回避のための制御フィールドとを構成し、第２表示フレーム４０４で表示するためのデータを、選択テーブル２３０から選択する構成とすることもできる。選択テーブル２３０に重複表示回避のための制御フィールドを構成する実施形態では、ユーザによるデータ選択結果を、そのシーケンスを含めて可逆的に表示・非表示制御することができる点、およびテーブル・リストの参照先が削減され、プログラミング上の見通しが改善される点でより好ましい。
【００４９】
さらに、表示領域コントローラ２０６は、表示リストのエントリ項目を追加・削除する場合、第２表示フレーム４０４のサイズを必要最小限のサイズに修正するリサイズ処理を実行し、第１表示フレーム４０２内の表示性に対する影響を最小限としている。なお、用語、「リサイズ」は、第２表示フレーム４０４の拡大・縮小の他、削除を含み、同時に、第２表示フレーム４０４の拡大・縮小・削除に対応して第１表示フレームのサイズの連動した縮小・拡大処理を伴う処理を意味する。
【００５０】
表示領域コントローラ２０６は、表示リストのエントリ項目をモニタしており、表示リストにエントリ項目が無くなった場合には、生成した第２表示フレーム４０４を削除すると共に、第１表示フレームのリサイズを実行し、図３に示す元の表示フレーム３０２を回復させる。表示リストのエントリ項目は、ユーザが特定の操作を行うめのクリップボードなどとしても機能しており、ユーザが選択されたデータに対して他のアクションを実行した時点で、第２表示フレーム４０４に表示させる目的は終了する。
【００５１】
このため、表示領域コントローラ２０６は、イベントハンドラ２０８から、選択されたデータに対して他のアクションが実行されたことを通知されると、表示リスト中の該当するデータのエントリ項目を削除する処理を実行する。また、表示リストにエントリ項目がなくなった場合には、表示領域コントローラ２０６は、第２表示フレーム４０４を消去し、表示フレーム３０２を回復させる処理を実行する。
【００５２】
なお、ブラウザアプリケーション２１０によりネットワークを介してデータ選択を行う場合、イベントハンドラ２０８がデータ選択を検出すると、選択されたデータを分離して表示させる子フレームを、第２表示フレーム４０４として生成させ、選択されたデータ識別値を第２表示フレーム４０４に表示させるデータ値として継承させる処理を行うこともできる。なお、この場合、表示領域コントローラ２０６は、選択テーブル２３０を参照して選択されたデータを取得することもできるし、選択テーブル２３０の代わりにブラウザログに記述されたログを使用して可視表示するべきデータ識別値を可視表示させることができる。
【００５３】
図５は、本実施形態のＧＵＩシステム１００が実行するＧＵＩ生成処理の実施形態のフローチャートを示す。図５に示す処理は、ステップＳ５００から開始し、ステップＳ５０１で第１表示フレームのスクロールに応答してファイル、フォルダなどのデータを可視表示する。ステップＳ５０２で第１表示フレーム内に表示されたデータが新たに選択されたか否かを判断する。データが選択されていない場合（ｎｏ）、処理をステップＳ５０１に戻し、データが選択されるまでスクロールを繰り返す。
【００５４】
また、ステップＳ５０２で新たなデータが選択された場合（ｙｅｓ）、選択されたデータのデータ識別値を選択テーブル２３０に格納する。この際、選択テーブル２３０への登録は、第１表示フレームに表示される順または選択順に登録することができる。第１表示フレームに表示される順に第２表示フレームに表示させる場合、例えば一括選択などの場合、データ選択の識別性が改善され、また選択順に表示させる場合、ユーザが目的とするデータが選択順に応じて選択されたことの確認が容易となる。また、これらの登録方法は、特定の用途に応じて適宜組み合わせて実装することができる。
【００５５】
ステップＳ５０３では、第２表示フレーム４０４がすでに存在しているか否かを判断する。第２表示フレーム４０４がすでに存在しているか否かの判断は、種々の方法を用いて判断することができ、例えば表示領域コントローラ２０６が、フレーム作成時に既存のフレーム毎にフレーム識別値に対応してフレーム生成フラグを設定する。そして、処理対象の表示フレームについて第２表示フレーム４０４が存在しているか否かを判断する場合、第２表示フレーム４０４を生成するべき対象フレームに関連してフレーム生成フラグが既設定であるか、設定されていないかに基づいて判断することができる。上述した以外にも、フレームを識別して第２表示フレーム４０４の生成を判断することができる限り、いかなる方法でも使用することができる。
【００５６】
当該フレーム作成フラグを第２表示フレーム４０４が存在していない場合（ｎｏ）、ステップＳ５０４で第２表示フレームをデフォルト設定（最小サイズ）で生成する。一方、第２表示フレーム４０４がすでに存在している場合（ｙｅｓ）、ステップＳ５０６で第２表示フレーム４０４のサイズを、表示させるべきデータの数に応答して最適化するように、表示するデータ数が増加する場合拡大し、減少する場合縮小させるようにリサイズする。なお、リサイズの処理は、図４の処理と同様に行うことができ、ｐ５、ｐ６のｙ座標を設定されたインクリメント値だけ増減させて修正した値とし、第１表示フレームおよび第２表示フレーム４０４を対応付けてリサイズすることにより実行できる。なお、リサイズ処理には、第２表示フレーム４０４の最大サイズを設定することもでき、最大サイズを超えて第２表示フレーム４０４が拡大されないようにして、データ検索およびデータ選択処理のための領域が常時確保されるようにされていてもよい。
【００５７】
また、ステップＳ５０３で第２表示フレーム４０４が存在すると判断した場合（ｙｅｓ）、処理をステップＳ５０５へと進め、最２表示フレーム４０４のサイズは、データを表示させるために最適か否かを判断する、例えば第２表示フレーム４０４が予め余裕を持って生成されている場合であって最適である場合（ｙｅｓ）、処理をステップＳ５０７に分岐させる。また、ステップＳ５０５で第２表示フレーム４０４が最適なサイズではないと判断した場合（ｎｏ）、ステップＳ５０６で第２表示フレームを表示するべきデータに対応させてリサイズし、処理をステップＳ５０７に分岐させる。
【００５８】
ステップＳ５０７では、生成またはリサイズされた第２表示フレーム４０４に、選択テーブル２３０から取得したデータ識別値を追加し、新たに追加されたデータを表示して表示項目を再配置する。その後、処理をステップＳ５０１に戻し、新たなデータの選択に対応する処理を実行する。なお、他の実施形態では、フォルダ２を選択し、第２表示フレーム４０４に表示させた後、フォルダ２を第１表示フレーム４０２の表示データから削除し、重複表示を回避して、ウィンドウ表示効率を改善することもできる。
【００５９】
なお、最大サイズを超えてデータが選択された場合、すなわち、ＧＵＩシステム１００が最大サイズに達したと判断した後、イベントハンドラ２０８からデータ選択が通知された場合、最も先頭の選択データから順に非表示とすることもできる。さらに好適な実施形態では、第２表示フレームに設定された最大サイズを超えてデータが選択された場合、表示領域コントローラ２０６は、第２表示フレームを消去して、第２表示フレーム内に表示するべきデータを表示させる、第２データ表示ウィンドウ、ポップアップウィンドウ、リストボックスなどを第２表示フレームに代えて生成させることができる。
【００６０】
図６は、ＧＵＩシステム１００のＧＵＩ生成処理の第２実施形態を示す。図６に示した実施形態は、データの選択イベントを第２表示フレーム４０４の生成または第２表示フレーム４０４への移動のための契機とするのではなく、データの選択イベントが発生した後、さらにスクロール状態をモニタし、ユーザによる第１表示フレーム４０２により、選択したデータが第１表示フレーム４０２の表示データから削除される、すなわち、第１表示フレーム４０２内で非表示に設定される処理を契機として、第２表示フレーム４０４の生成または第２表示フレーム４０４への移動を実行する実施形態である。
【００６１】
第２実施形態では、図６（ａ）に示すように、表示ウィンドウ６００には、表示フレーム６０２と、表示フレーム６０８とが形成されている。表示フレーム６０２には、処理対象とされたデータの階層構造が木構造として表示されている。また、表示フレーム６０２では、フォルダ２が選択されたことに対応して、フォルダ２を示すデータ識別値が反転表示されている。また、表示フレーム６０８には、選択されたフォルダ２に登録されたファイルがリスト表示されている。
【００６２】
ユーザがスクロールバー６０６を下側に操作して、さらに後続するフォルダを表示フレーム６０２内に表示する場合の実施形態を図６（ｂ）に示す。図６（ｂ）に示すデータ表示ウィンドウ６１０では、スクロールバー６１６は、最下部まで移動され、それに伴って、最後のフォルダ９が表示されている。これに対応して、選択されたフォルダ２は、非表示とされている。これに対応して、ＧＵＩシステム１００は、フォルダ２が図６（ａ）の表示フレーム６０２に表示されなくなる処理に対応して表示フレーム６０２を、第１表示フレーム６１２と、第２表示フレーム６１４とに分割する。このとき、第２表示フレーム６１４には、第１表示フレーム６１２で選択されたものの、スクロール状態の変化に対応して非表示とされたフォルダ２が、第１実施形態で説明したと同様の処理によって第２表示フレーム４０４内で可視表示の対象データとされ、表示されている。なお、図６（ｂ）の第２表示フレーム６１８は、選択されたフォルダ２の内容であるファイルを表示させている。なお、第２表示フレーム６１８の表示内容は、最後に選択されたフォルダの内容を表示させるように更新することができる。
【００６３】
図７は、第２実施形態のＧＵＩ生成処理のフローチャートである。図７に示した処理は、ステップＳ７００から開始し、ステップＳ７０１で、第１表示フレーム内のデータの選択を検出し、選択されたデータのデータ識別値を選択テーブル２３０に格納する。この際、選択テーブル２３０への登録は、図５で説明したように、特定の用途に応じて適宜選択することができる。ステップＳ７０２では、第１表示フレーム６１２をスクロールして、さらに選択するべきデータを表示させる。
【００６４】
ステップＳ７０３では、既選択のデータのうち、第１表示フレーム６１２で非表示とされるか否かを判断する。
【００６５】
なお、選択したデータが非表示になることの判断は、次のスクロール処理により、最上位または最下位に表示されたデータのスクロールが、図６に示した実施形態のようにスクロールがｙ方向に行われる場合、データ表示のｙ方向の上限座標または下限座標が第１表示フレーム６１２のウィンドウ座標のｙ座標方向の上限値または下限値を超えるか否かに基づいて表示領域コントローラ２０６が判断することができる。例えば、スクロール処理の結果、ウィンドウ座標系で、ｙ座標に関し、データ表示の上限座標をＰＵとし、第１表示フレームのｙ座標の上限値をＦＵとして、ＰＵ＞ＦＵとなった場合下方向へのスクロールに対応して最上位のデータを、第１表示フレームに表示させるべきデータリストとして取得させないことにより、データを第１表示フレーム内に不可視状態とする。また、上方向へのスクロールの場合には、データ表示の下限座標をＰＬとし、第１表示フレームのｙ座標の上限値をＦＬとして、ＰＬ＜ＦＬとなった時点で、判断対象のデータの表示・非表示を制御することができる。
【００６６】
ステップＳ７０３で選択されたデータが非表示にならない場合（ｎｏ）、処理をステップＳ７０１に分岐させ、追加のデータ選択の検出を行う。一方、選択されたデータが第１表示フレーム内で非表示になると判断した場合（ｙｅｓ）、ステップＳ７０４で第２表示フレームがすでに存在しているか否かを判断する。ステップＳ７０４の判断は、図５のステップＳ５０３で説明したと同様の処理により実行することができる。ステップＳ７０４で、第２表示フレームが存在していないと判断した場合（ｎｏ）、ステップＳ７０６で、第２表示フレームを、図５で説明した処理を使用して生成し、ステップＳ７０８で、選択テーブル２３０から新たに選択されたデータ識別値を取得し、第２表示フレームにデータを表示させ、表示データを、第２表示フレーム内で再配置する。
【００６７】
一方、ステップＳ７０４で第２表示フレームが存在していると判断された場合（ｙｅｓ）、第２表示フレームが新たに選択したデータの表示に充分なサイズか否かを判断する。ステップＳ７０５の判断で、第２表示フレームのサイズが最適ではないと判断された場合（ｎｏ）、ステップＳ７０７で第２表示フレームを、設定最大値から消去までの範囲でリサイズする。一方、ステップＳ７０５で第２表示フレームが充分なサイズであると判断された場合（ｙｅｓ）、処理をステップＳ７０８に分岐させ、選択テーブル２３０から新たに選択されたデータ識別値を取得し、第２表示フレームにデータを表示させ、再配置する。
【００６８】
ステップＳ７０９では、第２表示フレームに表示されたデータを、スクロール操作に対応して第１表示フレームから削除して、処理をステップＳ７０１に分岐させ、データ選択処理が終了するまで繰り返す。
【００６９】
図７で説明したＧＵＩ生成処理は、第１表示フレーム内のスクロール操作に対応して第２表示フレームを作成する実施形態を用いて説明した。ＧＵＩ生成処理の第３の実施形態では、スクロール処理に代えて、第１表示フレームのページめくり・ページ戻し処理（以下、改ページ処理として参照する。）を採用する。スクロール処理は、例えば、ＪＡＶＡ（登録商標）でコーディングする場合、Ｓｃｒｏｌｌｂａｒクラスを使用し、表示方向、初期値、ページサイズ、最小値、最大値を設定することによりフレームに表示される。また、データ表示は、ａｄｊｕｓｔｍｅｎｔＶａｌｕｅＣｈａｎｇｅｄ（）メソッド内に、表示するべきデータ選択処理を記述することにより実装することができる。
【００７０】
また、ページ処理は、ページめくりボタンを、Ｂｕｔｔｏｍクラスを使用して作成し、ａｃｔｉｏｎＰｅｒｆｏｒｍｅｄ（）メソッドとして、第１表示フレーム内に表記可能なデータ数だけ表示する処理を記述することにより実装することができる。この場合、ページめくりボタンと共に、ページ戻しボタンを設定することができる。以上のように、第１表示フレーム内でのデータ表示処理については、特定の用途や目的により適宜設定することができるが、データが非表示となる場合に、第２表示フレームを作成し、スクロールまたはページ変更とは分離して選択したデータを表示させる処理は、同様に行うことができる。
【００７１】
図８は、ＧＵＩシステム１００を、例えば文書管理システムとして実装された情報処理装置のファイル管理モジュールとして構成した場合のファイル編集処理でのＧＵＩ表示の実施形態を示す。文書管理システムは、図２に示したアプリケーションとして、文書管理アプリケーション２１２を機能させることにより、情報処理装置上に実現させることができる。図８（ａ）に示した実施形態では、ユーザは、ファイルマネージャを起動させ、データ表示ウィンドウ８００を、ディスプレイ装置の表示画面に表示させている。データ表示ウィンドウ８００には、本実施形態にしたがい、対象データをツリー表示する第１表示フレーム８０２と、ユーザのデータ選択に対応して生成される第２表示フレーム８０４とが表示されている。また表示フィールド８０６には、現在ユーザが選択したデータに関連するファイルがリスト表示されている。
【００７２】
ここで、ユーザは、データを編集し、フォルダ２で指定されるデータの階層を、親ノードではなく、フォルダ１０を親ノードとする子ノードに変更する処理を行うものと仮定する。この場合、本実施形態では、図８（ｂ）に示すように、ユーザは第１表示フレーム８０２に対してスクロール操作を行い、フォルダ１０を表示させる。図８（ｂ）に示した表示状態では、従来では、フォルダ１〜フォルダ６までのデータは、表示されないことになる。しかしながら、本実施形態のＧＵＩ機能ブロックをファイルマネージャに実装することにより、フレーム内でのスクロールやページめくり処理とは分離して、ユーザが選択したデータは、第２表示フレームに可視表示のまま保持されているのが示される。ユーザは、図８（ｂ）に示したＧＵＩ表示を使用して、データ表示ウィンドウ８１０の第２表示フレーム８１４内に表示されたフォルダ２を、第１表示フレーム８１２内に表示されたフォルダ１０に容易にドラッグアンドドロップすることが可能となる。
【００７３】
図８（ｃ）は、図８（ｂ）のユーザ操作に対応して、第１表示フレーム８２２内で、フォルダ２が、フォルダ１０の子ノードに編集されていることが示されている。なお、これに対応して、フォルダ２は、選択に対応して他のユーザ操作が実行されユーザ選択の目的が達成されたことに応答して、選択が解除される。データの選択が解除されると、選択が解除されたデータは、第２表示フレーム内での表示データリストから削除され、第２表示フレーム内には、非表示とされる。また、図８（ｃ）に示した実施形態の場合、選択されたデータがフォルダ２のみであり、フォルダ２のデータを表示リストから削除すると、第２表示フレームに表示するための表示リストがｎｕｌｌとなる。ＧＵＩシステム１００は、表示リストのエントリがｎｕｌｌになったことを判断して、第２表示フレームの機能は不要と判断し、作成した第２表示フレームを削除して図８（ｃ）で示されるＧＵＩ表示を提供している。
【００７４】
図９は、本実施形態のＧＵＩシステム１００により生成されるＧＵＩ表示の他の実施形態を示す。図９に示した実施形態は、データをリスト表示する表示フレーム９０２に対しても領域分割を実行する実施形態である。図９（ａ）に示されたＧＵＩ表示では、表示フレーム９０２内に表示されたファイル２が選択され、反転表示されて示されている。選択されたファイル２は、図９に示す実施形態では、選択の後のスクロールバー９０６によるスクロール操作に対応して表示フレーム９０２から非表示とされる場合、図９（ｂ）に示されるように、表示フレーム９０２の領域分割が実行され、第３表示フレーム９１２と、第４表示フレーム９１４とが生成される。第４表示フレーム９１２に表示されていたファイル２は、第４表示フレームの生成に対応して第３表示フレームから第４表示フレームに可視表示され、図９に示した実施形態では、第３表示フレーム９１２では、非表示とされている。また、ユーザは、第３表示フレーム９１２で、さらにファイル５を選択しているのが示されている。
【００７５】
さらにユーザがファイルの選択を追加するべく、スクロールバー９２６を操作して、ファイル６〜ファイル１１を表示させ、ファイル８およびファイル９を選択した場合のＧＵＩ表示を、図９（ｃ）に示す。図９（ｃ）では、図９（ｂ）で追加選択されたファイル５がスクロールに対応して第３表示フレーム９２２で非表示化され、その代わりに第４表示フレーム９２４に可視表示されている。ユーザは、図９（ｃ）に示したＧＵＩ表示上で、スクロールバー９２６を操作してさらに下位のファイルを表示させ、ファイル８、ファイル９が非表示とされる場合、ファイル８、ファイル９は、第３表示フレーム９２２で非表示とされ、第４表示フレーム９２４で可視表示される。
【００７６】
この場合、第４表示フレーム９２４は、ファイル８、ファイル９の表示のためには、サイズ的に小さいので、表示領域コントローラ２０６は、第４表示フレーム９２４のリサイズ処理を実行して、全部の選択済みファイルを表示させる。また、最大サイズを超えたリサイズ処理を行わなければならない場合、第４表示フレーム９２４を消去し、代わりにポップアップウィンドウなどをデータ表示ウィンドウ９２０内に生成させ、全部の選択済みファイルをポップアップウィンドウ内に表示させてもよい。さらに、最大サイズを超えてリサイズ処理を行わなければならない場合、第４表示フレーム９２４にスクロールバー（図示せず）を設け、第４表示フレーム９２４に表示しきれないデータをスクロール表示させることもできる。
【００７７】
なお、この処理は、表示領域コントローラ２０６が、リサイズを実行すると判断し、リサイズ予定のフレームサイズが最大サイズを超えると判断した時点で、リサイズ処理を実行させるかわりに、Ｓｃｒｏｌｌｂａｒクラスを呼出して、現在のサイズの第４表示フレーム９２４に対し、スクロールバーを表示させ、表示リストに含まれる選択済みファイルの表示を制御させることにより実行することができる。
【００７８】
さらに、図９（ｃ）で示される第４表示フレーム９２４に表示された選択済みファイル２、ファイル５、ファイル８、ファイル９は、選択テーブル２３０においてその選択順にエントリされている。ユーザが、図９（ｃ）に示す第４表示フレーム９２４にマウスを重合させた状態でシングルクリックまたは右クリックを行い、例えば目的とするアプリケーションのアイコンにドラグドロップすることで、第４表示フレーム９２４に表示された選択済みファイルやデータを一括してアプリケーションがオープンすることが可能となり、複数ファイルの操作性がさらに改善される。
【００７９】
また、ユーザが、図９（ｃ）に示す第４表示フレーム９２４にマウスを重合させた状態でシングルクリックまたは右クリックを行い、例えば目的とするフォルダのアイコンにドラッグアンドドロップするなどのユーザアクションを実行すれば、ファイルを登録するフォルダを一括して編集することができる。なお、選択テーブル２３０のエントリ項目は、同一のユーザアクションに対応し、アプリケーションまたはプログラミング言語モジュールのファイル移動オブジェクトなどのデータを指定する引数としてアプリケーション、オブジェクト、メソッドなどに渡され、ファイル編集処理がさらに効率的となる。
【００８０】
図１０は、図９で示したＧＵＩ表示とは逆方向に第３表示フレームをスクロールする場合の実施形態を示す。図１０（ａ）に示すように、データ表示ウィンドウ１０００では、ユーザがファイル２、ファイル５を選択し、各ファイルが第３表示フレームで非表示化されたことに対応して、ファイル２、ファイル５が第４表示フレーム１００４で可視表示とされている。また、ユーザは、スクロールバー１００６を操作して追加して選択するべきファイルを表示させ、第３表示フレーム１００２で、ファイル８、ファイル９を選択している。
【００８１】
図１０（ｂ）では、ユーザは、データ表示ウィンドウ１０１０の第３表示フレーム１０１２に表示されたスクロールバー１０１６を操作して、第３表示フレーム１０１２内にファイル５が表示できる位置まで上側にスクロールしている。表示領域コントローラ２０６は、ファイル５が第３表示フレーム１０１２に表示可能であると判断した場合、ファイル５を第３表示フレームに表示させる。これに対応して、表示領域コントローラ２０６は、表示リストから、ファイル５に対応するデータ識別値を削除し、第４表示フレーム１０１４内で、ファイル５を
非表示に設定する。さらに、図１０に示した実施形態では、第４表示フレームを、選択済みデータを表示させるために最小サイズにまでリサイズさせ、第３表示フレーム１０１２の認識効率を阻害しないように表示処理を実行する。
【００８２】
さらに、ユーザがスクロール操作を行い、図１０（ｃ）で示すように選択済みのファイル８、ファイル９が第３表示フレーム１０２２で非表示化された場合、第４表示フレーム１０２４には、第３表示フレーム１０２２で非表示化されたファイル８、９が第４表示フレーム１０２４に可視表示され、これに対応して第４表示フレーム１０２４のサイズも、図１０（ｂ）に示す第４表示フレーム１０１４に対してリサイズされている。
【００８３】
図１０に示した実施形態でも、選択されたファイルを、本来表示するべき表示フィールドのスクロール操作やページめくり操作、ページ戻し操作とは別に表示させることが可能となり、複数のファイルの編集、読込みまたは電子メールによるファイル送信などの際の処理を、効率化することが可能となる。
【００８４】
本実施形態の上記機能は、ＶｉｓｕａｌＢａｓｉｃ、Ｃ＋＋、ＶｉｓｕａｌＣ＋＋、Ｊａｖａ（登録商標）、Ｊａｖａ（登録商標）Ｂｅａｎｓ、Ｊａｖａ（登録商標）Ａｐｐｌｅｔ、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ、Ｐｅｒｌ、Ｒｕｂｙなどのオブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現でき、プラグインプログラムは、ハードディスク装置、ＣＤ−ＲＯＭ、ＭＯ、フレキシブルディスク、ＥＥＰＲＯＭ、ＥＰＲＯＭなどの装置可読な記録媒体に格納して頒布することができ、また他装置が可能な形式でネットワークを介して伝送することができる。
【００８５】
これまで本実施形態につき説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【図面の簡単な説明】
【００８６】
【図１】ＧＵＩシステムのハードウェア構成の実施形態。
【図２】ＧＵＩシステムの機能ブロックの実施形態。
【図３】本実施形態のＧＵＩシステムが表示するデータ表示ウィンドウの実施形態。
【図４】本実施形態のＧＵＩシステムによる表示するデータ表示ウィンドウのフレームを分割する場合の実施形態。
【図５】本実施形態のＧＵＩシステムが実行するＧＵＩ生成処理の実施形態のフローチャート。
【図６】ＧＵＩシステムのＧＵＩ生成処理の第２実施形態。
【図７】第２実施形態のＧＵＩ生成処理のフローチャート。
【図８】ＧＵＩシステムを、文書管理システムとして実装された情報処理装置のファイル管理モジュールとして構成した場合のファイル編集処理でのＧＵＩ表示の実施形態。
【図９】本実施形態のＧＵＩシステムにより生成されるＧＵＩ表示の他の実施形態。
【図１０】図９で示したＧＵＩ表示とは逆方向に第３表示フレームをスクロールする場合の実施形態。
【符号の説明】
【００８７】
１００…ＧＵＩシステム、１０２…中央処理装置（ＣＰＵ）、１０４…キャッシュメモリ、１０６…システムメモリ、１０８…システムバス、１１０…グラフィックスドライバ１１２…ネットワークデバイス（ＮＩＣ）、１１４…ディスプレイ、１１６…Ｉ／Ｏバスブリッジ、１１８…Ｉ／Ｏバス、１２０…ハードディスク装置、１２２…入力装置、２００…機能ブロック、２０２…ＯＳ、２０４…プログラミング言語モジュール、２０６…表示領域コントローラ、２０８…イベントハンドラ、２１０、２１２、２１４…アプリケーションプログラム、２１６…入出力Ｉ／Ｏ、２１８…ディスプレイ、２２０…キーボード、２２２…マウス、２２４…ネットワークＩ／Ｏ、２２６…ネットワーク、２２８…バス、２３０…選択テーブル
【図１】
0005167850.tif 000002
【図２】
0005167850.tif 000003
【図３】
0005167850.tif 000004
【図４】
0005167850.tif 000005
【図５】
0005167850.tif 000006
【図６】
0005167850.tif 000007
【図７】
0005167850.tif 000008
【図８】
0005167850.tif 000009
【図９】
0005167850.tif 000010
【図１０】
0005167850.tif 000011