JP2009193451A - 情報処理装置及びプログラム - Google Patents

情報処理装置及びプログラム Download PDF

Info

Publication number
JP2009193451A
JP2009193451A JP2008034870A JP2008034870A JP2009193451A JP 2009193451 A JP2009193451 A JP 2009193451A JP 2008034870 A JP2008034870 A JP 2008034870A JP 2008034870 A JP2008034870 A JP 2008034870A JP 2009193451 A JP2009193451 A JP 2009193451A
Authority
JP
Japan
Prior art keywords
information
window
change
unit
event
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008034870A
Other languages
English (en)
Other versions
JP5104379B2 (ja
Inventor
Hirohito Shibata
博仁 柴田
Yoshibumi Matsunaga
義文 松永
Akimasa Komura
晃雅 小村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2008034870A priority Critical patent/JP5104379B2/ja
Publication of JP2009193451A publication Critical patent/JP2009193451A/ja
Application granted granted Critical
Publication of JP5104379B2 publication Critical patent/JP5104379B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】複数のウィンドウの状態を把握する場合に、情報処理の負荷の増加を抑えつつ、既存のアプリケーションプログラムの修正の手間も軽減できる情報処理装置を提供する。
【解決手段】
ウィンドウ情報取得部24は、ウィンドウ情報を複数記憶するウィンドウ情報記憶部20から、ウィンドウ情報を取得する。ウィンドウ変化情報関連付け部28は、ウィンドウ情報取得部24が複数回取得した、ウィンドウ情報の差分に基づいて、ウィンドウ情報の変化を示すウィンドウ変化情報を生成し、そのウィンドウ変化情報をウィンドウ情報に関連付ける。イベント情報受付部32は、イベント情報通知部30からイベント情報を受け付ける。ウィンドウ情報変更部34は、ウィンドウ変化情報、又は、イベント情報に基づいて、ウィンドウ情報記憶部20に記憶されているウィンドウ情報を変更する。
【選択図】図2

Description

本発明は、情報処理装置及びプログラムに関する。
近年、アプリケーションプログラムに関連付けられるウィンドウを複数、画面に表示することができるマルチウィンドウシステムが多く見られる。
マルチウィンドウシステムの利用者が、ある目的を達成しようとする行為(タスク)を実行する際には、複数のアプリケーションプログラムを並行して利用することが多い。例えば、技術論文を書く場合には、ワードプロセッサの他に、辞書、自分が読んだ論文、自分がこれまでに書いた論文、図を作成するためのドローツールなどを(すなわち、対応するアプリケーションプログラムをすべて起動して)並行して利用することとなる。また、プログラミングを行う場合には、ソースコードを編集するエディタ、コンパイルやデバッグをする環境、マニュアル、Webブラウザなどを並行して利用することとなる。メールを作成する場合は、メーラ、カレンダー、スケジュール管理システム、名簿管理システムなどを並行して利用することとなる。
このとき、1つのタスクを実行する際に並行して利用される複数のアプリケーションプログラムに対応する複数のウィンドウを関連付けて操作、あるいは、管理できるような仕組みがあれば利用者にとって便利である。
特許文献1や非特許文献1には、複数のウィンドウを関連付けて管理する技術が開示されている。例えば、非特許文献1には、仮想的な三次元空間に配置されたそれぞれの壁に特定のタスクに対応する複数のウィンドウを配置する技術が開示されている。また、特許文献1には、複数のドキュメントを仮想的なボードに貼り付けて、再現できるようにした技術が開示されている。
特開平1−142859号公報 ジー・ロバートソン(G. Robertson)、エム・バン・ダンティッヒ(M.van Dantzich)、ディー・ロビンス(D. Robbins)、エム・ツァーウィンスキー(M. Czerwinski)、ケー・ヒンクレー(K.Hinckley)、ケー・リスデン(K. Risden)、ディー・シール(D. Thiel)、ブイ・ゴロホフスキー(V. Gorokhovsky)著、「ザ・タスクギャラリー:ア 3D ウィンドウマネージャー(TheTask Gallery: A 3D window manager.)」、2000年CHIプロシーディングス(Proceedings of CHI 2000)、pp.494-501、2000年
上述したように、複数のウィンドウを関連付けて操作する場合などにおいては、各ウィンドウの配置などの状態の変化を把握する必要がある。
ウィンドウの状態の変化を把握する方法として、定期的にウィンドウの状態を確認して、変化を検出する変化検出方式と、状態が変化したウィンドウと関連付けられるアプリケーションプログラムから、状態が変化したことを示すイベント情報の通知を受けることで、変化を検出するイベント情報通知方式とが考えられる。
しかし、変化検出方式では変化を検出するための定期的にウィンドウの状態を確認する必要があるので、情報処理の負荷が高くなってしまう。一方で、イベント情報通知方式では、イベント情報を通知するよう既存のアプリケーションプログラムを修正する必要があり、手間がかかる。
本発明は、複数のウィンドウの状態を把握する場合に、情報処理の負荷の増加を抑えつつ、既存のアプリケーションプログラムの修正の手間も軽減できる情報処理装置及びプログラムを提供することを目的とする。
請求項1に記載の発明は、情報処理装置であって、アプリケーションプログラムに関連付けられるウィンドウに対応するウィンドウ情報を複数記憶するウィンドウ情報記憶手段から、前記ウィンドウ情報を取得するウィンドウ情報取得手段と、前記ウィンドウ情報取得手段が複数回取得した、前記ウィンドウ情報の差分に基づいて、前記ウィンドウ情報の変化を示すウィンドウ変化情報を生成し、該ウィンドウ変化情報を前記ウィンドウ情報に関連付けるウィンドウ変化情報関連付け手段と、前記ウィンドウの状態の変化を示すイベント情報を通知するイベント情報通知手段から、前記イベント情報を受け付けるイベント情報受付手段と、前記ウィンドウ変化情報、又は、前記イベント情報に基づいて、前記ウィンドウ情報記憶手段に記憶されている少なくとも1つの前記ウィンドウ情報を変更するウィンドウ情報変更手段と、を含むこととしたものである。
請求項2に記載の発明は、請求項1に記載の情報処理装置であって、前記イベント情報受付手段は、前記ウィンドウ情報取得手段が取得する前記ウィンドウ情報の差分に基づいては検出されない前記ウィンドウの状態の変化を示すイベント情報を受け付けることとしたものである。
請求項3に記載の発明は、請求項1又は2に記載の情報処理装置であって、前記ウィンドウ情報取得手段が取得する前記ウィンドウ情報を記憶する取得情報記憶手段をさらに含み、前記ウィンドウ変化情報関連付け手段が、前記ウィンドウ情報取得手段が取得する前記ウィンドウ情報と、前記取得情報記憶手段に記憶されている前記ウィンドウ情報との差分に基づいて、前記ウィンドウ変化情報を生成し、該ウィンドウ変化情報を前記ウィンドウ情報に関連付けることとしたものである。
請求項4に記載の発明は、請求項3に記載の情報処理装置であって、前記ウィンドウ情報取得手段は、前記取得情報記憶手段に記憶されている個々のウィンドウ情報に対応するウィンドウ情報を前記ウィンドウ情報記憶手段から取得することとしたものである。
請求項5に記載の発明は、請求項1乃至4に記載の情報処理装置であって、前記ウィンドウ情報取得手段が取得する複数のウィンドウ情報の関係が、予め定められた条件を満たす場合に、該複数のウィンドウ情報を関連付ける関連ウィンドウ情報を生成し、該複数のウィンドウ情報に前記関連ウィンドウ情報を関連付けるウィンドウ情報関連付け手段をさらに含み、前記ウィンドウ情報変更手段が、前記関連ウィンドウ情報によって、前記ウィンドウ変化情報に関連付けられるウィンドウ情報、又は、前記イベント情報によって状態の変化を示される前記ウィンドウに対応するウィンドウ情報と関連付けられる前記ウィンドウ情報を変更することとしたものである。
請求項6に記載の発明は、請求項5に記載の情報処理装置であって、前記ウィンドウ情報変更手段が、前記関連ウィンドウ情報によって関連付けられる前記複数のウィンドウ情報に対応するウィンドウが連結して表示出力されるよう、前記複数のウィンドウ情報のうちの少なくとも1つを変更することとしたものである。
請求項7に記載の発明は、請求項1乃至6に記載の情報処理装置であって、記憶部に記憶されている情報を要求に応じて保存する情報保存手段と、前記情報保存手段に保存されている情報を要求に応じて前記記憶部に復元する情報復元手段と、をさらに含み、前記ウィンドウ情報変更手段が、前記情報復元手段によって復元された情報に基づいて、前記ウィンドウ情報記憶手段に記憶されている少なくとも1つの前記ウィンドウ情報を変更することとしたものである。
請求項8に記載の発明は、請求項7に記載の情報処理装置であって、前記イベント情報受付手段が、文書情報の所在を示す文書所在情報を含む、前記ウィンドウ内に前記文書情報が表示されることを示す前記イベント情報を受け付け、前記記憶部が前記文書所在情報を記憶し、前記情報保存手段が、要求に応じて前記文書所在情報を保存し、前記情報復元手段が、要求に応じて前記文書所在情報を前記記憶部に復元し、復元された前記文書所在情報によって特定される文書情報の画像を表示させることとしたものである。
請求項9に記載の発明は、プログラムであって、アプリケーションプログラムに関連付けられるウィンドウに対応するウィンドウ情報を複数記憶するウィンドウ情報記憶手段から、前記ウィンドウ情報を取得するウィンドウ情報取得手段、前記ウィンドウ情報取得手段が複数回取得した、前記ウィンドウ情報の差分に基づいて、前記ウィンドウ情報の変化を示すウィンドウ変化情報を生成し、該ウィンドウ変化情報を前記ウィンドウ情報に関連付けるウィンドウ変化情報関連付け手段、前記ウィンドウの状態の変化を示すイベント情報を通知するイベント情報通知手段から、前記イベント情報を受け付けるイベント情報受付手段、前記ウィンドウ変化情報、又は、前記イベント情報に基づいて、前記ウィンドウ情報記憶手段に記憶されている少なくとも1つの前記ウィンドウ情報を変更するウィンドウ情報変更手段、としてコンピュータを機能させることとしたものである。
また、上記のプログラムはコンピュータ読み取り可能な情報記憶媒体に格納することもできる。
請求項1,9に記載の発明によれば、複数のウィンドウの状態を把握する場合に、情報処理の負荷の増加を抑えつつ、既存のアプリケーションプログラムの修正の手間も軽減できる。
請求項2に記載の発明によれば、ウィンドウ情報の差分に基づいて検出されないウィンドウの状態についても、イベント情報受付手段によって検出することができるので、本構成を有さない場合と比較して、より多くの種類のウィンドウの状態を把握することができる。
請求項3に記載の発明によれば、ウィンドウ変化情報を生成する際に、取得したウィンドウ情報と、記憶されているウィンドウ情報とを比較することによって、ウィンドウ情報の差分を検出することができるので、本構成を有さない場合と比較して、より容易にウィンドウ情報の差分を検出することができる。
請求項4に記載の発明によれば、取得情報記憶部に記憶されている個々のウィンドウ情報に対応するウィンドウ情報を取得するので、本構成を有さない場合と比較して、複数のウィンドウの状態を把握する際の、情報処理の負荷の増加をより軽減することができる。
請求項5に記載の発明によれば、ウィンドウ情報を関連ウィンドウ情報によって関連付けることができ、1つのウィンドウについて状態が変化した際に、関連ウィンドウ情報によって、状態が変化したウィンドウに対応するウィンドウ情報と関連付けられたウィンドウ情報について、ウィンドウ情報を変更することができる。
請求項6に記載の発明によれば、1つのウィンドウの状態が変化した際に、関連ウィンドウ情報によって、状態が変化したウィンドウに対応するウィンドウ情報と関連付けられたウィンドウ情報に対応するウィンドウとを連結して画面に表示することができる。
請求項7に記載の発明によれば、保存されている情報に基づくウィンドウ情報の変更をすることができる。
請求項8に記載の発明によれば、保存されている文書所在情報に基づいて、その文書所在情報によって特定される文書情報の画像を表示させることができる。
以下、本発明の実施形態について図面に基づき詳細に説明する。
図1は、本実施形態に係る情報処理装置10のハードウェア構成を示す図である。
情報処理装置10は、制御部12、記憶部14、ユーザインタフェース(UI)部16を含んで構成される。制御部12、記憶部14、ユーザインタフェース(UI)部16は、バス18を介して接続される。
制御部12はCPU等のプログラム制御デバイスであり、情報処理装置10にインストールされるプログラムに従って動作する。なお、プログラムは、例えば、CD−ROM、DVD−ROMなどのコンピュータ可読な情報伝達媒体に格納することができ、情報伝達媒体を介して、あるいは、インターネットなどの通信ネットワークを介して情報処理装置10に供給される。
制御部12は、本発明に係るプログラムだけではなく、例えば、ワードプロセッサ、Webブラウザ、メーラなどといったいくつかのアプリケーションプログラムなどに従っても動作する。
記憶部14は、RAM等の記憶素子やハードディスクなどである。記憶部14には、制御部12によって実行される、本発明に係るプログラムや、アプリケーションプログラムなどが格納される。また、記憶部14は、制御部12のワークメモリとしても動作する。
UI部16は、液晶タッチパネルや、ディスプレイ、テンキーなどのキーパッド、マウスなどであり、利用者が行った操作の内容を制御部12に出力する。また、このUI部16は、制御部12から入力される指示に従って情報を表示出力する。
次に、情報処理装置10で実現される機能について説明する。情報処理装置10は、機能的には、図2の機能ブロック図に示すように、ウィンドウ情報記憶部20、ウィンドウ画像出力部22、ウィンドウ情報取得部24、取得情報記憶部26、ウィンドウ変化情報関連付け部28、イベント情報通知部30、イベント情報受付部32、ウィンドウ情報変更部34、ウィンドウ情報関連付け部36、追加画像出力部38、情報保存部40、情報復元部42、を含むものとして機能する。
ウィンドウ情報記憶部20は、記憶部14を主として実現される。ウィンドウ情報記憶部20は、図3に示すような、ウィンドウ情報44を複数記憶している。ウィンドウ情報44は、図5に示すような、アプリケーションプログラムに関連付けられるウィンドウ46(第1ウィンドウ46−1や第2ウィンドウ46−2)に対応している。ウィンドウ情報44がどのような情報であるかについては後述する。また、図3や図5の詳細についても後述する。
ウィンドウ画像出力部22は、制御部12を主として実現される。ウィンドウ情報記憶部20に記憶されているウィンドウ情報44に従って、ウィンドウ46を示す画像をディスプレイなどのUI部16に出力させる。それぞれのウィンドウ46は、アプリケーションプログラムと関連付けられている。
ウィンドウ情報取得部24は、制御部12を主として実現される。ウィンドウ情報取得部24は、ウィンドウ情報記憶部20からウィンドウ情報44を取得する。なお、例えば、ウィンドウ情報記憶部20に対する入出力がオペレーティングシステムによって管理されているような場合に、ウィンドウ情報取得部24が、オペレーティングシステムに対するシステムコールを行うことで、オペレーティングシステム経由でウィンドウ情報44を取得するようにしてももちろん構わない。また、ウィンドウ情報取得部24は、予め定められた間隔でウィンドウ情報44を取得するようにしても構わない。
取得情報記憶部26は、記憶部14を主として実現される。取得情報記憶部26は、ウィンドウ情報取得部24が取得したウィンドウ情報44などを記憶する。なお、先述したウィンドウ情報取得部24が、取得情報記憶部26に記憶されている個々のウィンドウ情報44に対応するウィンドウ情報44をウィンドウ情報記憶部20から取得するようにしてもよい。
ウィンドウ変化情報関連付け部28は、制御部12を主として実現される。ウィンドウ変化情報関連付け部28は、ウィンドウ情報取得部24が複数回取得した、ウィンドウ情報44の差分に基づいて、図3に示すような、ウィンドウ情報44の変化を示すウィンドウ変化情報48を生成する。そして、ウィンドウ変化情報関連付け部28は、ウィンドウ変化情報48をウィンドウ情報44に関連付ける。このとき、ウィンドウ変化情報関連付け部28は、ウィンドウ情報取得部24が取得するウィンドウ情報44と、取得情報記憶部26に記憶されているウィンドウ情報44との差分に基づいて、ウィンドウ変化情報48を生成するようにしても構わない。ここで、ウィンドウ変化情報関連付け部28は、生成されたウィンドウ変化情報48をウィンドウ情報44に関連付けて取得情報記憶部26に記憶しても構わない。
図3は、ウィンドウ情報取得部24がウィンドウ情報記憶部20から取得し、取得情報記憶部26に記憶されるウィンドウ情報44、及び、ウィンドウ変化情報48のデータ構造の一例である変化情報テーブル50を示す図である。なお、図3に示す、ウィンドウ情報44、及び、ウィンドウ変化情報48のデータ構造は表構造であるが、ウィンドウ情報44、及び、ウィンドウ変化情報48のデータ構造は表構造にもちろん限られない。
図3に示すように、変化情報テーブル50は、ウィンドウ情報44とウィンドウ変化情報48とを含んでいる。
ウィンドウ情報44は、具体的には、例えば、ウィンドウ識別子(ウィンドウID)52、位置情報54、サイズ情報56などを含んでいる。ウィンドウID52は、ウィンドウ46を識別するための識別子である。ウィンドウ46が生成されるたびに、制御部12によって、異なるウィンドウID52が生成され、そのウィンドウID52が、生成されたウィンドウ46に対して付与される。位置情報54は、ウィンドウ画像出力部22がウィンドウ46を示す画像をディスプレイなどのUI部16に出力させる位置(例えば、ウィンドウ46の左上の座標)を示す情報である。サイズ情報56は、ウィンドウ画像出力部22がウィンドウ46を示す画像をディスプレイなどのUI部16に出力させる際のウィンドウの大きさ(例えば、ウィンドウ46の幅と高さ)を示す情報である。なお、これらのウィンドウ情報44はあくまでも一例であり、例えば、ウィンドウ情報44がウィンドウID52だけを含んでいても構わない。
ウィンドウ変化情報48は、ウィンドウ変化情報関連付け部28によって生成される情報であり、ウィンドウ46に生じた変化に対応する状態を示す情報が示している。具体的には、例えば、ウィンドウ46が利用者に操作可能な状態になったことを示す「Activate」状態、ウィンドウ46が移動中となったことを示す「Move」状態、ウィンドウ46が「Move」の状態から止まったことを示す「Drop」状態、ウィンドウ46の大きさが変化したことを示す「Resize」状態などを示す情報がウィンドウ変化情報48として挙げられる。
なお、本実施形態においては、「Activate」の状態を示す情報は、アクティブフラグ58として、アクティブフラグ58に対応する変化情報テーブル50内の列に表現されている。すなわち、アクティブなウィンドウ46に対応するアクティブフラグ58の値が「1」となっている。一方、「Activate」以外の状態を示す情報は、ウィンドウ変化情報48の値が、ウィンドウ変化情報48に対応する変化情報テーブル50内の列(変化列48a)に示されている。
そして、変化情報テーブル50内の、アクティブフラグ58やウィンドウ変化情報48には、アクティブなウィンドウ46に対して直前に発生した変化が示される。なお、本実施形態のように、ウィンドウ変化情報48のうち、「Activate」の状態を示す情報をアクティブフラグ58によって表現しなくてももちろん構わない。
イベント情報通知部30は、制御部12を主として実現される。イベント情報通知部30は、ウィンドウの状態の変化を示すイベント情報60を通知する。具体的には、例えば、後述するイベント情報受付部32などにイベント情報60を通知する。このイベント情報通知部30は、具体的には、例えば、ウィンドウ46に関連付けられるアプリケーションプログラムを修正することによって実現される。
イベント情報受付部32は、制御部12を主として実現される。イベント情報受付部32は、イベント情報通知部30からイベント情報60を受け付ける。ここで、イベント情報受付部32は、ウィンドウ情報取得部24が取得するウィンドウ情報44の差分に基づいては検出されないウィンドウ46の状態の変化を示すイベント情報60を受け付けてもよい。
図4(a)、及び、図4(b)は、イベント情報受付部32が受け付けるイベント情報60のデータ構造の一例を示す図である。図4(a)に示すように、イベント情報60は、ウィンドウID52と、イベント種類情報62とを含んでいる。ウィンドウID52は、先述したように、ウィンドウ46を識別するための識別子である。そして、このウィンドウID52は、ウィンドウ情報44に含まれるウィンドウID52と対応する。
イベント種類情報62は、イベント情報通知部30から通知されるイベントの種類を示す情報である。イベント種類情報62の値としては、具体的には、例えば、新たなウィンドウ46が画面に表示されることを示す「Execute」、画面に表示されるウィンドウ46が画面に表示されなくなることを示す「Exit」、ウィンドウ46内に文書情報が表示されることを示す「OpenDoc」、ウィンドウ46内に表示されている文書情報が表示されなくなることを示す「CloseDoc」などが挙げられる。もちろん、これらの値以外の値をイベント種類情報62がとってもよい。また、上記以外の情報をイベント情報60が含んでいても構わない。例えば、図4(b)に示すように、イベント情報60は、文書情報のパスやURLを示す文書所在情報64を含んでいてもよい。
例えば、図4(a)に示すイベント情報60は、ウィンドウID52が「W001」のウィンドウ46が新たに画面に表示されることを示しており、図4(b)は、ウィンドウID52が「W001」のウィンドウ46内に「C:\work\paper.txt」で示されるパス(文書所在情報64)によって指定される文書情報が表示されることを示している。このように、イベント情報受付部32は、文書の所在を示す文書所在情報64を含む、ウィンドウ46内に文書情報が表示されることを示すイベント情報を受け付けてもよい。
ウィンドウ情報関連付け部36は、制御部12を主として実現される。ウィンドウ情報関連付け部36は、ウィンドウ情報取得部24が取得する複数のウィンドウ情報44の関係が、予め定められた条件を満たす場合に、これら複数のウィンドウ情報44を関連付ける関連ウィンドウ情報を生成し、これら複数のウィンドウ情報44に関連ウィンドウ情報を関連付ける。また、ウィンドウ情報関連付け部36が、複数のウィンドウ情報44の関連付けの解除もしてもよい。すなわち、ウィンドウ情報関連付け部36が、関連ウィンドウ情報を削除してもよい。
ここで、ウィンドウ情報関連付け部36によって関連付けられたウィンドウ46を示す画像がドッキングされて、ウィンドウ画像出力部22によって、UI部16に表示されるようにしてもよい。具体的には、例えば、図5に示すように、複数の独立したウィンドウ46(第1ウィンドウ46−1及び第2ウィンドウ46−2)を示す画像が、ウィンドウ画像出力部22によってディスプレイなどのUI部16に表示出力されている状況で、これらのウィンドウ46が予め定められた条件を満たす場合には、図6に示すように、ウィンドウ画像出力部22が、これらのウィンドウ46が結合されたドッキングウィンドウ66をディスプレイなどのUI部16に表示出力するようにしてもよい。
図7は、ウィンドウ情報44の関連を示す関連ウィンドウ情報のデータ構造の一例であるウィンドウテーブル68を示す図である。関連ウィンドウ情報は、例えば、取得情報記憶部26に記憶されている。図7に示すように、ウィンドウテーブル68は、ウィンドウID52、位置情報54、サイズ情報56、ドッキングウィンドウ識別子(ドッキングウィンドウID)70、文書所在情報64、文書内位置情報72を含んでいる。
ウィンドウID52、位置情報54、サイズ情報56は、ウィンドウ情報44に含まれるウィンドウID52、位置情報54、サイズ情報56にそれぞれ対応している。ドッキングウィンドウID70は、ウィンドウ情報関連付け部36による関連付け(本実施形態では、ドッキング)が行われる際に、ウィンドウ情報関連付け部36によって、異なるドッキングウィンドウID70が生成される。そして、生成されたドッキングウィンドウID70は、ウィンドウ情報関連付け部36によって関連付けられた複数のウィンドウ46に対して付与される。なお、ドッキングされていないウィンドウ46については、ドッキングウィンドウID70の値は空白となっている。
図7の例では、7つのウィンドウ46が現在UI部16上に表示されており、そのうち、「W003」、及び、「W004」のウィンドウ46がドッキングされており、「W005」、「W006」、及び、「W007」のウィンドウ46もドッキングされている。
なお、イベント情報受付部32が、文書の所在を示す文書所在情報64を含む、ウィンドウ46内に文書情報が表示されることを示すイベント情報60を受け付ける際に、図7に示すように、イベント情報受付部32が受け付けた文書所在情報64を、ウィンドウ情報関連付け部36がウィンドウ情報44と関連付けてもよい。例えば、イベント情報受付部32が、値が「OpenDoc」であるイベント種類情報62と、文書の所在を示す文書所在情報64とを含むイベント情報60を受け付けた際に、ウィンドウ情報関連付け部36が、受け付けたイベント情報60に含まれる文書所在情報64の値を、ウィンドウテーブル68に追加してもよい。
なお、イベント情報受付部32が、値が「CloseDoc」であるイベント種類情報62を含むイベント情報60を受け付けた際に、ウィンドウ情報関連付け部36が、ウィンドウテーブル68内の文書所在情報64を削除するようにしても構わない。
また、イベント情報受付部32が、文書情報がUI部16に表示される位置をスクロール位置やカーソル位置などによって示した文書内位置情報72を含むイベント情報60を受け付ける際に、図7に示すように、イベント情報受付部32が受け付けた文書内位置情報72を、ウィンドウ情報関連付け部36がウィンドウ情報44と関連付けてもよい。すなわち、イベント情報受付部32が受け付けたイベント情報60に含まれる文書内位置情報72の値を、ウィンドウテーブル68に追加してもよい。
図8は、ドッキングウィンドウ情報のデータ構造の一例であるドッキングウィンドウテーブル74を示す図である。ドッキングウィンドウテーブル74は、ドッキングウィンドウID70、位置情報54、サイズ情報56、ドッキング集合情報76を含んでいる。ドッキングウィンドウID70は、ウィンドウテーブル68内のドッキングウィンドウID70に対応している。位置情報54は、ウィンドウ画像出力部22がドッキングウィンドウ66を示す画像をディスプレイなどのUI部16に出力させる位置(例えば、ドッキングウィンドウ66の左上の座標)を示す情報である。サイズ情報56は、ウィンドウ画像出力部22がドッキングウィンドウ66を示す画像をディスプレイなどのUI部16に出力させる際のドッキングウィンドウの大きさ(例えば、ドッキングウィンドウ66の幅と高さ)を示す情報である。ドッキング集合情報76は、ドッキングウィンドウ66を構成するウィンドウ46のウィンドウID52を示している。
図8の例では、現在UI部16に表示されているドッキングウィンドウ66が2つあり、一方は2つのウィンドウ46から、他方は3つのウィンドウ46から構成される。
なお、図7に示す、関連ウィンドウ情報の一例であるウィンドウテーブル68、及び、図8に示す、ドッキングウィンドウ情報の一例であるドッキングウィンドウテーブル74のデータ構造は表構造であるが、関連ウィンドウ情報、及び、ドッキングウィンドウ情報のデータ構造は表構造にもちろん限られない。
また、関連ウィンドウ情報は、取得情報記憶部26やウィンドウ情報記憶部20に記憶されていても構わない。ドッキングウィンドウ情報は、取得情報記憶部26やウィンドウ情報記憶部20に記憶されていても構わない。
ウィンドウ情報変更部34は、制御部12を主として実現される。ウィンドウ情報変更部34は、ウィンドウ変化情報、又は、イベント情報に基づいて、ウィンドウ情報記憶部20に記憶されている少なくとも1つの前記ウィンドウ情報を変更する。このとき、オペレーティングシステムに対するシステムコールを行うことで、オペレーティングシステムにウィンドウ情報記憶部20に記憶されている少なくとも1つの前記ウィンドウ情報を変更させてももちろん構わない。
また、ウィンドウ情報変更部34は、関連ウィンドウ情報によって、ウィンドウ変化情報48に関連付けられるウィンドウ情報44、又は、イベント情報60によって状態の変化を示されるウィンドウ46に対応するウィンドウ情報44と関連付けられるウィンドウ情報44を変更するようにしてもよい。このとき、関連ウィンドウ情報によって関連付けられるウィンドウ情報44のすべてを変更するようにしてもよいし、一部を変更するようにしてもよい。また、このとき、ウィンドウ情報変更部34は、関連ウィンドウ情報によって関連付けられるウィンドウ情報44に関連付けられるアクティブフラグ58などのウィンドウ変化情報48を変更するようにしてもよい。
追加画像出力部38は、制御部12を主として実現される。追加画像出力部38は、ウィンドウ変化情報48、又は、イベント情報60に基づいて、追加画像をディスプレイなどのUI部16に出力させる。追加画像出力部38による処理の詳細については後述する。
情報保存部40は、制御部12を主として実現される。情報保存部40は、記憶部14に記憶されている情報を要求に応じて保存する。具体的には、例えば、取得情報記憶部26に記憶されている関連ウィンドウ情報やドッキングウィンドウ情報を利用者の要求に応じて保存する。例えば、ドッキングウィンドウID70が「D001」であるドッキングウィンドウ66に関する情報を保存する指示を利用者から受け付けた際に、図9に示すように、ウィンドウテーブル68に示されている情報のうち、ドッキングウィンドウID70が「D001」である行を抜き出した保存対象情報78を情報保存部40が保存する。
情報復元部42は、制御部12を主として実現される。情報復元部42は、情報保存部40に保存されている情報を要求に応じて記憶部14に復元する。具体的には、例えば、ドッキングウィンドウID70が「D001」であるドッキングウィンドウ66に関する情報を復元する指示を、例えば、利用者から受け付けた際に、情報復元部42が、図9に示す関連ウィンドウ情報を、取得情報記憶部26に復元する。図9に示すように、文書所在情報64や、スクロール位置やカーソル位置を示す文書内位置情報72を復元しても構わない。また、このとき、ウィンドウ情報変更部34が、情報復元部42によって復元された情報に基づいて、ウィンドウ情報記憶部20に記憶されている少なくとも1つのウィンドウ情報44を変更するようにしてもよい。例えば、ドッキングウィンドウID70が「D001」であるドッキングウィンドウ情報をウィンドウ情報記憶部20に記憶するようにしてもよい。また、このとき、情報復元部42は、ウィンドウ画像出力部22に、ウィンドウ情報記憶部20に記憶されたドッキングウィンドウ情報に基づいて、ドッキングウィンドウ66を示す画像をディスプレイなどのUI部16に表示させるようにしても構わない。
また、情報保存部40が要求に応じて文書所在情報64を保存し、情報復元部42が、情報保存部40が保存した文書所在情報64を復元し、情報復元部42が、ウィンドウ画像出力部22に、取得情報記憶部26に復元された文書所在情報64や、スクロール位置やカーソル位置を示す文書内位置情報72によって特定される文書情報の画像を、UI部16に出力するウィンドウ46の画像内などに表示させるようにしても構わない。
次に、ウィンドウ変化情報48を生成する処理の一具体例について、図10に示すフロー図を参照しながら説明する。
まず、ウィンドウ情報取得部24は、アクティブなウィンドウのウィンドウID52、位置情報54、サイズ情報56を含むウィンドウ情報44をウィンドウ情報記憶部20から取得する(S101)。
そして、変化情報テーブル50内の、取得したウィンドウID52が示されている行を参照する(S102)。なお、このとき該当する行が存在しないときは、処理を終了する。
そして、ウィンドウ変化情報関連付け部28は、S102に示す処理において、参照する行のアクティブフラグ58の値が「1」であるか否かを確認する(S103)。
そして、アクティブフラグ58の値が「1」でない場合は(S103:N)、ウィンドウ変化情報関連付け部28は、値が「Activate」であるウィンドウ変化情報48を生成する(S104)。
一方、アクティブフラグ58の値が「1」である場合は(S103:Y)、ウィンドウ変化情報関連付け部28は、S101に示す処理においてウィンドウ情報記憶部20から取得したウィンドウ情報44に含まれるサイズ情報56の値と、S102に示す処理において取得した変化情報テーブル50内の行のサイズ情報56の値とを比較して、ウィンドウ46のサイズが変更されているか否かを確認する(S105)。
ここで、ウィンドウ46のサイズが変更されている場合は(S105:Y)、ウィンドウ変化情報関連付け部28は、値が「Resize」であるウィンドウ変化情報48を生成する。(S106)。
一方、ウィンドウのサイズが変更されていない場合は(S105:N)、ウィンドウ変化情報関連付け部28は、S101に示す処理においてウィンドウ情報記憶部20から取得したウィンドウ情報44に含まれる位置情報54と、S102に示す処理において取得した変化情報テーブル50内の行の位置情報54の値とを比較して、ウィンドウの位置が変更されているか否かを確認する(S107)。
ここで、ウィンドウの位置が変更されている場合は(S107:Y)、ウィンドウ変化情報関連付け部28は、値が「Move」であるウィンドウ変化情報48を生成する(S108)。
一方、ウィンドウの位置が変更されていない場合は(S107:N)、S102に示す処理において、取得した変化情報テーブル50内の行のウィンドウ変化情報48の値が、「Move」であるか否かを確認する(S109)。
ここで、ウィンドウ変化情報48の値が「Move」である場合は(S109:Y)、ウィンドウ変化情報関連付け部28は、UI部16に含まれるマウスから、マウスが有するボタンの状態を取得する(S110)。そして、マウスが押されている状態であるか否かを確認する(S111)。このとき、マウスが押されていない状態である場合は(S111:N)、ウィンドウ変化情報関連付け部28は、値が「Drop」であるウィンドウ変化情報48を生成する(S112)。マウスが押されている状態である場合は(S111:Y)、処理を終了する。このことからわかるように、値が「Drop」のウィンドウ変化情報48は、値が「Move」のウィンドウ変化情報48が取得情報記憶部26に一旦記憶された後には一度だけ生成されることとなる。このことにより、値が「Move」のウィンドウ変化情報48が取得情報記憶部26に一旦記憶された後には、単にマウスをクリックしただけでは、値が「Drop」のウィンドウ変化情報48は生成されないこととなる。
また、S109に示す処理において、ウィンドウ変化情報48の値が「Move」でない場合は(S109:N)、処理を終了する。
そして、ウィンドウ変化情報関連付け部28は、S104,S106,S108,又はS112に示す処理においてウィンドウ変化情報48が生成された際には、変化情報テーブル50を書き換える(S113)。具体的には、まず、ウィンドウ変化情報関連付け部28は、変化情報テーブル50内の全てのアクティブフラグ58及びウィンドウ変化情報48の値を削除する。そして、「Activate」の状態を示すウィンドウ変化情報48が生成された場合は、ウィンドウ変化情報関連付け部28は、S102に示す処理において取得した変化情報テーブル50内の行のアクティブフラグ58の列に「1」を設定する。また、その他の状態を示すウィンドウ変化情報48が生成された場合は、ウィンドウ変化情報関連付け部28は、S102に示す処理において取得した変化情報テーブル50内の行のウィンドウ変化情報48の列に、生成されたウィンドウ変化情報48の値を設定する。
このように、取得情報記憶部26に記憶されているウィンドウ変化情報48を、ウィンドウ変化情報関連付け部28が生成したウィンドウ変化情報48に置換するようにしても構わない。
次に、イベント情報受付部32が、Executeのイベントを示すイベント情報60を受け付けた際の処理の流れについて、図11に示すフロー図を参照しながら説明する。
まず、ウィンドウ情報変更部34は、イベント情報受付部32が受け付けたイベント情報60に含まれるウィンドウID52がドッキングウィンドウID70であるか否かを確認する(S201)。
受け付けたイベント情報60に含まれるウィンドウID52がドッキングウィンドウID70である場合は(S201:Y)、ウィンドウ情報変更部34は、イベント情報受付部32が受け付けたイベント情報60に含まれるドッキングウィンドウID70に対応するドッキングウィンドウ情報をウィンドウ情報記憶部20から取得する(S202)。
そして、ウィンドウ情報変更部34は、取得情報記憶部26に記憶されているドッキングウィンドウテーブル74に、S202に示す処理で取得したドッキングウィンドウID70、位置情報54、サイズ情報56を追加する(S203)。
そして、ウィンドウ情報取得部24は、ドッキングウィンドウ66を構成するウィンドウ46のウィンドウ情報44をウィンドウ情報記憶部20から取得する(S204)。
そして、ウィンドウ情報変更部34は、取得したウィンドウ情報44を、取得情報記憶部26に記憶されているウィンドウテーブル68に追加して(S205)、処理を終了する。
一方、イベント情報受付部32が受け付けたイベント情報60に含まれるウィンドウID52がドッキングウィンドウ66でない場合は(S201:N)、ウィンドウ情報取得部24は、イベント情報受付部32が受け付けたイベント情報60に含まれるウィンドウID52に対応するウィンドウ情報44をウィンドウ情報記憶部20から取得する(S206)。
そして、ウィンドウ情報変更部34は、取得したウィンドウ情報44を、取得情報記憶部26に記憶されているウィンドウテーブル68に追加して(S207)、処理を終了する。
なお、上述の通り、イベント情報受付部32は、ドッキングウィンドウID70を含むイベント情報60を取得してもよい。
次に、イベント情報受付部32が、Exitのイベントを示すイベント情報60を受け付けた際の処理の流れについて、図12に示すフロー図を参照しながら説明する。
まず、イベント情報受付部32が受け付けたイベント情報60に含まれるウィンドウID52がドッキングウィンドウID70であるか否かを確認する(S301)。
イベント情報受付部32が受け付けたイベント情報60に含まれるウィンドウID52がドッキングウィンドウID70である場合は(S301:Y)、ウィンドウ情報変更部34は、イベント情報受付部32が受け付けたイベント情報60に含まれるドッキングウィンドウID70に対応するドッキングウィンドウ66を構成するウィンドウ46のウィンドウ情報44を、取得情報記憶部26に記憶されているウィンドウテーブル68から削除する(S302)。なお、このとき、ウィンドウ情報記憶部20に記憶されているウィンドウ情報44を併せて削除してもよい。
そして、ウィンドウ情報変更部34は、イベント情報受付部32が受け付けたドッキングウィンドウID70に対応するドッキングウィンドウ情報を、取得情報記憶部26に記憶されているドッキングウィンドウテーブル74から削除して(S303)、処理を終了する。なお、このとき、ウィンドウ情報記憶部20に記憶されているドッキングウィンドウ情報を併せて削除してもよい。
イベント情報受付部32が受け付けたイベント情報60に含まれるウィンドウID52がドッキングウィンドウID70でない場合は(S301:N)、ウィンドウ情報変更部34は、イベント情報受付部32が受け付けたイベント情報60に含まれるウィンドウID52に対応するウィンドウ情報44を、取得情報記憶部26に記憶されているウィンドウテーブル68から削除して(S304)、処理を終了する。このとき、ウィンドウ情報記憶部20に記憶されているウィンドウ情報44を削除してもよい。
次に、ウィンドウ変化情報関連付け部28が、「Activate」という状態を示すウィンドウ変化情報48を生成して、変化情報テーブル50のアクティブフラグ58の値に「1」を設定した際の処理の流れについて、図13に示すフロー図を参照しながら説明する。
まず、ウィンドウ情報変更部34が、取得情報記憶部26に記憶されている変化情報テーブル50を参照し、アクティブフラグ58の値が「1」であるウィンドウID52を取得して、ウィンドウテーブル68を参照してこのウィンドウID52のウィンドウ46がドッキングウィンドウ66を構成しているか否かを確認する(S401)。そして、このウィンドウ46がドッキングウィンドウ66を構成している場合は(S401:Y)、ウィンドウ画像出力部22は、このウィンドウ46にドッキングされているウィンドウ46を示す画像を前面化してUI部16に出力する(S402)。
一方、このウィンドウ46がドッキングウィンドウ66を構成していない場合は(S401:N)、処理を終了する。
次に、ウィンドウ変化情報関連付け部28が、「Move」という状態を示すウィンドウ変化情報を生成した際の処理の流れについて、図14に示すフロー図を参照しながら説明する。
まず、ウィンドウ情報取得部24が、変化情報テーブル50を参照し、ウィンドウ変化情報48の値が「Move」であるウィンドウID52を取得して、このウィンドウID52のウィンドウ46の位置情報54を、ウィンドウ情報記憶部20から取得する(S501)。
そして、ウィンドウ情報変更部34は、取得情報記憶部26に記憶されているウィンドウテーブル68の、S501に示す処理において取得したウィンドウID52に対応する行の、位置情報54の列の値を、S501に示す処理においてウィンドウ情報取得部24がウィンドウ情報記憶部20から取得した位置情報54の値に変更する(S502)。
そして、ウィンドウ情報変更部34は、変化情報テーブル50を参照し、ウィンドウ変化情報48の値が「Move」であるウィンドウID52を取得して、ウィンドウテーブルを参照して、このウィンドウID52のウィンドウ46がドッキングウィンドウ66を構成しているか否かを確認する(S503)。そして、このウィンドウ46がドッキングウィンドウ66を構成している場合は(S503:Y)、ウィンドウ情報変更部34は、ドッキングウィンドウ66を構成している他のウィンドウ46について、ドッキングウィンドウ66を構成するウィンドウ46が連結して表示されるよう、位置情報54を算出し、算出された位置情報54に基づいて、ウィンドウ情報記憶部20に記憶されているウィンドウ情報44に含まれる位置情報54を変更する(S504)。このように、ウィンドウ情報変更部34は、関連ウィンドウ情報によって関連付けられる複数のウィンドウ情報44に対応するウィンドウ46が連結して表示出力されるよう、複数のウィンドウ情報44のうちの少なくとも1つを変更してもよい。このことによって、ウィンドウ画像出力部22は、変更されたウィンドウ情報44に基づいてウィンドウ46を示す画像をUI部16に出力する。
そして、ウィンドウ情報変更部34は、算出された位置情報54に基づいて、取得情報記憶部26に記憶されているウィンドウテーブル68内の位置情報54を変更する(S505)。
このように、ウィンドウ情報変更部34が、関連ウィンドウ情報によって関連付けられる複数のウィンドウ情報44に対応するウィンドウ46が連結して画面に表示されるよう、複数のウィンドウ情報44のうちの少なくとも1つを変更するようにしてもよい。
S503に示す処理において、ウィンドウ変化情報48の値が「Move」であるウィンドウID52のウィンドウ46がドッキングウィンドウ66を構成していない場合は(S503:N)、ウィンドウ情報関連付け部36は、関連付けの対象となるウィンドウ46を探す(S506)。また、S505に示す処理が終了した場合も、ウィンドウ情報関連付け部36は、関連付けの対象となるウィンドウ46を探す(S506)。S506に示す処理の詳細は後述する。
そして、S506に示す処理において関連付けの対象となるウィンドウ46が検出された場合は(S506:Y)、追加画像出力部38が、図5に示すのりしろ画像80をUI部16に表示する(S507)。一方、関連付けの対象となるウィンドウ46が検出されなかった場合は(S506:N)、追加画像出力部38が、追加画像をUI部16に表示している際には、のりしろ画像80を画面上に表示しないようにする(S508)。なお、図5に表示されているのりしろ画像80の詳細については後述する。
次に、ウィンドウ変化情報関連付け部28が、Dropという状態を示すウィンドウ変化情報を生成した際の処理の流れについて、図15に示すフロー図を参照しながら説明する。
まず、ウィンドウ情報取得部24が、変化情報テーブル50を参照し、ウィンドウ変化情報48の値が「Drop」であるウィンドウID52を取得して、このウィンドウID52のウィンドウ46の位置情報54とサイズ情報56とを、ウィンドウ情報記憶部20から取得する(S601)。
そして、ウィンドウ情報関連付け部36が、関連付けの対象となるウィンドウ46を探す(S602)。S602に示す処理の詳細については後述する。
ここで、関連付けの対象となるウィンドウ46が検出されない場合は(S602:N)、処理を終了する。関連付けの対象となるウィンドウ46が検出された場合は(S602:Y)、ウィンドウ情報関連付け部36が、ウィンドウ変化情報48の値が「Drop」であるウィンドウID52に対応するウィンドウ46と、S602の処理において検出されたウィンドウ46とを、ドッキングする(S603)。このとき、ウィンドウ情報変更部34が、ウィンドウ情報記憶部20に記憶されているウィンドウ情報44やドッキングウィンドウ情報を変更してもよい。ドッキング処理の詳細については後述する。
そして、ウィンドウ情報関連付け部36が、新たなドッキングウィンドウID70を生成し、ウィンドウテーブル68内の、ウィンドウ変化情報48の値が「Drop」であるウィンドウID52のウィンドウ46と、S602の処理において検出されたウィンドウ46それぞれについて、取得情報記憶部26に記憶されているウィンドウテーブル68内のドッキングウィンドウID70を変更し、ウィンドウ情報変更部34が、ドッキングウィンドウID70を変更したウィンドウ46の位置情報54、及び、サイズ情報56を変更する(S604)。
そして、ウィンドウ情報関連付け部36は、ドッキングされる各ウィンドウ46のウィンドウ情報44に基づいて、ドッキングウィンドウID70、ドッキングウィンドウ66の位置情報54、ドッキングウィンドウ66のサイズ情報56、ドッキング集合情報76を含むドッキングウィンドウ情報を生成して、ドッキングウィンドウテーブル74を変更する(S605)。このときのドッキングウィンドウID70も、ウィンドウ情報関連付け部36が生成した値となる。
次に、ウィンドウ変化情報関連付け部28が、Resizeという状態を示すウィンドウ変化情報を生成した際の処理の流れについて、図16に示すフロー図を参照しながら説明する。
まず、ウィンドウ情報取得部24が、変化情報テーブル50を参照し、ウィンドウ変化情報48の値が「Resize」であるウィンドウID52を取得して、このウィンドウID52のウィンドウ46のサイズ情報56を、ウィンドウ情報記憶部20から取得する(S701)。
そして、ウィンドウ情報変更部34は、ウィンドウ情報記憶部20から取得したウィンドウ情報44に基づいて、取得情報記憶部26に記憶されているウィンドウテーブル68のサイズ情報56を変更する(S702)。
そして、ウィンドウ情報変更部34は、変化情報テーブル50を参照し、ウィンドウ変化情報48の値が「Resize」であるウィンドウID52を取得して、ウィンドウテーブル68を参照して、このウィンドウID52のウィンドウ46がドッキングウィンドウ66を構成しているか否かを確認する(S703)。そして、このウィンドウ46がドッキングウィンドウ66を構成している場合は(S703:Y)、ウィンドウ情報変更部34は、ドッキングウィンドウ66を構成している他のウィンドウ46について、ウィンドウテーブル68に基づいて、ドッキングウィンドウ66を構成するウィンドウ46が連動してサイズ変更されるよう、位置情報54及びサイズ情報56を算出する。そして、ウィンドウ情報変更部34は、算出された位置情報54に基づいて、ウィンドウ情報記憶部20に記憶されているウィンドウ情報44に含まれる位置情報54及びサイズ情報56を変更する(S704)。このことによって、ウィンドウ画像出力部22は、変更されたウィンドウ情報44に基づいてウィンドウ46を示す画像をUI部16に出力する。
そして、ウィンドウ情報変更部34は、取得情報記憶部26に記憶されているウィンドウテーブル68内の、位置情報54及びサイズ情報56の値も変更する(S705)。
また、ウィンドウ情報変更部34は、取得情報記憶部26に記憶されているドッキングウィンドウテーブル74内の、位置情報54及びサイズ情報56の値も変更する(S706)。
S703に示す処理において、ウィンドウ変化情報48の値が「Resize」であるウィンドウID52のウィンドウ46がドッキングウィンドウ66を構成していない場合は(S703:N)、処理を終了する。
次に、関連付けの対象となるウィンドウ46を検出する一連の処理について説明する。
ここでは、UI部16に表示出力されているウィンドウ46の各辺について、図17に示すように、上辺を「Top」、下辺を「Bottom」、左辺を「Left」、右辺を「Right」と呼ぶこととする。
図5に示すように、本実施形態では、第1ウィンドウ46−1と第2ウィンドウ46−2が、ディスプレイ等のUI部16上に表示されていることとする。
そして、この場合、第1ウィンドウ46−1と第2ウィンドウ46−2との対応する辺がドッキングされる候補となる。具体的には、例えば、第1ウィンドウ46−1の「Right」と、第2ウィンドウ46−2の「Left」、第1ウィンドウ46−1の「Left」と第2ウィンドウ46−2の「Right」、第1ウィンドウ46−1の「Top」と第2ウィンドウ46−2の「Bottom」、第1ウィンドウ46−1の「Bottom」と第2ウィンドウ46−2の「Top」とがドッキングされる候補となる。
そして、第1ウィンドウ46−1と第2ウィンドウ46−2との対応する辺間の距離が、ある一定の閾値より小さい第2ウィンドウ46−2を、第1ウィンドウ46−1の関連付け対象ウィンドウ46と呼ぶ。
ここで、第1ウィンドウ46−1の関連付け対象ウィンドウ46を探す処理(S506及びS602)の流れの一例を、図18に示すフロー図を参照しながら説明する。
まず、ウィンドウ情報関連付け部36は、ドッキングウィンドウテーブル74を参照して、ドッキングウィンドウ66のうちから第1ウィンドウ46−1と第2ウィンドウ46−2との対応する辺間の距離が、所定の閾値より小さい第2ウィンドウ46−2を探す。そして、このとき、上記の第2ウィンドウ46−2が見つかった場合は(S801:Y)、ウィンドウ情報関連付け部36は、そのウィンドウ46を関連付け対象ウィンドウ46とする(S802)。一方、第1ウィンドウ46−1の関連付け対象ウィンドウ46が見つからなかった場合は(S801:N)、ウィンドウ情報関連付け部36は、ウィンドウテーブル68を参照して、ドッキングされていないウィンドウ46のうちから、第1ウィンドウ46−1と第2ウィンドウ46−2との対応する辺間の距離が、所定の閾値より小さい第2ウィンドウ46−2を探す(S803)。このとき、上記の第2ウィンドウ46−2が見つかった場合は(S803:Y)、ウィンドウ情報関連付け部36は、そのウィンドウ46を関連付け対象ウィンドウ46とする(S804)。このようにして、ウィンドウ情報関連付け部36は、ドッキングウィンドウ66またはドッキングされていない単独のウィンドウ46に対して、第1ウィンドウ46−1の関連付け対象ウィンドウ46を探す。
次に、ウィンドウ46をドッキングする処理(S603)について説明する。上述の通り、本実施形態では、ウィンドウ情報44が関連付けられたウィンドウ46は、ドッキングされることとなる。
ドッキング処理は、第1ウィンドウ46−1のどの辺がドッキング対象となるかによって、以下のように処理の内容が異なる。
第1ウィンドウ46−1のドッキング対象となる辺が「Left」である場合は、第1ウィンドウ46−1の高さを第2ウィンドウ46−2の高さと同じにし、第2ウィンドウ46−2の左に第1ウィンドウ46−1が連結されるよう、ウィンドウ情報変更部34は、ウィンドウ情報記憶部20に記憶されているウィンドウ情報44に含まれる位置情報54及びサイズ情報56を変更する。
第1ウィンドウ46−1のドッキング対象となる辺が「Right」である場合は、第1ウィンドウ46−1の高さを第2ウィンドウ46−2の高さと同じにし、第2ウィンドウ46−2の右に第1ウィンドウ46−1が連結されるよう、ウィンドウ情報変更部34は、ウィンドウ情報記憶部20に記憶されているウィンドウ情報44に含まれる位置情報54及びサイズ情報56を変更する。
第1ウィンドウ46−1のドッキング対象となる辺が「Top」である場合は、第1ウィンドウ46−1の幅を第2ウィンドウ46−2の幅と同じにし、第2ウィンドウ46−2の下に第1ウィンドウ46−1が連結されるよう、ウィンドウ情報変更部34は、ウィンドウ情報記憶部20に記憶されているウィンドウ情報44に含まれる位置情報54及びサイズ情報56を変更する。
第1ウィンドウ46−1のドッキング対象となる辺が「Bottom」である場合は、第1ウィンドウ46−1の幅を第2ウィンドウ46−2の幅と同じにし、第2ウィンドウ46−2の上に第1ウィンドウ46−1が連結されるよう、ウィンドウ情報変更部34は、ウィンドウ情報記憶部20に記憶されているウィンドウ情報44に含まれる位置情報54及びサイズ情報56を変更する。
そして、ウィンドウ画像出力部22は、変更されたウィンドウ情報44に基づいて、第1ウィンドウ46−1を示す画像をUI部16に出力する。このとき、ウィンドウ画像出力部22は、変更後のウィンドウ情報44と変更前のウィンドウ情報44とに基づいて、ウィンドウが移動しているようなアニメーションとして、UI部16は第1ウィンドウ46−1を示す画像を出力してもよい。
もちろん、上記の場合において、第2ウィンドウ46−2が第1ウィンドウ46−1と連結されるよう、ウィンドウ情報変更部34が、ウィンドウ情報記憶部20に記憶されているウィンドウ情報44に含まれる位置情報54及びサイズ情報56を変更するようにしてもよい。
このように、ウィンドウ情報関連付け部36が、ウィンドウ情報取得部24が取得する複数のウィンドウ情報44に含まれる位置情報54が示す位置間の長さが、予め定められた長さの条件を満たす(例えば、予め定められた長さ以下、又は、予め定められた長さより短い)場合に、これらの複数のウィンドウ情報44を関連付けるようにしてもよい。
なお、本発明は上記実施形態に限定されるものではない。
例えば、ウィンドウ変化情報関連付け部28によってウィンドウ変化情報48が生成される対象となるウィンドウ46の状態の変化と、イベント情報受付部32が受け付けることによって検出される対象となるウィンドウ46の状態の変化との分担を、予め定めた基準に従って決定するようにしてもよい。具体的には、例えば、個別のウィンドウ情報44の比較により検出ができるウィンドウ46の状態の変化は、ウィンドウ変化情報関連付け部28によるウィンドウ変化情報48の生成対象とし、個別のウィンドウ情報44の比較によっては検出ができないウィンドウ46の状態の変化は、イベント情報受付部32の受付対象とするなどのようにしてもよい。
また、情報処理装置10は、ウィンドウ情報関連付け部36や、追加画像出力部38を備えない構成であってもよい。また、情報保存部40や、情報復元部42を備えない構成であってもよい。
また、ウィンドウ情報記憶部20や、ウィンドウ画像出力部22や、取得情報記憶部26や、イベント情報通知部30を情報処理装置10外の別のコンピュータに設け、情報処理装置10と通信部を介して通信する構成とした、分散型情報処理システムに本発明を適用してもよい。
また、情報処理装置10は、一つの筐体により構成されていても、複数の筐体により構成されていてもよい。
また、情報処理装置10の役割のうちのいくつかを、オペレーションシステムの機能を利用して実現するようにしてもよい。
なお、本明細書及び図面中の具体的な数値はあくまでも例示であり、これらの数値に限定されない。
本発明の一実施形態に係る情報処理装置のハードウェア構成の一例を示す図である。 本発明の一実施形態に係る情報処理装置の機能ブロックの一例を示す図である。 変化情報テーブルの一例を示す図である。 イベント情報の一例を示す図である。 ウィンドウ表示画面がディスプレイに表示された情報処理装置の一例を示す図である。 ウィンドウ表示画面がディスプレイに表示された情報処理装置の一例を示す図である。 ウィンドウテーブルの一例を示す図である。 ドッキングウィンドウテーブルの一例を示す図である。 保存対象情報の一例を示す図である。 情報処理装置で行われる処理のフローの一例を示す図である。 情報処理装置で行われる処理のフローの一例を示す図である。 情報処理装置で行われる処理のフローの一例を示す図である。 情報処理装置で行われる処理のフローの一例を示す図である。 情報処理装置で行われる処理のフローの一例を示す図である。 情報処理装置で行われる処理のフローの一例を示す図である。 情報処理装置で行われる処理のフローの一例を示す図である。 ウィンドウの各辺の名称の一例を説明する説明図である。 情報処理装置で行われる処理のフローの一例を示す図である。
符号の説明
10 情報処理装置、12 制御部、14 記憶部、16 ユーザインタフェース(UI)部、18 バス、20 ウィンドウ情報記憶部、22 ウィンドウ画像出力部、24 ウィンドウ情報取得部、26 取得情報記憶部、28 ウィンドウ変化情報関連付け部、30 イベント情報通知部、32 イベント情報受付部、34 ウィンドウ情報変更部、36 ウィンドウ情報関連付け部、38 追加画像出力部、40 情報保存部、42 情報復元部、44 ウィンドウ情報、46 ウィンドウ、48 ウィンドウ変化情報、48a 変化列、50 変化情報テーブル、52 ウィンドウ識別子(ウィンドウID)、54 位置情報、56 サイズ情報、58 アクティブフラグ、60 イベント情報、62 イベント種類情報、64 文書所在情報、66 ドッキングウィンドウ、68 ウィンドウテーブル、70 ドッキングウィンドウ識別子(ドッキングウィンドウID)、72 文書内位置情報、74 ドッキングウィンドウテーブル、76 ドッキング集合情報、78 保存対象情報、80 のりしろ画像。

Claims (9)

  1. アプリケーションプログラムに関連付けられるウィンドウに対応するウィンドウ情報を複数記憶するウィンドウ情報記憶手段から、前記ウィンドウ情報を取得するウィンドウ情報取得手段と、
    前記ウィンドウ情報取得手段が複数回取得した、前記ウィンドウ情報の差分に基づいて、前記ウィンドウ情報の変化を示すウィンドウ変化情報を生成し、該ウィンドウ変化情報を前記ウィンドウ情報に関連付けるウィンドウ変化情報関連付け手段と、
    前記ウィンドウの状態の変化を示すイベント情報を通知するイベント情報通知手段から、前記イベント情報を受け付けるイベント情報受付手段と、
    前記ウィンドウ変化情報、又は、前記イベント情報に基づいて、前記ウィンドウ情報記憶手段に記憶されている少なくとも1つの前記ウィンドウ情報を変更するウィンドウ情報変更手段と、
    を含むことを特徴とする情報処理装置。
  2. 前記イベント情報受付手段は、前記ウィンドウ情報取得手段が取得する前記ウィンドウ情報の差分に基づいては検出されない前記ウィンドウの状態の変化を示すイベント情報を受け付ける、
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記ウィンドウ情報取得手段が取得する前記ウィンドウ情報を記憶する取得情報記憶手段をさらに含み、
    前記ウィンドウ変化情報関連付け手段が、前記ウィンドウ情報取得手段が取得する前記ウィンドウ情報と、前記取得情報記憶手段に記憶されている前記ウィンドウ情報との差分に基づいて、前記ウィンドウ変化情報を生成し、該ウィンドウ変化情報を前記ウィンドウ情報に関連付ける、
    ことを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記ウィンドウ情報取得手段は、前記取得情報記憶手段に記憶されている個々のウィンドウ情報に対応するウィンドウ情報を前記ウィンドウ情報記憶手段から取得する、
    ことを特徴とする請求項3に記載の情報処理装置。
  5. 前記ウィンドウ情報取得手段が取得する複数のウィンドウ情報の関係が、予め定められた条件を満たす場合に、該複数のウィンドウ情報を関連付ける関連ウィンドウ情報を生成し、該複数のウィンドウ情報に前記関連ウィンドウ情報を関連付けるウィンドウ情報関連付け手段をさらに含み、
    前記ウィンドウ情報変更手段が、前記関連ウィンドウ情報によって、前記ウィンドウ変化情報に関連付けられるウィンドウ情報、又は、前記イベント情報によって状態の変化を示される前記ウィンドウに対応するウィンドウ情報と関連付けられる前記ウィンドウ情報を変更する、
    ことを特徴とする請求項1乃至4に記載の情報処理装置。
  6. 前記ウィンドウ情報変更手段が、前記関連ウィンドウ情報によって関連付けられる前記複数のウィンドウ情報に対応するウィンドウが連結して表示出力されるよう、前記複数のウィンドウ情報のうちの少なくとも1つを変更する、
    ことを特徴とする請求項5に記載の情報処理装置。
  7. 記憶部に記憶されている情報を要求に応じて保存する情報保存手段と、
    前記情報保存手段に保存されている情報を要求に応じて前記記憶部に復元する情報復元手段と、をさらに含み、
    前記ウィンドウ情報変更手段が、前記情報復元手段によって復元された情報に基づいて、前記ウィンドウ情報記憶手段に記憶されている少なくとも1つの前記ウィンドウ情報を変更する、
    ことを特徴とする請求項1乃至6に記載の情報処理装置。
  8. 前記イベント情報受付手段が、文書情報の所在を示す文書所在情報を含む、前記ウィンドウ内に前記文書情報が表示されることを示す前記イベント情報を受け付け、
    前記記憶部が前記文書所在情報を記憶し、
    前記情報保存手段が、要求に応じて前記文書所在情報を保存し、
    前記情報復元手段が、要求に応じて前記文書所在情報を前記記憶部に復元し、復元された前記文書所在情報によって特定される文書情報の画像を表示させる、
    ことを特徴とする請求項7に記載の情報処理装置。
  9. アプリケーションプログラムに関連付けられるウィンドウに対応するウィンドウ情報を複数記憶するウィンドウ情報記憶手段から、前記ウィンドウ情報を取得するウィンドウ情報取得手段、
    前記ウィンドウ情報取得手段が複数回取得した、前記ウィンドウ情報の差分に基づいて、前記ウィンドウ情報の変化を示すウィンドウ変化情報を生成し、該ウィンドウ変化情報を前記ウィンドウ情報に関連付けるウィンドウ変化情報関連付け手段、
    前記ウィンドウの状態の変化を示すイベント情報を通知するイベント情報通知手段から、前記イベント情報を受け付けるイベント情報受付手段、
    前記ウィンドウ変化情報、又は、前記イベント情報に基づいて、前記ウィンドウ情報記憶手段に記憶されている少なくとも1つの前記ウィンドウ情報を変更するウィンドウ情報変更手段、
    としてコンピュータを機能させることを特徴とするプログラム。
JP2008034870A 2008-02-15 2008-02-15 情報処理装置及びプログラム Expired - Fee Related JP5104379B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008034870A JP5104379B2 (ja) 2008-02-15 2008-02-15 情報処理装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008034870A JP5104379B2 (ja) 2008-02-15 2008-02-15 情報処理装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2009193451A true JP2009193451A (ja) 2009-08-27
JP5104379B2 JP5104379B2 (ja) 2012-12-19

Family

ID=41075388

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008034870A Expired - Fee Related JP5104379B2 (ja) 2008-02-15 2008-02-15 情報処理装置及びプログラム

Country Status (1)

Country Link
JP (1) JP5104379B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015102567A (ja) * 2013-11-21 2015-06-04 三菱電機株式会社 マルチビジョン用表示制御装置およびマルチビジョンシステム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09274553A (ja) * 1996-04-04 1997-10-21 Toshiba Corp ウィンドウ表示制御装置及びウィンドウ表示制御方法
JPH1020928A (ja) * 1996-07-04 1998-01-23 Mitsubishi Electric Corp マルチウィンドウ表示装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09274553A (ja) * 1996-04-04 1997-10-21 Toshiba Corp ウィンドウ表示制御装置及びウィンドウ表示制御方法
JPH1020928A (ja) * 1996-07-04 1998-01-23 Mitsubishi Electric Corp マルチウィンドウ表示装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015102567A (ja) * 2013-11-21 2015-06-04 三菱電機株式会社 マルチビジョン用表示制御装置およびマルチビジョンシステム
US10078484B2 (en) 2013-11-21 2018-09-18 Mitsubishi Electric Corporation Multivision display control device and multivision system

Also Published As

Publication number Publication date
JP5104379B2 (ja) 2012-12-19

Similar Documents

Publication Publication Date Title
JP5704825B2 (ja) 情報処理装置およびその制御方法およびプログラム
US10108330B2 (en) Automatic highlighting of formula parameters for limited display devices
JP5664147B2 (ja) 情報処理装置、情報処理方法、及びプログラム
US20120086662A1 (en) Electronic device, gesture processing method and gesture processing program
EP2909706A1 (en) Thumbnail and document map based navigation in a document
US9733667B2 (en) Information processing device, information processing method and recording medium
US20110227844A1 (en) Method and apparatus for inputting character in portable terminal
KR20140112296A (ko) 다중 터치에 대응하는 기능을 처리하기 위한 방법 및 그 전자 장치
TWI539366B (zh) 資訊管理裝置和方法
US20150160907A1 (en) Information processing method and electronic device
CN103019577A (zh) 选择对象的方法及装置、控制方法和控制装置
EP2487572A1 (en) Systems and methods for screen data management
JP2010026976A (ja) コンテンツ表示方法、およびコンテンツ表示プログラム
JPWO2011093230A1 (ja) 携帯情報端末及びそのキー配置変更方法
JP2014119872A (ja) 情報処理装置、情報処理装置の制御方法およびコンピュータプログラム
JP5104379B2 (ja) 情報処理装置及びプログラム
CN108292187A (zh) 上下文命令栏
EP2557491A2 (en) Hand-held devices and methods of inputting data
CN103106023B (zh) 用于控制便携式终端中的显示尺寸的装置和方法
JP7013794B2 (ja) 情報処理装置及びプログラム
CN105718427B (zh) 一种信息处理方法及电子设备
JP2010231810A (ja) 画面上におけるコンテンツのハンドリングおよびスクロール
JP2008299566A (ja) 文書表示制御装置、文書表示制御プログラム及び記録媒体
JP2018132880A (ja) 情報処理装置、情報処理方法及びプログラム
JP2017151896A (ja) 表示を制御する方法、装置、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090825

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110617

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111018

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111214

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120904

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120917

R150 Certificate of patent or registration of utility model

Ref document number: 5104379

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151012

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees