(57)【特許請求の範囲】
【請求項１】
ファイルを表示するウィンドウを複数表示可能な情報処理装置であって、
複数の前記ウィンドウのうち、基準となる第１のウィンドウと第２のウィンドウを関連付けるウィンドウ関連付け手段と、
前記第１のウィンドウに関連付けられている前記第２のウィンドウの表示状態を記憶する表示状態記憶手段と、
前記第１のウィンドウがアクティブな状態になった場合に、前記第１のウィンドウに関連付けられている前記第２のウィンドウの表示状態を、前記表示状態記憶手段に記憶されている前記表示状態に基づいて復元する表示状態復元手段と、を備え、
前記表示状態には、前記第２のウィンドウのサイズ、該第２のウィンドウの表示位置を含むものであって、
前記表示状態記憶手段は、
前記第２のウィンドウが異なる複数の前記基準となるウィンドウから関連付けられている場合には、該基準となるウィンドウ毎に前記第２のウィンドウの前記表示状態を記憶するものであって、
前記表示状態復元手段は、
前記第２のウィンドウが異なる複数の前記基準となるウィンドウから関連付けられている場合には、前記表示状態記憶手段に記憶されている複数の前記表示状態のうち、アクティブな状態になった前記基準となるウィンドウに対応する１の該表示状態に基づいて、該第２のウィンドウの表示状態を復元することを特徴とする情報処理装置。
【請求項２】
前記表示状態記憶手段は、前記第１のウィンドウがアクティブな状態でアクティブウィンドウの切り替えがあったタイミングで、当該第１のウィンドウに関連付けられている前記第２のウィンドウの当該第１のウィンドウに対応する表示状態を、更新することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記表示状態には、前記第２のウィンドウに表示されるファイルのいずれの位置を、該第２のウィンドウに表示するかを示す表示位置を含み、
前記表示状態復元手段は、前記第１のウィンドウがアクティブな状態になった場合に、前記第２のウィンドウに表示される前記ファイルの表示位置を、前記表示状態に記憶された前記表示位置にすることを特徴とする請求項１又は請求項２のいずれか１項に記載の情報処理装置。
【請求項４】
前記表示状態には、前記第２のウィンドウの編集中位置を示すカーソル位置を含み、
前記表示状態復元手段は、前記第１のウィンドウがアクティブな状態になった場合に、前記第２のウィンドウのカーソル位置を、前記表示状態に記憶された前記カーソル位置にすることを特徴とする請求項１乃至請求項３のいずれか１項に記載の情報処理装置。
【請求項５】
前記第２のウィンドウは、前記第１のウィンドウをクローズする際に、前記第２のウィンドウが、他の前記第１のウィンドウに関連付けられていない場合には、前記第２のウィンドウをクローズし、一方、前記第２のウィンドウが、他の前記第１のウィンドウに関連付けられている場合には、前記第２のウィンドウをクローズしないように制御する制御手段を有することを特徴とする請求項１乃至請求項４のいずれか１項に記載の情報処理装置。
【請求項６】
前記表示状態には、前記第１のウィンドウに表示されたファイルのファイルパスと、前記第１のウィンドウに関連付けられた前記第２のウィンドウに表示されたファイルのファイルパスを、関連ファイルとして含むことを特徴とする請求項１乃至請求項５のいずれか１項に記載の情報処理装置。
【請求項７】
前記表示状態復元手段は、ファイルのオープン時に、該オープンするファイルの前記関連ファイルがオープン済みでない場合には、前記関連ファイルをオープンすることを特徴とする請求項６に記載の情報処理装置。
【請求項８】
操作者からの関連付け指示に応じて、特定のウィンドウを前記基準となる第１のウィンドウとし、他のウィンドウを前記第１のウィンドウに関連付けられる前記第２のウィンドウとする、操作者関連付け手段を有することを特徴とする請求項１乃至請求項７のいずれか１項に記載の情報処理装置。
【請求項９】
特定のウィンドウと他のウィンドウとの操作履歴に基づいて、前記特定のウィンドウを前記基準となる第１のウィンドウとし、前記他のウィンドウを前記関連付けられる第２のウィンドウとする、操作履歴関連付け手段を有することを特徴とする請求項１乃至請求項８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記第１のウィンドウ又は前記第１のウィンドウを示すアイコンの表示形態を、前記第１のウィンドウに関連付けられた前記第２のウィンドウの表示形態と異ならせるように制御する表示形態制御手段とを有すること特徴とする請求項１乃至請求項９のいずれか１項に記載の情報処理装置。
【請求項１１】
ファイルを表示するウィンドウを複数表示可能な情報処理方法であって、
ウィンドウ関連付け手段が、複数の前記ウィンドウのうち、基準となる第１のウィンドウと第２のウィンドウを関連付けるウィンドウ関連付けステップと、
表示状態登録手段が、前記第１のウィンドウに関連付けられている前記第２のウィンドウの表示状態を表示状態記憶手段に記憶させる表示状態記憶ステップと、
表示状態復元手段が、前記第１のウィンドウがアクティブな状態になった場合に、前記第１のウィンドウに関連付けられている前記第２のウィンドウの表示状態を、前記表示状態記憶手段に記憶されている前記表示状態に基づいて復元する表示状態復元ステップと、を備え、
前記表示状態には、前記第２のウィンドウのサイズ、前記第２のウィンドウの表示位置を含むものであって、
前記表示状態記憶ステップでは、
前記第２のウィンドウが異なる複数の前記基準となるウィンドウから関連付けられている場合には、該基準となるウィンドウ毎に前記第２のウィンドウの前記表示状態を前記表示状態記憶手段に記憶させるものであって、
前記表示状態復元ステップは、
前記第２のウィンドウが異なる複数の前記基準となるウィンドウから関連付けられている場合には、前記表示状態記憶手段に記憶されている複数の前記表示状態のうち、アクティブな状態になった前記基準となるウィンドウに対応する１の該表示状態に基づいて、該第２のウィンドウの表示状態を復元することを特徴とする情報処理方法。
【請求項１２】
ファイルを表示するウィンドウを複数表示可能なコンピュータを、
複数の前記ウィンドウのうち、基準となる第１のウィンドウと第２のウィンドウを関連付けるウィンドウ関連付け手段、
前記第１のウィンドウに関連付けられている前記第２のウィンドウの表示状態を表示状態記憶手段に記憶させる表示状態登録手段、
前記第１のウィンドウがアクティブな状態になった場合に、前記第１のウィンドウに関連付けられている前記第２のウィンドウの表示状態を、前記表示状態記憶手段に記憶されている前記表示状態に基づいて復元する表示状態復元手段として機能させるプログラムであり、
前記表示状態には、前記第２のウィンドウのサイズ、前記第２のウィンドウの表示位置を含むものであって、
前記表示状態登録手段は、
前記第２のウィンドウが異なる複数の前記基準となるウィンドウから関連付けられている場合には、該基準となるウィンドウ毎に前記第２のウィンドウの前記表示状態を前記表示状態記憶手段に記憶させるものであって、
前記表示状態復元手段は、
前記第２のウィンドウが異なる複数の前記基準となるウィンドウから関連付けられている場合には、前記表示状態記憶手段に記憶されている複数の前記表示状態のうち、アクティブな状態になった前記基準となるウィンドウに対応する１の該表示状態に基づいて、該第２のウィンドウの表示状態を復元することを特徴とするプログラム。
【請求項１３】
請求項１２に記載されたプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示装置の画面上に複数のウィンドウを表示するマルチウィンドウ表示制御装置に関し、特に、関連するウィンドウを参照しながら編集、操作を行うような場面で、ウィンドウを切り替える際の関連ウィンドウの参照支援制御に関する。
【背景技術】
【０００２】
近年のパーソナルコンピュータでは、同時に複数のウィンドウを表示可能なマルチウィンドウシステムが採用されている。このマルチウィンドウシステム環境下において、操作者は、複数の関連するウィンドウを参照しながら、編集作業等を行うことが可能である。
【０００３】
このような場面で、表示されている複数のウィンドウの中から、編集作業中のウィンドウの関連ウィンドウを探し出すのは、操作者にとって煩わしい作業である。また、ウィンドウを切り替えるたびにそのような作業を行うのは、操作者にとって大変負荷が大きい。
【０００４】
そのような課題に対し、特許文献１では、最上位のウィンドウに対する予め関連付けられたウィンドウを関連しないウィンドウよりも上位に表示することにより、ウィンドウ切り替えに関わる操作者の負担を軽減し、操作性を向上する技術が開示されている。
【特許文献１】特開２００６−１３９７７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１に記載の技術では、関連するウィンドウを他のウィンドウよりも上位に表示し、優先順位順にしているが、関連ウィンドウのレイアウトや参照位置までは考慮していない。
【０００６】
そのため、編集ウィンドウによって、関連ウィンドウの参照位置を変えたいような場合には対応できない。
【０００７】
例えば、同一のウィンドウが複数の編集ウィンドウに関連付けられており、編集ウィンドウによって、その関連ウィンドウの参照したい位置が異なる場合、ユーザは、ウィンドウを切り替えるたびに、その関連ウィンドウのレイアウトを調節し、ページ移動やスクロール移動などを行って参照したい位置を探し出す必要がある。
【０００８】
即ち、従来では、ウィンドウ切り替え時にそれに関連するウィンドウのレイアウトや参照位置を復元する際の操作者の負荷が高く、関連ウィンドウの参照作業の効率が悪いものとなっていたといった課題があった。
【０００９】
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、ウィンドウ切り替え時の操作者の負荷を軽減し、関連ウィンドウの参照作業の効率を向上させることができる仕組みを提供することである。
【課題を解決するための手段】
【００１０】
本発明は、ファイルを表示するウィンドウを複数表示可能な情報処理装置であって、複数の前記ウィンドウのうち、基準となる第１のウィンドウと第２のウィンドウを関連付けるウィンドウ関連付け手段と、前記第１のウィンドウに関連付けられている前記第２のウィンドウの表示状態を記憶する表示状態記憶手段と、前記第１のウィンドウがアクティブな状態になった場合に、前記第１のウィンドウに関連付けられている前記第２のウィンドウの表示状態を、前記表示状態記憶手段に記憶されている前記表示状態に基づいて復元する表示状態復元手段と、を備え、前記表示状態には、前記第２のウィンドウのサイズ、該第２のウィンドウの表示位置を含むものであって、前記表示状態記憶手段は、前記第２のウィンドウが異なる複数の前記基準となるウィンドウから関連付けられている場合には、該基準となるウィンドウ毎に前記第２のウィンドウの前記表示状態を記憶するものであって、前記表示状態復元手段は、前記第２のウィンドウが異なる複数の前記基準となるウィンドウから関連付けられている場合には、前記表示状態記憶手段に記憶されている複数の前記表示状態のうち、アクティブな状態になった前記基準となるウィンドウに対応する１の該表示状態に基づいて、該第２のウィンドウの表示状態を復元することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ウィンドウが切り替わる等の状況の変化に合わせて、それに関連するウィンドウの表示状態も復元することで、ウィンドウ切り替え時の操作者の負荷を軽減し、関連ウィンドウの参照作業の効率を向上させることができる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【００１３】
〔第１実施形態〕
図１は、本発明の一実施形態を示すマルチウィンドウ表示装置の構成の一例を示すブロック図である。
【００１４】
図１に示すように、１０１はＯＳ(オペレーティングシステム)であり、ファイル入出力、メモリ管理、入出力装置管理、アプリケーション実行管理などパーソナルコンピュータの機能として基本的な機能を実現するものである。
【００１５】
１０２はウィンドウ制御部であり、ＯＳ１０１に含まれる機能のうち、直接的なウィンドウ制御全般を行うものである。
【００１６】
１０３は監視部であり、ウィンドウの監視を行い、ウィンドウ情報テーブル１０４を参照しながら、状態復元部１０６、状態記憶部１０７、関連付け部１０８に対し、状況に応じたメッセージを送る。
【００１７】
ウィンドウ情報テーブル１０４は、表示中のウィンドウのハンドル、ファイルパス、関連ウィンドウ情報配列１０５の参照ポインタ等、表示中のウィンドウ情報を保持する。
【００１８】
関連ウィンドウ情報配列１０５は、アクティブウィンドウに関連するウィンドウの情報を保持する。
【００１９】
なお、ウィンドウ情報テーブル１０４、関連ウィンドウ情報配列１０５は、プログラム実行時に、後述する図２に示すＲＡＭ２０３上に作成されるテーブルである。また、ウィンドウ情報テーブル１０４、関連ウィンドウ情報配列１０５の一例を後述する図５に示す。
【００２０】
状態復元部１０６は、監視部１０３から指令を受けて、アクティブウィンドウに関連するウィンドウの状態復元を行う部分である。
【００２１】
状態記憶部１０７は、監視部１０３から指令を受けて、アクティブウィンドウに関連するウィンドウの状態の記憶処理を行う部分である。
【００２２】
関連付け部１０８は、監視部１０３から指令を受けて、ウィンドウ同士の関連付けを行う部分である。
【００２３】
なお、監視部１０３、状態復元部１０６、状態記憶部１０７、関連付け部１０８は、ＣＰＵ２０１が、後述する図２に示す外部メモリ２１１からプログラムをＲＡＭ２０３にロードして実行することで実現される機能に対応する。
【００２４】
次に、ファイル管理ＤＢ１０９，関連ファイル管理ＤＢ１１０について説明する。なお、ファイル管理ＤＢ１０９，関連ファイル管理ＤＢ１１０は、第１実施形態の説明では用いず、後述する第２実施形態の説明において用いる。
【００２５】
図２は、図１に示したマルチウィンドウ表示装置に適用可能なコンピュータ（情報処理装置）のハードウェア構成の一例を示すブロック図である。
【００２６】
図２において、２０１はＣＰＵであり、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。また、ＲＯＭ２０２あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ(Basic Input / Output System)やオペレーティングシステムプログラム（以下、ＯＳ）や、各サーバ或いは各ＰＣの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【００２７】
２０３はＲＡＭであり、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等を外部メモリ２１１からＲＡＭ２０３にロードして、プログラムを実行することで各種動作を実現するものである。
【００２８】
２０５は入力コントローラ（入力Ｃ）であり、キーボード２０９や不図示のマウス等のポインティングデバイスからの入力を制御する。
【００２９】
２０６はビデオコントローラ（ＶＣ）であり、ＣＲＴディスプレイ（ＣＲＴ）２１０等の表示器にへの表示を制御する。表示器はＣＲＴだけでなく、液晶ディスプレイでも構わない。これらは必要に応じて管理者が使用するものである。本発明には直接関係があるものではない。
【００３０】
２０７はメモリコントローラ（ＭＣ）であり、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶する外部メモリ２１１へのアクセスを制御する。なお、外部メモリ２１１は、一例として、ハードディスク（ＨＤ）やフロッピ（登録商標）ディスク（ＦＤ）或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等が該当する。
【００３１】
２０８は通信Ｉ／Ｆコントローラ（通信Ｉ／ＦＣ）であり、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。この通信処理としては、例えば、ＴＣＰ／ＩＰを用いたインターネット通信等が可能である。
【００３２】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ＣＲＴ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ＣＲＴ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００３３】
本発明を実現するための関連ウィンドウ参照支援プログラムは、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。即ち、関連ウィンドウ参照支援プログラムは、ＣＰＵ２０１を、図１に示した監視部１０３、状態復元部１０６、状態記憶部１０７、関連付け部１０８として機能させるためのプログラムである。さらに、関連ウィンドウ参照支援プログラムが用いる定義ファイル２１３及び各種情報テーブル２１４は外部メモリ２１１に格納されており、これらについての詳細な説明は後述する。
【００３４】
次に、関連ウィンドウ参照支援装置の基本的な処理について、図３〜図８を用いて説明する。
【００３５】
図３は、本発明における第１の制御処理手順の一例を示すフローチャートであり、第１実施形態におけるマルチウィンドウ表示装置における関連ウィンドウ参照支援処理に対応する。なお、このフローチャートの処理は、図１に示した監視部１０３、状態復元部１０６、状態記憶部１０７、関連付け部１０８により実行されるものである。即ち、外部メモリ２１１に記録された関連ウィンドウ参照支援プログラムを、ＣＰＵ２０１が、ＲＡＭ２０３にロードして実行することにより実現される。
【００３６】
まず、ステップＳ３０１において、監視部１０３は、ウィンドウ制御部１０２からアクティブウィンドウ切り替え通知を受け取ると、ステップＳ３０２に処理を進める。即ち、この通知がステップＳ３０２に進むトリガーとなる。
【００３７】
ステップＳ３０２では、監視部１０３は、ウィンドウが切り替わる前のアクティブウィンドウ（以下、旧アクティブウィンドウ）のハンドルをウィンドウ制御部１０２より取得する。
【００３８】
次に、ステップＳ３０３において、監視部１０３は、Ｓ３０２で取得した旧アクティブウィンドウのハンドルを元にウィンドウ情報テーブル１０４（図４）を検索する。
【００３９】
図４は、ウィンドウ情報テーブル１０４，関連ウィンドウ情報配列１０５の一例を示す図である。なお、ウィンドウ情報テーブル１０４，関連ウィンドウ情報配列１０５は、プログラム実行時にＲＡＭ２０３で保持される情報である。
【００４０】
まず、ウィンドウ情報テーブル１０４のデータ構造について説明する。
【００４１】
ウィンドウ情報テーブル１０４は、最小化されているものも含めて、その時点で表示されている全てのウィンドウの情報を持っている。以下、各項目について説明する。
【００４２】
ウィンドウハンドル１００１は、表示しているウィンドウのハンドルをあらわしている。このハンドルにより、ウィンドウ制御部１０２からの基本的なウィンドウ情報の取得、ウィンドウの制御が可能となる。
【００４３】
ファイルパス・ＵＲＬ１００２は、そのウィンドウで表示しているファイルのパスを表すものである。この例では、ファイルパスもしくはＵＲＬとしているが、そのほかにもエイリアス等のファイルの識別に用いられるものは何でも適用可である。以下、各テーブルの「ファイルパス・ＵＲＬ」についても同様である。
【００４４】
関連ウィンドウ表示機能１００３は、そのウィンドウの関連ウィンドウを表示するか否かを表すものである。そのステータスには、「ＯＮ」，「ＯＦＦ」がある。「ＯＮ」の場合は、ウィンドウの関連付け、関連ウィンドウの記憶、復元処理を行う。「ＯＦＦ」の場合は、以上の処理は行わない。
【００４５】
ユーザは、後述する関連ウィンドウ表示機能設定画面１４００（図１４）により関連ウィンドウ表示機能１００３の「ＯＮ」，「ＯＦＦ」を切り替えることができる。
【００４６】
関連ウィンドウ情報配列ポインタ１００４は、関連ウィンドウ情報配列１０５のポインタを表すものである。
【００４７】
関連ウィンドウ情報配列１０５は、関連ウィンドウの情報を格納する配列である。以下、各項目について説明する。
【００４８】
ウィンドウハンドル１００５は、ファイルを表示しているウィンドウのハンドルをあらわしている。このハンドルにより、ウィンドウ情報の取得や制御が可能となる。ファイルパス・ＵＲＬ１００６は、ウィンドウで表示しているファイルのパスを表すものである。
【００４９】
表示順１００７は、関連元のウィンドウを除いて、スクリーン上で上から何番目に表示するかを表すものである。関連元のウィンドウが最上位に表示され、それに続いて、表示順１００７が「１」のウィンドウから順に上位に表示される。
【００５０】
ウィンドウ領域１００８は、表示画面上のウィンドウ位置を示しており、左から順に、Ｘ座標、Ｙ座標、幅、高さ、となっており、Ｘ座標、Ｙ座標は、ウィンドウの左上の座標を表している。幅、高さはウィンドウの幅と高さを表している。
【００５１】
参照位置(Ｘ、Ｙ)１００９は、ウィンドウにおいて、ファイル内のどの場所が表示されているかを表すものである。左から、Ｘ座標、Ｙ座標となっており、この例では、スクロールの位置を表している。
【００５２】
以下、図３のフローチャートの説明に戻る。
【００５３】
次に、ステップＳ３０４において、監視部１０３は、Ｓ３０３の検索結果に基づいて、旧アクティブウィンドウの関連ウィンドウ表示機能１００３を調べ、それが「ＯＮ」である場合は、Ｓ３０５に処理を進め、一方、「ＯＦＦ」の場合は、Ｓ３０７に処理を進める。
【００５４】
ステップＳ３０５では、監視部１０３は、関連付け部１０８に対し、関連付け処理を行うようメッセージを送る。これにより、関連付け部１０８は、監視部１０３からのメッセージを受け、旧アクティブウィンドウの関連付け処理を行う。なお、関連付け処理の詳細は後述する図５で示す。
【００５５】
次に、ステップＳ３０６において、監視部１０３は、状態記憶部１０７に対し、処理対象のアクティブウィンドウの関連ウィンドウ記憶処理を行うようメッセージを送る。これにより、状態記憶部１０７は、メッセージを受けて、旧アクティブウィンドウの関連ウィンドウの状態を記憶する処理を行う。なお、関連ウィンドウ記憶処理の詳細は後述する図６で示す。
【００５６】
次に、ステップＳ３０７において、監視部１０３は、ウィンドウ切り替えにより、旧アクティブウィンドウに代わって新しくアクティブになるウィンドウ（以下、新アクティブウィンドウと呼ぶ）のハンドルをウィンドウ制御部１０２より取得する。
【００５７】
次に、ステップＳ３０８では、監視部１０３は、Ｓ３０７で取得した新アクティブウィンドウのハンドルをキーにウィンドウ情報テーブル１０４（図４）を検索する。
【００５８】
次に、ステップＳ３０９において、監視部１０３は、新アクティブウィンドウの関連ウィンドウ表示機能１００３を調べ、「ＯＮ」である場合は、ステップＳ３１０に処理を進める。
【００５９】
ステップＳ３１０では、監視部１０３は、状態復元部１０６に対し、新アクティブウィンドウの関連ウィンドウ復元処理を行うようメッセージを送る。これにより、状態復元部１０６は、メッセージを受けて新アクティブウィンドウに関連するウィンドウの復元処理を行う。なお、関連ウィンドウ復元処理の詳細は、後述する図８に示す。そして、ステップＳ３０９の処理が終了すると、監視部１０３は、本フローチャートの処理を終了する。
【００６０】
一方、ステップＳ３０９で、新アクティブウィンドウの関連ウィンドウ表示機能１００３が「ＯＮ」でないと判定した場合には、監視部１０３は、本フローチャートの処理を終了する。
【００６１】
次に、図３のステップＳ３０５に示した旧アクティブウィンドウの関連付け処理について、図５を参照して説明する。
【００６２】
図５は、本発明における第２の制御処理手順の一例を示すフローチャートであり、図３のステップＳ３０５に示した旧アクティブウィンドウの関連付け処理に対応する。なお、このフローチャートの処理は、関連付け部１０８により実行されるものである。即ち、外部メモリ２１１に記録された関連ウィンドウ参照支援プログラムを、ＣＰＵ２０１が、ＲＡＭ２０３にロードして実行することにより実現される。
【００６３】
まず、ステップＳ４０１において、関連付け部１０８は、ウィンドウ制御部１０２から旧アクティブウィンドウのイベントを取得する。
【００６４】
次に、ステップＳ４０２において、関連付け部１０８は、旧アクティブウィンドウのイベントがクローズもしくは、最小化であると判断した場合、ステップＳ４０３に処理を進める。クローズもしくは、最小化以外の場合は、関連付けは行わない。
【００６５】
一方、ステップＳ４０２で、関連付け部１０８が、旧アクティブウィンドウのイベントがクローズでなく、かつ、最小化でもないと判断した場合、関連付けは行わず、そのまま本フローチャートの処理を終了する。
【００６６】
ステップＳ４０３では、関連付け部１０８は、旧アクティブウィンドウ以外で、画面上に表示されているウィンドウのウィンドウハンドルをウィンドウ制御部１０２から取得する。
【００６７】
次に、ステップＳ４０４において、関連付け部１０８は、ステップＳ４０５〜Ｓ４０９の処理を、ステップＳ４０３で取得した各ウィンドウに対して繰り返すように制御する。
【００６８】
ステップＳ４０５では、関連付け部１０８は、Ｓ４０３で取得したウィンドウハンドルを元に旧アクティブウィンドウの関連ウィンドウ情報配列１０５（図４）を検索する。
【００６９】
そして、ステップＳ４０６において、関連付け部１０８は、Ｓ４０３で取得したウィンドウハンドル（以下、処理対象のウィンドウハンドル）が関連ウィンドウ情報配列に存在した場合、処理対象のウィンドウハンドルに対応するウィンドウ（処理対象のウィンドウ）が、旧アクティブウィンドウに関連付けされているか否かを判定する。
【００７０】
ステップＳ４０６で、処理対象のウィンドウハンドルが関連ウィンドウ情報配列に存在していると判定した場合には、関連付け部１０８は、処理対象のウィンドウが既に旧アクティブィンドウに関連付けされていると判断し、関連付けは行わず、ステップＳ４０５に処理を戻し、次のウィンドウハンドルに処理対象を移す。
【００７１】
一方、ステップＳ４０６で、処理対象のウィンドウハンドルが関連ウィンドウ情報配列に存在しないと判定した場合には、関連付け部１０８は、処理対象のウィンドウが旧アクティブィンドウに関連付けされていないと判断し、ステップＳ４０７に処理を進める。
【００７２】
ステップＳ４０７では、関連付け部１０８は、旧アクティブウィンドウとの関連付けが必要か否か判断するために、関連付け確認画面１３００（図６）を表示し、ユーザの回答を求める。
【００７３】
図６は、関連付け確認画面１３００の一例を示す図である。
【００７４】
図６において、メッセージ１３０１に含まれる名前は、関連ウィンドウ表示機能が「ＯＮ」となっているアクティブウィンドウのタイトル名を表す。
【００７５】
１３０２は、メッセージ１３０１に含まれるウィンドウの関連ウィンドウ候補のウィンドウタイトル名である。
【００７６】
１３０３は、ＯＫボタンであり、ユーザがこのボタンを押すことで、メッセージ１３０１に含まれるウィンドウと、ウィンドウタイトル名の示すのウィンドウが関連付けられる。
【００７７】
１３０４は、キャンセルボタンであり、ユーザがこのボタンを押すことで、メッセージ１３０１に含まれるウィンドウと、ウィンドウタイトル名の示すのウィンドウとは関連付けされない。
【００７８】
以下、図５のフローチャートの説明に戻る。
【００７９】
ステップＳ４０７において、関連付け部１０８が、ユーザが関連付け確認画面でキャンセルボタン１３０４を押したと判定した場合には、関連付けが必要ない判断する。そして、関連付け部１０８は、ステップＳ４０５に処理を戻し、次のウィンドウハンドルに処理対象を移す。
【００８０】
一方、ステップＳ４０７において、関連付け部１０８が、ユーザが関連付け確認画面でＯＫボタン１３０３を押したと判定した場合には、関連付けが必要と判断し、ステップＳ４０８に処理を進める。
【００８１】
ステップＳ４０８では、関連付け部１０８は、処理対象のウィンドウハンドル、処理対象のウィンドウハンドルに対応するファイルパス等の関連ウィンドウ情報を作成する。
【００８２】
次に、ステップＳ４０９において、関連付け部１０８は、Ｓ４０８で作成した関連ウィンドウ情報を旧アクティブウィンドウの関連ウィンドウ情報配列１０５に追加する。そして、関連付け部１０８は、ステップＳ４０５に処理を戻し、次のウィンドウハンドルに処理対象を移す。
【００８３】
以上のステップＳ４０３〜Ｓ４０９の処理を、Ｓ４０３で取得した表示ウィンドウに対して繰り返すことにより、旧アクティブウィンドウの関連ウィンドウの表示状態が関連ウィンドウ情報配列１０５に追加される。
【００８４】
なお、図５に示した例では、Ｓ４０２の判定ステップにより、ウィンドウのクローズ及び最小化時に、該ウィンドウ以外に表示されているウィンドウを該ウィンドウの関連付け対象とする関連付け方法をとっている。しかし、関連付け方法はこれに限らず、あらゆる関連付け方法を適用可である。
【００８５】
例えば、関連付けのタイミングは、ウィンドウのクローズ及び最小化時に限定することなく、単にアクティブウィンドウが切り替えられた時に行うように構成してもよい。即ち、旧アクティブウィンドウのイベントが「クローズ」もしくは「最小化」であるか否かに関係なく、ステップＳ４０１の実行後、関連付けは行う（ステップＳ４０３〜S４０９の処理を行う）ように構成してもよい。
【００８６】
また、各ウィンドウの関連付けの有無の判定（Ｓ４０７）は、図１６に示した関連付け確認画面によるユーザ指示に限定するものではない。例えば、ウィンドウに対するユーザの操作履歴（コピー量、参照切り替え回数、参照時間等）を監視し、関連付けデータとして蓄え、その関連付けデータをもとに関連付けを自動的に行う方法をとっても良い。
【００８７】
さらに、関連元のウィンドウに対する操作に基づいて、アプリケーションが自動表示したウィンドウは、自動的に、上記関連元のウィンドウに関連付けするように構成してもよい。
【００８８】
また、関連付け編集用のユーザインタフェースをユーザに提示し、ユーザがウィンドウ同士の関連付けを自由に編集できるようにしても良い。
【００８９】
さらに、関連付け部１０８等が、関連付け元となるウィンドウ、又は、該ウィンドウを示すアイコン（タスクバー上のウィンドウアイコン等）の表示形態（表示色、形状、ウィンドウ名の表示フォント等）を、関連ウィンドウの表示形態と異ならせるように制御する構成であってもよい。
【００９０】
図７は、本発明における第３の制御処理手順の一例を示すフローチャートであり、図３のステップＳ３０６に示した旧アクティブウィンドウの関連ウィンドウ記憶処理に対応する。なお、このフローチャートの処理は、状態記憶部１０７により実行されるものである。即ち、外部メモリ２１１に記録された関連ウィンドウ参照支援プログラムを、ＣＰＵ２０１が、ＲＡＭ２０３にロードして実行することにより実現される。
【００９１】
まず、ステップＳ５０１において、状態記憶部１０７は、旧アクティブウィンドウのウィンドウハンドルを元に、ウィンドウ情報テーブル１０４を検索し、関連ウィンドウ情報配列１０５を取得する。
【００９２】
次に、ステップＳ５０２において、状態記憶部１０７は、Ｓ５０１で取得した関連ウィンドウ情報配列に含まれる関連ウィンドウ全てに対し、ステップＳ５０３〜Ｓ５０６の処理を繰り返す。
【００９３】
まず、ステップＳ５０３では、状態記憶部１０７は、処理対象の関連ウィンドウの参照位置、ウィンドウ領域、表示順等の情報をウィンドウ制御部１０２から取得する。
【００９４】
次に、ステップＳ５０４において、状態記憶部１０７は、Ｓ５０３で取得した関連ウィンドウの情報で、処理対象の関連ウィンドウの関連ウィンドウ情報配列を上書きする。
【００９５】
次に、ステップＳ５０５において、状態記憶部１０７は、旧アクティブウィンドウのイベントが最小化であったか否かを判定する。
【００９６】
ステップＳ５０５で、旧アクティブウィンドウのイベントが最小化であったと判定した場合には、状態記憶部１０７は、ステップＳ５０６に処理を進め、ウィンドウ制御部１０２にメッセージを送り、処理対象の関連ウィンドウを最小化する。そして、状態記憶部１０７は、ステップＳ５０３に処理を戻し、次の関連ウィンドウに処理対象を移す。
【００９７】
一方、ステップＳ５０５で、旧アクティブウィンドウのイベントが最小化でなかったと判定した場合には、状態記憶部１０７は、そのままステップＳ５０３に処理を戻し、次の関連ウィンドウに処理対象を移す。
【００９８】
以上のステップＳ５０３〜Ｓ５０６の処理を、Ｓ５０１で取得した旧アクティブウィンドウの関連ウィンドウ情報配列に含まれる関連ウィンドウ全てに対して繰り返すことにより、関連ウィンドウ情報配列１０５に記憶される旧アクティブウィンドウの全ての関連ウィンドウの表示状態が更新される。
【００９９】
図８は、本発明における第４の制御処理手順の一例を示すフローチャートであり、図３のステップＳ３１０に示した新アクティブウィンドウの関連ウィンドウ復元処理に対応する。なお、このフローチャートの処理は、状態復元部１０６により実行されるものである。即ち、外部メモリ２１１に記録された関連ウィンドウ参照支援プログラムを、ＣＰＵ２０１が、ＲＡＭ２０３にロードして実行することにより実現される。
【０１００】
まず、ステップＳ６０１において、状態復元部１０６は、旧アクティブウィンドウに代わって、新たにアクティブになる新アクティブウィンドウのウィンドウハンドルを元に、ウィンドウ情報テーブル１０４を検索し、関連ウィンドウ情報配列を取得する。
【０１０１】
次に、ステップＳ６０２において、状態復元部１０６は、Ｓ６０１で取得した関連ウィンドウ情報配列に含まれる関連ウィンドウ全てに対し、ステップＳ６０３〜Ｓ６０４の処理を繰り返す。
【０１０２】
まず、ステップＳ６０３において、状態復元部１０６は、関連ウィンドウ情報配列から、処理対象の関連ウィンドウの参照位置１００９、ウィンドウ領域１００８、表示順１００７の情報（関連ウィンドウ情報）を取得する。
【０１０３】
次に、ステップＳ６０４において、状態復元部１０６は、Ｓ６０３で取得した関連ウィンドウ情報を元に、処理対象の関連ウィンドウの状態を復元する。そして、状態復元部１０６は、ステップＳ６０３に処理を戻し、次の関連ウィンドウに処理対象を移す。
【０１０４】
以上のステップＳ６０３〜Ｓ６０４の処理を、Ｓ６０１で取得した新アクティブウィンドウの関連ウィンドウ情報配列に含まれる関連ウィンドウ全てに対して繰り返すことにより、新アクティブウィンドウの全ての関連ウィンドウの状態を復元することができる。
【０１０５】
〔第２実施形態〕
以下、本発明の第２実施形態について説明する。
【０１０６】
本実施形態では、図１に示したファイル管理ＤＢ１０９，関連ファイル管理ＤＢ１２を用いる。
【０１０７】
図１に示すファイル管理ＤＢ１０９は、ウィンドウに対応する各ファイルのファイルパスやＵＲＬ、関連ウィンドウ参照支援機能のＯＮもしくはＯＦＦ、関連ファイルＩＤ等の情報を記憶するデータベースである。このファイル管理ＤＢ１０９は、アクティブウィンドウクローズ時にそのウィンドウで開いていたファイルの情報が記憶され、次回そのファイルがオープンされる時に参照される。
【０１０８】
関連ファイル管理ＤＢ１１０は、アクティブウィンドウのクローズ時に該アクティブウィンドウの関連ウィンドウの表示状態を記憶しておくデータベースである。この関連ファイル管理ＤＢ１１０は、次回関連ウィンドウオープン時に参照される。
【０１０９】
なお、ファイル管理ＤＢ１０９，関連ファイル管理ＤＢ１１０は、図２に示した外部メモリ２１１上に実現されるものである。
【０１１０】
以下、本実施形態の関連ウィンドウ参照支援処理を説明する。
【０１１１】
図９は、本発明における第５の制御処理手順の一例を示すフローチャートであり、第２実施形態におけるマルチウィンドウ表示装置における関連ウィンドウ参照支援処理に対応する。なお、このフローチャートの処理は、図１に示した監視部１０３、状態復元部１０６、状態記憶部１０７、関連付け部１０８により実行されるものである。即ち、外部メモリ２１１に記録された関連ウィンドウ参照支援プログラムを、ＣＰＵ２０１が、ＲＡＭ２０３にロードして実行することにより実現される。
【０１１２】
まず、ステップＳ７０１において、監視部１０３は、ウィンドウ制御部１０２からアクティブウィンドウ切り替え通知を受け取ると、ステップＳ７０２に処理を進める。即ち、この通知がステップＳ７０２に進むトリガーとなる。
【０１１３】
ステップＳ７０２では、監視部１０３は、ウィンドウが切り替わる前のアクティブウィンドウ（以下、旧アクティブウィンドウ）のハンドルをウィンドウ制御部１０２より取得する。
【０１１４】
次に、ステップＳ７０３において、監視部１０３は、Ｓ７０２で取得した旧アクティブウィンドウのハンドルを元にウィンドウ情報テーブル１０４（図４）を検索する。
【０１１５】
次に、ステップＳ７０４において、監視部１０３は、Ｓ７０３の検索結果に基づいて、旧アクティブウィンドウの関連ウィンドウ表示機能１００３を調べ、それが「ＯＮ」である場合は、Ｓ７０５に処理を進め、一方、「ＯＦＦ」の場合は、Ｓ７０６に処理を進める。
【０１１６】
ステップＳ７０５では、監視部１０３は、関連付け部１０８に対し、関連付け処理を行うようメッセージを送る。これにより、関連付け部１０８は、監視部１０３からのメッセージを受け、旧アクティブウィンドウの関連付け処理を行う（図５）。そして、ステップＳ７０５の処理が終了すると、監視部１０３は、ステップＳ７０６に処理を進める。
【０１１７】
ステップＳ７０６では、監視部１０３は、ウィンドウ制御部１０２より、旧アクティブウィンドウのウィンドウイベントを取得する。
【０１１８】
次に、ステップＳ７０７において、監視部１０３は、旧アクティブウィンドウのイベントがクローズか否か判定する。そして、旧アクティブウィンドウのイベントがクローズと判断した場合は、監視部１０３は、ステップＳ７０８に処理を進める。
【０１１９】
ステップＳ７０８では、監視部１０３は、状態記憶部１０７に対し、旧アクティブウィンドウのクローズに伴う処理を行うようメッセージを送る。これにより、状態記憶部１０７は、メッセージを受けて旧アクティブウィンドウのクローズに伴う処理を行う。なお、ウィンドウのクローズに伴う処理の詳細は後述する図１０に示す。そして、ステップＳ７０８の処理が終了すると、監視部１０３は、ステップＳ７１１に処理を進める。
【０１２０】
一方、ステップＳ７０７において、旧アクティブウィンドウのイベントがクローズでないと判定した場合には、監視部１０３は、ステップＳ７０９に処理を進める。
【０１２１】
ステップＳ７０９では、監視部１０３は、Ｓ７０３の検索結果に基づいて、旧アクティブウィンドウの関連ウィンドウ表示機能１００３を調べ、それが「ＯＮ」である場合は、Ｓ７１０に処理を進め、一方、「ＯＦＦ」の場合は、Ｓ７１１に処理を進める。
【０１２２】
ステップＳ７１０では、監視部１０３は、状態記憶部１０７に対し、処理対象のアクティブウィンドウの関連ウィンドウ記憶処理を行うようメッセージを送る。これにより、状態記憶部１０７は、メッセージを受けて、旧アクティブウィンドウの関連ウィンドウの状態を記憶する処理を行う（図７）。そして、ステップＳ７１１の処理が終了すると、監視部１０３は、ステップＳ７１１に処理を進める。
【０１２３】
ステップＳ７１１では、監視部１０３は、ウィンドウ切り替えにより、旧アクティブウィンドウに代わって新しくアクティブになるウィンドウ（以下、新アクティブウィンドウと呼ぶ）のハンドルをウィンドウ制御部１０２より取得する。
【０１２４】
次に、ステップＳ７１２では、監視部１０３は、Ｓ７１１で取得した新アクティブウィンドウのハンドルをキーにウィンドウ情報テーブル１０４（図４）を検索する。
【０１２５】
次に、ステップＳ７１３において、監視部１０３は、新アクティブウィンドウのウィンドウハンドルがウィンドウ情報テーブル１０４に存在するか否か判定し、存在すると判定した場合には、そのままステップＳ７１４に処理を進める。
【０１２６】
ステップＳ７１４では、監視部１０３は、新アクティブウィンドウの関連ウィンドウ表示機能１００３を調べ、「ＯＮ」である場合は、ステップＳ７１５に処理を進める。
【０１２７】
ステップＳ７１５では、監視部１０３は、状態復元部１０６に対し、新アクティブウィンドウの関連ウィンドウ復元処理を行うようメッセージを送る。これにより、状態復元部１０６は、メッセージを受けて新アクティブウィンドウに関連するウィンドウの復元処理を行う（図８）。そして、ステップＳ７１５の処理が終了すると、監視部１０３は、本フローチャートの処理を終了する。
【０１２８】
一方、ステップＳ７１４は、新アクティブウィンドウの関連ウィンドウ表示機能１００３が「ＯＮ」でないと判定した場合には、監視部１０３は、本フローチャートの処理を終了する。
【０１２９】
また、ステップＳ７１３で、新アクティブウィンドウのウィンドウハンドルがウィンドウ情報テーブル１０４に存在しないと判定した場合には、ステップＳ７１６に処理を進める。
【０１３０】
ステップＳ７１６では、監視部１０３は、状態復元部１０６に対し、新アクティブウィンドウのオープンに伴う処理を行うようメッセージを送る。これにより、状態復元部１０６は、メッセージを受けて新アクティブウィンドウのオープンに伴う処理を行う。なお、ウィンドウのオープンに伴う処理の詳細は、後述する図１０に示す。そして、ステップＳ７１６の処理が終了すると、監視部１０３は、本フローチャートの処理を終了する。
【０１３１】
次に、図９のステップＳ７０８に示した旧アクティブウィンドウのクローズに伴う処理について、図１０を参照して説明する。
【０１３２】
図１０は、本発明における第６の制御処理手順の一例を示すフローチャートであり、図９のステップＳ７０８に示した旧アクティブウィンドウのクローズに伴う処理に対応する。なお、このフローチャートの処理は、状態記憶部１０７により実行されるものである。即ち、外部メモリ２１１に記録された関連ウィンドウ参照支援プログラムを、ＣＰＵ２０１が、ＲＡＭ２０３にロードして実行することにより実現される。
【０１３３】
まず、ステップＳ８０１において、状態記憶部１０７は、旧アクティブウィンドウのウィンドウハンドルをキーに、ウィンドウ情報テーブル１０４を検索し、旧アクティブウィンドウの関連ウィンドウ表示機能が「ＯＮ」であるか否かを判定する。
【０１３４】
ステップＳ８０１で、旧アクティブウィンドウの関連ウィンドウ表示機能が「ＯＮ」でないと判定した場合には、状態記憶部１０７は、そのままステップＳ８１５に処理を進める。
【０１３５】
一方、ステップＳ８０１で、旧アクティブウィンドウの関連ウィンドウ表示機能が「ＯＮ」であると判定した場合には、状態記憶部１０７は、ステップＳ８０２に処理を進める。
【０１３６】
ステップＳ８０２では、状態記憶部１０７は、旧アクティブウィンドウの関連ウィンドウ情報配列を取得する。
【０１３７】
次に、ステップＳ８０３において、状態記憶部１０７は、旧アクティブウィンドウに関連ウィンドウがあるか否かを判定する。この判定の際、状態記憶部１０７は、Ｓ８０２で取得した関連ウィンドウ情報配列の要素数を調べ、要素数が０より大きい場合に、旧アクティブウィンドウの関連ウィンドウの存在すると判定する。
【０１３８】
ステップＳ８０３において、旧アクティブウィンドウが関連ウィンドウが存在しないと判定した場合には、状態記憶部１０７は、そのままステップＳ８１４に処理を進める。
【０１３９】
一方、ステップＳ８０３において、旧アクティブウィンドウが関連ウィンドウが存在すると判定した場合には、状態記憶部１０７は、ステップＳ８０４に処理を進める。
【０１４０】
ステップＳ８０４では、状態記憶部１０７は、旧アクティブウィンドウのファイルパスを元にファイル管理ＤＢ１０９（図１１）を検索し、関連ファイルＩＤ１１０３を取得する。ここで、図１１を参照して、ファイル管理ＤＢ１０９について説明する。
【０１４１】
図１１は、外部メモリ２１１に記録されているファイル管理ＤＢ１０９のデータ構造の一例を示す図である。
【０１４２】
ファイルパス・ＵＲＬ１１０１は、各ファイルのファイルパスもしくはＵＲＬが格納される。
【０１４３】
関連ウィンドウ表示機能１１０２は、関連ファイルを自動的に表示するか否かを示すものであり、前回ウィンドウクローズ時の値がセットされており、次回起動時にデフォルト値として用いられる。
【０１４４】
関連ファイルＩＤ１１０３は、関連ファイル管理ＤＢ１１０（図１２）において、関連するファイル情報を識別するためのＩＤである。
【０１４５】
図１２は、外部メモリ２１１に記録されている関連ファイル管理ＤＢ１１０のデータ構造を表として示す図である。
【０１４６】
関連ファイルＩＤ１２０１は、関連ファイルを識別するためのＩＤである。ファイル管理ＤＢ１０９で関連元となるファイルがこのＩＤを持っており、このＩＤが一致するものをそのファイルの関連ファイル情報とする。
【０１４７】
ファイルパス・ＵＲＬ１２０２は、各ファイルのファイルパスもしくはＵＲＬが格納される。アプリケーション１２０３は、ファイルを開くのに用いるアプリケーションを表すものである。
【０１４８】
表示順１２０４は、関連元のウィンドウを除いて、スクリーン上で上から何番目に表示するかを表すものである。関連元のウィンドウが最上位に表示され、それに続いて１から順に上位に表示される。
【０１４９】
ウィンドウ領域１２０５は、左から順に、Ｘ座標、Ｙ座標、幅、高さ、となっており、Ｘ座標、Ｙ座標は、ウィンドウの左上の座標を表している。また、幅、高さはウィンドウの幅と高さを表している。
【０１５０】
参照位置(Ｘ、Ｙ)１２０６は、ファイル内のどの場所を表示するかを表すものである。左から、Ｘ座標、Ｙ座標となっている。今回の実施形態では、スクロールの位置を表している。
【０１５１】
以下、図１０のフローチャートの説明に戻る。
【０１５２】
ステップＳ８０５において、状態記憶部１０７は、Ｓ８０４で関連ファイルＩＤを取得できたか否かを判定し、関連ファイルＩＤを取得できなかったと判定した場合には、ステップＳ８０８に処理を進める。
【０１５３】
一方、ステップＳ８０５において、Ｓ８０４で関連ファイルＩＤを取得できたと判定した場合には、状態記憶部１０７は、ステップＳ８０６に処理を進める。
【０１５４】
ステップＳ８０６では、状態記憶部１０７は、関連ファイルＩＤを発行する。このとき、状態記憶部１０７は、ファイル管理ＤＢ１０９を調べ、他のファイルの関連ファイルＩＤと重複しないユニークなＩＤになるようにする。
【０１５５】
次に、ステップＳ８０７において、状態記憶部１０７は、Ｓ８０６で発行したＩＤを旧アクティブウィンドウの関連ファイルＩＤとしてファイル管理ＤＢ１０９に保存する。そして、ステップＳ８０８に処理を進める。
【０１５６】
ステップＳ８０８では、状態記憶部１０７は、Ｓ８０１で取得した関連ウィンドウ情報配列に含まれる関連ウィンドウ全てに対し、ステップＳ８０９〜Ｓ８１３の処理を繰り返すように制御する。
【０１５７】
まず、状態記憶部１０７は、ステップＳ８０９では、状態記憶部１０７は、処理対象の関連ウィンドウの関連ウィンドウ情報（参照位置、領域、表示順等の情報）をウィンドウ制御部１０２から取得する。
【０１５８】
次に、ステップＳ８１０において、状態記憶部１０７は、Ｓ８０９で取得した関連ウィンドウの情報を関連ファイル管理ＤＢ１１０に保存する。このとき、Ｓ８０４で取得したＩＤもしくは、Ｓ８０６で発行したＩＤとファイルパスが一致するものを検索し、存在すれば、関連ウィンドウ情報（参照位置、ウィンドウ領域、表示順等の情報）を上書き保存する。一方、存在しなければ、関連ファイル管理ＤＢ１１０に関連ウィンドウ情報（関連ファイルＩＤ、ファイルパス、参照位置、ウィンドウ領域、表示順等）を追加保存する。
【０１５９】
次に、ステップＳ８１１において、状態記憶部１０７は、処理対象の関連ウィンドウがその他のウィンドウから参照されていないか判定する。この判定の際、状態記憶部１０７は、処理対象の関連ウィンドウのハンドルをキーにして、その他の関連ウィンドウ情報配列全てを検索する。そして、処理対象の関連ウィンドウのハンドルが他の関連ウィンドウ情報配列に含まれていなかった場合に、処理対象の関連ウィンドウが他のウィンドウから参照されていないと判断する。
【０１６０】
そして、ステップＳ８１１において、処理対象の関連ウィンドウがその他のウィンドウから参照されていないと判定した場合には、状態記憶部１０７は、ステップＳ８１２に処理を進める。
【０１６１】
ステップＳ８１２では、状態記憶部１０７は、ウィンドウ制御部１０２にメッセージを送り、処理対象の関連ウィンドウをクローズし、処理対象の関連ウィンドウの情報をウィンドウ情報テーブル１０９から削除する。そして、ステップＳ８０９に処理を戻し、次のウィンドウに処理対象を移す。
【０１６２】
一方、ステップＳ８１１において、処理対象の関連ウィンドウがその他のウィンドウから参照されていると判定した場合には、状態記憶部１０７は、ステップＳ８１３に処理を進める。
【０１６３】
ステップＳ８１３では、状態記憶部１０７は、ウィンドウ制御部１０２にメッセージを送り、処理対象の関連ウィンドウをクローズせず、最小化する。そして、ステップＳ８０９に処理を戻し、次のウィンドウに処理対象を移す。
【０１６４】
そして、Ｓ８０１で取得した関連ウィンドウ情報配列に含まれる関連ウィンドウ全てに対し、ステップＳ８０９〜Ｓ８１３の処理を終了すると、状態記憶部１０７は、ステップＳ８１４に処理を進める。
【０１６５】
ステップＳ８１４では、状態記憶部１０７は、旧アクティブウィンドウの関連ウィンドウ情報配列をＲＡＭ２０３から破棄し、ステップＳ８１５に処理を進める。
【０１６６】
ステップＳ８１５では、状態記憶部１０７は、旧アクティブウィンドウのウィンドウ情報をウィンドウ情報テーブル１０４から削除し、本フローチャートの処理を終了する。
【０１６７】
次に、図９のステップＳ７１６に示した新アクティブウィンドウのオープンに伴う処理について、図１３を参照して説明する。
【０１６８】
図１３は、本発明における第７の制御処理手順の一例を示すフローチャートであり、図９のステップＳ７１６に示した新アクティブウィンドウのオープンに伴う処理に対応する。なお、このフローチャートの処理は、状態復元部１０６により実行されるものである。即ち、外部メモリ２１１に記録された関連ウィンドウ参照支援プログラムを、ＣＰＵ２０１が、ＲＡＭ２０３にロードして実行することにより実現される。
【０１６９】
まず、ステップＳ９０１において、状態復元部１０６は、新アクティブウィンドウで開くファイルのパスを取得する。
【０１７０】
次に、ステップＳ９０２において、状態復元部１０６は、Ｓ９０１で取得したファイルパスをキーにファイル管理ＤＢ１０９を検索する。
【０１７１】
次に、ステップＳ９０３において、状態復元部１０６は、Ｓ９０２でのファイル管理ＤＢ検索処理の結果、Ｓ９０１で取得したファイルパスに対応するファイルがファイル管理ＤＢ１０９に登録されているか否かを判定する。
【０１７２】
そして、ステップＳ９０３で、Ｓ９０１で取得したファイルパスに対応するファイルがファイル管理ＤＢ１０９に登録されていると判定した場合には、状態復元部１０６は、ステップＳ９０６に処理を進める。
【０１７３】
一方、ステップＳ９０３で、Ｓ９０１で取得したファイルパスに対応するファイルがファイル管理ＤＢ１０９に登録されていないと判定した場合には、状態復元部１０６は、ステップＳ９０４に処理を進める。
【０１７４】
ステップＳ９０４では、状態復元部１０６は、関連ウィンドウ表示機能設定画面１４００（図１４）を表示し、ユーザに回答を求める。
【０１７５】
図１４は、関連ウィンドウ表示機能設定画面１４００の一例を示す図である。
【０１７６】
図１４において、１４０１、１４０２はラジオボタンとなっており、いずれかが必ず選択状態となっている。
【０１７７】
１４０１は、「関連ウィンドウ表示機能をONにする」ラジオボタンであり、このボタンが選択状態で、ＯＫボタン１４０３が押された場合は、アクティブウィンドウの関連ウィンドウ表示機能がＯＮとなる。
【０１７８】
１４０２は、「関連ウィンドウ表示機能をOFFにする」ラジオボタンであり、このボタンが選択状態でＯＫボタン１４０３が押された場合は、アクティブウィンドウの関連ウィンドウ表示機能がＯＦＦとなる。
【０１７９】
以下、図１３のフローチャートの説明に戻る。
【０１８０】
関連ウィンドウ表示機能設定画面１４００でＯＫボタン１４０３が押下されると、状態復元部１０６は、ステップＳ９０５に処理を進める。
【０１８１】
ステップＳ９０５では、状態復元部１０６は、新アクティブウィンドウのファイルパス、関連ウィンドウ表示機能等のファイル情報をファイル管理ＤＢ１０９に登録する。この際、状態復元部１０６は、関連ウィンドウ表示機能設定画面１４００で、「ＯＮにする」ボタン１４０１が選択された状態でＯＫボタン１４０３が押下された場合、関連ウィンドウ表示機能１１０２を「ＯＮ」に登録する。一方、「ＯＦＦにする」ボタン１４０２が選択された状態でＯＫボタン１４０３が押下された場合、状態復元部１０６は、関連ウィンドウ表示機能１１０２を「ＯＦＦ」に登録する。
【０１８２】
ステップＳ９０５の処理が終了すると、状態復元部１０６は、ステップＳ９０６に処理を進める。
【０１８３】
ステップＳ９０６では、状態復元部１０６は、ファイル管理ＤＢ１０９に登録されている新アクティブウィンドウの関連ウィンドウ表示機能１１０２が「ＯＮ」か否か判定し、「ＯＮ」でない場合、ステップＳ９１７に処理を進める。
【０１８４】
一方、ステップＳ９０６において、ファイル管理ＤＢ１０９に登録されている新アクティブウィンドウの関連ウィンドウ表示機能１１０２が「ＯＮ」の場合、ステップＳ９０７に処理を進める。
【０１８５】
ステップＳ９０７では、状態復元部１０６は、ＲＡＭ２０３上に新アクティブウィンドウの関連ウィンドウ情報配列を作成する。
【０１８６】
次に、ステップＳ９０８において、状態復元部１０６は、新アクティブウィンドウの関連ファイルＩＤがファイル管理ＤＢ１０９に存在するか判定し、存在しないと判定した場合には、ステップＳ９１７に処理を進める。
【０１８７】
一方、ステップＳ９０８において、新アクティブウィンドウの関連ファイルＩＤがファイル管理ＤＢ１０９に存在すると判定した場合には、状態復元部１０６は、新アクティブウィンドウの関連ファイルＩＤをファイル管理ＤＢ１０９から取得し、ステップＳ９０９に処理を進める。
【０１８８】
ステップＳ９０９では、状態復元部１０６は、ステップＳ９０９で取得した関連ファイルＩＤをキーに関連ファイル管理ＤＢ１１０を検索する。
【０１８９】
次に、ステップＳ９１０において、状態復元部１０６は、Ｓ９０９の検索処理で関連ファイルＩＤが一致した関連ファイル全てに対し、ステップＳ９１１〜Ｓ９１６の処理を繰り返す。
【０１９０】
ステップＳ９１１で、状態復元部１０６は、関連ファイル管理ＤＢ１１０から処理対象の関連ファイルの関連ファイル情報を取得する。
【０１９１】
次に、ステップＳ９１２において、状態復元部１０６は、Ｓ９１１で取得した関連ファイル情報のうち、ファイルパスをキーに、ウィンドウ情報テーブル１０４を検索する。そして、上記Ｓ９１１で取得した関連ファイル情報のファイルパスがウィンドウ情報テーブル１０４に存在する場合には、該ファイルパスに対応するファイルのウィンドウがオープン済みであると判断し、ステップＳ９１４に処理を進める。
【０１９２】
一方、ステップＳ９１２で、状態復元部１０６は、上記Ｓ９１１で取得した関連ファイル情報のファイルパスがウィンドウ情報テーブル１０４に存在しない場合には、状態復元部１０６は、該関連ファイル情報に対応するファイルのウィンドウがオープン済みでないと判断し、ステップＳ９１３に処理を進める。
【０１９３】
ステップＳ９１３では、状態復元部１０６は、Ｓ９１１で取得した関連ファイル情報のアプリケーション１２０３でファイルパス１２０２の関連ファイルを開いて、新規ウィンドウをオープンする。、該関連ファイルのウィンドウ情報をウィンドウ情報テーブル１０４に追加する。そして、ステップＳ９１４に処理を進める。
【０１９４】
ステップＳ９１４では、状態復元部１０６は、Ｓ９１１で取得した関連ファイル情報に対応するウィドウのウィンドウハンドルをウィンドウ情報テーブル１０４から取得する。
【０１９５】
次に、ステップＳ９１５において、状態復元部１０６は、Ｓ９１１で取得した関連ファイル情報のうち、ファイルパス、表示順、ウィンドウ領域、参照位置、Ｓ９１４で取得したウィンドウハンドルを、Ｓ９０７で作成した関連ウィンドウ情報配列にセットする。
【０１９６】
次に、ステップＳ９１６において、状態復元部１０６は、Ｓ９１６で関連ウィンドウ情報配列にセットした関連ウィンドウ情報を元に、処理対処の関連ウィンドウの状態を復元する。そして、ステップＳ９１１に処理を戻し、次の関連ファイルに処理対象を移す。
【０１９７】
そして、状態復元部１０６は、Ｓ９０９の検索処理で関連ファイルＩＤが一致した関連ファイル全てに対し、ステップＳ９１１〜Ｓ９１６の処理を終了すると、ステップＳ９１７に処理を進める。
【０１９８】
ステップＳ９１７では、状態復元部１０６は、ウィンドウ情報テーブル１０４に、新アクティブウィンドウのウィンドウハンドル、ファイルパス、関連ウィンドウ表示機能、関連ウィンドウ情報配列ポインタ等のウィンドウ情報を追加して、本フローチャートの処理を終了する。
【０１９９】
次に、図１５，図１６を参照して、本実施形態におけるファイルの関連イメージ及びアクティブウィンドウの切り替えイメージを具体的に説明する。
【０２００】
図１５は、本実施形態におけるファイルの関連イメージの一例を示す模式図である。
【０２０１】
「提案書１」１５１０と「提案書２」１５２０は、本実施形態において、関連ウィンドウ表示機能が「ＯＮ」の関連元ウィンドウとしての役割を持つものである。
【０２０２】
そして、各々には関連ウィンドウが存在し、各関連ウィンドウのウィンドウハンドルやファイルパス、参照位置、ウィンドウ領域、表示順等のウィンドウ状態に関する情報を持っている。
【０２０３】
「提案書１」１５１０は、「提案書サンプル」１５１１、「類似特許１」１５１２と関連付けられている。
【０２０４】
「提案書２」１５２０は、「提案書サンプル」１５２１、「類似特許２」１５２２、「図表フォルダ」１５２３と関連付けられている。
【０２０５】
なお、「提案書サンプル」１５１１と、「提案書サンプル」１５２１は、同一ファイルであるが、参照位置、ウィンドウ領域、表示順等の情報がそれぞれ異なっている。即ち、「提案書サンプル」は、「提案書１」１５１０、「提案書２」１５２０の双方に関連付けられ、それぞれ「提案書サンプル」１５１１、「提案書サンプル」１５２１として図示されている。
【０２０６】
次に図１５での関連を元にした、アクティブウィンドウ切り替え時のスクリーン上のイメージを図１６を用いて説明する。
【０２０７】
図１６は、アクティブウィンドウ切り替え時の画面上のイメージを具体的に示す模式図である。
【０２０８】
図１６に示すように、マルチウィンドウ表示装置のスクリーン（画面）上には、「提案書１.doc」、「類似特許１.doc」、「提案書サンプル.pdf」、「提案書２.doc」、「類似特許２.doc」、「図表フォルダ」、以上のウィンドウが開かれている。
【０２０９】
なお、ユーザは、「提案書１.doc」、「提案書２.doc」を関連ウィンドウ表示機能がＯＮの状態で開いている。
【０２１０】
まず、スクリーンイメージ１６１０において、ユーザは、「提案書１.doc」を編集している。その際、「提案書１.doc」の関連ウィンドウとして「提案書サンプル.doc」、「類似特許１.pdf」もスクリーン上に表示されている。
【０２１１】
その後、ユーザが「提案書１.doc」を最小化し、「提案書２.doc」をアクティブにすると、マルチウィンドウ表示装置は、スクリーンイメージ１６２０のように関連ウィンドウを参照支援制御する。
【０２１２】
即ち、「提案書1.doc」が最小化されることで、それに関連付けられている「類似特許１.pdf」、「提案書サンプル.doc」のウィンドウ状態（表示状態）が、関連ウィンドウ情報配列１０５に記憶された上で、最小化される。
【０２１３】
そして、「提案書２.doc」がアクティブになることで、それに関連付けられている「図表」、「提案書サンプル.pdf」、「類似特許２.doc」がスクリーン上に表示される。スクリーンイメージ１６１０の時とスクリーンイメージ１６２０の時とでは、アクティブウィンドウが異なるため、同じ「提案書サンプル.pdf」でも、ウィンドウ領域、参照位置、表示順が異なって表示されている。
【０２１４】
そして再び、ユーザが「提案書１．doc」をアクティブにすることで、マルチウィンドウ表示装置は、スクリーンイメージ１６３０のように制御する。
【０２１５】
即ち、スクリーンの状態が、前回、「提案書１．doc」を閉じる時に記憶しておいたウィンドウ状態に戻るため、スクリーンイメージ１６３０とスクリーンイメージ１６１０は同じウィンドウ状態となっている。
【０２１６】
そして、「提案書サンプル.doc」のウィンドウ状態も、スクリーンイメージ１６２０の状態から、スクリーンイメージ１６１０の時の状態に戻っている。
【０２１７】
以上説明したように、本実施形態のマルチウィンドウ表示装置の関連ウィンドウ参照支援制御によれば、監視部１０３が、ウィンドウの監視を行うことで、アクティブウィンドウが切り替わることを検知する。これを受けて、アクティブウィンドウの関連ウィンドウ表示機能がＯＮの場合には、関連付け部１０８が、ウィンドウの関連付けを行う。そして、アクティブウィンドウに予め関連付けられたウィンドウの状態を内部メモリ（ＲＡＭ２０３）上の関連ウィンドウ情報配列にセットして記憶する。
【０２１８】
また、ウィンドウのクローズによるアクティブウィンドウの切り替えの場合、状態記憶部１０７が、そのウィンドウに予め関連付けられているウィンドウの状態を関連ファイル管理ＤＢに記憶する。その際、その他のウィンドウから参照されていない場合には、関連ウィンドウもクローズする。
【０２１９】
そして、ウィンドウ切り替えによって新たにアクティブになるウィンドウに予め関連付けられたウィンドウの状態を、関連ウィンドウ情報配列を元に状態復元部１０６が復元する。
【０２２０】
また、ファイルのオープンによるウィンドウの切り替えの場合、新たにアクティブになるウィンドウに予め関連付けられているウィンドウの状態を関連ファイル管理ＤＢの情報を元に復元する。
【０２２１】
このように、本実施形態により、ウィンドウが切り替わる等の状況の変化に合わせて、それに関連するウィンドウ（ファイル）の表示状態も変化させることができる。
【０２２２】
なお、上記したように実施形態では、関連ウィンドウの参照位置を含む関連ウィンドウ情報を、関連ウィンドウ情報配列１０５や、関連ファイル管理ＤＢに記憶しておき、アクティブウィンドウを切り替えたときや、ウィンドウをクローズしたとき、ウィンドウをオープンしたときなど、上記関連ウィンドウ情報に基づいて、新たにアクティブになったウィンドウの関連ウィンドウの参照位置を元に戻す構成を有する。
【０２２３】
さらに、関連ウィンドウ情報として、関連ウィンドウ内の選択状態や、カーソル位置、ボタン選択状態等も記憶しておき、関連元のウィンドウがアクティブになった際、上記関連ウィンドウ情報に基づいて、関連ウィンドウの選択状態や、カーソル位置、ボタン選択状態等も復元するように構成してもよい。
【０２２４】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【０２２５】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０２２６】
以下、図１７に示すメモリマップを参照して本発明に係るマルチウィンドウ表示装置で読み取り可能なデータ処理プログラムの構成について説明する。
【０２２７】
図１７は、本発明に係るマルチウィンドウ表示装置で読み取り可能な各種データ処理プログラムを記録した記録媒体（記憶媒体）のメモリマップを説明する図である。
【０２２８】
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０２２９】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０２３０】
本実施形態における図３，図５，図７，図８，図９，図１０，図１３に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０２３１】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０２３２】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【０２３３】
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＤＶＤ−ＲＯＭ，磁気テープ，不揮発性のメモリカード，ＲＯＭ，ＥＥＰＲＯＭ，シリコンディスク等を用いることができる。
【０２３４】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０２３５】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０２３６】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウエアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０２３７】
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ，データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０２３８】
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【０２３９】
以上示したように、本実施形態のマルチウィンドウ表示装置によれば、ウィンドウが切り替わる等の状況の変化に合わせて、それに関連するウィンドウ（ファイル）の表示状態を変化させることで、ウィンドウ切り替え時の操作者の負荷を軽減し、関連ウィンドウの参照作業の効率を向上させることができる。
【図面の簡単な説明】
【０２４０】
【図１】本発明の一実施形態を示すマルチウィンドウ表示装置の構成の一例を示すブロック図である。
【図２】図１に示したマルチウィンドウ表示装置に適用可能なコンピュータ（情報処理装置）のハードウェア構成の一例を示すブロック図である。
【図３】本発明における第１の制御処理手順の一例を示すフローチャートである。
【図４】ウィンドウ情報テーブル，関連ウィンドウ情報配列の一例を示す図である。
【図５】本発明における第２の制御処理手順の一例を示すフローチャートである。
【図６】関連付け確認画面の一例を示す図である。
【図７】本発明における第３の制御処理手順の一例を示すフローチャートである。
【図８】本発明における第４の制御処理手順の一例を示すフローチャートである。
【図９】本発明における第５の制御処理手順の一例を示すフローチャートである。
【図１０】本発明における第６の制御処理手順の一例を示すフローチャートである。
【図１１】ファイル管理ＤＢのデータ構造の一例を示す図である。
【図１２】関連ファイル管理ＤＢのデータ構造を表として示す図である。
【図１３】本発明における第７の制御処理手順の一例を示すフローチャートである。
【図１４】関連ウィンドウ表示機能設定画面の一例を示す図である。
【図１５】本実施形態におけるファイルの関連イメージの一例を示す模式図である。
【図１６】アクティブウィンドウ切り替え時の画面上のイメージを具体的に示す模式図である。
【図１７】本発明に係るマルチウィンドウ表示装置で読み取り可能な各種データ処理プログラムを記録した記録媒体（記憶媒体）のメモリマップを説明する図である。
【符号の説明】
【０２４１】
１０１    ＯＳ
１０２    ウィンドウ制御部
１０３    監視部
１０４    ウィンドウ情報テーブル
１０５    関連ウィンドウ情報配列
１０６    状態復元部
１０７    状態記憶部
１０８    関連付け部
１０９    ファイル管理ＤＢ
１１０  関連ファイル管理ＤＢ
１３００    関連付け確認画面
１４００    関連ウィンドウ表示機能設定画面
【図１】
0005179171.tif 000002
【図２】
0005179171.tif 000003
【図３】
0005179171.tif 000004
【図４】
0005179171.tif 000005
【図５】
0005179171.tif 000006
【図６】
0005179171.tif 000007
【図７】
0005179171.tif 000008
【図８】
0005179171.tif 000009
【図９】
0005179171.tif 000010
【図１０】
0005179171.tif 000011
【図１１】
0005179171.tif 000012
【図１２】
0005179171.tif 000013
【図１３】
0005179171.tif 000014
【図１４】
0005179171.tif 000015
【図１５】
0005179171.tif 000016
【図１６】
0005179171.tif 000017
【図１７】
0005179171.tif 000018