(57)【要約】【課題】本発明は、任意に選択した複数のウィンドウの表示形態を同時に変更することができる表示制御プログラムを提供する。【解決手段】予め表示部１０８に表示された複数のウィンドウから２つ以上のウィンドウを紐付けて、同一のグループとして記憶部１０３に記憶する。そして、ウィンドウの表示形態を変更する際に、ユーザにより任意のウィンドウが選択されると、グループ処理部２２１は、そのウィンドウが属するグループを抽出する。さらに、ユーザにより選択されたウィンドウの表示制御を指示されると、グループ処理部２２１は、抽出したグループに属するウィンドウの表示形態を変更する。【選択図】図２
2013097461.tif 000002
【特許請求の範囲】
【請求項１】
複数のウィンドウを画面に表示する表示制御プログラムにおいて、
コンピュータを、
ユーザにより前記複数のウィンドウの中からウィンドウが選択された場合、その選択されたウィンドウが属するグループを、少なくとも２つのウィンドウを同一のグループとして記憶した記憶部から抽出するグループ抽出手段、
前記グループ抽出手段により抽出されたグループに属するウィンドウの表示形態を制御する制御手段、
として機能させることを特徴とする表示制御プログラム。
【請求項２】
コンピュータを、さらに、
前記複数のウィンドウのサイズが記憶されたサイズ記憶部から、前記抽出されたグループに属するウィンドウのサイズを抽出するサイズ抽出手段、
前記抽出されたグループに属するウィンドウのサイズから、それぞれのウィンドウのサイズ比を算出するサイズ比算出手段、
ユーザにより前記選択されたウィンドウの最大化が指定された場合、前記抽出されたグループに属するウィンドウを、前記それぞれのサイズ比で分割して、前記画面の全体に表示するように、それぞれのウィンドウのサイズである第１のサイズを算出するウィンドウサイズ算出手段、
として機能させ、
前記制御手段は、前記抽出されたグループに属するウィンドウを、前記ウィンドウサイズ算出手段で算出されたそれぞれのウィンドウのサイズで表示させる、
ことを特徴とする請求項１に記載の表示制御プログラム。
【請求項３】
コンピュータを、さらに、
前記サイズ比算出手段で算出されたサイズ比の中で、最も大きいサイズ比のウィンドウである最大ウィンドウを抽出する最大ウィンドウ抽出手段、
として機能させ、
前記ウィンドウサイズ算出手段は、前記抽出されたグループに属するウィンドウから、前記最大ウィンドウを除いたウィンドウである分割表示ウィンドウを、前記それぞれのサイズ比で分割して、前記画面の半分に表示するように、それぞれの前記分割サイズウィンドウのサイズである第２のサイズを算出する、
前記制御手段は、前記最大ウィンドウを前記画面の半分のサイズで表示し、かつ、前記分割ウィンドウを、前記ウィンドウサイズ算出手段で算出された前記第２のサイズで、前記最大ウィンドウの表示領域と異なる領域に表示させる、
ことを特徴とする請求項２に記載の表示制御プログラム。
【請求項４】
コンピュータを、さらに、
前記複数のウィンドウの座標が記憶された座標記憶部から、前記抽出されたグループに属するウィンドウの座標を抽出する座標抽出手段、
前記抽出されたグループに属するウィンドウの各座標について、該座標間相互の相対的な位置を示す相対位置を算出する相対位置算出手段、
ユーザにより前記選択されたウィンドウの移動位置を指定された場合、前記選択されたウィンドウの移動位置を基準として、前記抽出されたグループに属するウィンドウの前記相対位置が同じになる移動位置を算出する移動位置算出手段、
として機能させ、
前記制御手段は、前記抽出されたグループに属するウィンドウを、前記移動位置算出手段で算出されたそれぞれの移動位置に移動する、
ことを特徴とする請求項１に記載の表示制御プログラム。
【請求項５】
複数のウィンドウを画面に表示する情報処理装置の表示制御方法において、
前記情報処理装置は、
ユーザにより前記複数のウィンドウの中からウィンドウが選択された場合、その選択されたウィンドウが属するグループを、少なくとも２つのウィンドウを同一のグループとして記憶した記憶部から抽出し、
前記記憶部から抽出されたグループに属するウィンドウの表示形態を制御する、
ことを特徴とする表示制御方法。
【請求項６】
記憶部を有する複数のウィンドウを画面に表示する情報処理装置において、
少なくとも２つのウィンドウを同一のグループとして記憶した記憶手段と、
ユーザにより前記複数のウィンドウの中からウィンドウが選択された場合、その選択されたウィンドウが属するグループを、前記記憶手段から抽出するグループ抽出手段と、
前記グループ抽出手段により抽出されたグループに属するウィンドウの表示形態を制御する制御手段と、
を備えることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示装置に表示するウィンドウ画面の表示制御プログラム、表示制御方法及び情報処理装置に関する。
【背景技術】
【０００２】
パーソナルコンピュータ（ＰＣ）等の情報処理装置の高性能化に伴い、Ｗｅｂブラウザで資料を見ながら文書作成ソフトで資料をまとめる。さらに、スケジュール管理ソフトでスケジュールを確認しながら、メールソフトでメールを送信する等、情報処理装置を使用するときに、複数のソフトウェアを同時に立ち上げることが多くなっている。
【０００３】
このような場合には、複数のソフトウェアを同時に立ち上げるとデスクトップ上のウィンドウの数が多くなり、作業環境ごとに使用するウィンドウを選択するのが煩雑になる。そこで、１つのモニタ上で複数のデスクトップを切り替えて使い分ける仮想デスクトップ表示方法が提案されている（例えば、下記特許文献１）。
【０００４】
この仮想デスクトップ表示方法では、任意に選択した複数のウィンドウを、１つの仮想デスクトップ内に表示するようにしている。これにより、複数の仮想デスクトップを設定することで、作業環境ごとに使用する複数のウィンドウを効率よく表示切替えすることができる。しかし、仮想デスクトップ表示方法では、異なる仮想デスクトップ内のウィンドウを同時に閲覧することができない。また、仮想デスクトップ表示方法では、ウィンドウの表示制御を同時に行なうことができない。このため、複数のウィンドウの表示制御をウィンドウごとに行なわなくてはならないので、ウィンドウ操作が煩雑になるという問題があった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平５−３１３８４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、任意に選択した複数のウィンドウの表示形態を同時に変更することができる表示制御プログラムを提供するものである。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するため、複数のウィンドウを画面に表示する表示制御プログラムにおいて、コンピュータを、ユーザにより前記複数のウィンドウの中からウィンドウが選択された場合、その選択されたウィンドウが属するグループを、少なくとも２つのウィンドウを同一のグループとして記憶した記憶部から抽出するグループ抽出手段、前記グループ抽出手段により抽出されたグループに属するウィンドウの表示形態を制御する制御手段、として機能させることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、任意に選択した複数のウィンドウの表示形態を同時に変更することができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態の情報処理装置のハードウェア構成例を示す構成図である。
【図２】実施形態の情報処理装置のソフトウェア構成例を示す構成図である。
【図３】実施形態のグループ処理部の構成例を示す構成図である。
【図４】実施形態の算出部の構成例を示す構成図である。
【図５】実施形態の記憶部の構成図である。
【図６】実施形態のウィンドウ情報テーブルに記憶されている情報を示す図である。
【図７】実施形態の表示部の表示例を示す図である。
【図８】実施形態のグループテーブルに記憶されている情報を示す図である。
【図９】実施形態の同一グループに属するウィンドウの選択を示す図である。
【図１０】実施形態の同一グループに属するウィンドウの移動を示す図である。
【図１１】実施形態の同一グループに属するウィンドウの最大化を示す図である。
【図１２】実施形態のアプリケーションの動作を示すフローチャートである。
【図１３】実施形態のグループの設定方法を示すフローチャートである。
【図１４】実施形態の相対移動制御を示すフローチャートである。
【図１５】実施形態の最大化制御を示すフローチャートである。
【図１６】実施形態の同一グループに属するウィンドウの他の最大化を示す図である。
【図１７】実施形態の表示部の他の表示例を示す図である。
【図１８】実施形態の優先度が記憶されたウィンドウ情報テーブルを示す図である。
【図１９】実施形態の同一グループに属するウィンドウの優先度に基づく最大化を示す図である。
【図２０】実施形態の同一グループに属するウィンドウの選択範囲に基づく最大化を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面に基づいて、本発明の実施形態を詳細に説明する。
図１は、実施形態の情報処理装置のハードウェア構成例を示す構成図である。下記の説明では、一例として、本発明の表示制御プログラムの制御要求をＯＳ（Operating System）の管理下にある独立ウィンドウ（以下、特に断らない限りウィンドウとは、独立ウィンドウのこととする。）の表示処理部に出力する場合について述べる。なお、仮想デスクトップ等のアプリケーション内の表示処理部に、本発明の表示制御プログラムの制御要求を出力することも可能である。
【００１１】
情報処理装置１００は、ＣＰＵ（Central Processing Unit）１０１、メモリ１０２、記憶部１０３、グラフィック処理部１０４、入力インターフェース１０５、通信部１０６、及びバス１０７を有し、表示部１０８及び入力部１０９と接続されている。
【００１２】
ＣＰＵ１０１は、バス１０７を介してメモリ１０２、記憶部１０３、グラフィック処理部１０４、入力インターフェース１０５、及び通信部１０６が接続されている。そして、ＣＰＵ１０１は、情報処理装置１００全体を制御している。
【００１３】
メモリ１０２は、ＣＰＵ１０１に実行させるＯＳのプログラムやアプリケーションのプログラムの少なくとも一部が一時的に格納される。また、メモリ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。このメモリ１０２には、例えば、ＲＡＭ（Random Access Memory）等を採用することができる。
【００１４】
記憶部１０３は、ＯＳのプログラムやアプリケーションのプログラムが記憶されている。この記憶部１０３には、例えば、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）等を採用することができる。また、記憶部１０３には、ＣＰＵ１０１による処理に必要な各種データが記憶されている。この各種データには、少なくとも、後述するウィンドウの位置、サイズ等の情報を含むウィンドウ情報テーブル５０１、及び、複数のウィンドウのグループ化情報を含むグループテーブル５０２を含む。
【００１５】
グラフィック処理装置１０４は、表示部１０８が接続されており、ＣＰＵ１０１からの命令に従って画像を表示部１０８に表示させる信号を出力する。なお、本発明では、後述するＯＳ２１０の入出力部２１１から入力されるウィンドウの移動、サイズ変更、削除等を指示する表示処理信号に基づき、表示部１０８に表示させる信号を出力する。
【００１６】
入力インターフェース１０５は、入力部１０９が接続されており、入力部１０９から入力された入力信号を、バス１０７を介してＣＰＵ１０１に出力する。
通信部１０６は、ネットワークに接続されており、ネットワークを介して図示しないＷｅｂサーバとの間でデータの送受信を行う。
【００１７】
バス１０７は、信号の通信路であり、ＣＰＵ１０１、メモリ１０２、記憶部１０３、グラフィック処理部１０４、インターフェース１０５、及び通信部１０６を接続している。
表示部１０８は、グラフィック処理部１０４から入力される信号に基づいて、アイコン、カーソル、メニュー、ウィンドウ、または文字や画像等の各種データを表示する。この表示部１０８は、例えば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイ等を採用することができる。
【００１８】
入力部１０９は、ユーザの指示を入力信号として情報処理装置１００に入力する装置である。この入力部１０９には、例えば、キーボードやマウス等を採用することができる。
【００１９】
図２は、実施形態の情報処理装置のソフトウェア構成例を示す構成図である。
実施形態に係る情報処理装置のソフトウェア群２００は、少なくともＯＳ２１０及びウィンドウの表示制御プログラムであるアプリケーション２２０を含んでいる。そして、ＯＳ２１０及びアプリケーション２２０は、記憶部１０３に記憶されている。また、ＯＳ２１０及びアプリケーション２２０の各構成要素は、少なくとも一部がプログラムとしてメモリ１０２に一時的に格納され、ＣＰＵ１０１によって実行される。なお、以下の説明では、記憶部１０３に記憶され、情報処理装置１００のソフトウェア群２００に含まれているソフトウェアについて、ＯＳ２１０及びアプリケーション２２０以外の文書作成ソフトやスケジュール管理ソフト等のことをソフトウェアという。
【００２０】
ＯＳ２１０は、少なくとも入出力部２１１及び表示処理部２１２を含む。
入出力部２１１は、入力部１０９からの入力を受け付けるとともに、後述するアプリケーション２２０が含むグループ処理部２２１への出力を行なう。また、入出力部２１１は、表示処理部２１２から表示処理信号の入力を受け付けるとともに、表示処理信号をグラフィック処理部１０４へ出力する。
【００２１】
表示処理部２１２は、後述するウィンドウ操作部２２２から入力されるウィンドウの移動、サイズ変更、削除等の表示制御を要求する信号（以下、制御要求信号という。）に基づいて、ＯＳ２１０の管理下にあるウィンドウの表示処理を実行する。そして、表示処理部２１２は、表示処理信号を入出力部２１１に出力する。
【００２２】
アプリケーション２２０は、少なくともグループ処理部２２１、ウィンドウ操作部２２２及び算出部２２３を含む。そして、ユーザにより起動の指示が入力されたときに起動する、及び情報処理装置の起動に伴い起動する等、公知の技術で適宜選択的に起動されるものとする。
【００２３】
図３は、実施形態のグループ処理部の構成例を示す構成図である。
グループ処理部２２１は、少なくとも図３に示すように、主制御部３０１、移動制御部３０２、表示制御部３０３を含む。そして、複数のウィンドウをグループ分けして記憶部１０３に記憶する。また、同一のグループのウィンドウの表示形態を同時に変更する。
【００２４】
主制御部３０１は、入力部１０９でユーザが入力した入力信号を受信する。そして、主制御部３０１は、受信した入力信号の内容に基づいて、ウィンドウ情報テーブル５０１及びグループテーブル５０２への受信内容の登録及び削除、移動制御部３０２への入力信号の出力、表示制御部３０３への入力信号の出力等を行なう。また、主制御部３０１は、受信した入力信号の内容に基づいて、ウィンドウ情報テーブル５０１及びグループテーブル５０２の情報を抽出する。また、主制御部３０１は、ウィンドウ情報テーブル５０１及びグループテーブル５０２から抽出した情報を、移動制御部３０２及び表示制御部３０３へ出力する。また、公知の技術により、ＯＳ２１０から表示部１０８に表示されているウィンドウの座標を取得し、ウィンドウ情報テーブル５０１に登録する。
【００２５】
移動制御部３０２は、主制御部３０１から入力された入力信号及びウィンドウ情報テーブル５０１及びグループテーブル５０２からの抽出情報に基づいて、複数のウィンドウを相対移動させる制御（以下、相対移動制御という。）を行なう。なお、相対移動制御において、後述する相対位置算出部４０１にウィンドウ情報テーブル５０１及びグループテーブル５０２からの抽出した情報を出力する。また、移動制御部３０２は、相対位置算出部で算出した相対位置を受信する。そして、移動制御部３０２は、ウィンドウ情報テーブル５０１及びグループテーブル５０２からの抽出情報と、相対位置算出部４０１で算出した相対位置の算出結果を移動位置算出部４０２に出力する。また、移動制御部３０２は、移動位置算出部４０２の移動位置の算出結果を示す移動位置信号をウィンドウ操作部２２２に出力する。
【００２６】
表示制御部３０３は、主制御部３０１から入力された入力信号及びウィンドウ情報テーブル５０１及びグループテーブル５０２からの抽出情報に基づいて、複数のウィンドウを表示切替させる制御（以下、表示切替制御という。）を行なう。なお、表示切替制御において、後述するサイズ・比率算出部４０３に、ウィンドウ情報テーブル５０１及びグループテーブル５０２からの抽出情報を出力する。また、表示制御部３０３は、サイズ・比率算出部４０３で算出したサイズ及びサイズ比を受信する。そして、そのサイズを示す表示切替信号をウィンドウ操作部２２２に出力する。
【００２７】
図２に示すウィンドウ操作部２２２は、主制御部３０１、移動制御部３０２及び表示制御部３０３から入力される各種信号に基づいて、表示処理部２１２に制御要求信号を出力する。
【００２８】
図４は、実施形態の算出部の構成例を示す構成図である。
算出部２２３は、少なくとも図４に示すように、相対位置算出部４０１、移動位置算出部４０２及びサイズ・比率算出部４０３を含む。そして、移動制御部３０２及び表示制御部３０３から入力される要求に従い各種演算を行なう。
【００２９】
相対位置算出部４０１は、移動制御部３０２から入力された、ウィンドウ情報テーブル５０１及びグループテーブル５０２からの抽出情報に基づいて、同一のグループに属する複数のウィンドウの相対位置を算出する。そして、算出した相対位置を移動制御部３０２に出力する。
【００３０】
移動位置算出部４０２は、移動制御部３０２から入力された、ウィンドウ情報テーブル５０１及びグループテーブル５０２からの抽出情報及び同一のグループに属する複数のウィンドウの相対位置に基づいて、同一のグループに属する複数のウィンドウの移動位置を算出する。そして、算出した移動位置を移動制御部３０２に出力する。
【００３１】
サイズ・比率算出部４０３は、表示制御部３０３から入力された、ウィンドウ情報テーブル５０１及びグループテーブル５０２からの抽出情報に基づいて、ウィンドウのサイズを算出する。また、算出したウィンドウのサイズに基づいて、同一のグループに属する複数のウィンドウのサイズ比を算出する。そして、算出したサイズ及びサイズ比を表示制御部３０３に出力する。
【００３２】
次に図５〜７を用いて、記憶部１０３に記憶されている情報について説明する。
図５は、実施形態の記憶部の構成図である。図６は、実施形態のウィンドウ情報テーブルに記憶されている情報を示す図である。図７は、実施形態の表示部の表示例を示す図である。
図５に示すように、記憶部１０３は、少なくとも、ウィンドウ情報テーブル５０１及びグループテーブル５０２を含む。
【００３３】
図６に示すウィンドウ情報テーブル５０１は、表示部１０８に表示されている複数のウィンドウの識別情報であるウィンドウＩＤを記憶している。図７を参照すると、４つのウィンドウが表示されているが、それぞれＡ〜ＤのウィンドウＩＤと対応付けられている。例えば、アプリケーション２２０が起動している状態において、入力部１０９によりソフトウェアの起動指示が入力された場合、主制御部３０１にもソフトウェアの起動を示す起動信号が入力される。そして、主制御部３０１は、ソフトウェアが起動した順にソフトウェアに対応するウィンドウＩＤを付与する。そして、主制御部３０１は、ウィンドウ情報テーブル５０１にウィンドウＩＤを登録する。また、入力部１０９により、他のソフトウェアの終了指示が入力された場合、主制御部３０１にもソフトウェアの終了を示す終了信号が入力される。そして、主制御部３０１は、終了したソフトウェアに対応するウィンドウＩＤをウィンドウ情報テーブル５０１から削除する。また、主制御部３０１は、そのウィンドウＩＤを対応する情報とともに、ウィンドウ情報テーブル５０１から削除する。なお、ウィンドウＩＤの付与及び削除については、上記に限らず適宜ユーザが選択した方法で付与すれば良い。
【００３４】
さらに、図６に示すように、ウィンドウ情報テーブル５０１は、少なくとも、ウィンドウＩＤに対応付けて、表示部１０８に表示されている全てのウィンドウの左上座標、右上座標、サイズ及びサイズ比がウィンドウ情報として記憶されている。
【００３５】
左上座標及び右下座標とは、例えば、アプリケーション２２０の起動にともない、主制御部３０１が取得要求を出力することで、ＯＳ２１０において表示処理部２１２の処理内容の確認をし、現在表示しているウィンドウの座標を取得したものである。
【００３６】
また、左上座標及び右下座標は、図７に示すように、表示部１０８の左上の座標を（０，０）、右下の座標を（ＭＸ，ＭＹ）とし、それぞれ表示部１０８の画面のドットに対応させるように定義されている。すなわち、一例として、ＳＸＧＡ液晶（１２８０×１０２４ドット）の場合には、（ＭＸ，ＭＹ）＝（１２８０，１０２４）となるように座標が定められる。そして、この座標に対応させて、例えば、ウィンドウＩＤがＡのウィンドウ（以下、ウィンドウＡという。なお、ウィンドウＩＤがＢ〜ＤのウィンドウをそれぞれウィンドウＢ、ウィンドウＣ及びウィンドウＤという。）を参照すると、左上の座標を（ＡＸ１，ＡＹ１）、右下の座標を（ＡＸ２，ＡＹ２）として記憶している。また、左上座標及び右下座標の取得は、アプリケーション２２０の起動のタイミングに加えて、さらに、ユーザによりウィンドウの移動及びウィンドウのサイズの変更等の指示が入力され、ウィンドウの表示が変更されたときにも取得する。また、左上座標及び右下座標の取得は、アプリケーション２２０が起動された後に、新たにソフトウェアが起動されたときにも、表示されるウィンドウのウィンドウＩＤとともに取得する。なお、座標の取得及び座標の設定方法については、上記に限らず、適宜公知の技術を用いれば良い。
【００３７】
また、サイズとは、表示部１０８に表示されているウィンドウのサイズである。そして、サイズは、ウィンドウＩＤに対応付けられて記憶されている。また、ウィンドウのサイズは、取得した左上座標及び右下座標を用いて下記式（１）により算出されている。
サイズ＝（右下座標のＸ座標−左上座標のＸ座標）×（右下座標のＹ座標−左上座標のＹ座標）                                            （１）
【００３８】
すなわち、ウィンドウのサイズは、ウィンドウの表示領域の面積である。なお、具体例として説明した上記の座標の設定の場合には、ウィンドウの座標が表示画面のドットに対応しているので、ウィンドウのサイズはウィンドウ表示領域の画素数に対応する。図６、７を参照すると、例えば、ウィンドウＡのサイズは、（ＡＸ２−ＡＸ１）×（ＡＹ２−ＡＹ１）となる。
なお、サイズは、ユーザの直接入力により、ウィンドウ情報テーブル５０１に登録されても良い。
【００３９】
また、サイズ比とは、表示部１０８に表示されたウィンドウのサイズ比である。例えば、アプリケーション２２０の起動及びウィンドウのサイズの変更等を指示する入力信号が、主制御部３０１に入力されたときに、主制御部３０１は、表示部１０８に表示された全てのウィンドウのサイズを比較して、最も大きいサイズのウィンドウ（以下、基準ウィンドウという。）を抽出する。また、主制御部３０１は、抽出した基準ウィンドウと、ウィンドウ情報テーブル５０１から現在表示されている複数のウィンドウのサイズを取得し、表示制御部３０３に出力する。そして、表示制御部３０３からの要求により、サイズ・比率算出部４０３において、基準ウィンドウと、その他のウィンドウ（以下、比較ウィンドウという。）とのサイズの比率を下記式（２）により算出させた値である。
サイズ比＝
（比較ウィンドウのサイズ）／（基準ウィンドウのサイズ）        （２）
【００４０】
また、式（２）は、同一グループに属するウィンドウのサイズ比を算出する場合にも適用することができる。その場合には、既に求められているサイズ比を利用して、比較ウィンドウのサイズに代えて、比較ウィンドウのサイズ比、基準ウィンドウのサイズに代えて、基準ウィンドウのサイズ比を用いても良い。
【００４１】
ここで、図６に示すサイズ比を一例として説明する。図７を参照すると、表示部１０８に表示されているウィンドウの中で、ウィンドウＡのサイズが最も大きいことがわかる。実際には、主制御部３０１において、図６のウィンドウ情報テーブル５０１に示すウィンドウのサイズを比較することで、ウィンドウＡのサイズが最も大きいことを抽出している。そして、ウィンドウＡを基準ウィンドウ（サイズ比＝１。）として、ウィンドウＢ〜Ｄのサイズ比を式（２）により算出している。なお、一例として、基準ウィンドウを表示部１０８に表示されているウィンドウの中で最も大きいウィンドウとしたが、その他のウィンドウを基準ウィンドウとしても良い。また、同一グループに属するウィンドウのサイズ比を算出する場合には、同一グループのウィンドウのサイズを比較することで、最も大きいウィンドウを基準ウィンドウとすれば良い。そして、その他のウィンドウを従属ウィンドウとすることで、同一グループに属するウィンドウのサイズ比を算出することができる。
【００４２】
次に、図８は、グループテーブル５０２に記憶されている情報を示す図である。図８を用いて、グループテーブル５０２に記憶されている情報を説明する。
図８に示すグループテーブル５０２は、少なくともグループＩＤ、ウィンドウＩＤ及びクリック順が記憶されている。そして、グループＩＤに対応付けて、同一のグループのウィンドウＩＤとクリック順を記憶している。なお、下記の説明において、ＧＵＩの選択、ウィンドウの選択及びウィンドウの移動は、ユーザがマウス等のポインティングデバイスを用いて、クリック及びドラッグ操作をすることによりなされるものとする。また、これに限らず、ＧＵＩの選択、ウィンドウの選択及びウィンドウの移動は、適宜キーボードまたはタッチパネル等を用いた公知の技術を用いて行なっても良い。
【００４３】
グループテーブル５０２に記憶されているグループＩＤとは、ウィンドウをグループ分けした際の、それぞれのグループの識別情報である。グループＩＤの設定及び選択方法については後述する。
【００４４】
グループテーブル５０２に記憶されているクリック順とは、同一グループに属するウィンドウごとに、最近クリックされたウィンドウの順番を示している。すなわち、最近選択されたウィンドウの順番を示している。例えば、このクリック順は、主制御部３０１にユーザによるウィンドウのクリックを示す入力信号が入力されるごとに、主制御部３０１により書き換えられる。また、図８に示すグループテーブル５０２のグループＧ１を参照すると、ウィンドウＡの方がウィンドウＤよりも最近クリックされたことがわかる。すなわち、ウィンドウＡは、ウィンドウＤよりも、ユーザが現在の作業に用いている可能性が高いと推測される。なお、ウィンドウの選択がキーボードまたはタッチパネルなどで行なわれた場合にも、クリック順として記憶すると良い。
【００４５】
ここで、図７、８を用いて実施形態のウィンドウの選択方法、グループの設定方法及びグループ設定の解除方法について説明する。以下の説明では、アプリケーション２２０は、ユーザの指示により起動するものとする。なお、情報処理装置の起動に伴いアプリケーション２２０も起動されるように設定されている場合等、その他の公知の技術によりアプリケーション２２０が起動された場合にも、以下の動作は同じである。
【００４６】
ウィンドウの選択方法について説明する。
アプリケーション２２０は、ユーザにより起動されると同時に図７に示すＧＵＩ（Graphical User Interface）群７０１〜７０８を表示部１０８に表示する。そして、選択７０１をクリックしたことを示す入力信号が入力されると、主制御部３０１は、ウィンドウを選択することを認識する。さらに、ユーザがウィンドウをクリックした入力信号が入力されると、主制御部３０１は、クリックしたウィンドウが選択されたと認識する。なお、図８に示すグループテーブルを参照すると、ユーザが選択７０１をクリックした後に、ウィンドウＡをクリックした場合には、グループＧ１及びグループＧ２が同時に選択されることになる。この場合には、キーボードのＴＡＢ（Tablater）キー等からの入力信号が入力されることで、主制御部３０１は、グループＧ１及びグループＧ２の選択を順に切替えるようにしても良い。また、選択されているグループをユーザに通知する方法として、選択されているグループを順にハイライト表示すると良い。これにより、複数のグループに属しているウィンドウを選択した場合でも、特定のグループを選択することができる。
【００４７】
次に、ウィンドウのグループ設定方法について説明する。
まず、アプリケーション２２０は、ユーザにより起動されると同時に図７に示すＧＵＩ群７０１〜７０８を表示部１０８に表示する。そして、登録７０６がクリックされたことを示す入力信号が入力されると、主制御部３０１はグループの設定を行なうと認識する。さらに、選択７０１をクリックしたことを示す入力信号が入力されると、主制御部３０１は、ウィンドウを選択することを認識する。そして、ウィンドウがクリックされたことを示す入力信号が入力されると主制御部３０１は、クリックされたウィンドウが選択されたと認識する。そして、主制御部３０１は、選択されたと認識したウィンドウのウィンドウＩＤを一時的に保持する。さらに、再び登録７０６がクリックされたことを示す入力信号が主制御部３０１に入力されると、主制御部３０１は、新たなグループＩＤをグループテーブル５０２に付与する。そして、主制御部３０１は、選択した複数のウィンドウのウィンドウＩＤを付与したグループＩＤと対応付けてグループテーブル５０２に登録する。
【００４８】
さらに、グループの設定方法を明確にするために、ユーザの操作の一例として、図８に示すグループＧ１を設定する場合について説明する。グループＧ１を設定するには、登録７０６をクリックし、選択７０１をクリックし、続いてウィンドウＡ及びウィンドウＤをクリックする。その後、登録７０６をクリックすることで、グループＧ１にウィンドウＡ及びウィンドウＤが設定され、ウィンドウＡ及びウィンドウＤが同一グループとして認識されるようになる。
【００４９】
次に、グループ設定の解除方法について説明する。
アプリケーション２２０は、起動されると同時に図７に示すＧＵＩ群７０１〜７０８を表示部１０８に表示する。そして、解除７０７をクリックしたことを示す入力信号が主制御部３０１に入力されると、主制御部３０１は、グループ設定の解除をすることを認識する。そして、選択７０１をクリックしたことを示す入力信号が入力されると、主制御部３０１は、ウィンドウを選択することを認識する。そして、ウィンドウがクリックされたことを示す入力信号が入力されると、主制御部３０１は、そのウィンドウを選択したと認識する。そして、主制御部３０１は、選択されたウィンドウのウィンドウＩＤと同じウィンドウＩＤが登録されているグループをグループテーブル５０２に照合し、選択されたウィンドウの属するグループを抽出する。そして、再び解除７０７がクリックされると、解除処理を指示する入力信号が主制御部３０１に入力される。これにより、主制御部３０１は、選択されたグループをグループテーブル５０２から消去する。
【００５０】
さらに、グループ設定の解除方法を明確にするために、ユーザの操作の一例として、図８に示すグループＧ１を解除する場合について説明する。グループＧ１を解除する場合には、解除７０７をクリックし、選択７０１をクリックし、続いてウィンドウＤをクリックする。これにより、グループＧ１が選択された状態になる。この状態で、再び解除７０７をクリックすることで、グループＧ１の設定が解除される。
【００５１】
また、ウィンドウのグループの設定方法及びグループ設定の解除方法の他の例を、図８のグループテーブル５０２に記憶されているグループＧ１を例として説明する。
この設定方法では、Ｔ表示７０５がユーザによりクリックされたことを示す入力信号が入力されたときに、主制御部３０１は、ウィンドウ情報テーブル５０１及びグループテーブル５０２を記憶部１０３から取得し、その情報を表示制御部３０３に出力する。これにより、ウィンドウ情報テーブル５０１及びグループテーブル５０２を表示部１０８に表示する。これ以外のアプリケーション２２０の動作は上記の例と同じである。ユーザの操作方法については、変更があるので下記に説明する。
【００５２】
このグループの設定方法のユーザの操作例としては、マウス等のポインティングデバイスを用いて、図７に示すＴ表示７０５をクリックする。これにより、図８に示すグループテーブル５０２が表示部１０８に表示される。そして、グループテーブル５０２のグループＩＤの項目にあるＧ１をクリックすることで、グループＧ１が選択される。その後、図７に示すウィンドウＡ及びウィンドウＤを順にクリックする。そして、登録７０６をクリックする。これにより、同一のグループに属するウィンドウとして、ウィンドウＡ及びウィンドウＤがグループＧ１に設定される。
【００５３】
また、グループ設定を解除する場合には、図７に示すＴ表示７０５をクリックする。これにより、図８に示すグループテーブル５０２が表示部１０８に表示される。そして、グループＩＤの項目にあるＧ１をクリックすることで、グループＧ１が選択される。その後、図７に示す解除７０７をクリックすることでグループＧ１の設定が解除される。
【００５４】
また、このウィンドウのグループの設定の解除方法の場合には、図８に示すグループテーブル５０２が表示部１０８に表示された状態において、ウィンドウＩＤの項目にあるＡをクリックする。これにより、主制御部３０１にウィンドウＡの選択を示すウィンドウ選択信号が入力される。その後、図７に示す解除７０７がクリックされると、主制御部３０１は、グループＧ１からウィンドウＡのみを解除するようにしても良い。
【００５５】
なお、上記のグループ設定方法及び選択方法は一例であり、適宜考えられるグループ設定方法及び選択方法を適用すれば良い。また、ＧＵＩ群７０１〜７０８を用いてウィンドウを操作する場合について説明したが、各種キーボード及びマウスの操作の組み合わせにより、ＧＵＩ群７０１〜７０８のクリックと同じ動作をするようにアプリケーション２２０の設定をしても良い。これらの点は、下記の他の動作説明についても同様である。
【００５６】
次に、実施形態に係る同一グループに属するウィンドウの移動について、図９、１０を用いて説明する。図９は、同一グループに属するウィンドウの選択を示す図である。また、図１０は、同一グループに属するウィンドウの移動を示す図である。
【００５７】
図９（ａ）は、複数のソフトウェアが起動され、表示部１０８に複数のウィンドウが表示された状態を示す図である。一例として、図９（ａ）は、図６に示したウィンドウ情報に対応したウィンドウＡ〜Ｄを表している。また、下記の説明においては、予め図８のグループテーブル５０２のグループＧ１及びグループＧ２が設定されているものとする。
【００５８】
図９（ｂ）は、ウィンドウＤがクリックされた状態を示す。
この表示切替におけるアプリケーション２２０の動作を説明する。
選択７０１がクリックされた後に、ウィンドウＤがクリックされたことを示す入力信号が入力されると、主制御部３０１はグループテーブル５０２を参照する。そして、ウィンドウＤの属するグループについてグループＧ１のウィンドウを抽出する。さらに、主制御部３０１は、この抽出結果であるウィンドウＡ及びウィンドウＤのウィンドウＩＤを表示制御部３０３に出力する。そして、表示制御部３０３は、ウィンドウＡ及びウィンドウＤが前面表示されるように表示切替をさせる表示切替信号をウィンドウ操作部２０２に出力する。これにより、ウィンドウＡ及びウィンドウＤが、表示部１０８において前面表示される。
【００５９】
図１０（ａ）は、選択されたウィンドウＡ及びウィンドウＤの相対位置を示す図である。図１０（ａ）に示す矢印は、ウィンドウＡの左上座標を基準として、ウィンドウＤの左上座標がどこにあるのかを示す相対位置ベクトルＲｐである。具体的には、ウィンドウＡの左上座標を（ＡＸ１，ＡＹ１）とし、ウィンドウＤの左上座標を（ＤＸ１，ＤＹ１）とすると、相対位置ベクトルＲｐは、相対位置算出部４０１により、下記式（３）を用いて算出される。
Ｒｐ＝（ＤＸ１−ＡＸ１，ＤＹ１−ＡＹ１）                      （３）
【００６０】
なお、相対位置ベクトルＲｐを（Ｘ，Ｙ）とすると、移動前のウィンドウＡの左上座標（ＡＸ１，ＡＹ１）、移動前のウィンドウＤの左上座標（ＤＸ１，ＤＹ１）の関係は、下記式（４）で示される。
（ＤＸ１，ＤＹ１）＝（ＡＸ１＋Ｘ，ＡＹ１＋Ｙ）                （４）
【００６１】
図１０（ｂ）は、グループＧ１が選択された状態において、ウィンドウＡをユーザがドラッグして移動した後の状態を示す図である。この場合、選択されているウィンドウＡと同じグループＧ１に属しているウィンドウＤも、ウィンドウＡに対して相対位置ベクトルＲｐを保つように移動している。
【００６２】
下記に具体的な移動処理の内容を、グループＧ１が選択された状態を例として説明する。
移動７０２をクリックしたことを示す入力信号が入力されると、主制御部３０１は、ウィンドウの相対移動を行なうことを認識する。そして、ドラッグによりウィンドウＡを移動したことを示す入力信号が入力されると、主制御部３０１は、移動後のウィンドウＡの左上座標（Ａ’Ｘ１，Ａ’Ｙ１）を取得する。さらに、主制御部３０１は、グループテーブル５０２を参照して、ウィンドウＡの属するグループＧ１を抽出する。また、主制御部３０１は、グループＧ１に属するウィンドウＡのウィンドウＩＤに対応付けて、ウィンドウＡの左上座標（ＡＸ１，ＡＹ１）と、移動後のウィンドウＡの左上座標（Ａ’Ｘ１，Ａ’Ｙ１）とを移動制御部３０２に出力する。さらに、主制御部３０１は、グループＧ１に属するウィンドウＤのウィンドウＩＤに対応付けて、ウィンドウＤの左上座標（ＤＸ１，ＤＹ１）を移動制御部３０２に出力する。そして、移動制御部３０２は、ウィンドウＡ及びウィンドウＤの左上座標を相対位置算出部４０１に出力する。そして、ウィンドウＡ及びウィンドウＤの左上座標が入力されると、相対位置算出部４０１は、式（３）を用いてウィンドウＡとウィンドウＤの相対位置ベクトルＲｐ（Ｘ，Ｙ）を算出する。そして、相対位置算出部４０１は、算出した相対位置ベクトルＲｐ（Ｘ，Ｙ）を移動制御部３０２に出力する。さらに、移動制御部３０２は、算出された相対位置ベクトルＲｐ（Ｘ，Ｙ）と、移動後のウィンドウＡの左上座標（Ａ’Ｘ１，Ａ’Ｙ１）とを移動位置算出部４０２に出力する。相対位置ベクトルＲｐ（Ｘ，Ｙ）と、移動後のウィンドＡの左上座標（Ａ’Ｘ１，Ａ’Ｙ１）が入力されると、移動位置算出部４０２は、下記式（５）により、移動後のウィンドウＤの左上座標（Ｄ’Ｘ１，Ｄ’Ｙ１）を算出する。
（Ｄ’Ｘ１，Ｄ’Ｙ１）＝（Ａ’Ｘ１＋Ｘ，Ａ’Ｙ１＋Ｙ）        （５）
【００６３】
すなわち、移動位置算出部４０２は、移動後のウィンドウＡの左上座標（Ａ’Ｘ１，Ａ’Ｙ１）に、相対位置ベクトルＲｐ（Ｘ，Ｙ）を加えることにより、移動後のウィンドウＤの左上座標（Ｄ’Ｘ１，Ｄ’Ｙ１）を算出している。そして、移動位置算出部４０２は、算出結果を移動制御部３０２に出力する。
【００６４】
その後、移動制御部３０２は、移動位置算出部４０２より入力された移動後のウィンドウＤの左上座標（Ｄ’Ｘ１，Ｄ’Ｙ１）と、移動後のウィンドウＡの左上座標（Ａ’Ｘ１，Ａ’Ｙ１）とを移動位置として、その移動位置にウィンドウＡとウィンドウＤを移動することを指示する移動位置信号をウィンドウ操作部２２２に出力する。そして、ウィンドウ操作部２２２は、移動位置信号が入力されると、ウィンドウＡの左上座標（Ａ’Ｘ１，Ａ’Ｙ１）が示す位置にウィンドウＡを移動させ、かつ、ウィンドウＤの左上座標（Ｄ’Ｘ１，Ｄ’Ｙ１）が示す位置にウィンドウＤを移動させるための制御要求信号を出力する。
【００６５】
なお、右下座標においても、上記の処理を行うことで、移動後の座標を算出することができる。ただし、ウィンドウのサイズの変更がない場合には、ウィンドウの左上座標のみがわかればウィンドウを指定の位置に表示することができるので必要に応じて算出すればよい。また、右下座標と左上座標との相対位置ベクトルを算出しておき、移動後の左上座標に加算することにより移動後の右下座標を算出しても良い。
【００６６】
以上の処理により、表示部１０８に表示されたグループＧ１に属するウィンドウＡ及びウィンドウＤを相対位置を維持しながら同時に移動させる表示形態の変更処理を行っている。なお、グループＧ１以外のグループにおいても、上記の処理を適用することができる。
【００６７】
次に、実施形態に係る同一グループに属するウィンドウの最大化について、図１１を用いて説明する。図１１は、同一グループに属するウィンドウの最大化を示す図である。なお、以下最大化とは、同一グループに属するウィンドウで、表示部１０８の画面全体を分割して表示することを言う。
【００６８】
図１１（ａ）は、複数のソフトウェアが起動され、表示部１０８に複数のウィンドウが表示された状態を表す図である。一例として、図１１（ａ）は、図６に示したウィンドウ情報テーブル５０１に対応したウィンドウＡ〜Ｄを表している。
【００６９】
図１１（ｂ）、（ｃ）は、（ａ）の状態において、最大化７０３がクリックされ、グループＧ２が選択されたときの表示部１０８の表示例を示している。図１１（ｂ）は、グループＧ２に属するウィンドウのサイズ比に対応させ、縦に並べてグループＧ２のウィンドウを最大化した例である。また、図１１（ｃ）は、グループＧ２に属するウィンドウのサイズ比に対応させ、横に並べてグループＧ２のウィンドウを最大化した例である。
【００７０】
下記に具体的な最大化処理内容について、グループＧ２を選択した場合を例として説明する。また、下記の説明において、ウィンドウＡ〜Ｄは、図７に示すウィンドウ情報テーブル５０１に対応する表示形態を有し、さらに、予め図８のグループテーブル５０２のグループＧ１及びグループＧ２が設定されているものとする。
【００７１】
まず、アプリケーション２２０は、起動されると図７に示すＧＵＩ群７０１〜７０８を表示部１０８に表示する。そして、最大化７０３をクリックしたことを示す入力信号が入力されると、主制御部３０１は、ウィンドウの最大化を行なうことを認識する。さらに、選択７０１をクリックしたことを示す入力信号が入力されると、主制御部３０１は、ウィンドウを選択することを認識する。そして、ウィンドウＣがクリックされたことを示す入力信号が入力されると、主制御部３０１は、ウィンドウＣが選択されたと認識する。また、主制御部３０１は、ウィンドウＣが属するグループのグループＩＤをグループテーブル５０２より抽出する。そして、グループＧ２を取得する。さらに、主制御部３０１は、グループテーブル５０２よりグループＧ２に属するウィンドウＩＤを取得する。そして、主制御部３０１は、取得したウィンドウＡ〜ＣのウィンドウＩＤを表示制御部３０３に出力する。また、ウィンドウＡ〜ＣのウィンドウＩＤを取得すると、主制御部３０１は、ウィンドウ情報テーブル５０１から、ウィンドウＡ〜Ｃのサイズ比を取得する。そして、主制御部３０１は、ウィンドウＡ〜Ｄのサイズ比を表示制御部３０３に出力する。ウィンドウＡ〜ＣのウィンドウＩＤとサイズ比が入力されると、表示制御部３０３は、ウィンドウＡ〜Ｃのサイズを比較して、一番大きいサイズのウィンドウＡを基準ウィンドウとして設定する。また、その他のウィンドウＢ及びウィンドウＣを従属ウィンドウとして設定する。そして、基準ウィンドウ及び従属ウィンドウの設定情報と、それぞれのウィンドウのサイズ比をサイズ・比率算出部４０３に出力する。さらに、基準ウィンドウ及び従属ウィンドウの設定情報と、それぞれのウィンドウのサイズ比が入力されると、サイズ・比率算出部４０３は、式（２）を用いて、グループＧ２内でのサイズ比を算出する。具体的には、ウィンドウＡのサイズ比を１とすると、ウィンドウＡ：ウィンドウＢ：ウィンドウＣ＝１：０．５：０．２５と求まる。そして、サイズ・比率算出部４０３は、グループＧ２内でのウィンドウＡ〜Ｃのサイズ比を保つようにそれぞれのウィンドウの最大化後のサイズを算出する（算出方法については後述する。）。さらに、サイズ・比率算出部４０３は、算出したウィンドウＡ〜Ｃのウィンドウの最大化後のサイズを表示制御部３０３に出力する。
【００７２】
ウィンドウＡ〜Ｃのサイズが入力されると、表示制御部３０３は、そのウィンドウＡ〜Ｃのサイズに基づいて、ウィンドウＡ〜Ｃを最大化させる表示切替信号をウィンドウ操作部２２２に出力する。そして、表示切替信号が入力されると、ウィンドウ操作部２２２は、表示処理部２１２に表示切替信号の内容を含む制御要求信号を出力する。
【００７３】
以上の処理により、表示部１０８に表示されたグループＧ２に属するウィンドウＡ〜Ｃのサイズ比に応じて、全画面を画面分割させて表示させる処理を行っている。なお、グループＧ２以外のグループにおいても、上記の処理を適用することができる。
【００７４】
図１２は、実施形態のアプリケーション動作を示すフローチャートである。
アプリケーション２２０が起動されると、グループ処理部２２１に含まれる主制御部３０１において、少なくともウィンドウ情報テーブル５０１及びグループテーブル５０２に登録する情報を取得する（Ｓ１２０１）。そして、取得した情報を記憶部１０３に記憶する。
【００７５】
具体的には、主制御部３０１は、ＯＳ２１０に座標位置の取得を要求することで、表示部１０８に表示されている複数のウィンドウそれぞれの左上座標及び右下座標を取得する。
【００７６】
また、主制御部３０１は、表示部１０８に表示されているウィンドウそれぞれに、ウィンドウＩＤを付与する。そして、主制御部３０１は、ウィンドウＩＤに対応付けて取得した左上座標及び右下座標をウィンドウ情報テーブル５０１に登録する。
【００７７】
さらに、主制御部３０１は、表示制御部３０３を介して各ウィンドウの左上座標及び右下座標をウィンドウＩＤに対応付けてサイズ・比率算出部４０３に出力し、それぞれのウィンドウのサイズ及びサイズ比を算出させる。そして、サイズ・比率算出部４０３は、算出したそれぞれのウィンドウのサイズ及びサイズ比を、表示制御部３０３を介して主制御部３０１に出力する。
【００７８】
さらに、主制御部３０１は、入力されたそれぞれのウィンドウのサイズ及びサイズ比をウィンドウ情報テーブル５０１に登録する。
また、表示部１０８に表示されているウィンドウにおいて、以前に表示制御が行なわれていたウィンドウがある場合には、前回終了時のウィンドウ情報テーブル５０１及びグループテーブルを今回の情報として用いても良い。
【００７９】
次に、主制御部３０１は、ウィンドウの表示制御を行なうか否かを判断する（Ｓ１２０２）。具体的には、図７に示すＧＵＩ群７０１〜７０７のいずれかをクリックしたことを示す入力信号が主制御部３０１に入力されると、ウィンドウの表示制御を行なうと判断している。
【００８０】
Ｓ１２０２において、表示制御を行わない場合には、アプリケーション２２０を終了するか否かを判断する（Ｓ１２０３）。具体的には、主制御部３０１は、図７に示す終了７０８がクリックされたことを示す入力信号が入力されたか否かを判断する。そして、終了７０８がクリックされたことを示す入力信号が入力された場合、主制御部３０１は、アプリケーション２２０を終了する。また、終了７０８がクリックされたことを示す入力信号が入力されない場合には、Ｓ１２０２に戻る。すなわちＧＵＩ群７０１〜７０８のいずれかをクリックされるまで、主制御部３０１は、Ｓ１２０２及びＳ１２０３の判断を繰り返す。
【００８１】
Ｓ１２０２において、表示制御を行なう場合には、クリックされたＧＵＩ群７０１〜７０７に基づいて、表示部１０８に表示するウィンドウの表示制御処理を行なう（Ｓ１２０４）。そして、Ｓ１２０２に戻る。
【００８２】
以上の処理によりアプリケーション２２０の動作を制御している。なお、上記の操作例は一例であり、ＧＵＩ群７０１〜７０８と同じ情報を入力することができれば、キーボード及びマウスに設定される、ショートカットキーを用いる等、他の入力方法を用いても良い。
【００８３】
図１３は、実施形態のグループの設定方法を示すフローチャートである。このグループの設定方法は、図１２におけるＳ１２０４の表示制御処理のうちの一つである。また、下記の説明では、Ｔ表示７０５を用いてウィンドウ情報テーブル５０１及びグループテーブル５０２を表示して、グループを設定する場合について説明する。
【００８４】
グループテーブルを表示する（Ｓ１３０１）。
具体的には、Ｔ表示７０５がクリックされたことを示す入力信号が入力されると、主制御部３０１は、記憶部１０３からウィンドウ情報テーブル５０１及びグループテーブル５０２を取得する。そして、主制御部３０１は、取得したウィンドウ情報テーブル５０１及びグループテーブル５０２と、テーブル表示の要求とを表示制御部３０３に出力する。ウィンドウ情報テーブル５０１及びグループテーブル５０２と、テーブル表示の要求が入力されると、表示制御部３０３は、ウィンドウ情報テーブル５０１及びグループテーブル５０２を表示させる表示切替信号をウィンドウ操作部２２２に出力する。そして、表示切替信号が入力されると、ウィンドウ操作部２２２は、表示処理部２１２に表示切替信号の内容を含む制御要求信号を出力する。
【００８５】
次に、グループの選択を行なう。そして、グループの選択が行なわれない場合には、グループの選択が行なわれるまで待機する（Ｓ１３０２）。
具体的には、主制御部３０１は、表示部１０８に表示されたグループテーブル５０２のグループＩＤがクリックされたことを示す入力信号が入力されたか否かを判断する。そして、主制御部３０１は、グループＩＤがクリックされたことを示す入力信号の入力がない場合、Ｓ１３０２を繰り返す。主制御部３０１に、グループＩＤがクリックされたことを示す入力信号が入力された場合には、そのグループが選択されたと判断してＳ１３０３に進む。
【００８６】
Ｓ１３０２において、グループＩＤがクリックされたことを示す入力信号が入力されると、主制御部３０１は、ウィンドウの選択を行なうか否かを判断する（Ｓ１３０３）。具体的には、主制御部３０１は、ウィンドウをクリックされたことを示す入力信号が入力されたか否かを判断している。
【００８７】
Ｓ１３０３において、ウィンドウがクリックされたことを示す入力信号の入力がない場合、主制御部３０１は、グループ設定の解除をするか否かを判断する（Ｓ１３０４）。
具体的には、解除７０７がクリックされたことを示す入力信号が、主制御部３０１に入力されたか否かを判断している。そして、解除７０７がクリックされたことを示す入力信号の入力がない場合には、Ｓ１３０３に戻る。すなわち、主制御部３０１は、ウィンドウのクリックまたは解除７０７のクリックがあるまで、Ｓ１３０３及びＳ１３０４を繰り返している。
【００８８】
そして、Ｓ１３０４において、解除７０７がクリックされたことを示す入力信号が入力された場合、主制御部３０１は、Ｓ１３０２で選択したグループＩＤに対応するグループ情報をグループ情報テーブル５０１から削除する（Ｓ１３０５）。
【００８９】
そして、グループ設定が終了したか否かを判断する（Ｓ１３０６）。
具体的には、主制御部３０１は、終了７０８がクリックされたことを示す入力信号が入力されたか否かを判断している。そして、終了７０８がクリックされたことを示す入力信号が入力されると、主制御部３０１は、グループ設定を終了する。また、終了７０８がクリックされたことを示す入力信号が入力されない場合には、Ｓ１３０２に戻る。なお、終了７０８がクリックされたことを示す入力信号が入力されると、その他のステップにおいても直ちにグループ設定を終了するように構成しても良い。
【００９０】
また、Ｓ１３０３において、ウィンドウがクリックされた入力信号が入力されると主制御部３０１は、クリックされたウィンドウをグループテーブル５０２に登録するのか、解除するのかを判断する（Ｓ１３０７）。
【００９１】
具体的には、主制御部３０１は、登録７０６または解除７０７がクリックされたことを示す入力信号のどちらが入力されたかに基づいて、グループテーブル５０２への登録及び削除を判断している。
【００９２】
Ｓ１３０７において、登録７０６がクリックされたことを示す入力信号が入力されると、主制御部３０１は、Ｓ１３０２で選択したグループＩＤに対応させて、Ｓ１３０３で選択したウィンドウＩＤをグループテーブル５０２に登録する（Ｓ１３０８）。そして、Ｓ１３０６に進む。
【００９３】
Ｓ１３０７において、解除７０７がクリックされたことを示す入力信号が入力されると、主制御部３０１は、Ｓ１３０２で選択したグループＩＤに対応したグループに属している、Ｓ１３０３で選択したウィンドウＩＤをグループテーブル５０２から削除する（Ｓ１３０９）。そして、Ｓ１３０６に進む。
【００９４】
以上の処理により、グループテーブル５０２を設定することで、異なるソフトウェアのウィンドウを紐付けて同一グループとして設定することができる。
なお、上記の操作例は一例であり、ＧＵＩ群７０１〜７０８と同じ情報を入力することができれば、キーボード及びマウスに設定される、ショートカットキーを用いる等、他の入力方法を用いても良い。
【００９５】
図１４は、実施形態の相対移動制御を示すフローチャートである。この相対移動制御は、図１２におけるＳ１２０４の表示制御処理のうちの一つである。
移動７０２をクリックしたことを示す入力信号が入力されると、主制御部３０１は、ウィンドウの相対移動制御を行なうことを認識する。そして、Ｓ１４０１に進む。
【００９６】
主制御部３０１は、ウィンドウの選択が行なわれたか否かを判断する（Ｓ１４０１）。具体的には、選択７０１をクリックしたことを示す入力信号が入力されると、主制御部３０１は、ウィンドウを選択することを認識する。そして、ウィンドウがクリックされたことを示す入力信号が入力されると、主制御部３０１は、ウィンドウが選択されたことを認識する。Ｓ１４０１において、選択７０１をクリックしたことを示す入力信号の入力がない場合には、Ｓ１４０１を繰り返す。
【００９７】
Ｓ１４０１において、ウィンドウがクリックされたことを示す入力信号が入力されると、主制御部３０１は、選択されたウィンドウが属するグループを抽出する（Ｓ１４０２）。具体的には、グループテーブル５０２を参照することにより、選択されたウィンドウのウィンドウＩＤが登録されているグループＩＤを抽出している。
【００９８】
そして、主制御部３０１は、抽出したグループＩＤに基づいて、そのグループに属するウィンドウのウィンドウＩＤを、グループテーブル５０２から抽出する（Ｓ１４０３）。また、主制御部３０１は、抽出したグループＩＤとウィンドウＩＤを表示制御部３０３に出力する。
【００９９】
次に、主制御部３０１は、Ｓ１４０３において抽出されたウィンドウＩＤが複数あるか否かを判断する（Ｓ１４０４）。
Ｓ１４０４において、抽出されたウィンドウＩＤが選択されたウィンドウのウィンドウＩＤのみであると判断した場合には、選択されたウィンドウのみを移動させる（Ｓ１４０５）。この場合には、公知の技術により、選択したウィンドウをドラッグにより移動すればよい。
【０１００】
Ｓ１４０４において、抽出されたウィンドウＩＤが複数あった場合、主制御部３０１は、抽出されたウィンドウＩＤに基づいて、それらのウィンドウＩＤに対応するウィンドウ情報を、ウィンドウ情報テーブル５０１から取得する（Ｓ１４０６）。
【０１０１】
そして、主制御部３０１は、抽出したウィンドウＩＤに対応付けてそれぞれのウィンドウの左上座標及び右下座標を移動制御部３０２に出力する。ウィンドウＩＤに対応付けられた同一グループのウィンドウの左上座標及び右下座標が入力されると、移動制御部３０２は、その情報を相対位置算出部４０１に出力する。ウィンドウＩＤに対応付けられた同一グループのウィンドウの左上座標及び右下座標が入力されると、相対位置算出部４０１は、同一グループのウィンドウの相対位置を算出する（Ｓ１４０７）。
【０１０２】
そして、相対位置算出部４０１は、移動制御部３０２に算出した相対位置を出力する。これにより、表示制御部３０３は、主制御部３０１より入力されたウィンドウＩＤに対応するウィンドウを移動させる場合に、同一グループに属するウィンドウの相対位置を維持して移動する制御をすることができる。
【０１０３】
その後、選択したウィンドウをドラッグにより移動する信号が入力されると、主制御部３０１は、選択したウィンドウの移動位置を取得し、移動制御部３０２に出力する。そして、移動制御部３０２は、入力されたウィンドウの移動位置を基準として、同一グループのウィンドウを、Ｓ１４０７で算出した相対位置に移動することを指示する移動位置信号をウィンドウ操作部２２２に出力する。そして、移動位置信号が入力されると、ウィンドウ操作部２２２は、表示処理部２１２に移動位置信号の内容を含む制御要求信号を出力する（Ｓ１４０８）。
【０１０４】
以上の処理により、選択したウィンドウの位置を変更する際に、グループテーブル５０２から同一のグループに属するウィンドウを抽出するようにしたので、同一グループに属するウィンドウを同時に移動させることができる。
【０１０５】
なお、上記の操作例は一例であり、ＧＵＩ群７０１〜７０８と同じ情報を入力することができれば、キーボード及びマウスに設定される、ショートカットキーを用いる等、他の入力方法を用いても良い。
【０１０６】
図１５は、実施形態の最大化制御を示すフローチャートである。この最大化制御は、図１２におけるＳ１２０４の表示制御処理のうちの一つである。
最大化７０３をクリックしたことを示す入力信号が入力されると、主制御部３０１は、ウィンドウの最大化制御を行なうことを認識する。そして、Ｓ１５０１に進む。
【０１０７】
主制御部３０１は、ウィンドウの選択が行なわれた否かを判断する（Ｓ１５０１）。具体的には、選択７０１をクリックしたことを示す入力信号が入力されると、主制御部３０１は、ウィンドウを選択することを認識する。そして、ウィンドウがクリックされたことを示す信号が入力されると、主制御部３０１は、ウィンドウが選択されたことを認識する。Ｓ１５０１において、ウィンドウがクリックされたことを示す信号の入力がない場合には、Ｓ１５０１を繰り返す。
【０１０８】
Ｓ１５０１において、ウィンドウがクリックされたことを示す信号が入力されると、主制御部３０１は、選択されたウィンドウが属するグループを抽出する（Ｓ１５０２）。具体的には、グループテーブル５０２を参照することにより、選択されたウィンドウのウィンドウＩＤが登録されているグループＩＤを抽出している。
【０１０９】
そして、主制御部３０１は、抽出したグループＩＤに基づいて、そのグループに属するウィンドウのウィンドウＩＤを、グループテーブル５０２から抽出する（Ｓ１５０３）。
次に、主制御部３０１は、Ｓ１５０３で抽出されたウィンドウＩＤが複数あるか否かを判断する（Ｓ１５０４）。
【０１１０】
Ｓ１５０４において、抽出されたウィンドウＩＤが選択されたウィンドウのウィンドウＩＤのみであると判断した場合には、選択されたウィンドウのみを最大化させる（Ｓ１５０５）。この場合には、公知の技術により、選択したウィンドウを最大化すればよい。
【０１１１】
Ｓ１５０４において、抽出されたウィンドウＩＤが複数あった場合、主制御部３０１は、抽出されたウィンドウＩＤに基づいて、それらのウィンドウＩＤに対応するウィンドウ情報を、ウィンドウ情報テーブル５０１から取得する（Ｓ１５０６）。
【０１１２】
また、主制御部３０１は、抽出したウィンドウＩＤに対応付けてそれぞれのウィンドウのサイズ比を表示制御部３０３に出力する。また、ウィンドウ情報テーブル５０１を参照することで、主制御部３０１は、同一グループに属するウィンドウを比較して、一番大きいサイズのウィンドウを基準ウィンドウとして設定する。そして、その他のウィンドウを従属ウィンドウとして設定する。さらに、基準ウィンドウと従属ウィンドウの設定情報を表示制御部３０３に出力する。そして、ウィンドウＩＤに対応付けられた同一グループのウィンドウのサイズ比と、基準ウィンドウ及び従属ウィンドウの設定情報（以下、サイズ比情報という。）が入力されると、表示制御部３０３は、そのサイズ比情報をサイズ・比率算出部４０３に出力する 。そして、サイズ・比率算出部４０３は、式（２）を用いて同一グループに属するウィンドウのサイズ比を算出する（Ｓ１５０７）。また、サイズ・比率算出部４０３は、算出した同一グループに属するウィンドウのサイズ比を表示制御部３０３に出力する。
【０１１３】
そして、表示制御部３０３は、同一グループに属する複数のウィンドウのサイズ比が入力されると、最大化後のそれぞれのウィンドウの表示位置を決定する（Ｓ１５０８）。具体的には、図１１（ｂ）を例とすると、同一グループに属する複数のウィンドウを縦に並べる処理をしている。この際に、表示制御部３０３は、上から順に大きいサイズ比のウィンドウが並ぶように決定している。図１１（ｃ）を例とすると、同一グループに属する複数のウィンドウを縦に並べる処理をしている。この場合には、表示制御部３０３は、左から順に大きいサイズ比のウィンドウが並ぶように決定している。
【０１１４】
また、図１１（ｂ）、（ｃ）の表示位置は、適宜選択できる。一例として、入力部１０９からどちらの表示位置を選択したかを入力し、その選択結果を記憶部１０３に記憶しておくようにする。そして、最大化制御が始まったときに主制御部３０１は、その表示位置の選択情報を取得する。また、主制御部３０１は、取得した表示位置の選択情報を表示制御部３０３に出力すれば良い。これにより、表示制御部３０３は、選択された表示位置に最大化後のウィンドウを表示することができる。図１１（ｂ）、（ｃ）の表示位置は一例であり、適宜その他の表示位置についても設定可能である。
【０１１５】
次に、表示制御部３０３は、入力された同一グループに属する複数のウィンドウのサイズ比に従い、表示部１０８に表示する同一グループに属するウィンドウのサイズを決定する（Ｓ１５０９）。具体的には、サイズ比により、表示部１０８の画面のドットを分割する処理をする。図１１（ｂ）では、表示部１０８の画面をドット単位で、同一グループに属する複数のウィンドウのサイズ比に従って縦方向に分割している。図１１（ｃ）では、表示部１０８の画面をドット単位で、同一グループに属する複数のウィンドウのサイズ比に従って横方向に分割している。なお、一例として、図６のウィンドウ情報テーブル５０１に登録されているサイズ比を用いると、図１１（ｂ）のサイズ比は、ウィンドウＡ：ウィンドウＢ：ウィンドウＣ＝１：０．５：０．２５である。従って、ＳＸＧＡ液晶（１２８０×１０２４ドット）の場合には、それぞれのウィンドウの最大化後の縦方向のドット数は、それぞれウィンドウＡ＝１０２４ドット×１／１．７５≒５８４ドット、ウィンドウＢ＝１０２４ドット×０．５／１．７５≒２９５ドット、ウィンドウＣ＝１０２４ドット×０．２５／１．７５≒１４５ドットとなるように制御する。また、それぞれのウィンドウの最大化後の横のドット数は、１２８０ドットである。他の表示位置を選択した場合にも、公知の技術により、ウィンドウサイズを算出すれば良い。
【０１１６】
そして、表示制御部３０３は、算出されたそれぞれのウィンドウの表示位置及びサイズにより表示部１０８の画面の表示形態を変更させる表示切替信号をウィンドウ操作部２２２に出力する。また、表示切替信号が入力されると、ウィンドウ操作部２２２は、表示処理部２１２に表示切替信号の内容を含む制御要求信号を出力する（Ｓ１５１０）。
【０１１７】
以上の処理により、選択したウィンドウの位置を変更する際に、グループテーブル５０２から同一のグループに属するウィンドウを抽出するようにしたので、同一グループに属するウィンドウを同時に最大化させることができる。
【０１１８】
また、抽出するウィンドウの数に閾値を設定し、記憶部１０３に記憶しておいても良い。これにより、最大化制御が始まったときに主制御部３０１は、その閾値を取得する。そして、Ｓ１５０３において、主制御部３０１は、閾値以上の数のウィンドウを抽出しないようにする。これにより、同一グループに属するウィンドウが複数ある場合に、最大化後に表示するウィンドウの数を制限できる。したがって、同一グループに属するウィンドウが複数ある場合に、最大化後のそれぞれのウィンドウの表示サイズが小さくなり、ウィンドウ内の情報が見づらくなることを防止することができる。
【０１１９】
また、最大化するウィンドウ数に閾値を設ける場合において、図８に示したクリック順が新しい順にウィンドウを抽出しても良い。これにより、同一グループに閾値以上の数のウィンドウがある場合に、最近クリックしたウィンドウを優先的に最大化することができる。すなわち、最近クリックした使用中である可能性の高いウィンドウを優先的に抽出し、最大化することができる。
【０１２０】
また、Ｓ１５０８において、元のウィンドウサイズが一番大きいウィンドウを表示部１０８の画面半分に表示するように決定しても良い。そして、Ｓ１５０９において、その他の同一グループに属するウィンドウ間で表示部１０８の画面残り半分を分割し、最大化するように決定しても良い。図８のグループＧ２を選択した場合の例として、図１６（ａ）に示すように、ウィンドウＡが一番大きい場合には、図１６（ｂ）に示すように、ウィンドウＡを画面左半分に表示する。そして、その他の同一グループのウィンドウは、残り半分の画面を分割して最大化する。これにより、ユーザが大きく表示しているウィンドウを、最大化後にさらに見やすくすることができる。
【０１２１】
また、優先度に基づいて画面の最大化を行うようにしてもよい。具体的には、図１７に示すように、ＧＵＩ群に優先度１７０１を設定するアイコンを追加する。そして、優先度１７０１がクリックされたことを示す入力信号が入力されると、主制御部３０１は、優先度を設定すると認識する。さらに、選択７０１をクリックしたことを示す入力信号が入力されると、主制御部３０１は、ウィンドウを選択することを認識する。そして、ウィンドウがクリックされて選択された順に、優先度を図１８のウィンドウ情報テーブル１８０１に示すように登録する。これにより、Ｓ１５０８において、表示制御部３０３がウィンドウ情報テーブル１８０１を参照することで、元のサイズに係らず、優先度が一番高いウィンドウを表示部１０８の画面半分に表示するように決定する。そして、Ｓ１５０９において、表示制御部３０３は、その他の同一グループに属するウィンドウ間で画面残り半分を分割し、最大化するように決定する。図８のグループＧ２を選択した場合の例として、図１９（ａ）に示すように、ウィンドウＢのサイズの大きさは、ウィンドウＡの次の大きさであるが、ウィンドウ情報テーブル１８０１に示される優先度が最も高いので、図１９（ｂ）に示すように、ウィンドウＢを画面左半分に表示する。そして、その他の同一グループのウィンドウは、画面残り半分を分割して最大化する。これにより、文章作成ソフトやメールソフト等の比較的大きなサイズで使用することが望まれるソフトウェアのウィンドウを画面半分に大きく表示することができる。なお、優先度が一番高いウィンドウの最大化後のサイズは一例として画面半分としたが、所定のサイズとなるようにしても良い。その場合には、ウィンドウＩＤに対応付けて、ウィンドウ情報テーブル１８０１に所定のサイズ（図示しない）を示す情報を予め登録しておく。そして、Ｓ１５０８において、ウィンドウ情報テーブル１８０１を参照することで、表示制御部３０３はその所定のサイズを抽出し、最大化後のウィンドウのサイズを決定する。
【０１２２】
また、ユーザが指定した範囲に合わせて、同一グループのウィンドウの最大化を行うようにしてもよい。この場合には、Ｓ１５０８の前にユーザにより同一グループのウィンドウを最大化する範囲の指定を受け付ける処理を加える。図８のグループＧ２を選択した場合の例として説明する。まず、図２０（ａ）の破線に示すようにユーザが最大化を行なう範囲の指定をドラッグ等により入力する。この指定範囲を示す入力信号が入力されると、主制御部３０１は、表示制御部３０３にその指定範囲を出力する。そして、表示制御部３０３は、指定範囲を一つの画面とみなして同一グループのウィンドウを最大化するように決定する。これにより、図２０（ｂ）に示すように、ユーザが指定した範囲で同一グループのウィンドウを最大化することができる。また、図２０（ｂ）のようにウィンドウＤが別のグループの最大化により、背面に隠れてしまった場合には、ウィンドウＤが背面にあることを示すＧＵＩである背面Ｄ２００１を表示しても良い。この場合には、背面Ｄ２００１をクリックしたことを示す入力信号が入力されると、主制御部３０１は、ウィンドウＤが選択されたことを認識することができる。また、図２０（ｃ）は、図２０（ｂ）の破線に示すようにユーザが最大化を行なう範囲の指定を入力し、背面Ｄ２００１をクリックすることで選択し、ウィンドウＤを最大化した一例である。これにより、図２０（ｂ）に示すように、表示部１０８の画面上に時計等の常に表示させておきたい情報を表示している場合に、最大化したウィンドウが重ならないようにすることができる。
【０１２３】
なお、上記の操作例は一例であり、ＧＵＩ群７０１〜７０８、１７０１及び背面Ｄ２００１と同じ情報を入力することができれば、キーボード及びマウスに設定される、ショートカットキーを用いる等、他の入力方法を用いても良い。
【０１２４】
また、同一グループに属するウィンドウの最小化を実行する場合には、最小化７０４をクリックされたことを示す入力信号が入力されると、主制御部３０１は、ウィンドウの最小化制御を行なうことを認識する。そして、Ｓ１５０１に進む。そして、主制御部３０１は、Ｓ１５０１〜Ｓ１５０３を実行する。さらに、主制御部３０１は、抽出された情報を表示制御部３０３に出力する。また、表示制御部３０３は、ウィンドウを最小化するための表示切替信号をウィンドウ操作部２２２に出力する制御を行なうようにすると良い。
【符号の説明】
【０１２５】
１００  情報処理装置
１０１  ＣＰＵ
１０２  メモリ
１０３  記憶部
１０４  グラフィック処理部
１０５  入力インターフェース
１０６  通信部
１０７  バス
１０８  表示部
１０９  入力部
２００  ソフトウェア群
２１０  ＯＳ
２１１  入出力部
２１２  表示処理部
２２０  アプリケーション
２２１  グループ処理部
２２２  ウィンドウ操作部
２２３  算出部
３０１  主制御部
３０２  移動制御部
３０３  表示制御部
４０１  相対位置算出部
４０２  移動位置算出部
４０３  サイズ・比率算出部
５０１、１８０１  ウィンドウ情報テーブル
５０２  グループテーブル
７０１  選択
７０２  移動
７０３  最大化
７０４  最小化
７０５  Ｔ表示
７０６  登録
７０７  解除
７０８  終了
１７０１  優先度
２００１  背面Ｄ
【図１】
2013097461.tif 000003
【図２】
2013097461.tif 000004
【図３】
2013097461.tif 000005
【図４】
2013097461.tif 000006
【図５】
2013097461.tif 000007
【図６】
2013097461.tif 000008
【図７】
2013097461.tif 000009
【図８】
2013097461.tif 000010
【図９】
2013097461.tif 000011
【図１０】
2013097461.tif 000012
【図１１】
2013097461.tif 000013
【図１２】
2013097461.tif 000014
【図１３】
2013097461.tif 000015
【図１４】
2013097461.tif 000016
【図１５】
2013097461.tif 000017
【図１６】
2013097461.tif 000018
【図１７】
2013097461.tif 000019
【図１８】
2013097461.tif 000020
【図１９】
2013097461.tif 000021
【図２０】
2013097461.tif 000022