図1は、複合機1と端末装置5Aおよびサーバ5Bとの接続の例を示す図である。図2は、複合機1のハードウェア構成の例を示す図である。図3は、MFPユニット2のハードウェア構成の例を示す図である。図4は、サーバユニット3のハードウェア構成の例を示す図である。図5は、MFPユニット2およびサーバユニット3それぞれの機能的構成の例を示す図である。
図1に示す複合機1は、様々な機能を集約した装置であって、一般に「画像形成装置」または「MFP(Multi Function Peripherals)」と呼ばれることがある。
複合機1は、通信回線5Cを介して端末装置5Aおよびサーバ5Bなどと通信する。通信回線5Cとして、インターネット、LAN(Local Area Network)回線、または公衆回線などが用いられる。
複合機1は、図2に示すように、MFPユニット2、サーバユニット3、およびタッチパネルディスプレイ4などによって構成される。
MFPユニット2は、コピー、ファックス、スキャン、およびボックスなどの機能を有する。
ボックス機能は、ユーザごとに「ボックス」または「パーソナルボックス」などと呼ばれる記憶領域を与えておき、各ユーザが自分の記憶領域によって画像データなどを保存し管理するための機能である。ボックスは、パーソナルコンピュータにおける「フォルダ」または「ディレクトリ」に相当する。
サーバユニット3は、サーバ機またはパーソナルコンピュータに相当する装置であって、ウェブサーバまたはFTP(File Transfer Protocol)サーバなどの機能を有する。
サーバユニット3として、組込みコンピュータ(例えば、組込みLinux(登録商標)または組込みWindowsなど)が用いられる。組込みコンピュータは、「組込みコンピュータシステム」または「ビルトインサーバ」などと呼ばれることもある。
タッチパネルディスプレイ4は、MFPユニット2およびサーバユニット3それぞれの画面を表示する。また、タッチパネルのタッチ面のタッチされた位置の座標を示すデータ(以下、「座標データ」と記載する。)をサーバユニット3へ送信する。
サーバユニット3は、MFPユニット2の筐体に内蔵されている。タッチパネルディスプレイ4は、MFPユニット2の上部に設けられている。このように、MFPユニット2、サーバユニット3、およびタッチパネルディスプレイ4は、一体的に構成されている。
MFPユニット2、サーバユニット3、およびタッチパネルディスプレイ4は、電源を共用している。しかし、MFPユニット2のオペレーティングシステムおよびサーバユニット3のオペレーティングシステムは、互いに独立して動作する。
MFPユニット2およびサーバユニット3それぞれの機能によって基本的なサービスがユーザへ提供される。さらに、これらの機能を組み合わせることによって、応用的なサービスがユーザへ提供される。
画面をタッチパネルディスプレイ4に表示させる処理は、サーバユニット3が行う。つまり、サーバユニット3を操作するための画面だけでなくMFPユニット2を操作するための画面も、タッチパネルディスプレイ4をサーバユニット3が制御することによって表示される。
さらに、座標データも、MFPユニット2のためのものであってもサーバユニット3のためのものであっても、サーバユニット3を介してタッチパネルディスプレイ4からMFPユニット2へ送信される。そして、座標データは、MFPユニット2のためのものであれば、サーバユニット3からMFPユニット2へ転送される。
端末装置5Aは、複合機1のサービスをユーザが受けるためのクライアントである。端末装置5Aとして、パーソナルコンピュータ、タブレットコンピュータ、またはスマートフォンなどが用いられる。
サーバ5Bは、ファイルを保存し、複合機1からの要求に応じて適宜、保存しているファイルを提供する。サーバ5Bとして、ファイルサーバまたはクラウドサーバなどが用いられる。
MFPユニット2は、図3に示すように、CPU(Central Processing Unit)20a、RAM(Random Access Memory)20b、ROM(Read Only Memory)20c、補助記憶装置20d、NIC(Network Interface Card)20e、モデム20f、スキャンユニット20g、プリントユニット20h、およびフィニッシャ20iなどによって構成される。
NIC20eは、サーバユニット3のハブ30f(図4参照)にケーブルで繋がれており、TCP/IP(Transmission Control Protocol/Internet Protocol)などのプロトコルでサーバユニット3と通信する。さらに、ハブ30fを介して複合機1の外部の装置、例えば端末装置5Aまたはサーバ5Bなどと通信することができる。
モデム20fは、ファックス端末との間でG3などのプロトコルで画像データをやり取りする。
スキャンユニット20gは、プラテンガラスの上にセットされた用紙に記されている画像を読み取って画像データを生成する。
プリントユニット20hは、スキャンユニット20gによって読み取られた画像のほか、複合機1の外部の装置またはサーバユニット3から受信した画像データに示される画像を用紙に印刷する。
フィニッシャ20iは、プリントユニット20hによって得られた印刷物に対して、必要に応じて後処理を施す。後処理は、ステープルで綴じる処理、パンチ穴を開ける処理、または折り曲げる処理などである。
CPU20aは、MFPユニット2のメインCPUである。RAM20bは、MFPユニット2のメインメモリである。RAM20bとして、DDR−SDRAM(Double Data Rate Secure Digital Synchronous Dynamic Random Access Memory)のようなSDRAMが用いられる。後述するRAM30b(図4参照)も、同様である。
ROM20cまたは補助記憶装置20dには、オペレーティングシステムのほか、上述のコピーなどの機能を実現したりサービスを提供したりするためのアプリケーションが記憶されている。さらに、第一の連携プログラム20P(図5参照)が記憶されている。第一の連携プログラム20Pは、サーバユニット3の画面とともにMFPユニット2の画面をディスプレイモジュール4Aに表示するためのプログラムである。
これらのプログラムは、RAM20bにロードされ、CPU20aによって実行される。補助記憶装置20dとして、ハードディスクまたはSSD(Solid State Drive)などが用いられる。
サーバユニット3は、図4に示すように、CPU30a、RAM30b、ROM30c、補助記憶装置30d、NIC30e、ハブ30f、ビデオボード30g、およびホストアダプタ30hなどによって構成される。
NIC30eは、ハブ30fにケーブルで繋がれており、ハブ30fを介してTCP/IPなどのプロトコルでMFPユニット2のほか、複合機1の外部の装置と通信する。
ハブ30fには、上述の通り、NIC30eおよびMFPユニット2のNIC20eがケーブルで繋がれている。さらに、ルータにケーブルで繋がれている。そして、ハブ30fは、これらの機器の間でやり取りされるデータを中継する。
ビデオボード30gは、タッチパネルディスプレイ4のディスプレイモジュール4A(図2参照)とケーブルで繋がれており、画面を表示するための映像信号を生成しディスプレイモジュール4Aへ送信する。ビデオボード30gは、「グラフィックボード」または「ビデオカード」などと呼ばれることもある。ビデオボード30gおよびディスプレイモジュール4Aのインタフェースの規格として、HDMI(High-Definition Multimedia Interface)(登録商標)またはD−SUB(D-Subminiature)などが用いられる。
ホストアダプタ30hは、タッチパネルディスプレイ4のタッチパネルモジュール4Bとケーブルで繋がれており、座標データをタッチパネルモジュール4Bから受信する。ホストアダプタ30hとタッチパネルモジュール4Bとのインタフェースの規格として、USB(Universal Serial Bus)またはIEEE(Institute of Electrical and Electronics Engineers)1394などが用いられる。
CPU30aは、サーバユニット3のメインCPUである。RAM30bは、サーバユニット3のメインメモリである。
ROM30cまたは補助記憶装置30dには、オペレーティングシステムのほか、上述の機能を実現しまたはサービスを提供するためのアプリケーションなどのプログラムが記憶されている。さらに、第二の連携プログラム30P(図5参照)が記憶されている。第二の連携プログラム30Pは、MFPユニット2の画面とともにサーバユニット3の画面をディスプレイモジュール4Aに表示するためのプログラムである。
これらのプログラムは、RAM30bにロードされ、CPU30aによって実行される。補助記憶装置30dとして、ハードディスクまたはSSDなどが用いられる。
タッチパネルディスプレイ4は、図2に示すように、ディスプレイモジュール4Aおよびタッチパネルモジュール4Bなどによって構成される。
ディスプレイモジュール4Aは、サーバユニット3から送信されてきた映像信号に基づいて画面を表示する。ディスプレイモジュール4Aとして、有機EL(Electro Luminescence)ディスプレイまたは液晶ディスプレイなどのフラットパネルディスプレイが用いられる。
タッチパネルモジュール4Bは、タッチ面がタッチされたことを検知するごとに、タッチされた位置の座標を示す座標データをサーバユニット3へ送信する。
次に、第一の連携プログラム20PによってMFPユニット2に実現される機能および第二の連携プログラム30Pによってサーバユニット3に実現される機能を、図5などを参照しながら説明する。
第一の連携プログラム20Pによると、図5に示す画面構成データ記憶部201、画面描画部202、画面構成データ送信部203、およびジョブ判別部204などがMFPユニット2に実現される。
第二の連携プログラム30Pによると、図5に示す画面構成データ記憶部301、画面描画部302、画面連結部303、対応関係記憶部321、共通アイコン検出部322、操作領域拡張部323、拡張結果通知部324、操作応対部325、およびジョブ判別部326などがサーバユニット3に実現される。
以下、MFPユニット2の各部およびサーバユニット3の各部の処理を、ディスプレイモジュール4Aに画面を表示するための処理およびタッチパネルモジュール4Bへのタッチに応答するための処理に大別して説明する。
〔ディスプレイモジュール4Aに画面を表示するための処理〕
図6は、デスクトップ画面7A1の例を示す図である。図7は、画面構成データ6A1の例を示す図である。図8は、デスクトップ画面7D1の例を示す図である。図9は、画面構成データ6D1の例を示す図である。図10は、連結画面7H1の例を示す図である。
MFPユニット2の画面構成データ記憶部201には、ユーザがMFPユニット2を操作するための画面であるMFP画面7Aごとに、MFP画面7Aを構成するオブジェクトごとの配置などを示す画面構成データ6Aが予め記憶されている。さらに、オブジェクトごとの画像データ6Cが予め記憶されている。なお、MFP画面7Aのサイズは予め決められており、タッチパネルモジュール4Bを左右に2等分したサイズである。後述するサーバ画面7Dのサイズも、同様である。
例えば、図6のようなデスクトップ画面7A1の画面構成データ6Aとして、図7のような画面構成データ6A1が画面構成データ記憶部201に記憶されている。デスクトップ画面7A1は、MFPユニット2のオペレーティングシステムのデスクトップのMFP画面7Aである。デスクトップ画面7A1には、オブジェクトとして4つのアイコン7A11〜7A14が配置されている。
アイコン7A11は、ある書類を再現するための書類ファイルのアイコンである。アイコン7A12は、あるボックスのアイコンである。アイコン7A12がダブルタップされると、そのボックスに保存されているファイルの一覧を示すウィンドウがディスプレイモジュール4Aに表示される。つまり、そのボックスがオープンする。
アイコン7A13は、ゴミ箱機能のアイコンである。ゴミ箱機能は、ファイルおよびボックスを削除する機能である。アイコン7A13の上にファイルまたはボックスのアイコンがドラッグアンドドロップされると、そのファイルまたはボックスが削除される。
アイコン7A14は、ローカルプリント機能のアイコンである。「ローカルプリント機能」は、ボックスまたはデスクトップに保存されているファイルに示される書類などの画像を印刷する機能である。アイコン7A14の上に書類ファイルまたは画像ファイルのアイコンがドラッグアンドドロップされると、そのファイルに示される書類などの画像がプリントユニット20hによって用紙に印刷される。アイコン7A14の上にボックスのアイコンをドラッグアンドドロップすることもできる。すると、そのボックスに格納されている書類ファイルまたは画像ファイルに示される書類などの画像がプリントユニット20hによって用紙に印刷される。
画面構成データ6A1には、図7に示すように、デスクトップ画面7A1のオブジェクトごとのオブジェクトデータ6Bが含まれている。つまり、オブジェクトデータ6Bとして、アイコン7A11〜7A14それぞれのオブジェクトデータ6B1〜6B4が含まれている。オブジェクトデータ6Bには、それに対応するオブジェクトの情報として、オブジェクト名、第一の属性コード、および位置などの情報が示されている。
「オブジェクト名」は、そのオブジェクトの名称である。「第一の属性コード」は、そのオブジェクトの属性を識別するコードである。そのオブジェクトが、あるファイルのアイコンである場合は、そのファイルの種類を識別するコードが第一の属性コードとして示される。または、そのオブジェクトが、ある機能である場合は、その機能を識別するコードが第一の属性コードとして示される。
「0123h」は、テキストファイルまたはワープロ用のアプリケーションに対応するフォーマットのバイナリファイルなど書類を再現するための書類ファイルを表わすコードである。「1000h」は、ボックスを表わすコードである。「000Ah」は、ゴミ箱機能を表わすコードである。「0001h」は、ローカルプリント機能を表わすコードである。
「位置」は、デスクトップ画面7A1における、そのオブジェクトの位置である。本例では、そのオブジェクトの位置として、そのオブジェクトを囲むことができる最小の矩形の4つの頂点それぞれの座標が示される。
そのほか、オブジェクトデータ6Bには、そのオブジェクトに対応付けられているファイルのファイル名またはそのオブジェクトに対応付けられているアプリケーションの識別子などが必要に応じて示される。
なお、画面構成データ6Aは、アイコンが移動し、削除され、または追加されるごとに、更新される。
さらに、デスクトップ画面7A1を構成するオブジェクトつまりアイコン7A11〜7A14それぞれの画像データ6C1〜6C4が画像データ6Cとして画面構成データ記憶部201に記憶されている。画像データ6Cのフォーマットとして、GIF(Graphics Interchange Format)またはJPEG(Joint Photographic Experts Group)などが用いられる。後述する画像データ6Fも、同様である。
サーバユニット3の画面構成データ記憶部301には、ユーザがサーバユニット3を操作するための画面であるサーバ画面7Dごとに、サーバ画面7Dを構成するオブジェクトごとの配置などを示す画面構成データ6Dが予め記憶されている。さらに、オブジェクトごとの画像データ6Fが予め記憶されている。
例えば、図8のようなデスクトップ画面7D1の画面構成データ6Dとして、図9のような画面構成データ6D1が画面構成データ記憶部301に記憶されている。デスクトップ画面7D1は、サーバユニット3のオペレーティングシステムのデスクトップのサーバ画面7Dである。デスクトップ画面7D1には、オブジェクトとして3つのアイコン7D11〜7D13が配置されている。
アイコン7D11は、ある書類の書類ファイルのアイコンである。アイコン7D11がダブルタップされると、その書類ファイルがワープロ用のアプリケーションなど所定のアプリケーションによってオープンし、その書類がディスプレイモジュール4Aに表示される。
アイコン7D12は、ウェブブラウザ機能のアイコンである。アイコン7D12がダブルタップされると、ウェブブラウザが起動する。
アイコン7D13は、ネットワークプリント機能のアイコンである。「ネットワークプリント機能」は、フォルダまたはデスクトップに保存されているファイルに示される書類などの画像をMFPユニット2のプリントユニット20hに印刷させる機能である。アイコン7D13の上に書類ファイルまたは画像ファイルのアイコンがドラッグアンドドロップされると、そのファイルに示される書類などの画像がプリントユニット20hによって用紙に印刷される。
画面構成データ6D1には、図9に示すように、デスクトップ画面7D1のオブジェクトごとのオブジェクトデータ6Eが含まれている。つまり、オブジェクトデータ6Eとして、アイコン7D11〜7D13ごとのオブジェクトデータ6E1〜6E3が含まれている。オブジェクトデータ6Eには、それに対応するオブジェクトの情報として、オブジェクト名、第二の属性コード、および位置などの情報が示されている。
「オブジェクト名」は、そのオブジェクトの名称である。「第二の属性コード」は、第一の属性コードと同様に、そのオブジェクトの属性を識別するコードである。つまり、そのオブジェクトが、あるファイルのアイコンである場合は、そのファイルの種類を識別するコードが第二の属性コードとして示される。または、そのオブジェクトが、ある機能である場合は、その機能を識別するコードが第二の属性コードとして示される。
ただし、第二の属性コードの定義の仕方は、第一の属性コードの定義の仕方と共通していなくても構わない。つまり、MFPユニット2およびサーバユニット3それぞれ独自に第一の属性コードまたは第二の属性コードを定義してもよい。オブジェクト名も同様に、それぞれ独自に付けることができる。
「1212h」は、書類ファイルを表わすコードである。「8001h」は、ウェブブラウザ機能を表わすコードである。「0002h」は、ネットワークプリント機能を表わすコードである。
「位置」は、デスクトップ画面7D1における、そのオブジェクトの位置である。本例では、そのオブジェクトの位置として、そのオブジェクトを囲むことができる最小の矩形の4つの頂点それぞれの座標が示される。
そのほか、オブジェクトデータ6Eには、そのオブジェクトに対応付けられているファイルのファイル名またはそのオブジェクトに対応付けられているアプリケーションの識別子などが必要に応じて示される。
なお、画面構成データ6Dは、アイコンが移動し、削除され、または追加されるごとに、更新される。
さらに、デスクトップ画面7D1を構成するオブジェクトつまりアイコン7D11〜7D13それぞれの画像データ6F1〜6F3が画像データ6Fとして画面構成データ記憶部301に記憶されている。
画面描画部202は、MFP画面7Aをディスプレイモジュール4Aに表示させるための、ビットマップデータであるMFP画面データ6GAを、そのMFP画面7Aの画面構成データ6AおよびそのMFP画面7Aを構成するオブジェクトそれぞれの画像データ6Cに基づいて生成する。そして、生成したMFP画面データ6GAをサーバユニット3へ送信する。
なお、これらの画面構成データ6Aおよび画像データ6Cは、画面構成データ記憶部201から読み出される。MFP画面7Aの中の、オブジェクトが配置されない部分すなわち余白には、予め設定されている色の画素を配置すればよい。
画面描画部302は、サーバ画面7Dをディスプレイモジュール4Aに表示させるための、ビットマップデータであるサーバ画面データ6GDを、そのサーバ画面7Dの画面構成データ6Dおよびそのサーバ画面7Dを構成するオブジェクトそれぞれの画像データ6Fに基づいて生成する。
なお、これらの画面構成データ6Dおよび画像データ6Fは、画面構成データ記憶部301から読み出される。サーバ画面7Dの中の余白には、予め設定されている色の画素を配置すればよい。
画面連結部303は、MFPユニット2から送信されてきた最新のMFP画面データ6GAおよび画面描画部302によって生成された最新のサーバ画面データ6GDに基づいて、連結画面7Hの画面データ6Hを生成し、ビデオボード30gへ送信する。
連結画面7Hは、ディスプレイモジュール4Aの表示面の全体に表示され、X軸方向の長さつまり横幅がWaであり、Y軸方向の長さつまり高さがHaである(図10参照)。また、連結画面7Hは、MFP領域7HAおよびサーバ領域7HDの2つの領域によって構成される。MFP領域7HAは、左側の領域であって、MFP画面7Aに相当し、MFP画面データ6GAに基づいている。横幅は、Wbである。サーバ領域7HDは、右側の領域であって、サーバ画面7Dに相当し、サーバ画面データ6GDに基づいている。つまり、連結画面7Hは、MFP画面7Aおよびサーバ画面7Dが左右に並んだものであると、言える。
画面連結部303によると、例えば、そのMFP画面データ6GAがデスクトップ画面7A1(図6参照)のものであり、そのサーバ画面データ6GDがデスクトップ画面7D1(図8参照)のものである場合は、図10のような連結画面7H1の画面データ6H1が画面データ6Hとして生成される。連結画面7H1には、デスクトップ画面7A1のオブジェクトおよびデスクトップ画面7D1のオブジェクトと同じものが配置される。すなわち、アイコン7A11〜7A14およびアイコン7D11〜7D13が配置される。
ビデオボード30gは、画面データ6Hを映像信号6Jに変換し、ディスプレイモジュール4Aへ送信する。
そして、ディスプレイモジュール4Aは、映像信号6Jに基づいて連結画面7Hを表示する。
画面構成データ送信部203は、画面描画部202によってMFP画面7AのMFP画面データ6GAが生成される際に、そのMFP画面7Aの画面構成データ6Aをサーバユニット3へ送信する。この画面構成データ6Aは、後述するように、サーバユニット3において共通アイコン検出部322および操作領域拡張部323それぞれによって用いられる。
〔タッチパネルモジュール4Bへのタッチに応答するための処理〕
図11は、対応関係データ6Kの例を示す図である。図12は、拡張サーバ領域7HDaの決定の仕方の例を説明するための図である。図13は、拡張MFP領域7HAaの決定の仕方の例を説明するための図である。図14は、操作応答処理の流れの例を説明するフローチャートである。図15は、拡張サーバ領域7HDaへのタッチ操作の例を示す図である。図16は、拡張MFP領域7HAaへのタッチ操作の例を示す図である。図17は、ボックス画面7A2および連結画面7H2の例を示す図である。図18は、拡張MFP領域7HAaおよび拡張サーバ領域7HDaの例を示す図である。図19は、アイコン7D11に対するジェスチャの例を示す図である。
対応関係記憶部321には、図11に示すような対応関係データ6Kが予め記憶されている。対応関係データ6Kは、MFPユニット2の機能およびサーバユニット3の機能のうちの共通する2つの機能それぞれの第一の属性コードおよび第二の属性コードを互いに対応付けてペアとして示している。
ローカルプリント機能およびネットワークプリント機能は、画像をプリントユニット20hによって印刷する点で共通する。そこで、対応関係データ6Kには、ローカルプリント機能の第一の属性コードである「0001h」およびネットワークプリント機能の第二の属性コードである「0002h」が互いに対応付けられて示されている。
共通アイコン検出部322は、ディスプレイモジュール4Aに現在表示されている連結画面7HのMFP領域7HAおよびサーバ領域7HDから、共通する2つの機能それぞれのアイコンを共通アイコンとして検出する。以下、連結画面7H1が表示されている場合を例に説明する。
前述の通り、デスクトップ画面7A1の画面構成データ6Aつまり画面構成データ6A1(図7参照)が、MFPユニット2からサーバユニット3に送信されてくる。
共通アイコン検出部322は、デスクトップ画面7D1の画面構成データ6Dつまり画面構成データ6D1(図9参照)を画面構成データ記憶部301から読み出す。さらに、対応関係データ6K(図11参照)を対応関係記憶部321から読み出す。対応関係データ6Kに1つ目のペアとして示される第一の属性コードおよび第二の属性コードに注目する。そして、その第一の属性コードを示すオブジェクトデータ6Bを画面構成データ6A1の中から検索するとともに、その第二の属性コードを示すオブジェクトデータ6Eを画面構成データ6D1の中から検索する。
そして、そのようなオブジェクトデータ6Bおよびオブジェクトデータ6Eが見つかったら、共通アイコン検出部322は、それぞれに係るアイコンを1組の共通アイコンとして検出する。
例えば、対応関係データ6Kには、1つ目のペアの第一の属性コードおよび第二の属性コードとして、それぞれ「0001h」および「0002h」が示される。そこで、共通アイコン検出部322は、「0001h」を第一の属性コードとして示すオブジェクトデータ6Bおよび「0002h」を第二の属性コードとして示すオブジェクトデータ6Eを検索する。すると、オブジェクトデータ6B4およびオブジェクトデータ6E3が見つかる。そこで、共通アイコン検出部322は、オブジェクトデータ6B4に係るアイコンつまりアイコン7A14およびオブジェクトデータ6E3に係るアイコンつまりアイコン7D13を1組の共通アイコンとして検出する。
共通アイコン検出部322は、2つ目以降のペアについても同様に、そのペアの第一の属性コードおよび第二の属性コードに注目し、共通アイコンの検出を試みる。
以下、共通アイコン検出部322による処理の結果、共通アイコンとしてアイコン7A14およびアイコン7D13のペアのみが検出された場合を例に説明する。
操作領域拡張部323は、共通アイコン検出部322によって検出された共通アイコンに基づいて、MFP領域7HAおよびサーバ領域7HDそれぞれを拡張する。サーバ領域7HDは、次のように拡張される。
操作領域拡張部323は、サーバ領域7HDに配置されているアイコン7D11〜7D13の中から、共通アイコンとして検出されたアイコンつまりアイコン7D13へドラッグアンドドロップすることができるアイコンを適用可能アイコンとして選出する。
適用可能アイコンは、サーバユニット3のオペレーティングシステムに問い合わせることによって選出することができる。または、アイコン7D11〜7D13ごとに、それへドラッグアンドドロップすることができるアイコンに係る属性コードをデータベースなどによって予め定義しておいてもよい。そして、このデータベースに基づいて選出すればよい。以下、アイコン7D11が適用可能アイコンとして選出された場合を例に説明する。
操作領域拡張部323は、もう一方の共通アイコンすなわちアイコン7A14と選出した適用可能アイコンすなわちアイコン7D11とを、図12(A)のように帯7DLで結ぶ。
そして、操作領域拡張部323は、サーバ領域7HDを、図12(B)に太線で示すように、MFP領域7HAの中のアイコン7A14が配置される領域および帯7DLが配置される領域まで拡張する。帯7DLの太さは、例えば、アイコン7A14およびアイコン7D11の両方が内接する太さまたはそれよりも少し太い。以下、拡張後のサーバ領域7HDを「拡張サーバ領域7HDa」と記載する。拡張サーバ領域7HDaは、操作応対部325およびジョブ判別部326において用いられる。これについては、後述する。
MFP領域7HAを拡張する方法も基本的に、サーバ領域7HDを拡張する方法と同様である。
すなわち、操作領域拡張部323は、MFP領域7HAに配置されているアイコン7A11〜7A14の中から、共通アイコンとして検出されたアイコンつまりアイコン7A14へドラッグアンドドロップすることができるアイコンを適用可能アイコンとして選出する。
適用可能アイコンは、MFPユニット2のオペレーティングシステムに問い合わせることによって選出することができる。または、アイコン7A11〜7A14ごとに、それへドラッグアンドドロップすることができるアイコンに係る属性コードをデータベースなどによって予め定義しておいてもよい。そして、このデータベースに基づいて選出すればよい。以下、アイコン7A11およびアイコン7A12が適用可能アイコンとして選出された場合を例に説明する。
操作領域拡張部323は、もう一方の共通アイコンすなわちアイコン7D13を、選出した適用可能アイコンすなわちアイコン7A11およびアイコン7A12それぞれと、図13(A)のように帯7AL1、7AL2で結ぶ。
そして、操作領域拡張部323は、MFP領域7HAを、図13(B)に太線で示すように、サーバ領域7HDの中のアイコン7D13が配置される領域、帯7AL1が配置される領域、および帯7AL2が配置される領域まで拡張する。帯7AL1の太さは、例えば、アイコン7D13およびアイコン7A11の両方が内接する太さまたはそれよりも少し太い。帯7AL2の太さは、例えば、アイコン7D13およびアイコン7A12の両方が内接する太さまたはそれよりも少し太い。
以下、拡張後のMFP領域7HAを「拡張MFP領域7HAa」と記載する。操作領域拡張部323の処理によって、アイコン7D13が拡張MFP領域7HAaに所属するようになる。
なお、複数のペアが共通アイコン検出部322によって検出された場合は、操作領域拡張部323は、各ペアに基づいて上述の方法によってMFP領域7HAおよびサーバ領域7HDを拡張する。
MFP領域7HAおよびサーバ領域7HDが拡張したら、画面連結部303は、拡張した部分を変色させるなどして連結画面7H1を生成し直してもよい。または、拡張しても連結画面7H1の外観に変化が現われないようにしてもよい。
拡張結果通知部324は、拡張結果データ6LをMFPユニット2へ送信する。拡張結果データ6Lには、拡張MFP領域7HAaの形状およびサイズが示される。さらに、拡張MFP領域7HAaにおけるアイコン7D13の位置の座標、および、アイコン7D13とペアになっているアイコンすなわちアイコン7A14の位置の座標が示される。なお、アイコン7D11〜7D13のうちの複数が共通アイコン検出部322によって共通アイコンとして検出された場合は、検出されたアイコンごとの、拡張MFP領域7HAaにおける位置の座標、および、それぞれとペアになっているアイコンの位置の座標が示される。
ユーザは、連結画面7H1に配置されているオブジェクトつまりアイコン7A11〜7A14およびアイコン7D11〜7D13のうちのいずれかを操作することによって、自分の所望する処理の指令をMFPユニット2またはサーバユニット3に与えることができる。以下、アイコン7A11〜7A14およびアイコン7D11〜7D13を「デスクトップアイコン」と総称する。
連結画面7H1には、上述の通り、デスクトップ画面7A1およびデスクトップ画面7D1が並んでいる。つまり、MFP画面7Aおよびサーバ画面7Dが並んでいる。したがって、ユーザが行った操作がMFPユニット2に対して指令を与えるためのものなのか、サーバユニット3に対して指令を与えるためのものなのかを判別しなければならない。そして、判別結果に応じて、操作の内容をMFPユニット2およびサーバユニット3のいずれかに振り分けなければならない。判別の処理および振分の処理は、操作応対部325によって、例えば図14に示す手順で行われる。
ユーザがタッチパネルモジュール4Bのタッチ面をタッチすると、タッチされた位置の座標を示す座標データ6Mがタッチパネルモジュール4Bからサーバユニット3に送信される。タッチ面がタッチされている間、定期的に、例えば、0.1秒ごとに座標データ6Mが送信される。
サーバユニット3において、座標データ6Mが受信され始めると、操作応対部325は、1番目の座標データ6Mに示される座標がMFP領域7HAおよびサーバ領域7HDのいずれかの位置を示すものであるのかを判別する(図14の#701)。つまり、最初にタッチされた位置がMFP領域7HAに属するのかサーバ領域7HDに属するのかを判別する。
サーバ領域7HDに属すると判別した場合は(#702でYes)、操作応対部325は、ユーザがサーバユニット3に対して指令を与えるための操作を始めたと判別する(#703)。そして、座標データ6Mに示される座標を補正してジョブ判別部326へ通知し始める(#704)。具体的には、座標データ6Mが受信されるごとに、それに示される座標を補正してジョブ判別部326へ通知する。
つまり、座標データ6Mに示される座標は、タッチパネルモジュール4Bのタッチ面の座標系における座標であって、サーバ領域7HDの基の画面であるデスクトップ画面7D1の座標系における座標ではない。そこで、操作応対部325は、座標データ6Mに示される座標をデスクトップ画面7D1の座標系の座標に補正してジョブ判別部326へ通知する。本例では、デスクトップ画面7D1の原点は、タッチパネルモジュール4Bのタッチ面の原点からX軸方向へWbずれている。そこで、操作応対部325は、座標データ6Mに示される座標をX軸方向の反対方向へWbずらしてジョブ判別部326へ通知する。例えば、座標データ6Mに示される座標が(X1,Y1)であれば、((X1−Wb),Y1)をジョブ判別部326へ通知する。
さらに、操作応対部325は、座標データ6Mに基づいて、タッチされる位置がMFP領域7HAとサーバ領域7HDとの境界を越えたかどうかを監視し始める(#705)。
座標データ6Mが受信されなくなったら、つまり、タッチによる操作が終了したら(#706でYes)、操作応対部325は、ジョブ判別部326への座標の通知を終了する(#710)。
なお、ダブルタップまたはトリプルタップのように、タッチ面から指が離れるジェスチャがある。このようなジェスチャが行われた際は、タッチによる操作を終了していないにも関わらず、わずかな時間、座標データ6Mが受信されなく。そこで、操作応対部325は、座標データ6Mが受信されない時間が所定の時間例えば0.5秒を超えない間は、タッチによる操作が継続しているとみなし、所定の時間以上、座標データ6Mが受信されなくなったら、タッチによる操作が終了したと判別するようにしてもよい。所定の時間は、任意に設定することができる。後述するステップ#714においても、同様である。
操作応対部325は、タッチによる操作の最中に(#706でNo)、タッチされる位置がMFP領域7HAとサーバ領域7HDとの境界を越えたことを検知したら(#707でYes)、その位置が拡張サーバ領域7HDaに属するのであれば(#708でYes)、ジョブ判別部326への座標の通知を継続する(#709)。しかし、その位置が拡張サーバ領域7HDaに属さなければ(#708でNo)、ジョブ判別部326への座標の通知を終了する(#710)。
一方、最初にタッチされた位置がMFP領域7HAに属すると判別した場合は(#702でNo)、操作応対部325は、ユーザがMFPユニット2に対して指令を与えるための操作を始めたと判別する(#711)。そして、タッチされた位置の座標をMFPユニット2へ通知し始める(#712)。具体的には、座標データ6Mが受信されるごとに、座標データ6Mをジョブ判別部326へ転送し始める。
ところで、座標データ6Mに示される座標は、上述の通り、タッチパネルモジュール4Bのタッチ面の座標系における座標である。ところが、MFP領域7HAの基の画面であるデスクトップ画面7A1の座標系における座標ではない。しかし、タッチ面の原点とデスクトップ画面7A1の原点は、共通である。そこで、操作応対部325は、座標データ6Mを補正することなくMFPユニット2に転送すればよい。なお、原点が一致しない場合は、座標データ6Mを補正してMFPユニット2に転送すればよい。
さらに、操作応対部325は、座標データ6Mに基づいて、タッチされる位置がMFP領域7HAとサーバ領域7HDとの境界を越えたかどうかを監視し始める(#713)。
座標データ6Mが受信されなくなったら、つまり、タッチによる操作が終了したら(#714でYes)、操作応対部325は、MFPユニット2への座標データ6Mの転送を終了する(#718)。
タッチによる操作の最中に(#714でNo)、タッチされる位置がMFP領域7HAとサーバ領域7HDとの境界を越えたことを検知したら(#715でYes)、操作応対部325は、その位置が拡張MFP領域7HAaに属するのであれば(#716でYes)、MFPユニット2への座標データ6Mの転送を継続する(#717)。しかし、その位置が拡張MFP領域7HAaに属さなければ(#716でNo)、転送を終了する(#718)。
ジョブ判別部326は、操作応対部325から通知される座標に基づいて、サーバユニット3において実行すべきジョブを判別する。ここで、判別の例を2つ挙げる。
図15(A)のようにユーザがアイコン7D11をダブルタップすると、アイコン7D11(図10参照)の位置の座標が1回または数回連続して通知され、座標が約0.5秒間通知されなくなり、再びアイコン7D11の位置の座標が1回または数回連続して通知される。
このような場合は、ジョブ判別部326は、アイコン7D11がダブルタップされたと認識する。通知された座標の位置に配置されているオブジェクトがアイコン7D11であることは、画面構成データ6D1(図9参照)に含まれているオブジェクトデータ6Eに基づいて判別することができる。そして、実行すべきジョブを、そのアイコン7D11に対応する書類ファイルをオープンするジョブであると判別する。
または、図15(B)のようにユーザがアイコン7D11をアイコン7A14にドラッグアンドドロップすると、通知される座標がアイコン7D11(図10参照)の位置の座標からアイコン7A14の座標へ向かって連続的に変化し、アイコン7D11の位置の座標になる。そして、座標が通知されなくなる。
このような場合は、ジョブ判別部326は、アイコン7D11がアイコン7A14にドラッグアンドドロップされたと認識する。
アイコン7A14は、デスクトップ画面7D1には存在しないが拡張サーバ領域7HDaに存在する。つまり、拡張サーバ領域7HDaのうちの拡張した部分に存在する。ジョブ判別部326は、このような場合に、デスクトップ画面7D1に配置されているアイコンつまりアイコン7D11〜7D14のうちの、アイコン7A14とともに共通アイコンとして共通アイコン検出部322によって検出されたアイコンを選出する。そして、選出したアイコンの上にアイコン7D11がドラッグアンドドロップされたものとみなして、実行すべきジョブを判別する。本例では、アイコン7D13を選出し、アイコン7D13の上にアイコン7D11がドラッグアンドドロップされたものとみなす。そして、実行すべきジョブを、そのアイコン7D11に対応する書類ファイルをネットワークプリント機能によって印刷するジョブであると判別する。
そして、サーバユニット3において、実行すべきであるとジョブ判別部326によって判別されたジョブが実行される。その結果、図15(A)で説明した例の場合は、アイコン7D11に対応する書類ファイルが所定のアプリケーションによってオープンされる。または、図15(B)で説明した例の場合は、アイコン7D11に対応する書類ファイルに示される書類がネットワークプリント機能によって印刷される。
MFPユニット2において、ジョブ判別部204は、サーバユニット3から受信した座標データ6Mに示される座標に基づいて、MFPユニット2において実行すべきジョブを判別する。ここで、判別の例を2つ挙げる。
図16(A)のようにユーザがアイコン7A11をアイコン7A13にドラッグアンドドロップすると、座標データ6Mに示される座標がアイコン7D11の位置の座標からアイコン7A13の座標へ向かって連続的に変化し、アイコン7D13の位置の座標になる。そして、座標データ6Mが受信されなくなる。
このような場合は、ジョブ判別部204は、アイコン7A11がアイコン7A13にドラッグアンドドロップされたと認識する。
図16(B)のようにユーザがアイコン7A11をアイコン7D13にドラッグアンドドロップすると、座標データ6Mに示される座標がアイコン7A11の位置の座標からアイコン7D13の座標へ向かって連続的に変化し、アイコン7D13の位置の座標になる。そして、座標データ6Mが受信されなくなる。
このような場合は、ジョブ判別部204は、アイコン7A11がアイコン7D13にドラッグアンドドロップされたと認識する。
アイコン7D13は、デスクトップ画面7A1には存在しないが拡張MFP領域7HAaに存在する。つまり、拡張MFP領域7HAaのうちの拡張した部分に存在する。ジョブ判別部204は、このような場合に、デスクトップ画面7A1に配置されているアイコンつまりアイコン7A11〜7A14のうちの、アイコン7D13とペアになっているアイコンを拡張結果データ6Lに基づいて選出する。そして、選出したアイコンの上にアイコン7A11がドラッグアンドドロップされたものとみなして、実行すべきジョブを判別する。本例では、アイコン7A14を選出し、アイコン7A14の上にアイコン7A11がドラッグアンドドロップされたものとみなす。そして、実行すべきジョブを、そのアイコン7A11に対応する書類ファイルをローカルプリント機能によって印刷するジョブであると判別する。なお、拡張MFP領域7HAaの形状およびサイズは、拡張結果データ6Lに示されている。
そして、MFPユニット2において、実行すべきであるとジョブ判別部204によって判別されたジョブが実行される。その結果、図16(A)で説明した例の場合は、アイコン7A11に対応する書類ファイルがデスクトップから削除される。または、図16(B)で説明した例の場合は、アイコン7A11に対応する書類ファイルに示される書類がローカルプリント機能によって印刷される。
ところで、MFP領域7HAおよびサーバ領域7HDのうちの少なくとも一方が遷移することがある。例えば、MFP領域7HAまたはサーバ領域7HDに配置されるMFP画面7Aまたはサーバ画面7Dが変わったり、アイコンが移動し、削除され、または追加されたりすることがある。
このような場合は、MFPユニット2およびサーバユニット3の各部は、上述の処理を適宜、実行し直す。
例えば、MFP領域7HAにデスクトップ画面7A1が配置されているときにアイコン7A12がダブルタップされると、画面描画部202は、アイコン7A12に対応するボックスに保存されているファイルの一覧を示す、図17(A)のようなボックス画面7A2を、デスクトップ画面7A1の代わりに表示させるための処理を行う。具体的には、デスクトップ画面7A1のMFP画面データ6GAの送信を止め、ボックス画面7A2のMFP画面データ6GAを生成しサーバユニット3へ送信し始める。この際に、ボックス画面7A2の画面構成データ6Aをサーバユニット3へ送信する。
すると、画面連結部303は、図17(B)のような、ボックス画面7A2とデスクトップ画面7D1とを合成した連結画面7H2を新たな連結画面7Hとして生成し、その連結画面7Hの画面データ6Hをビデオボード30gへ送信する。すると、ビデオボード30gは、その画面データ6Hを映像信号6Jに変換し、ディスプレイモジュール4Aへ送信する。これにより、連結画面7H1に代わり新たな連結画面7Hが表示される。
さらに、共通アイコン検出部322、操作領域拡張部323、拡張結果通知部324、および操作応対部325は、デスクトップ画面7A1の画面構成データ6Aの代わりにボックス画面7A2の画面構成データ6Aを用いて、上述の各処理を実行する。ジョブ判別部204は、操作領域拡張部323から新たに通知された拡張MFP領域7HAaに基づいて、上述の処理を実行する。
これにより、拡張MFP領域7HAaおよび拡張サーバ領域7HDaは、それぞれ、図18(A)および図18(B)のように拡張し直される。
または、サーバ領域7HDが遷移した場合は、共通アイコン検出部322、操作領域拡張部323、拡張結果通知部324、および操作応対部325は、遷移後のサーバ領域7HDのサーバ画面7Dの画面構成データ6Dを遷移前のサーバ画面7Dの画面構成データ6Dの代わりに用いて上述の各処理を実行する。ジョブ判別部204は、操作領域拡張部323から新たに通知された拡張MFP領域7HAaに基づいて、上述の処理を実行する。
これにより、例えば、アイコン7D11が図19(A)のように移動した場合は、図19(B)のように拡張サーバ領域7HDaが拡張し直される。
図20は、MFPユニット2における全体的な処理の流れの例を説明するフローチャートである。図21は、サーバユニット3における全体的な処理の流れの例を説明するフローチャートである。
次に、MFP画面7Aおよびサーバ画面7Dを合成して表示する際の、MFPユニット2およびサーバユニット3それぞれの全体的な処理の流れを、フローチャートを参照しながら説明する。
MFPユニット2は、オペレーティングシステムの起動後、第一の連携プログラム20Pに基づいて、図20に示す手順で処理を実行する。以下、オペレーティングシステムの起動後にデフォルトで表示されるMFP画面7Aがデスクトップ画面7A1(図6参照)である場合を例に説明する。
一方、サーバユニット3は、オペレーティングシステムの起動後、第二の連携プログラム30Pに基づいて、図21に示す手順で処理を実行する。以下、オペレーティングシステムの起動後にデフォルトで表示されるサーバ画面7Dがデスクトップ画面7D1(図8参照)である場合を例に説明する。
MFPユニット2は、デスクトップ画面7A1のMFP画面データ6GAを画面構成データ6A1(図7参照)およびデスクトップ画面7A1のオブジェクトそれぞれの画像データ6Cに基づいて生成し始め、サーバユニット3へ送信し始める(図20の#731)。さらに、画面構成データ6A1をサーバユニット3へ送信する(#732)。
サーバユニット3は、デスクトップ画面7D1のサーバ画面データ6GDを画面構成データ6D1(図9参照)およびデスクトップ画面7D1のオブジェクトそれぞれの画像データ6Fに基づいて生成し始める(図21の#751)。ステップ#751の処理と前後して、MFP画面データ6GAを受信し始める(#752)。さらに、画面構成データ6A1を受信する(#753)。
そして、サーバユニット3は、MFP画面データ6GAおよびサーバ画面データ6GDに基づいて連結画面7H1(図10参照)を生成してディスプレイモジュール4Aに表示させ始めるとともに(#754)、画面構成データ6A1、画面構成データ6D1、および対応関係データ6Kに基づいて共通アイコンを検出し(#755)、MFP領域7HAおよびサーバ領域7HDを拡張する(#756)。これにより、拡張MFP領域7HAaおよび拡張サーバ領域7HDaが求められる。そして、拡張結果データ6LをMFPユニット2へ送信する(#757)。
MFPユニット2は、拡張結果データ6Lを受信し(#733)、サーバユニット3から座標データ6Mが送信されてくるのを待つ。
タッチパネルモジュール4Bは、タッチ面がタッチされると、所定の時間ごとに、タッチされている最新の位置を示すデータを座標データ6Mとしてサーバユニット3へ送信する。
サーバユニット3は、1つ目の座標データ6Mを受信すると(#758でYes)、さらにその後に受信する座標データ6Mに基づいて、今回のタッチの操作がMFPユニット2およびサーバユニット3自身のどちらに対するものなのかを判別し、操作の内容をサーバユニット3自身およびMFPユニット2のどちらかに振り分ける処理を行う(#759)。この処理の手順は、前に図14で説明した通りである。
サーバユニット3は、今回のタッチの操作がサーバユニット3自身に対するものである場合は(#760でYes)、座標データ6Mに示される座標に基づいて、サーバユニット3自身が実行すべきジョブを判別する(#761)。なお、座標がデスクトップ画面7D1には属しないが拡張サーバ領域7HDaに属するアイコンに達した場合は、そのアイコンとともに共通アイコンとして検出したアイコンを選出する。そして、その座標が、選出したアイコンに達したものとみなしてジョブを判別する。さらに、実行すべきと判別したジョブを実行する。
一方、今回のタッチの操作がMFPユニット2に対するものである場合は、ステップ#759の処理によって、座標データ6Mがサーバユニット3からMFPユニット2へ転送される。
MFPユニット2は、座標データ6Mを受信し始めると(#734でYes)、各座標データ6Mに示される座標に基づいて、MFPユニット2自身が実行すべきジョブを判別する(#735)。なお、座標がデスクトップ画面7A1には属しないが拡張MFP領域7HAaに属するアイコンに達した場合は、拡張結果データ6Lに基づいて、そのアイコンとペアになっているアイコンにその座標が達したものとみなしてジョブを判別する。そして、実行すべきと判別したジョブを実行する。
ところで、サーバユニット3において、現在のサーバ画面7D(デフォルトでは、デスクトップ画面7D1)に代えて他の画面を表示させる必要が生じ、または、現在のサーバ画面7Dのアイコンの配置を変更する必要が生じるなど、サーバ画面7Dを遷移させる必要が生じることがある。
サーバユニット3は、この場合に(#762でYes)、現在のサーバ画面7Dに代えて他の画面を表示し始め、または、現在のサーバ画面7Dを、アイコンの配置を変更して再表示し始める(#763)。そして、ステップ#754に戻って、連結画面7Hを生成し直し(#754)、共通アイコンを検出し直し(#755)、MFP領域7HAおよびサーバ領域7HDそれぞれを拡張し直し(#756)、拡張結果データ6LをMFPユニット2へ送信する(#757)。なお、現在のサーバ画面7Dのアイコンの配置を変更した場合は、そのサーバ画面7Dの画面構成データ6Dを新たな配置に応じて更新する。
同様に、MFPユニット2において、現在のMFP画面7A(デフォルトでは、デスクトップ画面7A1)に代えて他の画面を表示させる必要が生じ、または、現在のMFP画面7Aのアイコンの配置を変更する必要が生じるなど、MFP画面7Aを遷移させる必要が生じることがある。
MFPユニット2は、この場合に(#736でYes)、ステップ#731に戻って、現在のMFP画面7Aに代えて他の画面のMFP画面データ6GAを生成しサーバユニット3へ送信し始め、または、または、現在のMFP画面7Aのアイコンの配置を変更してMFP画面データ6GAを生成しサーバユニット3へ送信し始める。アイコンの配置を変更した場合は、そのMFP画面7Aの画面構成データ6Aを新たな配置に応じて更新する。そして、遷移後のMFP画面7Aの画面構成データ6Aをサーバユニット3に送信する(#732)。
サーバユニット3は、新たなMFP画面7AのMFP画面データ6GAおよび画面構成データ6AをMFPユニット2から受信した場合つまりMFPユニット2において画面の遷移があった場合は(#764でYes)、ステップ#754に戻って、連結画面7Hを生成し直し(#754)、共通アイコンを検出し直し(#755)、MFP領域7HAおよびサーバ領域7HDそれぞれを拡張し直し(#756)、拡張結果データ6LをMFPユニット2へ送信する(#757)。
また、MFP画面7Aおよびサーバ画面7Dのいずれかが遷移するごとに、サーバユニット3からMFPユニット2に拡張結果データ6Lが送信されてくる。MFPユニット2は、拡張結果データ6Lを受信すると(#733)、前に受信した拡張結果データ6Lを削除し、ステップ#735の処理において最新の拡張結果データ6Lを使用する。
本実施形態によると、MFP画面7Aおよびサーバ画面7Dを並べて表示する際の操作性を従来よりも向上させることができる。
図22は、ダイアログ7A3、7D3を連結画面7Hに重ねて表示する例を示す図である。図23は、共通アイコンの使い分けの例を説明するための図である。図24は、連結画面7H5の例を示す図である。図25は、MFPユニット2における全体的な処理の流れの例を説明するフローチャートである。図26は、サーバユニット3における全体的な処理の流れの例を説明するフローチャートである。図27は、拡張MFP領域7HAaおよびサーバ領域7HDそれぞれの範囲の例を示す図である。図28は、デスクトップ画面7A5’、7D5’の例を示す図である。図29は、サーバ領域7HDの拡張の仕方の変形例を示す図である。
本実施形態では、操作領域拡張部323は、共通アイコンとしてアイコン7A14およびアイコン7D13が検出されると、アイコン7A14に基づいてサーバ領域7HDを拡張し(図12参照)、アイコン7D13に基づいてMFP領域7HAを拡張した(図13参照)。
アイコン7D11に対応する書類ファイルの書類をネットワークプリント機能で印刷するには、アイコン7D11をアイコン7A14およびアイコン7D13のどちらにドラッグアンドドロップしてもよい。ただし、図12(A)に示したようにアイコン7D11からはアイコン7A14のほうがアイコン7D13よりも近いので、アイコン7A14にドラッグアンドドロップするほうが便利である。したがって、サーバ領域7HDを拡張サーバ領域7HDaに拡張することに意義があると、言える。
一方、アイコン7A11に対応する書類ファイルの書類をネットワークプリント機能で印刷するには、アイコン7A11をアイコン7A14およびアイコン7D13のどちらにドラッグアンドドロップしてもよい。ただし、図13(A)に示したように、アイコン7A11からはアイコン7A14のほうがアイコン7D13よりも近いので、アイコン7A14にドラッグアンドドロップするほうが便利である。アイコン7A12に対応するボックスの中の書類ファイルの書類をアイコン7A12をドラッグアンドドロップしてネットワークプリント機能で印刷する場合も、同様である。したがって、MFP領域7HAを拡張MFP領域7HAaに拡張することは、あまり意義がないと、言える。
そこで、操作領域拡張部323は、ある領域を拡張することによって次の要件を満たす場合にのみ、その領域を拡張するようにしてもよい。なお、以下、ある領域を拡張することによって新たに含まれるようになったアイコンを、「増加アイコン」と記載する。その領域の中の、共通アイコン検出部322によって増加アイコンとともに共通アイコンとして検出されたアイコンを「カウンタパートアイコン」と記載する。その領域の中の、増加アイコンおよびカウンタパートアイコンのいずれへもドラッグアンドドロップすることができるアイコンを「操作対象アイコン」と記載する。
(要件_1):操作対象アイコンと増加アイコンとの距離が操作対象アイコンとカウンタパートアイコンとの距離以下であること。
(要件_2):操作対象アイコンが複数ある場合は、(要件_1)を満たす操作対象アイコンが少なくとも1つあること。
なお、増加アイコンが複数ある場合は、操作領域拡張部323は、上の要件を満たす増加アイコンのみに基づいて領域を拡張すればよい。
本実施形態では、共通アイコンの使い方の例として、共通アイコンの上に他のアイコンをドラッグアンドドロップする例を挙げた。しかし、共通アイコンを他のアイコンとともに使用しないことがある。つまり、共通アイコンを単独で使用することがある。例えば、共通アイコンをダブルタップしたりフリックしたりする場合である。
ところが、このような場合は、MFPユニット2に対する操作なのかサーバユニット3に対する操作なのかを判断する必要がある。そこで、MFPユニット2またはサーバユニット3の各部は、次のように処理を行ってもよい。
操作応対部325は、連結画面7H1が表示された後、アイコン7A14が1回目にダブルタップされた場合は、今回のタッチの操作が、MFPユニット2およびサーバユニット3のうちのアイコン7A14が本来所属する画面を有するほうに対する操作であると、判別する。つまり、MFPユニット2に対する操作であると、判別する。そして、座標データ6MをMFPユニット2へ送信する。
なお、ジョブ判別部204は、送信されてきた座標データ6Mに基づいて、実行すべきジョブを、印刷キューのダイアログの表示と判別する。そして、画面描画部202は、図22(A)のようなダイアログ7A3をディスプレイモジュール4Aに表示させる。
アイコン7A14が2回目にダブルタップされた場合は、今回のタッチの操作がもう一方のユニットつまりサーバユニット3に対する操作であると、判別する。そして、座標データ6Mに示される座標を補正してジョブ判別部326へ通知する。または、ダイアログ7A3が表示されているか否かをMFPユニット2に問い合わせ、表示されている旨の回答が得られた場合に、サーバユニット3に対する操作であると、判別してもよい。
なお、ジョブ判別部326は、通知されてきた座標に基づいて、実行すべきジョブを、印刷キューのダイアログの表示と判別する。そして、画面描画部302は、図22(B)のようなダイアログ7D3をディスプレイモジュール4Aに表示させる。
または、操作応対部325は、今回のタッチの操作が、MFPユニット2に対する操作でもありサーバユニット3に対する操作でもあると判別してもよい。この場合は、1回のダブルタップの操作によって、ダイアログ7A3およびダイアログ7D3が表示される。
または、拡張結果通知部324は、アイコン7A14が左へフリックされた場合は今回のタッチの操作がMFPユニット2に対する操作であると判別し、右へフリックされた場合はサーバユニット3に対する操作であると判別してもよい。アイコン7A14は、プリントの機能に係るアイコンだが、ゴミ箱機能に係るアイコンが共通アイコンとして配置されている場合は、このアイコンが左へフリックされた場合は、画面描画部202は、図23(A)のような、MFPユニット2のゴミ箱に関するメニュー7A4を、ディスプレイモジュール4Aに表示させる。右へフリックされた場合は、画面描画部302は、図23(B)のような、サーバユニット3のゴミ箱に関するメニュー7D4をディスプレイモジュール4Aに表示させる。
または、拡張結果通知部324は、アイコン7A14がダブルタップされた際に、MFPユニット2およびサーバユニット3それぞれに対する操作の履歴に基づいて、MFPユニット2およびサーバユニット3それぞれが最後に操作されてからアイコン7A14が今回ダブルタップされるまでの経過時間T1、T2を求める。
そして、経過時間T1が所定の時間T0未満であり、かつ、経過時間T2が所定の時間T0以上であれば、拡張結果通知部324は、今回のダブルタップがMFPユニット2のみに対する操作であると判別する。または、経過時間T2が所定の時間T0未満であり、かつ、経過時間T1が所定の時間T0以上であれば、拡張結果通知部324は、今回のダブルタップがサーバユニット3のみに対する操作であると判別する。または、経過時間T1が所定の時間T0未満であり、かつ、経過時間T2が所定の時間T0未満であれば、拡張結果通知部324は、今回のダブルタップがMFPユニット2およびサーバユニット3の両方に対する操作であると判別する。所定の時間T0は、例えば、30分である。
本実施形態では、複合機1は、共通アイコンとして検出された2つのアイコンを併存させたが、いずれか一方を残し、他方を表示させないようにしてもよい。この際に、連結画面7Hの中央に共有領域を設け、残すほうの共通アイコンを共有領域へ移動させてもよい。
以下、この仕組みを、図24(A)のような連結画面7H5に共有領域7HEを図24(B)のように設ける場合を例に、フローチャートを参照しながら説明する。なお、連結画面7H5は、デスクトップ画面7A5およびデスクトップ画面7D5によって構成される。デスクトップ画面7A5は、MFP画面7Aの1つであり、デスクトップ画面7D5は、サーバ画面7Dの1つである。
MFPユニット2は、第一の連携プログラム20Paに基づいて、図25に示す手順で処理を実行する。サーバユニット3は、第二の連携プログラム30Paに基づいて、図26に示す手順で処理を実行する。
MFPユニット2において、画面構成データ送信部203は、デスクトップ画面7A5の画面構成データ6Aをサーバユニット3に送信する(図25の#771)。
サーバユニット3において、共通アイコン検出部322は、画面構成データ6Aを受信すると(#781)、その画面構成データ6A、デスクトップ画面7D5の画面構成データ6D、および対応関係データ6Kに基づいて、共通する2つの機能それぞれのアイコンを共通アイコンとして検出する(#782)。その結果、本例では、2組の共通アイコンが検出される。1組目は、アイコン7A53およびアイコン7D53である。2組目は、アイコン7A54およびアイコン7D54である。
操作領域拡張部323は、デスクトップ画面7D5の中の、デスクトップ画面7A5と接する辺りに共有領域7HEを設ける(#783)。共有領域7HEは、図27(A)に示すように、MFP領域7HAとともに拡張MFP領域7HAaの一部分をなす。また、図27(B)に示すように、サーバ領域7HDの一部分をなす。
拡張結果通知部324は、拡張結果データ6NをMFPユニット2へ送信し、デスクトップ画面7D5のアイコン7D51〜7D54のうち共有アイコンとして検出されたアイコン(本例では、アイコン7D53および7D54)ならびにデスクトップ画面7D5における共有領域7HEの位置を画面描画部302に通知する(#784)。
拡張結果データ6Nには、デスクトップ画面7A5のアイコン7A51〜7A54のうち共有アイコンとして検出されたアイコン(本例では、アイコン7A53および7A54)ならびに拡張MFP領域7HAaの形状およびサイズが示される。
MFPユニット2において、画面描画部202は、拡張結果データ6Nを受信すると(#772)、拡張結果データ6Nに示されるサイズおよび形状にデスクトップ画面7A5を拡張し、拡張結果データ6Nに示されるアイコンつまりアイコン7A53および7A54を、拡張された部分に移動させる(#773)。これにより、デスクトップ画面7A5が図28(A)のように更新される。以下、更新後のデスクトップ画面7A5をデスクトップ画面7A5’と記載する。そして、デスクトップ画面7A5’のビットマップデータを生成しMFP画面データ6GAとしてサーバユニット3へ送信し始める(#774)。さらに、アイコン7A53および7A54およびそれぞれの移動後の位置の座標を示す新座標データ6Qをサーバユニット3へ送信する(#775)。
サーバユニット3において、画面描画部302は、新座標データ6Qを受信すると(#785)、操作領域拡張部323から通知されたアイコンつまりアイコン7D53および7D54が非表示になるように、さらに、共有領域7HEに他のアイコンが配置されている場合はそれを共有領域7HE以外の領域に配置されるように、つまり、図28(B)のようにデスクトップ画面7D5を更新する(#786)。以下、更新後のデスクトップ画面7D5をデスクトップ画面7D5’と記載する。そして、デスクトップ画面7D5’のビットマップデータを生成しサーバ画面データ6GDとして画面連結部303に付与し始める。
画面連結部303は、MFPユニット2からMFP画面データ6GAを受信し始め(#787)、画面描画部302からサーバ画面データ6GDを受け取り始めると(#788)、MFP画面データ6GAおよびサーバ画面データ6GDに基づいて、デスクトップ画面7A5’およびデスクトップ画面7D5’を合成することによって連結画面7H5の画面データ6Hを生成し、ビデオボード30gへ送信する(#789)。なお、デスクトップ画面7A5’およびデスクトップ画面7D5’の一部分が重複するが、その部分については、デスクトップ画面7A5’がデスクトップ画面7D5’の上に重なるように、両者を合成する。
ビデオボード30gは、画面データ6Hを映像信号6Jに変換し、ディスプレイモジュール4Aへ送信する。そして、ディスプレイモジュール4Aは、映像信号6Jに基づいて連結画面7H5を表示する。
操作応対部325は、1つ目の座標データ6Mをタッチパネルモジュール4Bから受信すると(#790でYes)、その座標データ6Mに示される座標がMFP領域7HAのいずれかの位置の座標である場合は、MFPユニット2に対する操作であると判別し、サーバ領域7HDのいずれかの位置の座標である場合は、サーバユニット3に対する操作であると判別する(#791)。
そして、MFPユニット2に対する操作であると判別した場合は(#792でYes)、操作応対部325は、その座標データ6Mおよびその後に受信する座標データ6MをMFPユニット2へ送信する(#793)。
一方、サーバユニット3に対する操作であると操作応対部325が判別した場合は(#792でNo)、ジョブ判別部326は、その座標データ6Mおよびその後に受信する座標データ6Mそれぞれに示される座標をX軸方向の反対方向へWbずらし、これらの座標に基づいて、サーバユニット3において実行すべきジョブを判別する(#794)。判別の仕方は、基本的に前に例示した通りである。
ただし、ジョブ判別部326は、新座標データ6Qに示されるアイコンとともに共通アイコンとして検出されたアイコンが、デスクトップ画面7D5’の共有領域7HEの中の、新座標データ6Qに示される座標の位置に配置されているものとみなして、判別する。つまり、つまりアイコン7D53およびアイコン7D54が配置されているものとみなして、判別する。なお、アイコン7D53およびアイコン7D54それぞれの座標は、新座標データ6Qに示されるアイコン7A53およびアイコン7A54座標をX軸方向の反対方向へWbずらすことによって算出することができる。
MFPユニット2において、ジョブ判別部204は、サーバユニット3から受信した座標データ6Mに示される座標に基づいて、MFPユニット2において実行すべきジョブを判別する(#777)。判別の仕方は、基本的に前に例示した通りである。
MFP画面7Aを遷移させる場合は(#778でYes、#796でYes)、MFPユニット2およびサーバユニット3は、それぞれ、ステップ#771およびステップ#782に戻って処理を行う。サーバ画面7Dを遷移させる場合も(#795でYes)、それぞれ、ステップ#771およびステップ#782に戻って処理を行う。
本実施形態では、2つのソフトウェアの例として、MFPユニット2およびサーバユニット3それぞれのオペレーティングシステムを挙げ、それぞれのデスクトップのアイコンを共用する場合の処理を説明した。しかし、他の2つのソフトウェア(例えば、MFPユニット2のワープロソフトおよびサーバユニット3の表計算ソフト)それぞれのアイコンまたはボタンなどのオブジェクトを共用する場合にも、上述の通り処理を行えばよい。
同一のプラットフォーム(例えば、MFPユニット2のオペレーティングシステム)上で実行される2つのソフトウェアそれぞれのアイコンまたはボタンなどのオブジェクトを共用する場合にも、本発明を適用することができる。
本実施形態では、アイコンの位置を、そのアイコンを囲むことができる最小の矩形の4つの頂点それぞれの座標によって表わしたが、そのアイコンの中心および縦横それぞれの長さによって表わしてもよい。
本実施形態では、操作領域拡張部323は、サーバ領域7HDを、図12(B)に太線で示したように、アイコン7A14が配置される領域および帯7DLが配置される領域まで拡張した。帯7DLの太さは、アイコン7A14およびアイコン7D11の両方が内接する太さであった。しかし、帯7DLをもう少し太くしてもよい。例えば、10%太くしてもよい。MFP領域7HAの拡張についても、同様である。
図29(A)に示すようにアイコン7A14とアイコン7D11との間にアイコン7D14がある場合は、アイコン7D14を避けながらアイコン7D11をアイコン7A14にドラッグアンドドロップすることがあり得る。そこで、操作領域拡張部323は、このような場合は、図29(B)に示すように、アイコン7D11が他のいずれのアイコン(本例では、アイコン7D14)に接することなくアイコン7A14まで移動することができる経路が含まれるように、サーバ領域7HDを拡張してもよい。MFP領域7HAの拡張についても、同様である。
本実施形態では、MFP画面7Aおよびサーバ画面7Dの合成および座標データ6Mの振分けなどをサーバユニット3が行ったが、MFPユニット2が行ってもよい。
その他、複合機1の全体または各部の構成、処理内容、処理順序、データベースの構成などは、本発明の趣旨に沿って適宜変更することができる。