JP2007066077A - Gui生成方法、gui生成装置、コンピュータプログラム及び記憶媒体 - Google Patents

Gui生成方法、gui生成装置、コンピュータプログラム及び記憶媒体 Download PDF

Info

Publication number
JP2007066077A
JP2007066077A JP2005252302A JP2005252302A JP2007066077A JP 2007066077 A JP2007066077 A JP 2007066077A JP 2005252302 A JP2005252302 A JP 2005252302A JP 2005252302 A JP2005252302 A JP 2005252302A JP 2007066077 A JP2007066077 A JP 2007066077A
Authority
JP
Japan
Prior art keywords
gui
information
component
screen
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.)
Pending
Application number
JP2005252302A
Other languages
English (en)
Inventor
Yoko Saino
陽子 齊野
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2005252302A priority Critical patent/JP2007066077A/ja
Publication of JP2007066077A publication Critical patent/JP2007066077A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)

Abstract

【課題】 表示されたアプリケーションのGUI画面と同様の見た目を持つが、異なるイベント処理を行うGUI画面を自動生成できるようにする。
【解決手段】 グラフィカル・ユーザ・インタフェース(GUI)を有する機器においてウィンドウ、ボタン等のGUIコンポーネントで構成されたGUI画面情報から見た目に同様な新たなGUI画面を生成するGUI生成方法であって、表示中のアプリケーションの画面に関するGUI情報を取得するGUI情報取得ステップと、取得した前記GUI情報に基づいて表示中のGUI画面と同様なGUI画面を生成するGUI画面生成ステップと、新たに生成した前記GUI画面に対するイベント制御に関するイベント制御情報を取得するステップと、前記イベント制御情報 に基づいてイベントを制御するイベント制御オブジェクト生成ステップを有し、見た目に同様なGUI画面と新たなイベント制御オブジェクトを生成する。
【選択図】 図1

Description

本発明はGUI生成方法、GUI生成装置、コンピュータプログラム及び記憶媒体に関し、実行画面上に表示されているGUIと同様の表示を行うが、イベントに対しては異なる処理を行うことができるGUIを作成する技術に関する。
PC、PDA、携帯電話等のコンシューマ機器から複写機を代表とするオフィス機器まで、様々な機器でGUI(Graphical User Interface)が採用されている。GUIとは、操作しやすいようにウィンドウやアイコン、ボタンなどを使い、機器を見た目にわかりやすく使用できるようにしたユーザインタフェースである。以後、ウィンドウ、アイコン、ボタン、スクロールバーなど、GUIを構成する部品をGUIコンポーネントと呼ぶ。
GUIコンポーネントを持つアプリケーションの中には、GUIコンポーネント、例えばボタンにマウスポインタを合わせると、ボタンに割り付けられた機能を説明する文字列が入った矩形型のラベルを表示するものがある。この矩形型のラベルをツールチップと呼ぶ。ボタン、アイコンなどのGUIコンポーネントに割り付けられた機能についての説明やGUIコンポーネント自体の説明など詳細な情報を簡単なマウスポインタの操作で閲覧することができる便利な機能である。
マウスを使用しないタッチパネルでは指やスタイラスと呼ばれるペンでGUIコンポーネントの選択やデータの入力を行う。タッチパネルでツールチップを表示する際の操作としては、ツールチップを表示したいGUIコンポーネントをタッチするというのが望ましい。
しかし、タッチパネルを採用している機器上のOSやウィンドウシステムの中にはマウスポインタを表示しないものもある。この環境でGUIコンポーネントにタッチすると、マウスを「クリック」した場合の動作として処理されるのでボタンであればボタンを押下したことになる。つまり、ボタンに割り当てられた処理を実行してしまい、ツールチップを表示させるという意図していた処理が実行されない。そのため、タッチ操作でツールチップを表示するための方法が必要であった。
一方、組込み機器ではある特定の処理を行うためにハードウェアキーが割り当てられている場合がある。コピー、スキャン、プリントといった機能を持つ複合複写機では、コピーやスキャンの開始、中止指示するスタート、ストップボタン、それぞれの機能に対して行った設定を初期状態に戻すためのリセットボタンなどが備わっている。また、複合複写機によっては、それぞれの機能の使い方や詳細情報を案内するためのパネルを表示させるためのガイドキーを持つものもある。ガイドキーを押すと、画面に表示されている機能に関する使い方を説明する情報をガイドパネルに表示する。
近年、アプリケーションを追加する仕組みを持った複合複写機が開発されている。上記のような特定の用途のために用意されたキーを押下した場合のアプリケーションの処理は、そのアプリケーションの種類にかかわらず統一的にそのキーに割り当てられた機能に合ったものであるべきである。例えば、アプリケーションに対してガイドキーが押下された場合にはそのアプリケーションの使い方や詳細情報を案内するガイドパネルが表示されることが望ましい。
ところで、従来、既存のアプリケーションプログラムを変更せず、かつ全ての画面データを画面作成者が再作成することなく、本来の画面情報から必要な情報だけを抽出して自動的に変換画面を作成する変換装置が提案されていた(特許文献1参照)。
特開平10−83269号公報
タッチパネル上でツールチップを表示するための方策として、ツールチップを表示するための専用のGUI画面を作成するという方法がある。ガイドキーが押された際に画面上に表示されているアプリケーションと同様のGUIをガイドパネルに作成し、ガイドパネル上のタッチパネル操作に関してはそのGUIが本来持つ処理を行うのではなく、ツールチップを表示する。これを実現するためには、表示されているGUIに対して、同等の見た目をもつGUI画面を作成することが必要だが、アプリケーション作成者がアプリケーションの画面ごとにそのための画面を作成するのは手間である。
アプリケーション画面を作成することに関して、特許文献1は、既存のアプリケーションプログラムを変更せず、かつ全ての画面データを画面作成者が再作成することなく、本来の画面情報から必要な情報だけを抽出して自動的に変換画面することを達成するという案なので、この案を用いれば見た目に同様なGUIをアプリケーション作成者の手間をかけることなく作成することができる。しかし、特許文献1では、変換画面で発生したイベントを変換前の画面上のイベントにリンクさせるので、ツールチップを表示するという変換前の画面にはなかった処理を行うことはできない。
本発明は前述の問題点にかんがみ、表示されているアプリケーションと同様の見た目を持つが、異なったイベント処理を行うGUI画面を自動的に作成することができるようにすることを目的としている。
グラフィカル・ユーザ・インタフェース(GUI)を有する機器においてGUIコンポーネントで構成されたGUI画面情報から新たなGUI画面を生成するGUI生成方法であって、表示中のアプリケーションの画面に関するGUI情報を取得するGUI情報取得ステップと、取得した前記GUI情報に基づいて表示中のGUI画面と同様なGUI画面を生成するGUI画面生成ステップと、新たに生成した前記GUI画面に対するイベント制御に関するイベント制御情報を取得するイベント制御情報取得ステップと、前記イベント制御情報 に基づいてイベント制御オブジェクトを生成するイベント制御オブジェクト生成ステップを有することを特徴とするGUI生成方法等、を提供する。
本発明によれば、アプリケーション画面と同様の見た目を持ち、かつアプリケーション画面とは異なるイベント処理を行う画面を自動的に作成するので、アプリケーション作成者はこの目的の別のアプリケーション画面をあらかじめプログラミングしておく必要がない。
また、本発明の他の特徴によれば、新たに生成するGUI画面で行うイベント処理に関して、発生するイベントの種類とそのイベントに対して行う処理を指定しておくことができるので、アプリケーション作成者が指定した柔軟なイベント処理を行う新規画面を生成することが可能になる。
(第1の実施の形態)
図1は、本実施の形態におけるGUI生成方法を実行するデバイスの概略構成を示すブロック図である。デバイス101は、制御部102、記憶部103、表示部104、入力部105からなる。制御部102はCPU(Central Processing Unit)を備える。記憶部103はROM(Read Only Memory)、RAM(Random Access Memory)、ハードディスク等からなる。オペレーティングシステム、ウィンドウシステム、一般的なアプリケーション等の各種プログラム、プログラムが必要とするデータ等は、予めROMやハードディスクに記憶されている。プログラムはRAMにロードされ、ロードされたプログラムをCPUが処理することで実行される。
表示部104は、CPUで実行されたプログラムのGUIを表示するLCDであり、LCD制御回路を備える。入力部105は、キーボードやデバイスに備え付けられたハードウェアキー、タッチパネル等からなる。ユーザによって各種キー、タッチパネルが操作されると、イベントが発生し、そのイベントを処理するプログラムが制御部102で実行される。本実施の形態ではGUI生成方法を実行するデバイスとして複写機を例として説明するが、PC、PDA、携帯電話等、GUIを備えた情報処理装置であればよく、特に複写機に限定するものではない。
図2は、複写機のタッチパネルとハードウェアキーの一部を示す図である。
ハードウェアキーについてはリセットキー202、ガイドキー203、ユーザモードキー204を示した。タッチパネル201にはGUIが表示されている様子を示している。205、206、207は表示するアプリケーションを切り替えるためのタブボタンを示してある。アプリケーションを起動するとアプリケーションを切り替えるためのタブボタンが表示される。図2ではアプリ1が表示されていることを意味している。
213はアプリケーションのGUIを表示するアプリケーション表示領域である。アプリケーション1のGUIはボタンコンポーネント「ボタン赤」208、ボタンコンポーネント「ボタン青」209、ボタンコンポーネント「ボタン緑」210、チョイスコンポーネント211、チョイスで選ばれた画像を表示するキャンバスコンポーネント212を備えている。
図3は、ガイドキー203を押した際にタッチパネル201に表示されるガイドパネルを表した図である。
ガイドキー203を押下すると、ガイドキー203を押下時に表示されているアプリケーション、アプリ1のGUI画面と同様の表示を行うGUI画面を持つガイドパネル301が表示される。この画面のコンポーネント部分をタッチすると各コンポーネントの説明文を伴なったツールチップが表示される。ガイドパネル301には「ボタン赤」部分をタッチした場合のツールチップ303が表示される。
本実施の形態では、図2、図3に示した状態を実現する方法について述べる。つまり、ガイドボタンを押下したことをトリガとして、その時点で表示されているアプリケーションのGUI画面を縮小したGUI画面が配置されたガイドパネルを表示させ、そして、そのパネルに配置されたGUI画面では、アプリケーション表示領域213に表示されたGUI画面でタッチした場合とは異なったイベント処理を行うようにする。
本実施の形態では、ガイドパネル上のGUI画面にタッチするとタッチしたコンポーネントに関してツールチップを表示するというイベント処理を行う。なお、本実施の形態ではタッチパネルに表示されるGUI画面を制御するモジュールをGUIマネージャと呼ぶことにする。GUIマネージャはアプリケーションのGUI画面情報を保持しており、タブボタンの切り替えに従ってアプリケーション表示領域213に表示するGUI画面の制御をおこなう。
図4は、本実施の形態におけるデバイスの処理構成を表すブロック図である。
GUI画面を持つアプリケーション402、アプリケーション402の情報をもとに新たなGUI画面を生成するGUI・イベント生成処理部401、生成したGUI画面を表示する表示部104、デバイスへの入力を行う入力部105を備える。
また、GUI・イベント生成処理部401はさらに、GUI情報取得手段403、GUI画面生成手段404、イベント制御情報取得手段405、イベント制御オブジェクト生成手段406を備え、新たなGUI画面407、イベント制御を行うイベント制御オブジェクト408を生成する。なお、本実施の形態ではGUIマネージャがGUI・イベント生成処理部の各処理を行う。
図5は、新たに生成されるGUI画面におけるイベント制御に関するイベント制御情報と、アプリケーションのGUIコンポーネントとを関連付けて保持する仕組みを示す図である。本実施の形態では、ツールチップに表示する情報を保持するためのGUIコンポーネントを用いて、アプリケーションのGUIコンポーネントと新規GUI画面におけるイベント制御情報を対応付ける。
図5の詳細を述べる前に、まずGUI画面の構造とGUIコンポーネントについて述べる。GUI画面は、GUIコンポーネントにGUIコンポーネントを追加する形式で作成される。
例えば、アプリケーション表示領域213に表示されたアプリ1のGUI画面は、アプリケーション表示領域213のサイズと同じ大きさを持つパネルコンポーネントにボタンコンポーネント「ボタン赤」208、ボタンコンポーネント「ボタン青」209、ボタンコンポーネント「ボタン緑」210、チョイスコンポーネント211、画像を表示するキャンバスコンポーネント212が追加されたものである。コンポーネントが追加されたコンポーネントをさらに別のコンポーネントに追加することも可能である。
GUIコンポーネントは自分が追加されたGUIコンポーネント(親)の情報を有している。逆に追加される側のGUIコンポーネントは自分に追加されたGUIコンポーネント(子)の情報を有している。この構造によりアプリケーションのGUI画面の最上位のGUIコンポーネントから、GUI画面を構成する全てのGUIコンポーネントの情報を取得することができる。
それぞれのコンポーネントは、コンポーネントのサイズ情報、名前情報、表示するか否かを示すフラグ情報等の属性情報を保持している。チョイスコンポーネントは、ボタンコンポーネントにはない、チョイスの選択肢となる要素配列の情報、選択されている要素配列の番号などを有しており、それぞれのコンポーネントの種類によって必要な属性情報を保持している。
また、コンポーネントは、そのコンポーネントに対して発生したイベントの通知を受けるオブジェクトを登録する手段をもつ。コンポーネントに対してイベントが発生した場合は、登録されているイベント制御オブジェクト(イベントリスナー)にイベント通知される。イベントリスナーでは発生したイベントに対して実行する処理を記述しておく。
例えば、ボタンコンポーネント「ボタン赤」208を押下するとキャンバスコンポーネント212に表示されている乗り物の色を赤くする場合は、ボタンコンポーネント「ボタン赤」208を押下したことを通知するイベントに対して、キャンバスコンポーネントの乗りものを赤くする処理が記述されたイベントリスナーをボタンコンポーネント「ボタン赤」210に登録する。
以上説明したように、通常、GUIコンポーネントにGUIコンポーネントを追加していくことでGUI画面を生成する。また、GUIコンポーネントで発生したイベントの処理は、GUIコンポーネントに登録したイベントリスナーで行われる。
本実施の形態では、特別なコンポーネントを生成し、ガイドパネルに配置する新規GUI画面で発生するイベントに対するイベント制御情報を保持させる。この特別なGUIコンポーネントをヘルプコンポーネントと呼ぶことにする。ヘルプコンポーネントには、イベント制御情報を登録するメソッド、通常のGUIコンポーネントと同様に他のGUIコンポーネントを追加するためのメソッドを備える。ただし、ヘルプコンポーネントは追加された部品コンポーネントと同じ大きさを有するもので、それ自体は表示されない。
図5では、アプリのパネルコンポーネントに、ボタンコンポーネントを追加したヘルプコンポーネントを追加している様子を示している。図中のヘルプコンポーネントには色がついているのは、ボタンコンポーネントが追加されていることを分かりやすく説明するためであり、実際に色がついていたり、追加されたボタンコンポーネントとの重なりにずれがあったりするわけではない。
ヘルプコンポーネントは、GUIコンポーネントを追加するaddメソッド、新たなGUI画面でイベントが起こった場合に表示するツールチップに収める文字列を登録するsetTooltipメソッドをもつ。setTooltipメソッドには引数としてツールチップに収める文字列を渡す。チョイスコンポーネントの場合は、チョイスの要素一つずつに異なるツールチップを表示することもあるので、setTooltipメソッドの引数として文字列の配列を渡すことでこれを実現する。新規GUI画面のイベントに対してツールチップをつけないGUIコンポーネントは通常のGUIと同様に親となるGUIコンポーネントにaddすればよい。
また、setTooltipで文字列を登録するだけでなく、ツールチップの色やサイズ、文字列のサイズを指定したり、ツールチップの領域に画像データも表示する場合は画像データが存在するパスが指定したりしてもよい。また、発生したイベントに対してツールチップに文字列を表示するとともに音声データを再生する場合は音声データを指定するパスが指定してもよい。
さらに、ツールチップを表示するイベントの種類を指定してもよい。例えば、setTooltipに文字列AとGUIコンポーネントが押されたことを示すイベントの種類「pressed」を指定しておき、また、別の文字列BをGUIコンポーネントから指が離されたことを示すイベント「released」を指定する。するとボタンが押された場合は文字列Aが表示され、話したときに別の文字列Bが表示される。
本実施の形態ではツールチップの表示に特定しているが、全く別の処理を行うものであっても構わない。ヘルプコンポーネントに新規GUIコンポーネントで発生したイベントを処理するイベントリスナーを指定し、その種類のイベントが発生した場合にそのイベントリスナーが呼び出されるようにしておくことによりアプリケーションのGUI画面作成者が新規GUIにおける細かいイベント処理を指定させるようにしてもよい。
以上のようにアプリケーション402のGUI画面を構成するそれぞれのGUIコンポーネントには、ヘルプコンポーネントを用いて新規GUI画面におけるイベント制御に関する情報、本実施例ではツールチップに表示する文字列情報の情報を予め設定しておく。
次に、図4に示した新規GUI画面を生成するための手段について、図6に示すフローチャートの処理フローとともに説明する。
GUIマネージャはガイドキー203が押下されたことを検知すると、GUI情報取得手段403にて、その時点でアプリケーション表示領域213に表示されているアプリケーションを判別し、アプリケーションのGUI画面を構成するGUIコンポーネントの情報を取得する(ステップS601)。
GUIマネージャはGUI画面の最も上位にある最上位パネルコンポーネントを各アプリケーションについて保持しており、選択されているタブに対応するアプリケーションのパネルコンポーネントを取得する。そして、最上位パネルコンポーネント(親)の情報から子のGUIコンポーネントの情報を走査し、GUI画面を構成する全てのGUIコンポーネントの情報を取得する。
図7は、アプリケーション表示領域213に表示されているアプリ1のGUIコンポーネントの情報を示した図である。最上位パネルにボタンコンポーネント「ボタン赤」208、ボタンコンポーネント「ボタン青」209、ボタンコンポーネント「ボタン緑」210と、チョイスコンポーネント211、キャンバスコンポーネント212が子コンポーネントとしてこの順番に追加されていることを表している。各コンポーネントはそれぞれコンポーネントのサイズ、色、名前、親コンポーネント内での表示位置等の情報を保持している。
次に、GUI画面生成手段404は、GUI情報取得手段404が取得したGUIコンポーネント情報を解析して、新規GUI画面に配置するGUIコンポーネントを検出する(ステップS602)。
GUI画面生成手段404はまず、GUIを構成する全てのコンポーネントに対して、「可視」設定になっているものを選択する。GUIコンポーネントはコンポーネントにaddしただけでは表示されず「可視」設定をすることで初めて表示される。また、上位コンポーネントで「可視」になっていない場合は下位コンポーネントが「可視」にならない。したがって、GUI画面を構成する全てのコンポーネントが必ずしも表示されているわけではない。そこで、実際に「可視」なっているコンポーネントのみを選択する。
また、上位のGUIコンポーネントに対して追加されている子GUIコンポーネントの追加された順番も解析する。アプリケーション表示領域213に表示されたアプリ1のGUI画面の場合は最上位パネルに追加された子コンポーネントは互いに重なっていないため、新規画面を生成する場合に大きな影響を与えないが、重なったGUIコンポーネントを含んでいる場合は追加された順番によってGUI画面の見え方が変わるので新規GUI画面をアプリケーションのGUI画面と同様にするためには重要な情報となる。
次に、検出した「可視」GUIコンポーネント情報と追加する順番情報をもとに新規GUI画面を生成する(ステップS603)。「可視」GUIコンポーネントの情報、GUIコンポーネントの追加順番情報から新規GUI画面を生成する。最上位パネルも含め、全ての「可視」GUIコンポーネントに対して別の新しいGUIコンポーネントを生成し、図7に示すもとの構成と同じ構成を持つようにGUIコンポーネントをこの構成図に示された順番に追加して新しいGUI画面を構築する。
もとのGUIコンポーネントに対応する新規GUIコンポーネントを作成の手順を説明する。まず、もとのGUIコンポーネントと同じ種類のGUIコンポーネントを生成する。そして、GUIコンポーネント同じ属性値を設定する。例えば、図2のチョイスコンポーネント211の場合、別のチョイスコンポーネントオブジェクトを生成し、そのチョイスコンポーネントにもとのチョイスコンポーネントと同じチョイスアイテム(「Car」、「Truck」、「Boat」、「Train」)、選択アイテム(「Car」)に設定する。
このように基本的には同じ属性を設定するが、例外となる属性もある。本実施の形態においてはサイズ、表示位置、イベントリスナー等がこの例外的な属性となる。本実施の形態では新規GUI画面を表示するガイドパネルのGUI表示領域302がもとのGUI画面が表示されているアプリケーション表示領域213より小さいので、新規GUI画面は縮小したサイズで生成する。そのため新規GUI画面上のコンポーネントも同じ縮小率で小さくしたものになる。
したがって、チョイスコンポーネントにはガイドパネルのGUI表示領域302とアプリケーション表示領域213から算出した縮小率を掛けたサイズ、表示位置(座標)を設定する。また、イベントリスナーについてはもとのGUIコンポーネントに登録されているものとは異なるイベントリスナーを生成して登録する。イベントリスナーの生成手順については後述する。
生成した新規GUIコンポーネントをもとのGUIコンポーネントの構成と同様になるように順番に追加して、新規GUI画面407を生成する。本実施の形態では、図7に示すGUIコンポーネントは全て「可視」なので、この構成どおりにGUIコンポーネントを追加して新規GUI画面を生成する。
上位パネルに、ボタンコンポーネント「ボタン赤」208、ボタンコンポーネント「ボタン青」209、ボタンコンポーネント「ボタン緑」210、チョイスコンポーネント211、キャンバスコンポーネント212を追加する。
なお、元々のGUI画面はヘルプコンポーネントに対してボタンコンポーネント「ボタン赤」208、ボタンコンポーネント「ボタン青」209等のGUIコンポーネントが追加されている状態であるが、新規GUI画面生成時にヘルプコンポーネントを除去してしまい、ヘルプコンポーネントに追加されているGUIコンポーネントを直接ヘルプコンポーネントの親コンポーネントに追加するようにしても構わない。除去することにより新たに生成するオブジェクトの数を減らすことができる。以上の手順によりGUI画面の見た目の部分が構築される。
次のステップでは新規GUI画面のイベントの制御に関する情報を、もとのGUIコンポーネントから取得してイベントリスナーを生成する(ステップS604)。
イベントリスナーについて説明する。本実施の形態においては、GUIコンポーネントをタッチした際に発生するイベント通知を受けるイベントリスナーを設ける。このイベントリスナーをヘルプイベントリスナーと呼ぶことにする。
図8は、ヘルプイベントリスナーのプログラムコードの一例を示す図である。
ヘルプイベントリスナーは、発生したイベント通知を受け取るactionメソッド、ツールチップを表示する処理を行うdisplayTooltipメソッド、GUIコンポーネントとそのコンポーネントにイベントが発生した際にツールチップに表示する文字列を設定するsetEventInfoメソッド等を持つ。actionメソッドが受けるイベントにはイベントが発生したGUIコンポーネントを識別する情報、GUIコンポーネント内のタッチされた要素の情報、タッチされた座標等の情報を含む。
イベントを受けるとactionメソッドでは、イベントが発生したGUIコンポーネントを判別し、displayTooltipメソッド使用してそのGUIコンポーネントに対応する文字列を指定ツールチップに表示する。GUIコンポーネントとそれに対する文字列は、setEventInfoメソッドで設定される。
イベント制御情報取得手段405にて前記ステップS603で生成した新規GUI画面を構成する新規GUIコンポーネントと関連する元々のGUIコンポーンネントからツールチップに表示する文字列を取得する。つまり、ヘルプコンポーネントを親コンポーネントに持つ「可視」GUIコンポーネントに関してツールチップ文字列を取得する。
そして、イベント制御オブジェクト生成手段406にて、ヘルプイベントリスナーオブジェクトを生成し、ヘルプイベントリスナーに用意されたインタフェースsetEventInfoメソッドを介してGUIコンポーネントとツールチップに表示する文字列を登録する。登録された情報をもとにactionメソッドではイベントが発生すると、イベント発生もとのGUIコンポーネントに指定の文字列を含むツールチップを表示する。
最後にイベント制御オブジェクト生成手段406は、ステップ604で生成したヘルプイベントリスナーオブジェクト(イベント制御オブジェクト408)をステップ603で生成した新規GUI画面を構成するGUIコンポーネントのイベントリスナーとして登録する(ステップ605)。
以上に示したステップによりアプリケーション表示領域213に表示されたGUI画面と同様の見た目を有するが、異なるイベント処理を行うGUI画面を生成することが可能となる。
生成した新規GUI画面は最後にガイドパネルのGUI表示領域302に追加される。ガイドパネル上のGUIコンポーネント部分を押下すると、イベントがそのGUIコンポーネントに登録されているヘルプイベントリスナーに通知され、イベントに含まれているGUIコンポーネントを識別する情報をキーにして表示する文字列を取得し、イベントに含まれる座標にツールチップを表示する。
ヘルプコンポーネントのsetTooltipメソッドにおいて、ツールチップの領域に画像データや音声データのパスを設定する例について示したが、このようにパスが指定されている場合は、ヘルプイベントリスナーのdisplayTooltipメソッドでは、パスの拡張子を判別し、画像データであればツールチップ内に画像を表示する処理、また、音声データであれば音声データを生成する処理を実行する。
また、前記にて、新規GUIコンポーネントで発生するイベントを処理するイベントリスナーをヘルプコンポーネントに設定するような構成についても述べた。この場合は、ヘルプイベントリスナーという新たなイベントリスナーを生成するのではなく、ヘルプコンポーネントに設定されているイベントリスナーを新規GUIコンポーネントに設定する。このように、アプリケーション作成者が作成したイベントリスナーを直接使用するGUI画面を生成することもできる。
(第2の実施の形態)
第1の実施の形態では、ヘルプコンポーネントを用いて新たなGUIコンポーネントで表示するツールチップ文字列とGUIコンポーネントを対応付けておいたが、本実施の形態ではヘルプコンポーネントを使用しない形態について説明する。
GUIコンポーネントは名前属性を持っており、個々のGUIコンポーネントオブジェクト別に固有な名前を設定することができる。この属性を利用しそれぞれのGUIコンポーネントオブジェクトそれぞれに固有な名前を設定しておく。アプリケーションはGUIを生成するプログラムとは別に、ファイルを持ち、そのファイルでGUIコンポーネント固有の名前とそのコンポーネントに対するツールチップの文字列を対応付けた情報を保持しておく。
図9は、アプリケーション表示領域213に表示されたアプリ1の画面に対するツールチップ文字列設定ファイルを示す。ボタンコンポーネント「ボタン赤」、「ボタン青」、「ボタン緑」、チョイスコンポーネント、キャンバスコンポーネントに対する名前「ButtonRed」、「ButtonBlue」、「ButtonGreen」、「Choice」、「Canvas」に対してツールチップで表示するツールチップ文字列を対応付けている。
GUI画面生成手段404では、元々のGUIコンポーネントの名前属性と同じ名前を新規GUIコンポーネントに設定する。イベント制御情報取得手段405では、新規GUIコンポーネントの名前を取得し、ツールチップ文字列設定ファイルにその名前に対してツールチップ文字列が設定されているかを検索する。検索した結果、ツールチップ文字列が設定されていれば、ヘルプイベントリスナーのsetEventInfoメソッドを使用してGUIコンポーネントとツールチップ文字列を設定する。
以上の方法により、ヘルプコンポーネントを使用しなくても新規GUI画面を生成できる。
(第3の実施の形態)
第1の実施の形態では、新規GUI画面を生成するため、元々のGUI画面を構成するGUIコンポーネントのそれぞれに対して新たなGUIコンポーネントを生成した。本実施の形態では個々のGUIコンポーネントに対する新規GUIコンポーネントを生成するのではなく、元々のGUI画面をキャプチャした画像を利用して新規GUI画面を生成する。
ガイドキーが押された時点のアプリケーション表示領域の画像をキャプチャし、その画像をガイドパネルに貼り付ける。そして貼り付けた画像上でイベントが発生した位置座標から表示すべきツールチップ文字列を判別して、ツールチップを表示する。以下、これについてのGUI画面生成方法とイベント制御オブジェクト生成方法を述べる。
GUI情報取得手段403は、第1の実施の形態と同様に、ステップ601でガイドキー押下時にアプリケーション表示領域213に表示されているアプリケーションを判別し、アプリケーションのGUI画面を構成するGUIコンポーネントの情報を取得する。そして、同時にアプリケーション表示領域の画面をキャプチャした画像を取得する。タッチパネルに表示されている画面の情報は、VRAMと呼ばれるメモリに保持されているのでガイドキーを押下した時点にタッチパネルに表示されている画面の画像キャプチャすることができる。キャプチャした画像からアプリケーション表示領域部分の画像のみを抽出する。
GUI画面生成手段404は、抽出したアプリケーション表示領域画像を取得する。取得したアプリケーション表示領域画像は、ガイドパネル上GUI表示領域302のサイズにあわせて縮小し、パネルに貼り付ける。貼り付けたパネルがGUI画面となる。
次に、イベント制御オブジェクト生成に関して説明する。まず、イベント制御情報取得手段405は、第1の実施の形態のGUI画面生成手段が行っていたGUI情報の解析を行い、「可視」GUIコンポーネントの選定とGUIコンポーネント追加順序を検出し、イベント制御オブジェクト生成手段406に渡す。イベント制御オブジェクト生成手段406は「可視」GUIコンポーネント情報とGUIコンポーネント追加順序の情報からイベント制御オブジェクトを生成する。
まず、各GUIコンポーネントの表示座標とサイズの値を抽出し、アプリケーション表示領域画像を生成する際の縮小率で表示座標、サイズの値を縮小する。図10は、元のアプリケーションを構成するGUIコンポーネントと、新規GUI画面を構成するGUIコンポーネントの表示座標とサイズ値を示す図である。
1001はアプリケーション表示領域312に表示される各GUIコンポーネントの表示座標とサイズを表した表である。1002は新規GUI画面上のGUIコンポーネントに関する表示座標とサイズ情報を収めたテーブルである。新規GUI画面を構成するGUIコンポーネントの表示座標とサイズの値は、アプリケーション表示領域213に対するGUI表示領域302の縮小率と同率の値に変換されている。本実施の形態では、0.8倍としている。
ところで、選択中の要素「Car」、選択肢の要素「Truck」、「Boat」、「Train」についても個々にツールチップを表示する場合は、チョイスコンポーネントの表示状態に関する情報を取得し、どの選択肢が表示されているかを把握する。本例の場合、選択されている「Car」と先頭から3つの要素「Truck」、「Boat」、「Train」が表示されているという情報を取得する。そして、それぞれの要素が表示されている座標情報を算出する。チョイスコンポーネントの座標、サイズから各要素「Car」、「Truck」、「Boat」、「Train」の表示座標、サイズをテーブルに記憶する。
次に、各GUIコンポーネントに関して表示するツールチップの文字列情報をテーブル1002に収める。そして、最後にヘルプイベントリスナーオブジェクトを生成する。本実施例におけるヘルプイベントリスナーオブジェクトのプログラムコード例を図11に示す。ヘルプイベントトスナーは第1の実施の形態のプログラムコードと同様のメソッドを有しているが、setEventInfoの引数が異なる。
本実施の形態では、setEventInfoメソッドにてGUIコンポーネントを設定するのではなく、コンポーネントの座標と表示領域を指定する。指定された座標と表示領域の情報はactionメソッド内部で使用され、actionメソッド内では、発生したイベントの座標がどのGUIコンポーネントの領域に入るか判定し、その領域上にあるGUIコンポーネントに関するツールチップを表示する処理を行う。
全ての「可視」コンポーネントに対して、追加順序の順番に従ってsetEventInfoメソッドで座標、サイズとツールチップ文字列を登録する。追加順序の順番に従って登録するのは、GUIコンポーネントが重なっている場合に、見た目に一番上に表示されているコンポーネントの表示領域を再優先にイベント発生した座標をactionメソッド内で判別するためである。 こうすることでユーザがタッチした画像の位置に配置されているGUIコンポーネントのツールチップが表示される。作成したヘルプイベントリスナーは、GUI画像を貼り付けたパネルのイベントリスナーとして登録する。
以上の方法により、キャプチャ画面を利用して見た目に同様のGUI画面を作り、もとのGUI画面とは異なるイベント処理を行うイベントリスナーを生成することができる。
(本発明に係る他の実施の形態)
前述した本発明の実施の形態におけるGUI生成装置を構成する各手段、並びにGUI生成方法の各ステップは、コンピュータのRAMやROMなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施の形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
なお、本発明は、前述した実施の形態の機能を実現するソフトウェアのプログラム(実施の形態では図6に示すフローチャートに対応したプログラム)を、システムまたは装置に直接、または遠隔から供給し、そのシステムまたは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM、DVD−R)などがある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、前記ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記録媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施の形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施の形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施の形態の機能が実現される。
本発明の第1の実施の形態におけるデバイスの概略構成を示すブロック図である。 本発明の第1の実施の形態における複写機のタッチパネルとハードウェアキーの一部を示す図である。 本発明の第1の実施の形態における複写機のガイドキーを押した場合のタッチパネルとハードキーの一部を示す図である。 本発明の第1の実施の形態における処理構成を示すブロック図である。 本発明の第1の実施の形態におけるイベント制御情報をGUIコンポーネントと対応付ける方法を示す概念図を示す図である。 本発明の第1の実施の形態におけるGUI画面・イベントオブジェクト生成手順を示すフローチャートである。 本発明の第1の実施の形態におけるGUI画面を構成するGUIコンポーネントの情報を示す図である。 本発明の第1の実施の形態におけるヘルプイベントリスナーのプログラムコードを示す図である。 本発明の第2の実施の形態におけるGUIコンポーネントに対するツールチップ文字列を指定したファイルを示す図である。 本発明の第3の実施の形態におけるGUIコンポーネントに対するツールチップ文字列を指定したファイルを示す図である。 本発明の第3の実施の形態におけるヘルプイベントリスナーのプログラムコードを示す図である。
符号の説明
101 デバイス
102 制御部
103 記憶部
104 表示部
105 入力部
201 タッチパネル
202 リセットキー
203 ガイドキー
204 ユーザモードキー
205 アプリ切り替えタブボタン「アプリ1」
206 アプリ切り替えタブボタン「アプリ2」
207 アプリ切り替えタブボタン「アプリ3」
208 ボタンコンポーネント「ボタン赤」
209 ボタンコンポーネント「ボタン青」
210 ボタンコンポーネント「ボタン緑」
211 チョイスコンポーネント
212 キャンバスコンポーネント
213 アプリケーション表示領域
301 ガイドパネル
302 GUI表示領域
303 ツールチップ
401 GUI・イベント生成処理部
402 アプリケーション
403 GUI情報取得手段
404 GUI画面生成手段
405 イベント制御情報取得手段
406 イベント制御オブジェクト生成手段
407 GUI画面
408 イベント制御オブジェクト
1001 各GUIコンポーネントの表示座標とサイズを表したテーブル
1002 新規GUI画面のイベント制御に関する情報記憶テーブル

Claims (18)

  1. グラフィカル・ユーザ・インタフェース(GUI)を有する機器において、GUIコンポーネントで構成されたGUI画面情報から新たなGUI画面を生成するGUI生成方法であって、
    表示中のアプリケーションの画面に関するGUI情報を取得するGUI情報取得ステップと、
    前記GUI情報取得ステップによって取得したGUI情報に基づいて表示中のGUI画面と同様なGUI画面を生成するGUI画面生成ステップと、
    前記GUI画面生成ステップによって新たに生成されたGUI画面に対するイベント制御に関するイベント制御情報を取得するイベント制御情報取得ステップと、
    前記イベント制御情報に基づいてイベント制御オブジェクトを生成するイベント制御オブジェクト生成ステップとを有することを特徴とするGUI生成方法。
  2. 前記アプリケーション画面のGUIコンポーネントは、前記イベント制御情報を含むか、もしくは、前記イベント制御情報を取得するための情報を備えることを特徴とする請求項1に記載のGUI生成方法。
  3. 前記イベント制御情報の設定及び保持を行うコンポーネントに前記GUIコンポーネントを登録することで前記表示中のアプリケーション画面のGUIコンポーネントと前記イベント制御情報とを関連付ける関連付けステップを有することを特徴とする請求項1または2に記載のGUI生成方法。
  4. 前記GUI情報取得ステップによって取得されるGUI情報は、前記アプリケーション画面を構成するGUIコンポーネントの情報であることを特徴とする請求項1〜3の何れか1項に記載のGUI生成方法。
  5. 前記GUI情報取得ステップによって取得されるGUI情報は、前記アプリケーション画面を構成するGUIコンポーネントの情報であるとともに前記アプリケーション画面をキャプチャした画像情報であることを特徴とする請求項1〜3の何れか1項に記載のGUI生成方法。
  6. 前記イベント制御情報ステップによって取得されるイベント制御情報は、新たに生成したGUIコンポーネントにおいて発生したイベントに対して表示するツールチップ内の文字列、画像等の情報、もしくは、イベントに基づいて再生する音声情報であることを特徴とする請求項1〜5の何れか1項に記載のGUI生成方法。
  7. 前記イベント制御情報ステップによって取得されるイベント制御情報は、発生するイベントの種類と前記イベントに対して行う処理とに関する情報であることを特徴とする請求項1〜6の何れか1項に記載のGUI生成方法。
  8. グラフィカル・ユーザ・インタフェース(GUI)を有する機器において、GUIコンポーネントで構成されたGUI画面情報から新たなGUI画面を生成するGUI生成装置であって、
    表示中のアプリケーションの画面に関するGUI情報を取得するGUI情報取得手段と、
    前記GUI情報取得手段によって取得されたGUI情報に基づいて表示中のGUI画面と同様なGUI画面を生成するGUI画面生成手段と、
    前記GUI画面生成手段によって新たに生成されたGUI画面に対するイベント制御に関するイベント制御情報を取得するイベント制御情報取得手段と、
    前記イベント制御情報に基づいてイベント制御オブジェクトを生成するイベント制御オブジェクト生成手段とを有することを特徴とするGUI生成装置。
  9. 前記アプリケーション画面のGUIコンポーネントは、前記イベント制御情報を含むか、もしくは、前記イベント制御情報を取得するための情報を備えることを特徴とする請求項8に記載のGUI生成装置。
  10. 前記イベント制御情報の設定及び保持を行うコンポーネントに前記GUIコンポーネントを登録することで前記表示中のアプリケーション画面のGUIコンポーネントと前記イベント制御情報とを関連付ける関連付け手段を有することを特徴とする請求項8または9に記載のGUI生成装置。
  11. 前記GUI情報取得手段によって取得されるGUI情報は、前記アプリケーション画面を構成するGUIコンポーネントの情報であることを特徴とする請求項8〜10の何れか1項に記載のGUI生成装置。
  12. 前記GUI情報取得手段によって取得されるGUI情報は、前記アプリケーション画面を構成するGUIコンポーネントの情報であるとともに前記アプリケーション画面をキャプチャした画像情報であることを特徴とする請求項8〜10の何れか1項に記載のGUI生成装置。
  13. 前記イベント制御情報手段によって取得されるイベント制御情報は、新たに生成したGUIコンポーネントにおいて発生したイベントに対して表示するツールチップ内の文字列、画像等の情報、もしくは、イベントに基づいて再生する音声情報であることを特徴とする請求項8〜12の何れか1項に記載のGUI生成装置。
  14. 前記イベント制御情報手段で取得するイベント制御情報とは、発生するイベントの種類と前記イベントに対して行う処理とに関する情報であることを特徴とする請求項8〜13の何れか1項に記載のGUI生成装置。
  15. 請求項1〜7の何れか1項に記載のGUI生成方法の各ステップをコンピュータに実行させることを特徴とするコンピュータプログラム。
  16. 請求項8〜14の何れか1項に記載のGUI生成装置の各手段としてコンピュータを機能させることを特徴とするコンピュータプログラム。
  17. 請求項1〜7の何れか1項に記載のGUI生成方法の各ステップをコンピュータに実行させるためのプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。
  18. 請求項8〜14の何れか1項に記載のGUI生成装置の各手段としてコンピュータを機能させるためのプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。
JP2005252302A 2005-08-31 2005-08-31 Gui生成方法、gui生成装置、コンピュータプログラム及び記憶媒体 Pending JP2007066077A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005252302A JP2007066077A (ja) 2005-08-31 2005-08-31 Gui生成方法、gui生成装置、コンピュータプログラム及び記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005252302A JP2007066077A (ja) 2005-08-31 2005-08-31 Gui生成方法、gui生成装置、コンピュータプログラム及び記憶媒体

Publications (1)

Publication Number Publication Date
JP2007066077A true JP2007066077A (ja) 2007-03-15

Family

ID=37928183

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005252302A Pending JP2007066077A (ja) 2005-08-31 2005-08-31 Gui生成方法、gui生成装置、コンピュータプログラム及び記憶媒体

Country Status (1)

Country Link
JP (1) JP2007066077A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508675A (zh) * 2011-12-28 2012-06-20 Tcl集团股份有限公司 基于android平台鼠标移动的响应处理方法及装置
JP2014219737A (ja) * 2013-05-01 2014-11-20 キヤノン株式会社 表示制御装置、表示制御方法、及びプログラム
JP2017220249A (ja) * 2017-08-01 2017-12-14 キヤノン株式会社 表示制御装置、表示制御方法、及びプログラム
JP2021002088A (ja) * 2019-06-19 2021-01-07 株式会社オービック アプリケーション開発装置、アプリケーション開発方法、及びアプリケーション開発プログラム
CN113126992A (zh) * 2021-05-11 2021-07-16 南京炫佳网络科技有限公司 一种控件元素的控制方法、装置、设备及存储介质

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508675A (zh) * 2011-12-28 2012-06-20 Tcl集团股份有限公司 基于android平台鼠标移动的响应处理方法及装置
JP2014219737A (ja) * 2013-05-01 2014-11-20 キヤノン株式会社 表示制御装置、表示制御方法、及びプログラム
US9727349B2 (en) 2013-05-01 2017-08-08 Canon Kabushiki Kaisha Display control apparatus, display control method, and storage medium
JP2017220249A (ja) * 2017-08-01 2017-12-14 キヤノン株式会社 表示制御装置、表示制御方法、及びプログラム
JP2021002088A (ja) * 2019-06-19 2021-01-07 株式会社オービック アプリケーション開発装置、アプリケーション開発方法、及びアプリケーション開発プログラム
JP7411341B2 (ja) 2019-06-19 2024-01-11 株式会社オービック アプリケーション開発装置、アプリケーション開発方法、及びアプリケーション開発プログラム
CN113126992A (zh) * 2021-05-11 2021-07-16 南京炫佳网络科技有限公司 一种控件元素的控制方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
JP4270391B2 (ja) マルチメディア・ファイルのツールチップ
CN109690481A (zh) 动态功能行定制
WO2017211072A1 (zh) 幻灯片播放控制方法和装置
US8422105B2 (en) Image forming apparatus including a display apparatus having a memory cofigured to retain settings concerning components forming a display component, a display control method, and a computer-readable recording medium thereof
JP2007304669A (ja) 電子機器の制御方法およびプログラム
JP6051670B2 (ja) 画像処理装置、画像処理システム、画像処理方法およびプログラム
JP2008269554A (ja) ソースコード生成装置
JP5935456B2 (ja) 画像処理装置
JP2022183351A (ja) 情報処理装置及びプログラム
JP2011070472A (ja) アプリケーション開発支援方法、システム、及びプログラム
JP2007066077A (ja) Gui生成方法、gui生成装置、コンピュータプログラム及び記憶媒体
JP4922769B2 (ja) 情報処理装置、情報処理方法、情報処理プログラム
JP2019120997A (ja) 情報処理装置、画像形成装置およびプログラム
JP6668868B2 (ja) 情報処理装置及び情報処理プログラム
JP2010009167A (ja) 画面表示装置、画面表示方法及び画面表示プログラム
JP2015114799A (ja) 情報処理装置、制御方法、プログラム及び記憶媒体
JP5330302B2 (ja) 操作記録プログラム及び装置
JP2004355059A (ja) 操作表示方法
JP2009223577A (ja) ユーザインタフェースエミュレート装置及びユーザインタフェースエミュレートプログラム
JP5255865B2 (ja) 画面遷移設計支援装置、画面遷移設計支援方法および画面遷移設計支援プログラム
JP2007304769A (ja) 素材貼付装置
JP2003036130A (ja) ユーザ操作管理処理プログラム、ユーザ操作管理方法、及びユーザ操作管理装置
JP2000010769A (ja) ユーザインタフェース設計装置及び方法
JPH10312260A (ja) リンク先情報提示装置とその動作を実行するためのプログラムを記録した記録媒体
JP2011051163A (ja) 画像形成装置及び画像送信方法