(57)【要約】【課題】  表示されたアプリケーションのＧＵＩ画面と同様の見た目を持つが、異なるイベント処理を行うＧＵＩ画面を自動生成できるようにする。【解決手段】  グラフィカル・ユーザ・インタフェース（ＧＵＩ）を有する機器においてウィンドウ、ボタン等のＧＵＩコンポーネントで構成されたＧＵＩ画面情報から見た目に同様な新たなＧＵＩ画面を生成するＧＵＩ生成方法であって、表示中のアプリケーションの画面に関するＧＵＩ情報を取得するＧＵＩ情報取得ステップと、取得した前記ＧＵＩ情報に基づいて表示中のＧＵＩ画面と同様なＧＵＩ画面を生成するＧＵＩ画面生成ステップと、新たに生成した前記ＧＵＩ画面に対するイベント制御に関するイベント制御情報を取得するステップと、前記イベント制御情報 に基づいてイベントを制御するイベント制御オブジェクト生成ステップを有し、見た目に同様なＧＵＩ画面と新たなイベント制御オブジェクトを生成する。【選択図】  図１
2007066077.tif 000002
【特許請求の範囲】
【請求項１】
グラフィカル・ユーザ・インタフェース（ＧＵＩ）を有する機器において、ＧＵＩコンポーネントで構成されたＧＵＩ画面情報から新たなＧＵＩ画面を生成するＧＵＩ生成方法であって、
表示中のアプリケーションの画面に関するＧＵＩ情報を取得するＧＵＩ情報取得ステップと、
前記ＧＵＩ情報取得ステップによって取得したＧＵＩ情報に基づいて表示中のＧＵＩ画面と同様なＧＵＩ画面を生成するＧＵＩ画面生成ステップと、
前記ＧＵＩ画面生成ステップによって新たに生成されたＧＵＩ画面に対するイベント制御に関するイベント制御情報を取得するイベント制御情報取得ステップと、
前記イベント制御情報に基づいてイベント制御オブジェクトを生成するイベント制御オブジェクト生成ステップとを有することを特徴とするＧＵＩ生成方法。
【請求項２】
前記アプリケーション画面のＧＵＩコンポーネントは、前記イベント制御情報を含むか、もしくは、前記イベント制御情報を取得するための情報を備えることを特徴とする請求項１に記載のＧＵＩ生成方法。
【請求項３】
前記イベント制御情報の設定及び保持を行うコンポーネントに前記ＧＵＩコンポーネントを登録することで前記表示中のアプリケーション画面のＧＵＩコンポーネントと前記イベント制御情報とを関連付ける関連付けステップを有することを特徴とする請求項１または２に記載のＧＵＩ生成方法。
【請求項４】
前記ＧＵＩ情報取得ステップによって取得されるＧＵＩ情報は、前記アプリケーション画面を構成するＧＵＩコンポーネントの情報であることを特徴とする請求項１〜３の何れか１項に記載のＧＵＩ生成方法。
【請求項５】
前記ＧＵＩ情報取得ステップによって取得されるＧＵＩ情報は、前記アプリケーション画面を構成するＧＵＩコンポーネントの情報であるとともに前記アプリケーション画面をキャプチャした画像情報であることを特徴とする請求項１〜３の何れか１項に記載のＧＵＩ生成方法。
【請求項６】
前記イベント制御情報ステップによって取得されるイベント制御情報は、新たに生成したＧＵＩコンポーネントにおいて発生したイベントに対して表示するツールチップ内の文字列、画像等の情報、もしくは、イベントに基づいて再生する音声情報であることを特徴とする請求項１〜５の何れか１項に記載のＧＵＩ生成方法。
【請求項７】
前記イベント制御情報ステップによって取得されるイベント制御情報は、発生するイベントの種類と前記イベントに対して行う処理とに関する情報であることを特徴とする請求項１〜６の何れか１項に記載のＧＵＩ生成方法。
【請求項８】
グラフィカル・ユーザ・インタフェース（ＧＵＩ）を有する機器において、ＧＵＩコンポーネントで構成されたＧＵＩ画面情報から新たなＧＵＩ画面を生成するＧＵＩ生成装置であって、
表示中のアプリケーションの画面に関するＧＵＩ情報を取得するＧＵＩ情報取得手段と、
前記ＧＵＩ情報取得手段によって取得されたＧＵＩ情報に基づいて表示中のＧＵＩ画面と同様なＧＵＩ画面を生成するＧＵＩ画面生成手段と、
前記ＧＵＩ画面生成手段によって新たに生成されたＧＵＩ画面に対するイベント制御に関するイベント制御情報を取得するイベント制御情報取得手段と、
前記イベント制御情報に基づいてイベント制御オブジェクトを生成するイベント制御オブジェクト生成手段とを有することを特徴とするＧＵＩ生成装置。
【請求項９】
前記アプリケーション画面のＧＵＩコンポーネントは、前記イベント制御情報を含むか、もしくは、前記イベント制御情報を取得するための情報を備えることを特徴とする請求項８に記載のＧＵＩ生成装置。
【請求項１０】
前記イベント制御情報の設定及び保持を行うコンポーネントに前記ＧＵＩコンポーネントを登録することで前記表示中のアプリケーション画面のＧＵＩコンポーネントと前記イベント制御情報とを関連付ける関連付け手段を有することを特徴とする請求項８または９に記載のＧＵＩ生成装置。
【請求項１１】
前記ＧＵＩ情報取得手段によって取得されるＧＵＩ情報は、前記アプリケーション画面を構成するＧＵＩコンポーネントの情報であることを特徴とする請求項８〜１０の何れか１項に記載のＧＵＩ生成装置。
【請求項１２】
前記ＧＵＩ情報取得手段によって取得されるＧＵＩ情報は、前記アプリケーション画面を構成するＧＵＩコンポーネントの情報であるとともに前記アプリケーション画面をキャプチャした画像情報であることを特徴とする請求項８〜１０の何れか１項に記載のＧＵＩ生成装置。
【請求項１３】
前記イベント制御情報手段によって取得されるイベント制御情報は、新たに生成したＧＵＩコンポーネントにおいて発生したイベントに対して表示するツールチップ内の文字列、画像等の情報、もしくは、イベントに基づいて再生する音声情報であることを特徴とする請求項８〜１２の何れか１項に記載のＧＵＩ生成装置。
【請求項１４】
前記イベント制御情報手段で取得するイベント制御情報とは、発生するイベントの種類と前記イベントに対して行う処理とに関する情報であることを特徴とする請求項８〜１３の何れか１項に記載のＧＵＩ生成装置。
【請求項１５】
請求項１〜７の何れか１項に記載のＧＵＩ生成方法の各ステップをコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項１６】
請求項８〜１４の何れか１項に記載のＧＵＩ生成装置の各手段としてコンピュータを機能させることを特徴とするコンピュータプログラム。
【請求項１７】
請求項１〜７の何れか１項に記載のＧＵＩ生成方法の各ステップをコンピュータに実行させるためのプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【請求項１８】
請求項８〜１４の何れか１項に記載のＧＵＩ生成装置の各手段としてコンピュータを機能させるためのプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＧＵＩ生成方法、ＧＵＩ生成装置、コンピュータプログラム及び記憶媒体に関し、実行画面上に表示されているＧＵＩと同様の表示を行うが、イベントに対しては異なる処理を行うことができるＧＵＩを作成する技術に関する。
【背景技術】
【０００２】
ＰＣ、ＰＤＡ、携帯電話等のコンシューマ機器から複写機を代表とするオフィス機器まで、様々な機器でＧＵＩ（Graphical User Interface）が採用されている。ＧＵＩとは、操作しやすいようにウィンドウやアイコン、ボタンなどを使い、機器を見た目にわかりやすく使用できるようにしたユーザインタフェースである。以後、ウィンドウ、アイコン、ボタン、スクロールバーなど、ＧＵＩを構成する部品をＧＵＩコンポーネントと呼ぶ。
【０００３】
ＧＵＩコンポーネントを持つアプリケーションの中には、ＧＵＩコンポーネント、例えばボタンにマウスポインタを合わせると、ボタンに割り付けられた機能を説明する文字列が入った矩形型のラベルを表示するものがある。この矩形型のラベルをツールチップと呼ぶ。ボタン、アイコンなどのＧＵＩコンポーネントに割り付けられた機能についての説明やＧＵＩコンポーネント自体の説明など詳細な情報を簡単なマウスポインタの操作で閲覧することができる便利な機能である。
【０００４】
マウスを使用しないタッチパネルでは指やスタイラスと呼ばれるペンでＧＵＩコンポーネントの選択やデータの入力を行う。タッチパネルでツールチップを表示する際の操作としては、ツールチップを表示したいＧＵＩコンポーネントをタッチするというのが望ましい。
【０００５】
しかし、タッチパネルを採用している機器上のＯＳやウィンドウシステムの中にはマウスポインタを表示しないものもある。この環境でＧＵＩコンポーネントにタッチすると、マウスを「クリック」した場合の動作として処理されるのでボタンであればボタンを押下したことになる。つまり、ボタンに割り当てられた処理を実行してしまい、ツールチップを表示させるという意図していた処理が実行されない。そのため、タッチ操作でツールチップを表示するための方法が必要であった。
【０００６】
一方、組込み機器ではある特定の処理を行うためにハードウェアキーが割り当てられている場合がある。コピー、スキャン、プリントといった機能を持つ複合複写機では、コピーやスキャンの開始、中止指示するスタート、ストップボタン、それぞれの機能に対して行った設定を初期状態に戻すためのリセットボタンなどが備わっている。また、複合複写機によっては、それぞれの機能の使い方や詳細情報を案内するためのパネルを表示させるためのガイドキーを持つものもある。ガイドキーを押すと、画面に表示されている機能に関する使い方を説明する情報をガイドパネルに表示する。
【０００７】
近年、アプリケーションを追加する仕組みを持った複合複写機が開発されている。上記のような特定の用途のために用意されたキーを押下した場合のアプリケーションの処理は、そのアプリケーションの種類にかかわらず統一的にそのキーに割り当てられた機能に合ったものであるべきである。例えば、アプリケーションに対してガイドキーが押下された場合にはそのアプリケーションの使い方や詳細情報を案内するガイドパネルが表示されることが望ましい。
【０００８】
ところで、従来、既存のアプリケーションプログラムを変更せず、かつ全ての画面データを画面作成者が再作成することなく、本来の画面情報から必要な情報だけを抽出して自動的に変換画面を作成する変換装置が提案されていた（特許文献１参照）。
【０００９】
【特許文献１】特開平１０−８３２６９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
タッチパネル上でツールチップを表示するための方策として、ツールチップを表示するための専用のＧＵＩ画面を作成するという方法がある。ガイドキーが押された際に画面上に表示されているアプリケーションと同様のＧＵＩをガイドパネルに作成し、ガイドパネル上のタッチパネル操作に関してはそのＧＵＩが本来持つ処理を行うのではなく、ツールチップを表示する。これを実現するためには、表示されているＧＵＩに対して、同等の見た目をもつＧＵＩ画面を作成することが必要だが、アプリケーション作成者がアプリケーションの画面ごとにそのための画面を作成するのは手間である。
【００１１】
アプリケーション画面を作成することに関して、特許文献１は、既存のアプリケーションプログラムを変更せず、かつ全ての画面データを画面作成者が再作成することなく、本来の画面情報から必要な情報だけを抽出して自動的に変換画面することを達成するという案なので、この案を用いれば見た目に同様なＧＵＩをアプリケーション作成者の手間をかけることなく作成することができる。しかし、特許文献１では、変換画面で発生したイベントを変換前の画面上のイベントにリンクさせるので、ツールチップを表示するという変換前の画面にはなかった処理を行うことはできない。
【００１２】
本発明は前述の問題点にかんがみ、表示されているアプリケーションと同様の見た目を持つが、異なったイベント処理を行うＧＵＩ画面を自動的に作成することができるようにすることを目的としている。
【課題を解決するための手段】
【００１３】
グラフィカル・ユーザ・インタフェース（ＧＵＩ）を有する機器においてＧＵＩコンポーネントで構成されたＧＵＩ画面情報から新たなＧＵＩ画面を生成するＧＵＩ生成方法であって、表示中のアプリケーションの画面に関するＧＵＩ情報を取得するＧＵＩ情報取得ステップと、取得した前記ＧＵＩ情報に基づいて表示中のＧＵＩ画面と同様なＧＵＩ画面を生成するＧＵＩ画面生成ステップと、新たに生成した前記ＧＵＩ画面に対するイベント制御に関するイベント制御情報を取得するイベント制御情報取得ステップと、前記イベント制御情報 に基づいてイベント制御オブジェクトを生成するイベント制御オブジェクト生成ステップを有することを特徴とするＧＵＩ生成方法等、を提供する。
【発明の効果】
【００１４】
本発明によれば、アプリケーション画面と同様の見た目を持ち、かつアプリケーション画面とは異なるイベント処理を行う画面を自動的に作成するので、アプリケーション作成者はこの目的の別のアプリケーション画面をあらかじめプログラミングしておく必要がない。
【００１５】
また、本発明の他の特徴によれば、新たに生成するＧＵＩ画面で行うイベント処理に関して、発生するイベントの種類とそのイベントに対して行う処理を指定しておくことができるので、アプリケーション作成者が指定した柔軟なイベント処理を行う新規画面を生成することが可能になる。
【発明を実施するための最良の形態】
【００１６】
（第１の実施の形態）
図１は、本実施の形態におけるＧＵＩ生成方法を実行するデバイスの概略構成を示すブロック図である。デバイス１０１は、制御部１０２、記憶部１０３、表示部１０４、入力部１０５からなる。制御部１０２はＣＰＵ（Central Processing Unit）を備える。記憶部１０３はＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、ハードディスク等からなる。オペレーティングシステム、ウィンドウシステム、一般的なアプリケーション等の各種プログラム、プログラムが必要とするデータ等は、予めＲＯＭやハードディスクに記憶されている。プログラムはＲＡＭにロードされ、ロードされたプログラムをＣＰＵが処理することで実行される。
【００１７】
表示部１０４は、ＣＰＵで実行されたプログラムのＧＵＩを表示するＬＣＤであり、ＬＣＤ制御回路を備える。入力部１０５は、キーボードやデバイスに備え付けられたハードウェアキー、タッチパネル等からなる。ユーザによって各種キー、タッチパネルが操作されると、イベントが発生し、そのイベントを処理するプログラムが制御部１０２で実行される。本実施の形態ではＧＵＩ生成方法を実行するデバイスとして複写機を例として説明するが、ＰＣ、ＰＤＡ、携帯電話等、ＧＵＩを備えた情報処理装置であればよく、特に複写機に限定するものではない。
【００１８】
図２は、複写機のタッチパネルとハードウェアキーの一部を示す図である。
ハードウェアキーについてはリセットキー２０２、ガイドキー２０３、ユーザモードキー２０４を示した。タッチパネル２０１にはＧＵＩが表示されている様子を示している。２０５、２０６、２０７は表示するアプリケーションを切り替えるためのタブボタンを示してある。アプリケーションを起動するとアプリケーションを切り替えるためのタブボタンが表示される。図２ではアプリ１が表示されていることを意味している。
【００１９】
２１３はアプリケーションのＧＵＩを表示するアプリケーション表示領域である。アプリケーション１のＧＵＩはボタンコンポーネント「ボタン赤」２０８、ボタンコンポーネント「ボタン青」２０９、ボタンコンポーネント「ボタン緑」２１０、チョイスコンポーネント２１１、チョイスで選ばれた画像を表示するキャンバスコンポーネント２１２を備えている。
【００２０】
図３は、ガイドキー２０３を押した際にタッチパネル２０１に表示されるガイドパネルを表した図である。
ガイドキー２０３を押下すると、ガイドキー２０３を押下時に表示されているアプリケーション、アプリ１のＧＵＩ画面と同様の表示を行うＧＵＩ画面を持つガイドパネル３０１が表示される。この画面のコンポーネント部分をタッチすると各コンポーネントの説明文を伴なったツールチップが表示される。ガイドパネル３０１には「ボタン赤」部分をタッチした場合のツールチップ３０３が表示される。
【００２１】
本実施の形態では、図２、図３に示した状態を実現する方法について述べる。つまり、ガイドボタンを押下したことをトリガとして、その時点で表示されているアプリケーションのＧＵＩ画面を縮小したＧＵＩ画面が配置されたガイドパネルを表示させ、そして、そのパネルに配置されたＧＵＩ画面では、アプリケーション表示領域２１３に表示されたＧＵＩ画面でタッチした場合とは異なったイベント処理を行うようにする。
【００２２】
本実施の形態では、ガイドパネル上のＧＵＩ画面にタッチするとタッチしたコンポーネントに関してツールチップを表示するというイベント処理を行う。なお、本実施の形態ではタッチパネルに表示されるＧＵＩ画面を制御するモジュールをＧＵＩマネージャと呼ぶことにする。ＧＵＩマネージャはアプリケーションのＧＵＩ画面情報を保持しており、タブボタンの切り替えに従ってアプリケーション表示領域２１３に表示するＧＵＩ画面の制御をおこなう。
【００２３】
図４は、本実施の形態におけるデバイスの処理構成を表すブロック図である。
ＧＵＩ画面を持つアプリケーション４０２、アプリケーション４０２の情報をもとに新たなＧＵＩ画面を生成するＧＵＩ・イベント生成処理部４０１、生成したＧＵＩ画面を表示する表示部1０４、デバイスへの入力を行う入力部１０５を備える。
【００２４】
また、ＧＵＩ・イベント生成処理部４０１はさらに、ＧＵＩ情報取得手段４０３、ＧＵＩ画面生成手段４０４、イベント制御情報取得手段４０５、イベント制御オブジェクト生成手段４０６を備え、新たなＧＵＩ画面４０７、イベント制御を行うイベント制御オブジェクト４０８を生成する。なお、本実施の形態ではＧＵＩマネージャがＧＵＩ・イベント生成処理部の各処理を行う。
【００２５】
図５は、新たに生成されるＧＵＩ画面におけるイベント制御に関するイベント制御情報と、アプリケーションのＧＵＩコンポーネントとを関連付けて保持する仕組みを示す図である。本実施の形態では、ツールチップに表示する情報を保持するためのＧＵＩコンポーネントを用いて、アプリケーションのＧＵＩコンポーネントと新規ＧＵＩ画面におけるイベント制御情報を対応付ける。
【００２６】
図５の詳細を述べる前に、まずＧＵＩ画面の構造とＧＵＩコンポーネントについて述べる。ＧＵＩ画面は、ＧＵＩコンポーネントにＧＵＩコンポーネントを追加する形式で作成される。
【００２７】
例えば、アプリケーション表示領域２１３に表示されたアプリ１のＧＵＩ画面は、アプリケーション表示領域２１３のサイズと同じ大きさを持つパネルコンポーネントにボタンコンポーネント「ボタン赤」２０８、ボタンコンポーネント「ボタン青」２０９、ボタンコンポーネント「ボタン緑」２１０、チョイスコンポーネント２１１、画像を表示するキャンバスコンポーネント２１２が追加されたものである。コンポーネントが追加されたコンポーネントをさらに別のコンポーネントに追加することも可能である。
【００２８】
ＧＵＩコンポーネントは自分が追加されたＧＵＩコンポーネント（親）の情報を有している。逆に追加される側のＧＵＩコンポーネントは自分に追加されたＧＵＩコンポーネント（子）の情報を有している。この構造によりアプリケーションのＧＵＩ画面の最上位のＧＵＩコンポーネントから、ＧＵＩ画面を構成する全てのＧＵＩコンポーネントの情報を取得することができる。
【００２９】
それぞれのコンポーネントは、コンポーネントのサイズ情報、名前情報、表示するか否かを示すフラグ情報等の属性情報を保持している。チョイスコンポーネントは、ボタンコンポーネントにはない、チョイスの選択肢となる要素配列の情報、選択されている要素配列の番号などを有しており、それぞれのコンポーネントの種類によって必要な属性情報を保持している。
【００３０】
また、コンポーネントは、そのコンポーネントに対して発生したイベントの通知を受けるオブジェクトを登録する手段をもつ。コンポーネントに対してイベントが発生した場合は、登録されているイベント制御オブジェクト（イベントリスナー）にイベント通知される。イベントリスナーでは発生したイベントに対して実行する処理を記述しておく。
【００３１】
例えば、ボタンコンポーネント「ボタン赤」２０８を押下するとキャンバスコンポーネント２１２に表示されている乗り物の色を赤くする場合は、ボタンコンポーネント「ボタン赤」２０８を押下したことを通知するイベントに対して、キャンバスコンポーネントの乗りものを赤くする処理が記述されたイベントリスナーをボタンコンポーネント「ボタン赤」２１０に登録する。
【００３２】
以上説明したように、通常、ＧＵＩコンポーネントにＧＵＩコンポーネントを追加していくことでＧＵＩ画面を生成する。また、ＧＵＩコンポーネントで発生したイベントの処理は、ＧＵＩコンポーネントに登録したイベントリスナーで行われる。
【００３３】
本実施の形態では、特別なコンポーネントを生成し、ガイドパネルに配置する新規ＧＵＩ画面で発生するイベントに対するイベント制御情報を保持させる。この特別なＧＵＩコンポーネントをヘルプコンポーネントと呼ぶことにする。ヘルプコンポーネントには、イベント制御情報を登録するメソッド、通常のＧＵＩコンポーネントと同様に他のＧＵＩコンポーネントを追加するためのメソッドを備える。ただし、ヘルプコンポーネントは追加された部品コンポーネントと同じ大きさを有するもので、それ自体は表示されない。
【００３４】
図５では、アプリのパネルコンポーネントに、ボタンコンポーネントを追加したヘルプコンポーネントを追加している様子を示している。図中のヘルプコンポーネントには色がついているのは、ボタンコンポーネントが追加されていることを分かりやすく説明するためであり、実際に色がついていたり、追加されたボタンコンポーネントとの重なりにずれがあったりするわけではない。
【００３５】
ヘルプコンポーネントは、ＧＵＩコンポーネントを追加するaddメソッド、新たなＧＵＩ画面でイベントが起こった場合に表示するツールチップに収める文字列を登録するsetTooltipメソッドをもつ。setTooltipメソッドには引数としてツールチップに収める文字列を渡す。チョイスコンポーネントの場合は、チョイスの要素一つずつに異なるツールチップを表示することもあるので、setTooltipメソッドの引数として文字列の配列を渡すことでこれを実現する。新規ＧＵＩ画面のイベントに対してツールチップをつけないＧＵＩコンポーネントは通常のＧＵＩと同様に親となるＧＵＩコンポーネントにaddすればよい。
【００３６】
また、setTooltipで文字列を登録するだけでなく、ツールチップの色やサイズ、文字列のサイズを指定したり、ツールチップの領域に画像データも表示する場合は画像データが存在するパスが指定したりしてもよい。また、発生したイベントに対してツールチップに文字列を表示するとともに音声データを再生する場合は音声データを指定するパスが指定してもよい。
【００３７】
さらに、ツールチップを表示するイベントの種類を指定してもよい。例えば、setTooltipに文字列ＡとＧＵＩコンポーネントが押されたことを示すイベントの種類「pressed」を指定しておき、また、別の文字列ＢをＧＵＩコンポーネントから指が離されたことを示すイベント「released」を指定する。するとボタンが押された場合は文字列Ａが表示され、話したときに別の文字列Ｂが表示される。
【００３８】
本実施の形態ではツールチップの表示に特定しているが、全く別の処理を行うものであっても構わない。ヘルプコンポーネントに新規ＧＵＩコンポーネントで発生したイベントを処理するイベントリスナーを指定し、その種類のイベントが発生した場合にそのイベントリスナーが呼び出されるようにしておくことによりアプリケーションのＧＵＩ画面作成者が新規ＧＵＩにおける細かいイベント処理を指定させるようにしてもよい。
【００３９】
以上のようにアプリケーション４０２のＧＵＩ画面を構成するそれぞれのＧＵＩコンポーネントには、ヘルプコンポーネントを用いて新規ＧＵＩ画面におけるイベント制御に関する情報、本実施例ではツールチップに表示する文字列情報の情報を予め設定しておく。
【００４０】
次に、図４に示した新規ＧＵＩ画面を生成するための手段について、図６に示すフローチャートの処理フローとともに説明する。
ＧＵＩマネージャはガイドキー２０３が押下されたことを検知すると、ＧＵＩ情報取得手段４０３にて、その時点でアプリケーション表示領域２１３に表示されているアプリケーションを判別し、アプリケーションのＧＵＩ画面を構成するＧＵＩコンポーネントの情報を取得する（ステップＳ６０１）。
【００４１】
ＧＵＩマネージャはＧＵＩ画面の最も上位にある最上位パネルコンポーネントを各アプリケーションについて保持しており、選択されているタブに対応するアプリケーションのパネルコンポーネントを取得する。そして、最上位パネルコンポーネント（親）の情報から子のＧＵＩコンポーネントの情報を走査し、ＧＵＩ画面を構成する全てのＧＵＩコンポーネントの情報を取得する。
【００４２】
図７は、アプリケーション表示領域２１３に表示されているアプリ１のＧＵＩコンポーネントの情報を示した図である。最上位パネルにボタンコンポーネント「ボタン赤」２０８、ボタンコンポーネント「ボタン青」２０９、ボタンコンポーネント「ボタン緑」２１０と、チョイスコンポーネント２１１、キャンバスコンポーネント２１２が子コンポーネントとしてこの順番に追加されていることを表している。各コンポーネントはそれぞれコンポーネントのサイズ、色、名前、親コンポーネント内での表示位置等の情報を保持している。
【００４３】
次に、ＧＵＩ画面生成手段４０４は、ＧＵＩ情報取得手段４０４が取得したＧＵＩコンポーネント情報を解析して、新規ＧＵＩ画面に配置するＧＵＩコンポーネントを検出する（ステップＳ６０２）。
【００４４】
ＧＵＩ画面生成手段４０４はまず、ＧＵＩを構成する全てのコンポーネントに対して、「可視」設定になっているものを選択する。ＧＵＩコンポーネントはコンポーネントにaddしただけでは表示されず「可視」設定をすることで初めて表示される。また、上位コンポーネントで「可視」になっていない場合は下位コンポーネントが「可視」にならない。したがって、ＧＵＩ画面を構成する全てのコンポーネントが必ずしも表示されているわけではない。そこで、実際に「可視」なっているコンポーネントのみを選択する。
【００４５】
また、上位のＧＵＩコンポーネントに対して追加されている子ＧＵＩコンポーネントの追加された順番も解析する。アプリケーション表示領域２１３に表示されたアプリ１のＧＵＩ画面の場合は最上位パネルに追加された子コンポーネントは互いに重なっていないため、新規画面を生成する場合に大きな影響を与えないが、重なったＧＵＩコンポーネントを含んでいる場合は追加された順番によってＧＵＩ画面の見え方が変わるので新規ＧＵＩ画面をアプリケーションのＧＵＩ画面と同様にするためには重要な情報となる。
【００４６】
次に、検出した「可視」ＧＵＩコンポーネント情報と追加する順番情報をもとに新規ＧＵＩ画面を生成する（ステップＳ６０３）。「可視」ＧＵＩコンポーネントの情報、ＧＵＩコンポーネントの追加順番情報から新規ＧＵＩ画面を生成する。最上位パネルも含め、全ての「可視」ＧＵＩコンポーネントに対して別の新しいＧＵＩコンポーネントを生成し、図７に示すもとの構成と同じ構成を持つようにＧＵＩコンポーネントをこの構成図に示された順番に追加して新しいＧＵＩ画面を構築する。
【００４７】
もとのＧＵＩコンポーネントに対応する新規ＧＵＩコンポーネントを作成の手順を説明する。まず、もとのＧＵＩコンポーネントと同じ種類のＧＵＩコンポーネントを生成する。そして、ＧＵＩコンポーネント同じ属性値を設定する。例えば、図２のチョイスコンポーネント２１１の場合、別のチョイスコンポーネントオブジェクトを生成し、そのチョイスコンポーネントにもとのチョイスコンポーネントと同じチョイスアイテム（「Car」、「Truck」、「Boat」、「Train」）、選択アイテム（「Car」）に設定する。
【００４８】
このように基本的には同じ属性を設定するが、例外となる属性もある。本実施の形態においてはサイズ、表示位置、イベントリスナー等がこの例外的な属性となる。本実施の形態では新規ＧＵＩ画面を表示するガイドパネルのＧＵＩ表示領域３０２がもとのＧＵＩ画面が表示されているアプリケーション表示領域２１３より小さいので、新規ＧＵＩ画面は縮小したサイズで生成する。そのため新規ＧＵＩ画面上のコンポーネントも同じ縮小率で小さくしたものになる。
【００４９】
したがって、チョイスコンポーネントにはガイドパネルのＧＵＩ表示領域３０２とアプリケーション表示領域２１３から算出した縮小率を掛けたサイズ、表示位置（座標）を設定する。また、イベントリスナーについてはもとのＧＵＩコンポーネントに登録されているものとは異なるイベントリスナーを生成して登録する。イベントリスナーの生成手順については後述する。
【００５０】
生成した新規ＧＵＩコンポーネントをもとのＧＵＩコンポーネントの構成と同様になるように順番に追加して、新規ＧＵＩ画面４０７を生成する。本実施の形態では、図７に示すＧＵＩコンポーネントは全て「可視」なので、この構成どおりにＧＵＩコンポーネントを追加して新規ＧＵＩ画面を生成する。
【００５１】
上位パネルに、ボタンコンポーネント「ボタン赤」２０８、ボタンコンポーネント「ボタン青」２０９、ボタンコンポーネント「ボタン緑」２１０、チョイスコンポーネント２１１、キャンバスコンポーネント２１２を追加する。
【００５２】
なお、元々のＧＵＩ画面はヘルプコンポーネントに対してボタンコンポーネント「ボタン赤」２０８、ボタンコンポーネント「ボタン青」２０９等のＧＵＩコンポーネントが追加されている状態であるが、新規ＧＵＩ画面生成時にヘルプコンポーネントを除去してしまい、ヘルプコンポーネントに追加されているＧＵＩコンポーネントを直接ヘルプコンポーネントの親コンポーネントに追加するようにしても構わない。除去することにより新たに生成するオブジェクトの数を減らすことができる。以上の手順によりＧＵＩ画面の見た目の部分が構築される。
【００５３】
次のステップでは新規ＧＵＩ画面のイベントの制御に関する情報を、もとのＧＵＩコンポーネントから取得してイベントリスナーを生成する（ステップＳ６０４）。
【００５４】
イベントリスナーについて説明する。本実施の形態においては、ＧＵＩコンポーネントをタッチした際に発生するイベント通知を受けるイベントリスナーを設ける。このイベントリスナーをヘルプイベントリスナーと呼ぶことにする。
【００５５】
図８は、ヘルプイベントリスナーのプログラムコードの一例を示す図である。
ヘルプイベントリスナーは、発生したイベント通知を受け取るactionメソッド、ツールチップを表示する処理を行うdisplayTooltipメソッド、ＧＵＩコンポーネントとそのコンポーネントにイベントが発生した際にツールチップに表示する文字列を設定するsetEventInfoメソッド等を持つ。actionメソッドが受けるイベントにはイベントが発生したＧＵＩコンポーネントを識別する情報、ＧＵＩコンポーネント内のタッチされた要素の情報、タッチされた座標等の情報を含む。
【００５６】
イベントを受けるとactionメソッドでは、イベントが発生したＧＵＩコンポーネントを判別し、displayTooltipメソッド使用してそのＧＵＩコンポーネントに対応する文字列を指定ツールチップに表示する。ＧＵＩコンポーネントとそれに対する文字列は、setEventInfoメソッドで設定される。
【００５７】
イベント制御情報取得手段４０５にて前記ステップＳ６０３で生成した新規ＧＵＩ画面を構成する新規ＧＵＩコンポーネントと関連する元々のＧＵＩコンポーンネントからツールチップに表示する文字列を取得する。つまり、ヘルプコンポーネントを親コンポーネントに持つ「可視」ＧＵＩコンポーネントに関してツールチップ文字列を取得する。
【００５８】
そして、イベント制御オブジェクト生成手段４０６にて、ヘルプイベントリスナーオブジェクトを生成し、ヘルプイベントリスナーに用意されたインタフェースsetEventInfoメソッドを介してＧＵＩコンポーネントとツールチップに表示する文字列を登録する。登録された情報をもとにactionメソッドではイベントが発生すると、イベント発生もとのＧＵＩコンポーネントに指定の文字列を含むツールチップを表示する。
【００５９】
最後にイベント制御オブジェクト生成手段４０６は、ステップ６０４で生成したヘルプイベントリスナーオブジェクト（イベント制御オブジェクト４０８）をステップ６０３で生成した新規ＧＵＩ画面を構成するＧＵＩコンポーネントのイベントリスナーとして登録する（ステップ６０５）。
【００６０】
以上に示したステップによりアプリケーション表示領域２１３に表示されたＧＵＩ画面と同様の見た目を有するが、異なるイベント処理を行うＧＵＩ画面を生成することが可能となる。
【００６１】
生成した新規ＧＵＩ画面は最後にガイドパネルのＧＵＩ表示領域３０２に追加される。ガイドパネル上のＧＵＩコンポーネント部分を押下すると、イベントがそのＧＵＩコンポーネントに登録されているヘルプイベントリスナーに通知され、イベントに含まれているＧＵＩコンポーネントを識別する情報をキーにして表示する文字列を取得し、イベントに含まれる座標にツールチップを表示する。
【００６２】
ヘルプコンポーネントのsetTooltipメソッドにおいて、ツールチップの領域に画像データや音声データのパスを設定する例について示したが、このようにパスが指定されている場合は、ヘルプイベントリスナーのdisplayTooltipメソッドでは、パスの拡張子を判別し、画像データであればツールチップ内に画像を表示する処理、また、音声データであれば音声データを生成する処理を実行する。
【００６３】
また、前記にて、新規ＧＵＩコンポーネントで発生するイベントを処理するイベントリスナーをヘルプコンポーネントに設定するような構成についても述べた。この場合は、ヘルプイベントリスナーという新たなイベントリスナーを生成するのではなく、ヘルプコンポーネントに設定されているイベントリスナーを新規ＧＵＩコンポーネントに設定する。このように、アプリケーション作成者が作成したイベントリスナーを直接使用するＧＵＩ画面を生成することもできる。
【００６４】
（第２の実施の形態）
第１の実施の形態では、ヘルプコンポーネントを用いて新たなＧＵＩコンポーネントで表示するツールチップ文字列とＧＵＩコンポーネントを対応付けておいたが、本実施の形態ではヘルプコンポーネントを使用しない形態について説明する。
【００６５】
ＧＵＩコンポーネントは名前属性を持っており、個々のＧＵＩコンポーネントオブジェクト別に固有な名前を設定することができる。この属性を利用しそれぞれのＧＵＩコンポーネントオブジェクトそれぞれに固有な名前を設定しておく。アプリケーションはＧＵＩを生成するプログラムとは別に、ファイルを持ち、そのファイルでＧＵＩコンポーネント固有の名前とそのコンポーネントに対するツールチップの文字列を対応付けた情報を保持しておく。
【００６６】
図９は、アプリケーション表示領域２１３に表示されたアプリ１の画面に対するツールチップ文字列設定ファイルを示す。ボタンコンポーネント「ボタン赤」、「ボタン青」、「ボタン緑」、チョイスコンポーネント、キャンバスコンポーネントに対する名前「ButtonRed」、「ButtonBlue」、「ButtonGreen」、「Choice」、「Canvas」に対してツールチップで表示するツールチップ文字列を対応付けている。
ＧＵＩ画面生成手段４０４では、元々のＧＵＩコンポーネントの名前属性と同じ名前を新規ＧＵＩコンポーネントに設定する。イベント制御情報取得手段４０５では、新規ＧＵＩコンポーネントの名前を取得し、ツールチップ文字列設定ファイルにその名前に対してツールチップ文字列が設定されているかを検索する。検索した結果、ツールチップ文字列が設定されていれば、ヘルプイベントリスナーのsetEventInfoメソッドを使用してＧＵＩコンポーネントとツールチップ文字列を設定する。
以上の方法により、ヘルプコンポーネントを使用しなくても新規ＧＵＩ画面を生成できる。
【００６７】
（第３の実施の形態）
第１の実施の形態では、新規ＧＵＩ画面を生成するため、元々のＧＵＩ画面を構成するＧＵＩコンポーネントのそれぞれに対して新たなＧＵＩコンポーネントを生成した。本実施の形態では個々のＧＵＩコンポーネントに対する新規ＧＵＩコンポーネントを生成するのではなく、元々のＧＵＩ画面をキャプチャした画像を利用して新規ＧＵＩ画面を生成する。
【００６８】
ガイドキーが押された時点のアプリケーション表示領域の画像をキャプチャし、その画像をガイドパネルに貼り付ける。そして貼り付けた画像上でイベントが発生した位置座標から表示すべきツールチップ文字列を判別して、ツールチップを表示する。以下、これについてのＧＵＩ画面生成方法とイベント制御オブジェクト生成方法を述べる。
【００６９】
ＧＵＩ情報取得手段４０３は、第１の実施の形態と同様に、ステップ６０１でガイドキー押下時にアプリケーション表示領域２１３に表示されているアプリケーションを判別し、アプリケーションのＧＵＩ画面を構成するＧＵＩコンポーネントの情報を取得する。そして、同時にアプリケーション表示領域の画面をキャプチャした画像を取得する。タッチパネルに表示されている画面の情報は、ＶＲＡＭと呼ばれるメモリに保持されているのでガイドキーを押下した時点にタッチパネルに表示されている画面の画像キャプチャすることができる。キャプチャした画像からアプリケーション表示領域部分の画像のみを抽出する。
【００７０】
ＧＵＩ画面生成手段４０４は、抽出したアプリケーション表示領域画像を取得する。取得したアプリケーション表示領域画像は、ガイドパネル上ＧＵＩ表示領域３０２のサイズにあわせて縮小し、パネルに貼り付ける。貼り付けたパネルがＧＵＩ画面となる。
【００７１】
次に、イベント制御オブジェクト生成に関して説明する。まず、イベント制御情報取得手段４０５は、第１の実施の形態のＧＵＩ画面生成手段が行っていたＧＵＩ情報の解析を行い、「可視」ＧＵＩコンポーネントの選定とＧＵＩコンポーネント追加順序を検出し、イベント制御オブジェクト生成手段４０６に渡す。イベント制御オブジェクト生成手段４０６は「可視」ＧＵＩコンポーネント情報とＧＵＩコンポーネント追加順序の情報からイベント制御オブジェクトを生成する。
【００７２】
まず、各ＧＵＩコンポーネントの表示座標とサイズの値を抽出し、アプリケーション表示領域画像を生成する際の縮小率で表示座標、サイズの値を縮小する。図１０は、元のアプリケーションを構成するＧＵＩコンポーネントと、新規ＧＵＩ画面を構成するＧＵＩコンポーネントの表示座標とサイズ値を示す図である。
【００７３】
１００１はアプリケーション表示領域３１２に表示される各ＧＵＩコンポーネントの表示座標とサイズを表した表である。１００２は新規ＧＵＩ画面上のＧＵＩコンポーネントに関する表示座標とサイズ情報を収めたテーブルである。新規ＧＵＩ画面を構成するＧＵＩコンポーネントの表示座標とサイズの値は、アプリケーション表示領域２１３に対するＧＵＩ表示領域３０２の縮小率と同率の値に変換されている。本実施の形態では、０.８倍としている。
【００７４】
ところで、選択中の要素「Car」、選択肢の要素「Truck」、「Boat」、「Train」についても個々にツールチップを表示する場合は、チョイスコンポーネントの表示状態に関する情報を取得し、どの選択肢が表示されているかを把握する。本例の場合、選択されている「Car」と先頭から３つの要素「Truck」、「Boat」、「Train」が表示されているという情報を取得する。そして、それぞれの要素が表示されている座標情報を算出する。チョイスコンポーネントの座標、サイズから各要素「Car」、「Truck」、「Boat」、「Train」の表示座標、サイズをテーブルに記憶する。
【００７５】
次に、各ＧＵＩコンポーネントに関して表示するツールチップの文字列情報をテーブル１００２に収める。そして、最後にヘルプイベントリスナーオブジェクトを生成する。本実施例におけるヘルプイベントリスナーオブジェクトのプログラムコード例を図１１に示す。ヘルプイベントトスナーは第１の実施の形態のプログラムコードと同様のメソッドを有しているが、setEventInfoの引数が異なる。
【００７６】
本実施の形態では、setEventInfoメソッドにてＧＵＩコンポーネントを設定するのではなく、コンポーネントの座標と表示領域を指定する。指定された座標と表示領域の情報はactionメソッド内部で使用され、actionメソッド内では、発生したイベントの座標がどのＧＵＩコンポーネントの領域に入るか判定し、その領域上にあるＧＵＩコンポーネントに関するツールチップを表示する処理を行う。
【００７７】
全ての「可視」コンポーネントに対して、追加順序の順番に従ってsetEventInfoメソッドで座標、サイズとツールチップ文字列を登録する。追加順序の順番に従って登録するのは、ＧＵＩコンポーネントが重なっている場合に、見た目に一番上に表示されているコンポーネントの表示領域を再優先にイベント発生した座標をactionメソッド内で判別するためである。 こうすることでユーザがタッチした画像の位置に配置されているＧＵＩコンポーネントのツールチップが表示される。作成したヘルプイベントリスナーは、ＧＵＩ画像を貼り付けたパネルのイベントリスナーとして登録する。
【００７８】
以上の方法により、キャプチャ画面を利用して見た目に同様のＧＵＩ画面を作り、もとのＧＵＩ画面とは異なるイベント処理を行うイベントリスナーを生成することができる。
【００７９】
（本発明に係る他の実施の形態）
前述した本発明の実施の形態におけるＧＵＩ生成装置を構成する各手段、並びにＧＵＩ生成方法の各ステップは、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【００８０】
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施の形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００８１】
なお、本発明は、前述した実施の形態の機能を実現するソフトウェアのプログラム（実施の形態では図６に示すフローチャートに対応したプログラム）を、システムまたは装置に直接、または遠隔から供給し、そのシステムまたは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００８２】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００８３】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００８４】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ）などがある。
【００８５】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、前記ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【００８６】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００８７】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記録媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００８８】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施の形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施の形態の機能が実現され得る。
【００８９】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施の形態の機能が実現される。
【図面の簡単な説明】
【００９０】
【図１】本発明の第１の実施の形態におけるデバイスの概略構成を示すブロック図である。
【図２】本発明の第１の実施の形態における複写機のタッチパネルとハードウェアキーの一部を示す図である。
【図３】本発明の第１の実施の形態における複写機のガイドキーを押した場合のタッチパネルとハードキーの一部を示す図である。
【図４】本発明の第１の実施の形態における処理構成を示すブロック図である。
【図５】本発明の第１の実施の形態におけるイベント制御情報をＧＵＩコンポーネントと対応付ける方法を示す概念図を示す図である。
【図６】本発明の第１の実施の形態におけるＧＵＩ画面・イベントオブジェクト生成手順を示すフローチャートである。
【図７】本発明の第１の実施の形態におけるＧＵＩ画面を構成するＧＵＩコンポーネントの情報を示す図である。
【図８】本発明の第１の実施の形態におけるヘルプイベントリスナーのプログラムコードを示す図である。
【図９】本発明の第２の実施の形態におけるＧＵＩコンポーネントに対するツールチップ文字列を指定したファイルを示す図である。
【図１０】本発明の第３の実施の形態におけるＧＵＩコンポーネントに対するツールチップ文字列を指定したファイルを示す図である。
【図１１】本発明の第３の実施の形態におけるヘルプイベントリスナーのプログラムコードを示す図である。
【符号の説明】
【００９１】
１０１  デバイス
１０２  制御部
１０３  記憶部
１０４  表示部
１０５  入力部
２０１  タッチパネル
２０２  リセットキー
２０３  ガイドキー
２０４  ユーザモードキー
２０５  アプリ切り替えタブボタン「アプリ１」
２０６  アプリ切り替えタブボタン「アプリ２」
２０７  アプリ切り替えタブボタン「アプリ３」
２０８  ボタンコンポーネント「ボタン赤」
２０９  ボタンコンポーネント「ボタン青」
２１０  ボタンコンポーネント「ボタン緑」
２１１  チョイスコンポーネント
２１２  キャンバスコンポーネント
２１３  アプリケーション表示領域
３０１  ガイドパネル
３０２  ＧＵＩ表示領域
３０３  ツールチップ
４０１  ＧＵＩ・イベント生成処理部
４０２  アプリケーション
４０３  ＧＵＩ情報取得手段
４０４  ＧＵＩ画面生成手段
４０５  イベント制御情報取得手段
４０６  イベント制御オブジェクト生成手段
４０７  ＧＵＩ画面
４０８  イベント制御オブジェクト
１００１  各ＧＵＩコンポーネントの表示座標とサイズを表したテーブル
１００２  新規ＧＵＩ画面のイベント制御に関する情報記憶テーブル
【図１】
2007066077.tif 000003
【図２】
2007066077.tif 000004
【図３】
2007066077.tif 000005
【図４】
2007066077.tif 000006
【図５】
2007066077.tif 000007
【図６】
2007066077.tif 000008
【図７】
2007066077.tif 000009
【図８】
2007066077.tif 000010
【図９】
2007066077.tif 000011
【図１０】
2007066077.tif 000012
【図１１】
2007066077.tif 000013