(57)【要約】【課題】  複数のウィンドウ操作に関する操作性を向上させるようにした情報処理装置、そのマルチウィンドウ表示方法及びプログラムを提供する。【解決手段】  情報処理装置は、グラフィカルユーザインターフェースにおいてユーザにより操作された部品を検知し、当該検知された部品に対する操作に応じてウィンドウが新たに表示される場合に、検知された部品と、予め決められた部品間のフォーカスの移動順序とに基づき表示画面上に既に表示された部品の中から不可視禁止とする部品を特定し、当該特定された部品が表示されている領域に重複しない表示画面上の領域内に部品に対する操作に応じたウィンドウを新たに表示させる。【選択図】  図１
2009169548.tif 000002
【特許請求の範囲】
【請求項１】
グラフィカルユーザインターフェースにおいてユーザにより操作された部品を検知する検知手段と、
前記検知手段により検知された部品に対する操作に応じてウィンドウが新たに表示される場合に、該検知された部品と、予め決められた部品間のフォーカスの移動順序とに基づき表示画面上に既に表示された部品の中から不可視禁止とする部品を特定する部品特定手段と、
前記部品特定手段により特定された部品が表示されている領域に重複しない前記表示画面上の領域内に前記部品に対する操作に応じたウィンドウを新たに表示させる表示制御手段と
を具備することを特徴とする情報処理装置。
【請求項２】
新たなウィンドウの表示に際して、予め決められたウィンドウ間の関係に基づき前記表示画面上に既に表示されたウィンドウの中から不可視禁止とするウィンドウを特定するウィンドウ特定手段
を更に具備し、
前記表示制御手段は、
前記ウィンドウ特定手段により特定されたウィンドウが表示されている領域に重複しない前記表示画面上の領域内に前記新たなウィンドウを表示させる
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記表示制御手段により表示されるウィンドウのタイプに基づき前記部品特定手段により特定された前記部品、前記ウィンドウ特定手段により特定された前記ウィンドウの何れを不可視禁止領域とするかを切り替える
ことを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記表示制御手段は、
前記部品に対する操作に応じたウィンドウ、又は前記新たなウィンドウの表示に際して、該ウィンドウの表示位置、サイズの少なくとも一方を調整する
ことを特徴とする請求項１乃至３いずれか一項に記載の情報処理装置。
【請求項５】
新たなウィンドウの表示に際して、予め決められたウィンドウ間の関係に基づき表示画面上に既に表示されたウィンドウの中から不可視禁止とするウィンドウを特定する特定手段と、
前記特定手段により特定されたウィンドウが表示される領域に重複しない前記表示画面上の領域内に前記新たなウィンドウを表示させる表示制御手段と
を具備することを特徴とする情報処理装置。
【請求項６】
情報処理装置におけるマルチウィンドウ表示方法であって、
グラフィカルユーザインターフェースにおいてユーザにより操作された部品を検知する検知工程と、
前記検知工程により検知された部品に対する操作に応じてウィンドウが新たに表示される場合に、該検知された部品と、予め決められた部品間のフォーカスの移動順序とに基づき表示画面上に既に表示された部品の中から不可視禁止とする部品を特定する特定工程と、
前記特定工程により特定された部品が表示されている領域に重複しない前記表示画面上の領域内に前記部品に対する操作に応じたウィンドウを新たに表示させる表示制御工程と
を含むことを特徴とする情報処理装置におけるマルチウィンドウ表示方法。
【請求項７】
情報処理装置におけるマルチウィンドウ表示方法であって、
新たなウィンドウの表示に際して、予め決められたウィンドウ間の関係に基づき表示画面上に既に表示されたウィンドウの中から不可視禁止とするウィンドウを特定する特定工程と、
前記特定工程により特定されたウィンドウが表示される領域に重複しない前記表示画面上の領域内に前記新たなウィンドウを表示させる表示制御工程と
を含むことを特徴とする情報処理装置におけるマルチウィンドウ表示方法。
【請求項８】
コンピュータを、
グラフィカルユーザインターフェースにおいてユーザにより操作された部品を検知する検知手段、
前記検知手段により検知された部品に対する操作に応じてウィンドウが新たに表示される場合に、該検知された部品と、予め決められた部品間のフォーカスの移動順序とに基づき表示画面上に既に表示された部品の中から不可視禁止とする部品を特定する特定手段、
前記特定手段により特定された部品が表示されている領域に重複しない前記表示画面上の領域内に前記部品に対する操作に応じたウィンドウを新たに表示させる表示制御手段
として機能させるためのマルチウィンドウ制御プログラム。
【請求項９】
コンピュータを、
新たなウィンドウの表示に際して、予め決められたウィンドウ間の関係に基づき表示画面上に既に表示されたウィンドウの中から不可視禁止とするウィンドウを特定する特定手段、
前記特定手段により特定されたウィンドウが表示される領域に重複しない前記表示画面上の領域内に前記新たなウィンドウを表示させる表示制御手段
として機能させるためのマルチウィンドウ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のウィンドウを制御する情報処理装置、そのマルチウィンドウ表示方法及びプログラムに関する。
【背景技術】
【０００２】
複数のウィンドウを表示するマルチウィンドウ制御を採用したコンピュータシステムが知られている（特許文献１）。このようなコンピュータシステムにおいて、ウィンドウが表示される表示領域は、ディスプレイのサイズ及び解像度によって制限される。その一方で、このようなコンピュータシステムは、ディスプレイ上にほぼ無制限の数のウィンドウを表示する能力を有している。
【０００３】
しかし、上述したようにディスプレイのサイズ及び表示領域の解像度には限りがあり、ほぼ無制限の数のウィンドウをディスプレイ上に表示した場合、大多数のウィンドウが部分的、或いは完全に覆われてしまう可能性が高い。そのため、多数のウィンドウが表示されている状態で作業を行なう際には、ユーザは、多数のウィンドウの中から所望のウィンドウを特定し、そのウィンドウを他のウィンドウに覆われない位置に移動させたり、サイズを調整させたりしなければならなかった。この作業は、非常に煩雑であり、作業効率の低下を招くこととなっていた。
【０００４】
従来、上記問題を解決するマルチウィンドウの制御方法としては、カスケード配置方法、タイル配置方法、スタック配置方法が知られている。
【０００５】
カスケード配置方法では、表示領域の左上の隅から右下の隅に向けて互いに重なるようにウィンドウが配置される。第１のウィンドウは表示領域の画素座標に配置され、後続するウィンドウは、少なくとも各ウィンドウの一部が可視となるように、所定の画素数分右下の位置に表示領域内の先行するウィンドウを覆うように配置される。
【０００６】
タイル配置方法では、ウィンドウはモザイク上に配置され、ウィンドウの利用可能な表示領域を出来る限り埋めるように、個々のウィンドウのサイズを変更し、ウィンドウが重なり合わないように配置される。
【０００７】
スタック配置方法では、ウィンドウは垂直方向でのみタイル上に配置され、タイル配置方法と同様に、ウィンドウの利用可能な表示領域を出来る限り埋めるように、個々のウィンドウのサイズを変更し、ウィンドウが重なり合わないように配置される。
【特許文献１】特開２００１−１００８８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述したウィンドウの表示方法では依然として課題が残る。
【０００９】
カスケード配置方法においては、複数のウィンドウを表示した場合に、第１のウィンドウ上に配置されたＧＵＩ（Graphical User Interface）部品の一部が第２のウィンドウによって遮られ、不可視になってしまう可能性がある。例えば、モーダルダイアログとして第２のウィンドウが表示された場合に、第１のウィンドウ上に配置されたＧＵＩ部品の表示内容を確認するには、第２のウィンドウの位置及びサイズを当該ＧＵＩ部品に重複しない位置及びサイズに調整する必要がある。そのため、著しく操作性が低下してしまう。
【００１０】
また、タイル配置方法及びスタック配置方法においては、ウィンドウを他のウィンドウに覆われることなく、全てのウィンドウが完全に可視となるようにウィンドウが配置されるため、ウィンドウを再配置せずに、所望のウィンドウを特定できる。しかし、全てのウィンドウが一様のサイズに変更されてしまうため、表示画面上に多数のウィンドウが配置された場合には、個々のウィンドウのサイズが小さくなり、所望のウィンドウの特定が困難となってしまう。また、所望のウィンドウを特定できたとしても、当該ウィンドウ上で作業を行なう際には、作業可能となるようにウィンドウの位置及びサイズを調整する必要があり、操作性が悪かった。
【００１１】
本発明は、上述した課題に鑑みてなされたものであり、複数のウィンドウ操作に関する操作性を向上させるようにした情報処理装置、そのマルチウィンドウ表示方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するため、本発明の一態様による情報処理装置は、グラフィカルユーザインターフェースにおいてユーザにより操作された部品を検知する検知手段と、前記検知手段により検知された部品に対する操作に応じてウィンドウが新たに表示される場合に、該検知された部品と、予め決められた部品間のフォーカスの移動順序とに基づき表示画面上に既に表示された部品の中から不可視禁止とする部品を特定する部品特定手段と、前記部品特定手段により特定された部品が表示されている領域に重複しない前記表示画面上の領域内に前記部品に対する操作に応じたウィンドウを新たに表示させる表示制御手段とを具備することを特徴とする。
【００１３】
また、本発明の一態様による情報処理装置は、新たなウィンドウの表示に際して、予め決められたウィンドウ間の関係に基づき表示画面上に既に表示されたウィンドウの中から不可視禁止とするウィンドウを特定する特定手段と、前記特定手段により特定されたウィンドウが表示される領域に重複しない前記表示画面上の領域内に前記新たなウィンドウを表示させる表示制御手段とを具備することを特徴とする。
【００１４】
また、本発明の一態様は、情報処理装置におけるマルチウィンドウ表示方法であって、グラフィカルユーザインターフェースにおいてユーザにより操作された部品を検知する検知工程と、前記検知工程により検知された部品に対する操作に応じてウィンドウが新たに表示される場合に、該検知された部品と、予め決められた部品間のフォーカスの移動順序とに基づき表示画面上に既に表示された部品の中から不可視禁止とする部品を特定する特定工程と、前記特定工程により特定された部品が表示されている領域に重複しない前記表示画面上の領域内に前記部品に対する操作に応じたウィンドウを新たに表示させる表示制御工程とを含むことを特徴とする。
【００１５】
また、本発明の一態様は、情報処理装置におけるマルチウィンドウ表示方法であって、新たなウィンドウの表示に際して、予め決められたウィンドウ間の関係に基づき表示画面上に既に表示されたウィンドウの中から不可視禁止とするウィンドウを特定する特定工程と、前記特定工程により特定されたウィンドウが表示される領域に重複しない前記表示画面上の領域内に前記新たなウィンドウを表示させる表示制御工程とを含むことを特徴とする。
【００１６】
また、本発明の一態様によるマルチウィンドウ制御プログラムは、コンピュータを、グラフィカルユーザインターフェースにおいてユーザにより操作された部品を検知する検知手段、前記検知手段により検知された部品に対する操作に応じてウィンドウが新たに表示される場合に、該検知された部品と、予め決められた部品間のフォーカスの移動順序とに基づき表示画面上に既に表示された部品の中から不可視禁止とする部品を特定する特定手段、前記特定手段により特定された部品が表示されている領域に重複しない前記表示画面上の領域内に前記部品に対する操作に応じたウィンドウを新たに表示させる表示制御手段として機能させる。
【００１７】
また、本発明の一態様によるマルチウィンドウ制御プログラムは、コンピュータを、新たなウィンドウの表示に際して、予め決められたウィンドウ間の関係に基づき表示画面上に既に表示されたウィンドウの中から不可視禁止とするウィンドウを特定する特定手段、前記特定手段により特定されたウィンドウが表示される領域に重複しない前記表示画面上の領域内に前記新たなウィンドウを表示させる表示制御手段として機能させる。
【発明の効果】
【００１８】
本発明によれば、本構成によるマルチウィンドウ制御を行なわない場合よりも、複数のウィンドウ操作に関する操作性を向上させられる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明に係わる情報処理装置、そのマルチウィンドウ表示方法及びプログラムの実施形態について添付図面を参照して詳細に説明する。なお、以下実施形態においては、既に表示画面上に表示されているウィンドウを第１のウィンドウと呼び、新たに表示されるウィンドウを第２のウィンドウと呼ぶ。
【００２０】
（実施形態１）
まず、図１、図２を用いて、実施形態１の基本概念について説明する。図１には、アプリケーション画面の一例が示される。
【００２１】
１０１は、第１のウィンドウであり、１０２は、第１のウィンドウ上に配置されたテキストフィールド１であり、１０３は、第１のウィンドウ上に配置されたボタン１であり、１０４は、第１のウィンドウ上に配置されたテキストフィールド２である。また、１０５は、第１のウィンドウ上に配置されたボタン２であり、１０６は、第１のウィンドウ上に配置されたテキストフィールド３であり、１０７は、第１のウィンドウ上に配置されたボタン３であり、１０８は、第２のウィンドウである。
【００２２】
ここで、第１のウィンドウにおける各グラフィカルユーザインターフェース部品（以下、ＧＵＩ部品と略する）には、図２に示すように、ＧＵＩ部品間の移動順序が予め定められている。ＧＵＩ部品間の移動順序は、例えば、「タブオーダー」と呼ばれ、ＧＵＩ部品間を移動するフォーカスの順番である。なお、ＧＵＩ部品間の移動順序は、ウィンドウシステムで管理されていてもよいし、アプリケーションで管理されていてもよい。
【００２３】
アプリケーションでは、第１のウィンドウ上に配置されたテキストフィールド（１０２、１０４、１０６）にテキストが入力された後、ボタン（１０３、１０５、１０７）が押下されると、第２のウィンドウ（１０８）を表示する。第２のウィンドウ（１０８）は、テキストフィールドに入力されたテキストの保存有無の確認を行なうダイアログである。ここで、第１のウィンドウ（１０１）上に配置されたテキストフィールド１（１０２）が入力された後、ボタン１（１０３）が押下されると、第２のウィンドウ（１０８）が表示される。同様に、テキストフィールド２（１０４）が入力された後、ボタン２（１０５）が押下されると、第２のウィンドウ（１０８）が表示される。更に、テキストフィールド３（１０６）が入力された後、ボタン３（１０７）が押下されると、第２のウィンドウ（１０８）が表示される。ボタン１（１０３）の押下により第２のウィンドウ（１０８）が表示された場合、ユーザは、テキストフィールド１（１０２）の内容確認を行なった後、第２のウィンドウ（１０８）を閉じる。同様に、ボタン２（１０５）の押下により第２のウィンドウ（１０８）が表示された場合、ユーザは、テキストフィールド２（１０４）の内容確認を行なった後、第２のウィンドウ（１０８）を閉じる。更に、ボタン３（１０７）の押下により第２のウィンドウ（１０８）が表示された場合、ユーザは、テキストフィールド３（１０６）の内容確認を行なった後、第２のウィンドウ（１０８）を閉じる。
【００２４】
つまり、図１に示すアプリケーションは、第１のウィンドウ（１０１）上で操作されたＧＵＩ部品に付与された順番よりも一つ前の順番が付与されたＧＵＩ部品の表示内容を確認しながら、第２のウィンドウ（１０８）上で操作を行うように設計されている。
【００２５】
そこで、実施形態１においては、このアプリケーション設計を利用してウィンドウ表示を制御する場合について説明する。このウィンドウ表示の制御では、何れかのボタンの押下に伴って第２のウィンドウ（１０８）を表示する際に、当該ボタンと関連性を有するＧＵＩ部品の表示を確認できるように表示領域を決め、当該領域内に第２のウィンドウ（１０８）を表示する。押下されたＧＵＩ部品と関連性を有するＧＵＩ部品は、ＧＵＩ部品間の移動順序に基づき特定される。具体的には、押下されたボタンに付与された順番よりも一つ前の順番が付与されたＧＵＩ部品の表示を確認できるように、第２のウィンドウ（１０８）を表示する。例えば、ボタン１（１０３）が押下された場合には、ボタン１（１０３）よりも一つ前の移動順序が付与されたテキストフィールド１（１０２）と重複しないように、第２のウィンドウ（１０８）を表示させる。
【００２６】
続いて、図１、図２で説明した実施形態１の基本概念を実現するための構成について説明する。図３は、本発明の一実施の形態に係わる情報処理装置の構成の一例を示す図である。
【００２７】
３０１は、中央処理装置（ＣＰＵ）であり、情報処理装置３００全体を制御する。３０２は、ＲＯＭ（Read Only Memory）であり、変更を必要としないプログラムやパラメータを格納する。３０３は、ＲＡＭ（Random Access Memory）であり、外部装置などから供給されるプログラムやデータを一時記憶する。３０４は、ポインティングデバイスやキーボードなどの入力デバイスとのインターフェイスの役割を担う入力部であり、ユーザの操作を受け、各種指示やデータを装置内に入力する。３０５は、ディスプレイとのインターフェイスの役割を担う出力部であり、情報処理装置３００の保持するデータや供給されたデータを表示する。３０６は、システムバスであり、３０１〜３０５の各ユニットを通信可能に接続する。
【００２８】
ここで、図３に示すＣＰＵ３０１内には、ＣＰＵ３０１により実現される機能的な構成の一例が示される。なお、ＣＰＵ３０１により実現される機能的な構成は主に、ＣＰＵ３０１がＲＯＭ３０２等に記憶されたプログラム（例えば、マルチウィンドウ制御プログラム）を読み出し実行することで実現される。
【００２９】
ＣＰＵ３０１においては、操作部品検知部１１と、不可視禁止領域特定部１２と、表示領域決定部１３と、マルチウィンドウ表示制御部１４と、が機能的な構成として実現される。
【００３０】
操作部品検知部１１は、第１のウィンドウ上に表示されたＧＵＩ部品の内、ユーザにより操作されたＧＵＩ部品を特定し、ユーザによる部品操作を検知する。
【００３１】
不可視禁止領域特定部１２は、第２のウィンドウが覆う等して不可視になってしまうことを禁止する表示画面上の領域を特定する機能を果たし、部品特定部２１と、ウィンドウ特定部２２とを具備して構成される。部品特定部２１では、操作が検知されたＧＵＩ部品と関連性を有するＧＵＩ部品を特定し、ウィンドウ特定部２２では、表示される第２のウィンドウと関連性を有するウィンドウを特定する。部品特定部２１及びウィンドウ特定部２２により特定されたＧＵＩ部品、ウィンドウが不可視禁止領域となる。なお、実施形態１においては、部品特定部２１により不可視禁止領域となるＧＵＩ部品を特定し、当該特定されたＧＵＩ部品を含む表示画面上の領域を不可視禁止とする場合について説明する。
【００３２】
表示領域決定部１３は、第２のウィンドウの表示に際して、不可視禁止領域特定部１２により特定された不可視禁止領域に重複しない表示画面上の領域を導き出し、当該領域を第２のウィンドウの表示領域として決定する。なお、第２のウィンドウの表示が可能な領域が複数ある場合には、予め決められた領域決定ルールに基づき領域を決める。
【００３３】
マルチウィンドウ表示制御部１４は、表示画面上に複数のウィンドウを表示制御する。実施形態１においては特に、第１のウィンドウが表示された状態において、当該第１のウィンドウ上に配置された特定のＧＵＩ部品に重複しない領域に第２のウィンドウを表示する制御を行なう。なお、マルチウィンドウ表示制御部１４においては、第２のウィンドウの表示領域が十分に確保できない場合等には、当該ウィンドウの表示位置の調整の他、当該ウィンドウのサイズ調整を行なう。
【００３４】
図４は、図３に示す情報処理装置３００における処理の流れを示すフローチャートである。なお、ここでは、既に表示されたウィンドウ（第１のウィンドウ）から当該ウィンドウ上に配置されたボタン（ＧＵＩ部品）が押下され、その押下に伴って第２のウィンドウが表示される際の処理の流れについて説明する。
【００３５】
ステップＳ４０１では、情報処理装置３００は、操作部品検知部１１において、第１のウィンドウ上に配置されたＧＵＩ部品（例えば、ボタン）が操作されたか否かを検知する。ＧＵＩ部品が操作されたことを検知した場合、ステップＳ４０２の処理に進む。そうでない場合、再度、ステップＳ４０１の処理を行なう。以下、この操作が検知されたＧＵＩ部品のことを第１の部品と呼ぶ。
【００３６】
ステップＳ４０２では、情報処理装置３００は、部品特定部２１において、操作が検知されたＧＵＩ部品と、予め決められたＧＵＩ部品間の移動順序とに基づき当該操作された第１の部品と関連性を有するＧＵＩ部品を特定する。以下、この第１の部品と関連性を有するＧＵＩ部品のことを第２の部品と呼ぶ。なお、上述した通り、第１の部品に付与された移動順序の順番よりも一つ前の順番が付与されたＧＵＩ部品が第２の部品であると特定される。
【００３７】
ここで、図１に示すアプリケーションにおいて、図２に示す移動順序が付与されているとする。この場合、ボタン１（１０３）が押下された場合には、ボタン１（１０３）の移動順序が「２」であることから、第２の部品は、直前の移動順序「１」が付与されたテキストフィールド１（１０２）となる。同様に、ボタン２（１０５）が押下された場合には、ボタン２（１０５）の移動順序が「４」であることから、第２の部品は、直前の移動順序「３」が付与されたテキストフィールド２（１０４）となる。また、ボタン３（１０７）が押下された場合には、ボタン３（１０７）の移動順序が「６」であることから、第２の部品は、直前の移動順序「５」が付与されたテキストフィールド３（１０６）となる。
【００３８】
ステップＳ４０３〜ステップＳ４０９では、情報処理装置３００は、表示領域決定部１３において、第２のウィンドウの表示領域を決定する。まず、ステップＳ４０３において、情報処理装置３００は、ステップＳ４０２で特定された第２の部品の表示領域情報を取得する。例えば、図５に示すように、第２の部品（この場合、テキストフィールド１）の表示領域の左上ｘ座標がｘ１１、左上ｙ座標がｙ１１（５０３）、右下ｘ座標がｘ１２、右下ｙ座標がｙ１２（５０４）となっているとする。すると、情報処理装置３００は、第２の部品の表示領域情報の左上座標として（ｘ、ｙ）＝（ｘ１１、ｙ１１）、右下座標として（ｘ、ｙ）＝（ｘ１２、ｙ１２）を取得する。
【００３９】
ステップＳ４０４では、情報処理装置３００は、ステップＳ４０３で取得した第２の部品の表示領域と重複しない表示画面上の領域を導き出す。例えば、図５に示すように、表示画面（表示可能領域）の左上ｘ座標がｘ０１、左上ｙ座標がｙ０１（５０１）、右下ｘ座標がｘ０２、右下ｙ座標がｙ０２（５０２）であったとする。この場合、第２の部品の表示領域に重複しない領域として、例えば、４パターン導き出される。具体的には、図６（図中左上）に示すように、左上ｘ座標がｘ０１、左上ｙ座標がｙ０１、右下ｘ座標がｘ０２、右下ｙ座標がｙ１１となる領域１（６０１）がある。また、図６（図中左下）に示すように、左上ｘ座標がｘ０１、左上ｙ座標がｙ１２、右下ｘ座標がｘ０２、右下ｙ座標がｙ０２の領域２（６０２）がある。また、図６（図中右上）に示すように、左上ｘ座標がｘ０１、左上ｙ座標がｙ０１、右下ｘ座標がｘ１１、右下ｙ座標がｙ０２の領域３（６０３）がある。また、図６（図中右下）に示すように、左上ｘ座標がｘ１２、左上ｙ座標がｙ０１、右下ｘ座標がｘ０２、右下ｙ座標がｙ０２の領域４（６０４）がある。
【００４０】
ステップＳ４０５では、情報処理装置３００は、ステップＳ４０４で導き出した領域１（６０１）〜領域４（６０４）の中から第２のウィンドウの表示が可能な領域があるか否かを判断する。すなわち、ステップＳ４０２で特定されたＧＵＩ部品と重複せずに第２のウィンドウを表示できる領域があるか否かの判断を行なう。表示可能な領域がある場合、ステップＳ４０６の処理に進む。そうでない場合、ステップＳ４０９の処理に進む。
【００４１】
ステップＳ４０６では、情報処理装置３００は、領域１（６０１）〜領域４（６０４）の内、第２のウィンドウの表示が可能な領域が複数存在するか否かを判断する。複数存在する場合、ステップＳ４０８の処理に進む。そうでない場合、ステップＳ４０７の処理に進み、ステップＳ４０４で導き出された表示可能領域を第２のウィンドウの表示領域として記憶する。その後、ステップＳ４１１の処理に進む。
【００４２】
ステップＳ４０８では、情報処理装置３００は、複数の表示可能領域から第２のウィンドウを表示する領域として、最も適した領域を選び記憶し、ステップＳ４１１の処理に進む。例えば、図６に示す領域の内、第２のウィンドウの表示可能領域が領域１（６０１）と領域２（６０２）とであったとする。このとき、所定の領域決定ルールに基づき領域１（６０１）と領域２（６０２）の内、何れかの領域を第２のウィンドウの表示領域として決定する。この決め方としては、例えば、二つの領域の内、広い領域としてもよいし、ｙ軸方向に最も上に位置する領域としてもよいし、ｙ軸方向に最も下に位置する領域としてもよい。また、ｘ軸方向に最も左に位置する領域としてもよいし、ｘ軸方向に最も右に位置する領域としてもよい。なお、これ以外の他のアルゴリズムによって領域を決めてもよい。
【００４３】
ステップＳ４０９では、情報処理装置３００は、第２の部品の表示領域と重複しない表示画面上の領域を選び記憶する。なお、ステップＳ４０９は、第２のウィンドウを十分に表示できる領域が確保できなかった場合に実施される処理である。そのため、ステップＳ４１０で、マルチウィンドウ表示制御部１４において、ステップＳ４０９で記憶された領域に納まるサイズまで第２のウィンドウを縮小する。
【００４４】
ステップＳ４１１では、情報処理装置３００は、マルチウィンドウ表示制御部１４において、ステップＳ４０７、ステップＳ４０８、ステップＳ４０９で決められた領域に第２のウィンドウを表示する。
【００４５】
以上のように実施形態１によれば、第１のウィンドウに配置されたボタンの押下に伴って第２のウィンドウを表示する際に、当該ボタンと関連性を有するＧＵＩ部品の表示を確認できるように、第２のウィンドウを表示する。これにより、第１のウィンドウ上に配置された特定のＧＵＩ部品の表示内容と、第２のウィンドウの表示内容とを同時に確認できるため、操作性を向上させられる。
【００４６】
なお、上述した実施形態１においては、操作されたＧＵＩ部品に付与された順番よりも１つ前の順番が付与されたＧＵＩ部品を不可視禁止とする場合について説明したが、これに限られない。アプリケーションの設計や仕様によっては、例えば、２つ前のＧＵＩ部品を特定する場合もある。
【００４７】
（実施形態２）
次に、実施形態２について説明する。まず、図７、図８を用いて、実施形態２の基本概念について説明する。図７には、アプリケーション画面の一例が示される。
【００４８】
７０１は、第１のウィンドウであり、７０２は、第１のウィンドウ上に配置されたテキストフィールド１であり、７０３は、第１のウィンドウ上に配置されたボタン１であり、７０４は、第２のウィンドウであり、７０５は、第３のウィンドウである。
【００４９】
ここで、各ウィンドウには、図８に示すように、ウィンドウ間の親子関係が予め定められているものとする。第１のウィンドウ上の操作によって生成される第２のウィンドウがある場合、第１のウィンドウのことを親ウィンドウ、第２のウィンドウのことを子ウィンドウと呼び、両者の関係のことをウィンドウの親子関係と呼ぶ。ウィンドウ間の親子関係は、ウィンドウシステムで管理される親子関係であってもよいし、アプリケーションで管理される親子関係であってもよい。
【００５０】
アプリケーションでは、第１のウィンドウ上に配置されたテキストフィールド１（７０２）にテキストが入力された後、ボタン１（７０３）が押下されると、第２のウィンドウ（７０４）を表示する。第２のウィンドウ（７０４）は、テキストフィールド１（７０２）の入力に関わる詳細情報を表示するダイアログである。ここで、ユーザは、ボタン１（７０３）を押下した後、第２のウィンドウ（７０４）に表示される内容に応じて第１のウィンドウ（７０１）上に配置されたテキストフィールド１（７０２）に入力を行なう。その入力後、ユーザは、第２のウィンドウ（７０４）を閉じる。
【００５１】
つまり、図７に示すアプリケーションは、第２のウィンドウ（７０４）上の表示内容を確認しながら、第１のウィンドウ（７０１）上の操作を行なうように設計されている。
【００５２】
そこで、実施形態２においては、このアプリケーション設計を利用してウィンドウ表示を制御する場合について説明する。このウィンドウ表示の制御では、ボタン（７０３）の押下に伴って第２のウィンドウ（７０４）を表示する際に、当該ボタン（７０３）が配置された第１のウィンドウ（７０１）の表示を確認できるように、第２のウィンドウ（７０４）を表示する。すなわち、上述した親子関係を有するウィンドウにおいて、親ウィンドウと子ウィンドウとが重複しないように、子ウィンドウが表示される。
【００５３】
以上が、実施形態２の基本概念についての説明である。なお、実施形態２に係わる情報処理装置３００の構成は、実施形態１における図３と同様となるため、その説明については省略する。
【００５４】
図９は、実施形態２に係わる情報処理装置３００における動作を示すフローチャートである。なお、ここでは、既に表示されたウィンドウ（第１のウィンドウ）から当該ウィンドウ上に配置されたボタン（ＧＵＩ部品）が押下され、その押下に伴って第２のウィンドウが表示される際の処理の流れについて説明する。
【００５５】
ステップＳ９０１では、情報処理装置３００は、操作部品検知部１１において、第１のウィンドウ上に配置されたＧＵＩ部品（例えば、ボタン）が操作されたか否かを検知する。ＧＵＩ部品が操作されたことを検知した場合、ステップＳ９０２の処理に進む。そうでない場合、再度、ステップＳ９０１の処理を行なう。
【００５６】
ステップＳ９０２では、情報処理装置３００は、ウィンドウ特定部２２おいて、予め設定されたウィンドウ間の親子関係に基づいて、ステップＳ９０１におけるＧＵＩ部品の操作に伴って表示される第２のウィンドウ（７０４）の親ウィンドウを特定する。図７に示すアプリケーションにおいて、図８に示すウィンドウ間の親子関係が定められている場合、第２のウィンドウ（７０４）の親ウィンドウは、第１のウィンドウ（７０１）であることが特定できる。
【００５７】
ステップＳ９０３〜ステップＳ９０９では、情報処理装置３００は、表示領域決定部１３において、第２のウィンドウの表示領域を決定する。まず、ステップＳ９０３において、情報処理装置３００は、ステップＳ９０２で特定された第１のウィンドウ（７０１）の表示領域情報を取得する。例えば、図１０に示すように、第１のウィンドウの表示領域の左上ｘ座標がｘ１１、左上ｙ座標がｙ１１（１００３）、右下ｘ座標がｘ１２、右下ｙ座標がｙ１２（１００４）となっているとする。すると、情報処理装置３００は、第１のウィンドウの表示領域情報の左上座標として（ｘ、ｙ）＝（ｘ１１、ｙ１１）、右下座標として（ｘ、ｙ）＝（ｘ１２、ｙ１２）を取得する。
【００５８】
ステップＳ９０４では、情報処理装置３００は、ステップＳ９０３で取得した第１のウィンドウの表示領域と重複しない表示画面上の領域を導き出す。例えば、図１０に示すように、表示画面（表示可能領域）の左上ｘ座標がｘ０１、左上ｙ座標がｙ０１（１００１）、右下ｘ座標がｘ０２、右下ｙ座標がｙ０２（１００２）であったとする。この場合、第１のウィンドウの表示領域に重複しない領域として、例えば、４パターン導き出される。具体的には、図１１（図中左上）に示すように、左上ｘ座標がｘ０１、左上ｙ座標がｙ０１、右下ｘ座標がｘ０２、右下ｙ座標がｙ１１の領域１（１１０１）がある。また、図１１（図中左下）に示すように、左上ｘ座標がｘ０１、左上ｙ座標がｙ１２、右下ｘ座標がｘ０２、右下ｙ座標がｙ０２の領域２（１１０２）がある。また、図１１（図中右上）に示すように、左上ｘ座標がｘ０１、左上ｙ座標がｙ０１、右下ｘ座標がｘ１１、右下ｙ座標がｙ０２の領域３（１１０３）がある。また、図１１（図中右下）に示すように、左上ｘ座標がｘ１２、左上ｙ座標がｙ０１、右下ｘ座標がｘ０２、右下ｙ座標がｙ０２の領域４（１１０４）がある。
【００５９】
ステップＳ９０５では、情報処理装置３００は、ステップＳ９０４で導き出した領域１（１１０１）〜領域４（１１０４）の中から第２のウィンドウ（７０４）の表示が可能な領域があるか否かを判断する。すなわち、ステップＳ９０２で特定された第１のウィンドウと重複せずに第２のウィンドウを表示できる領域があるか否かの判断を行なう。表示可能な領域がある場合、ステップＳ９０６の処理に進む。そうでない場合、ステップＳ９０９の処理に進む。
【００６０】
ステップＳ９０６では、情報処理装置３００は、領域１（１１０１）〜領域４（１１０４）の内、第２のウィンドウ（７０４）の表示が可能な領域が複数存在するか否かを判断する。複数存在する場合、ステップＳ９０８の処理に進む。そうでない場合、ステップＳ９０７の処理に進み、ステップＳ９０４で導き出された表示可能領域を第２のウィンドウの表示領域として記憶する。その後、ステップＳ９１１の処理に進む。
【００６１】
ステップＳ９０８では、情報処理装置３００は、複数の表示可能領域から第２のウィンドウを表示する領域として、最も適した領域を選び記憶し、ステップＳ９１１の処理に進む。例えば、図１１に示す領域の内、第２のウィンドウの表示可能領域が領域１（１１０１）と領域３（１１０３）であったとする。このとき、所定の領域決定ルールに基づき領域１（１１０１）と領域３（１１０３）の内、何れかの領域を第２のウィンドウの表示領域として決定する。この領域の決め方は、実施形態１と同様に行なえばよい。
【００６２】
ステップＳ９０９では、情報処理装置３００は、第１のウィンドウの表示領域と重複しない表示画面上の領域を選び記憶する。なお、ステップＳ９０９では、第２のウィンドウを十分に表示できる領域が確保できなかった場合に実施される処理である。そのため、ステップＳ９１０で、マルチウィンドウ表示制御部１４において、ステップＳ９０９で記憶された領域に納まるサイズまで第２のウィンドウを縮小する。
【００６３】
ステップＳ９１１では、情報処理装置３００は、マルチウィンドウ表示制御部１４において、ステップＳ９０７、ステップＳ９０８、ステップＳ９０９で決められた領域に第２のウィンドウを表示する。
【００６４】
以上のように実施形態２によれば、第１のウィンドウの表示内容と第２のウィンドウの表示内容とを同時に確認することが可能になる。また、第２のウィンドウの表示内容に応じて第１のウィンドウ上の操作を行なえるため、操作性を向上させられる。
【００６５】
なお、上述した実施形態２においては、第１のウィンドウに配置されたＧＵＩ部品の押下に伴って第２のウィンドウを表示する場合について説明したが、ユーザの操作に関係なく表示されるウィンドウを第２のウィンドウとしてもよい。例えば、コンピュータ内部の処理によりエラー等を示す画面が表示される際に、そのエラー等を示す画面を上述した第２のウィンドウとして親子関係を調べ、親となるウィンドウと重複しない領域に表示するようにしてもよい。なお、この場合、例えば、エラー等を示す画面を子として扱うように、エラー等を示す画面には子、エラー等を示す画面と重複を防ぎたい画面には親といった関係付けを予め設定しておくことになる。
【００６６】
以上が本発明の代表的な実施形態の一例であるが、本発明は、上記及び図面に示す実施形態に限定することなく、その要旨を変更しない範囲内で適宜変形して実施できるものである。
【００６７】
例えば、第２のウィンドウのタイプに応じて、重複しない領域を決定する際のアルゴリズムを切り替えるようにしてもよい。例えば、モードレスダイアログにより第２のウィンドウが構成される場合には、実施形態２で説明したアルゴリズム（図９参照）によりウィンドウ同士が重複しないようにウィンドウを表示する。また、モーダルダイアログにより第２のウィンドウが構成される場合には、実施形態１で説明したアルゴリズム（図４参照）によりＧＵＩ部品と重複しないようにウィンドウを表示する。なお、モードレスダイアログとは、第２のウィンドウを表示した状態であっても、第１のウィンドウ上で操作が行なえるタイプのウィンドウのことである。一方、モーダルダイアログとは、第２のウィンドウを表示した状態では、第１のウィンドウ上で操作を行なえないタイプのウィンドウのことである。
【００６８】
なお、本発明は、例えば、システム、装置、方法、プログラム若しくは記録媒体等としての実施態様を採ることもできる。具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００６９】
また、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置に内蔵されたコンピュータが該供給されたプログラムコードを読み出して実行することにより実施形態の機能が達成される場合をも含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したコンピュータプログラムである。
【００７０】
したがって、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳ（Operating System）に供給するスクリプトデータ等の形態であってもよい。
【００７１】
コンピュータプログラムを供給するためのコンピュータ読み取り可能な記録媒体としては以下が挙げられる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などである。
【００７２】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムをハードディスク等の記録媒体にダウンロードすることが挙げられる。この場合、ダウンロードされるプログラムは、圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００７３】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記録媒体に格納してユーザに配布するという形態をとることもできる。この場合、所定の条件をクリアしたユーザに、インターネットを介してホームページから暗号を解く鍵情報をダウンロードさせ、その鍵情報を使用して暗号化されたプログラムを実行し、プログラムをコンピュータにインストールさせるようにもできる。
【００７４】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどとの協働で実施形態の機能が実現されてもよい。この場合、ＯＳなどが、実際の処理の一部又は全部を行ない、その処理によって前述した実施形態の機能が実現される。
【００７５】
更に、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれて前述の実施形態の機能の一部或いは全てが実現されてもよい。この場合、機能拡張ボードや機能拡張ユニットにプログラムが書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ（Central Processing Unit）などが実際の処理の一部又は全部を行なう。
【図面の簡単な説明】
【００７６】
【図１】実施形態１の基本概念を説明するための図である。
【図２】ＧＵＩ部品間の移動順序の一例を示す図である。
【図３】本発明の一実施の形態に係わる情報処理装置の構成の一例を示す図である。
【図４】図３に示す情報処理装置３００における処理の流れを示すフローチャートである。
【図５】実施形態１に係わるマルチウィンドウ制御処理を説明するための第１の図である。
【図６】実施形態１に係わるマルチウィンドウ制御処理を説明するための第２の図である。
【図７】実施形態２の基本概念を説明するための図である。
【図８】ウィンドウ間の親子関係の一例を示す図である。
【図９】実施形態２に係わる情報処理装置３００における処理の流れを示すフローチャートである。
【図１０】実施形態２に係わるマルチウィンドウ制御処理を説明するための第１の図である。
【図１１】実施形態２に係わるマルチウィンドウ制御処理を説明するための第１の図である。
【符号の説明】
【００７７】
１１    操作部品検知部
１２    不可視禁止領域特定部
１３    表示領域決定部
１４    マルチウィンドウ表示制御部
２１    部品特定部
２２    ウィンドウ特定部
３００    情報処理装置
３０１    ＣＰＵ
３０２    ＲＯＭ
３０３    ＲＡＭ
３０４    入力部
３０５    出力部
３０６    バス
【図１】
2009169548.tif 000003
【図２】
2009169548.tif 000004
【図３】
2009169548.tif 000005
【図４】
2009169548.tif 000006
【図５】
2009169548.tif 000007
【図６】
2009169548.tif 000008
【図７】
2009169548.tif 000009
【図８】
2009169548.tif 000010
【図９】
2009169548.tif 000011
【図１０】
2009169548.tif 000012
【図１１】
2009169548.tif 000013