以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。なお、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
(実施形態1)
図1は、実施形態1に係るアプリケーションが動作するホストPCの概略構成を表す図である。
ホストPC101は、ROM102、RAM103、中央処理装置104、バス105、I/F106、外部記憶装置107を有する。そして、ROM102、RAM103、中央処理装置104、I/F106、及び外部記憶装置107は、それぞれバス105を介して接続されており、各構成間におけるデータの授受が可能となっている。
ROM102は、中央処理装置104の制御手順、処理手順等を保持している。また、ROM102は、中央処理装置104により実行されるオペレーションシステム(OS),アプリケーション等のプログラムが記憶されている。例えば、後述する図6〜図8のフローチャートの動作を実現するプログラムを保持する。RAM103は、上記プログラムの動作に必要な記憶領域とワークエリアを提供する。中央処理装置104は、ROM102に保持されているプログラムに従って処理を行うものであり、ホストPC101のシステム全体の制御処理を実行する。
ディスプレイ108は、アプリケーションのGUIを表示する為の出力装置である。ディスプレイ108は、ホストPC101から分離されていても、ホストPC101と一体であってもよい。なお、このディスプレイ108は、ホストPC101に直接接続されていてもよいが、ネットワーク等を介して接続されていてもよい。本実施形態では、ディスプレイ108は、ホストPCと一体とする。
入力部109は、使用者による入力を受け付けるものであり、ホストPC101に対する指示や設定を行う。入力部109は、例えば、マウスやキーボード、タッチディスプレイパネルが挙げられる。I/F106は、入力部109に接続されており、入力部109の入力操作を受信する。
本実施形態では、タッチディスプレイパネルが、ディスプレイ108及び入力部109の機能を同時に備えている。
図2は、本実施形態に係るアプリケーションのGUIを表す図である。このアプリケーションは、タッチ操作によってユーザーからの入力を受け付けて動作する。なお、ここでいうタッチ操作とは、指などの人体の一部で行われる操作であってもよいし、スタイラスペン等の道具を使用した操作であってもよい。
図2(a)に示すように、ディスプレイ108は、画面表示領域201に、本実施形態に係るアプリケーションのGUIを表示する。本実施形態のアプリケーションは、ボタンコンポーネント202,203,204,205を備えている。ボタンコンポーネント202,203,204,205にはそれぞれ所定の機能が割り当てられており、各ボタンコンポーネント(402〜404)には、各種機能を表す図形が表示されている。この機能はボタンコンポーネントをタッチすることで実行される。また、ボタンコンポーネント202とボタンコンポーネント203は、同一の機能が割り当てられており、境界が視認できない一体化した表示となっている。また同様に、ボタンコンポーネント204とボタンコンポーネント205は、同一の機能が割り当てられており、境界が視認できない一体化した表示となっている。そして、ボタンコンポーネント203上にはボタンコンポーネント202及びボタンコンポーネント203の機能を説明する文字列(以下、ボタン名ともいう)が表示される。同様に、ボタンコンポーネント205上にはボタンコンポーネント204及びボタンコンポーネント205の機能を説明する文字列が表示される。ここで、ボタン名が長く、ボタンコンポーネント203やボタンコンポーネント205の表示領域に機能を説明する文字列の全てを表記できない場合は、ボタンコンポーネントが非選択である状態において文字列が省略される。ここに表示可能な文字列の文字数は、OSで設定される文字サイズやボタンコンポーネントの表示解像度のサイズなどにより変更される。
本実施形態では、ボタンコンポーネント202及びボタンコンポーネント203には、機能としてソフトウェアのダウンロードが割り当てられ、ボタンコンポーネント204及びボタンコンポーネント205には、機能として取扱説明書の表示が割り当てられている。そして、ボタン名はそれぞれ、「ソフトウェアのダウンロード」、「取扱説明書」となっている。図2(a)に示すように、ボタンコンポーネント203には、ボタン名に対応する文字列「ソフトウェアのダウン・・・」206、ボタンコンポーネント205には、ボタン名に対応する「取扱説明書」文字列207が表示される。ここで、文字列206の一部である「・・・」はボタン名が省略されていることを示している。
本実施形態では、ボタン名が省略された場合、当該ボタン名を表示するボタンコンポーネントのタッチ操作を受付けると、画面表示領域上にツールチップコンポーネントを表示する。このツールチップコンポーネント内には、ボタン名を表す文字列を表示する。例えば、ボタンコンポーネント203をタッチ操作すると、図2(b)に示すように、ツールチップコンポーネント251を表示する。ツールチップコンポーネント上には、「ソフトウェアのダウンロード」という文字列252が表示される。ここで、ツールチップコンポーネントとは、ツールチップやフライアウトが含まれる。ここで、ツールチップとは、テキスト表示が可能なものであり、フライアウトは、テキスト表示、ラジオボタン等のボタン設定、コンボボックス等のボックス設定などが可能なものである。本実施形態では、フライアウトを用いて所定の文字列を表示する。
上述したように、ユーザーによるタッチ操作前には、ボタンコンポーネント202,203の機能に対応するボタン名が長く、表示領域内に全て表示できない場合、ボタン名が省略された文字列(「ソフトウェアのダウン・・・」)が表示される。しかしながら、ボタンコンポーネント203をユーザーがタッチ操作することにより、ツールチップコンポーネントが表示され、このツールチップコンポーネント251上にボタン名がすべて表示される。すなわち、ボタンコンポーネント上の文字列で省略された部分を含む全ての文字列(ボタン名)が、ツールチップコンポーネント上に表示される。このように、ボタンコンポーネント203に設定される詳細情報として、ボタンコンポーネント203に割当てられた機能の名称、具体的には、「ソフトウェアのダウンロード」を、ツールチップコンポーネント251に表示させる。
ここで、GUI画面の構造及びGUIコンポーネントについて説明する。
GUI画面は、GUIコンポーネントを組み合わせて構成される。ここで、図2に示したディスプレイ108の画面表示領域201に表示されたアプリケーションのGUI画面を例に挙げて説明する。アプリケーションのGUI画面は、画面表示領域201と同じサイズを持つパネルコンポーネントに、ボタンコンポーネント202,203,204,205が追加されて構成される。GUI画面は、コンポーネントが追加されたコンポーネントをさらに別のコンポーネントに追加してもよい。
GUIコンポーネントの中には、コンポーネント自身に文字列を設定することが可能なものがある。コンポーネント自身に所定の文字列を設定することが可能なGUIコンポーネントの場合、設定された文字列がボタンコンポーネント上に表示される。例えば、ボタンコンポーネント203は所定の文字列を設定することが可能である。図2(a)に示すように、ボタンコンポーネント203に文字列として「ソフトウェアのダウンロード」を設定することにより、設定された文字列がボタンコンポーネント203上に表示される。また、文字列の表示は、ボタンコンポーネント自身に設定するものに限定されず、例えば、ボタンコンポーネントとは別に、文字列を表示する為のラベルコンポーネントを用いて表示することもできる。この場合、ラベルコンポーネントをコンポーネント上に配置することもできる。
また、各GUIコンポーネントは、そのGUIコンポーネントに対して発生したイベントの通知を受けるオブジェクトを登録する手段を有する。GUIコンポーネントに対してイベントが発生した場合は、登録されているイベント制御オブジェクト(イベントリスナー)にイベントが通知される。イベントリスナーには、発生したイベントに対して実行する処理を予め記述しておく。すなわち、ボタンコンポーネントに割当てる機能を実行するための処理を記述しておく。例えば、ボタンコンポーネント202がタッチされた(押下された)ことを通知するイベントに対して、ソフトウェアのダウンロードを実行するように、イベントリスナーにはソフトウェアのダウンロードをする為の処理を記述しておく。
本実施形態では、ボタンコンポーネントに割り当てられた機能の実行及びツールチップコンポーネントの表示のいずれも、アプリケーションGUI画面にタッチすることで実現する。なお、ボタンコンポーネントがタッチされた場合、タッチ操作されたコンポーネントに関する判定処理を経て、ボタンコンポーネントに割り当てられた機能を実行するか、ツールチップコンポーネントを表示するかを決定する。
以下、図3を用いて図2に示した操作を実行する際の詳細な処理の内容について説明する。図3は、アプリケーションのGUI画面にタッチされた際に中央処理装置104が実行する処理のフローチャートである。
まず、アプリケーションのGUIを構成するボタンコンポーネントに対して操作が行われたことが通知されると、ステップS251において、ユーザーにより操作されたGUIコンポーネント上に文字列が表示されているか否かを判定する。判定対象となる文字列は、GUIコンポーネント自身に設定された文字列としてもよいし、GUIコンポーネント上に配置された別のGUIコンポーネントに設定された文字列としてもよいし、上記のいずれかの文字列としてもよい。本実施形態では、ボタンコンポーネント203及びボタンコンポーネント205には、それぞれ文字列が設定されているものとし、ここでは、GUIコンポーネント自身に文字列が表示されているか判定するものとする。操作されたGUIコンポーネント上に文字列が表示されていると判定された場合には、ステップS252に進む。一方、操作されたGUIコンポーネント上に文字列が表示されていないと判定された場合には、ステップS304に進み、GUIコンポーネントに割り当てられた機能を実行する。
ステップS252では、操作されたGUIコンポーネント上に表示されている文字列が省略されているか否かを判定する。文字列の省略処理は、本実施形態に係るアプリケーション以外のソフトウェア(OS等)が実施した処理であってもよいし、アプリケーション自身が実施した処理であってもよい。アプリケーション自身が省略処理を行う方法は、特に限定されないが、例えば、GUIコンポーネントのサイズ情報からGUIコンポーネント上に表示可能な文字数を判定し、表示可能な文字数分だけ文字列を表示し、残りは省略する方法が挙げられる。GUIコンポーネント上に表示されている文字列が省略されていると判定された場合には、ステップS303に進み、省略されていると判定されない場合、すなわち、省略されていない場合は、S304に進み、GUIコンポーネントに割当てられた処理を実行する。
ステップS303では、GUIコンポーネントに割り当てられたツールチップコンポーネントを表示する。そして、ツールチップコンポーネントには、省略された文字列全体を表示する。言い換えれば、ツールチップコンポーネントに、GUIコンポーネントに設定される詳細情報を表示する。
ここで、GUIコンポーネント上に表示されている文字列と、ツールチップコンポーネントに設定された文字列は、プログラムが保持する同じ文字列をリソースとしてもよいし、別の文字列をリソースとしてもよい。別の文字列をリソースとして用意する場合、予め短い文字列と長い文字列を分けて用意し、長い文字列をGUIコンポーネント上に表示できないと判断した場合に、短い文字列を表示するようにしてもよい。なお、この場合は、ステップS252において、文字列が省略されているか否かの代わりに、短い文字列を表示しているか否かを判断すればよい。
ここで、図2に示すアプリケーションを例に挙げて図3のフローチャートを説明する。
まず、画面表示領域201上のボタンコンポーネント202,203,204,205のいずれかに対して操作が行われたことが通知されると、操作の行われたボタンコンポーネントの状況を判定してその後の動作を決定する。
ボタンコンポーネント202又は204に対して操作が行われたことが通知された場合、ボタンコンポーネント202又は204上に文字列が表示されているか否かが判定される(ステップS251)。ここで、ボタンコンポーネント202又は204上には文字列が表示されていない為(ステップS251:No)、ボタンコンポーネント202又は204に割り当てられた機能が実行される(ステップS304)。ボタンコンポーネント203に対して操作が行われたことが通知された場合、ボタンコンポーネント203上に文字列が表示されているか否かを判定し、文字列が表示されているので(ステップS251:Yes)、ステップS602へ進む。続いてボタンコンポーネント203上に表示されている文字列「ソフトウェアのダウン・・・」206がボタン名を省略しているか否かを判定する(ステップS252)。ここで、文字列「ソフトウェアのダウン・・・」206はボタン名「ソフトウェアのダウンロード」を省略しており(ステップS252:Yes)、ボタンコンポーネント203にツールチップコンポーネントが割り当てられている。したがって、ボタンコンポーネント203に割り当てられたツールチップコンポーネント251を表示し、文字列「ソフトウェアのダウン・・・」206の省略部分を含む全文字列「ソフトウェアのダウンロード」252を表示する(ステップS303)。このように、本実施形態では、ボタンコンポーネント203に割当てられた機能の実行をしないように制御し、ボタンコンポーネント203やボタンコンポーネント203上の文字列252のタッチ操作では、文字列の全体を表示するように制御する。
ボタンコンポーネント205に対して操作が行われたことが通知された場合、ボタンコンポーネント205上に文字列が表示されているか否かを判定し、文字列が表示されているので(ステップS251:Yes)、ステップS252へ進む。続いてボタンコンポーネント205上に表示されている文字列「取扱説明書」207が文字列を省略しているか否かを判定する(ステップS252)。ここで、ボタン名「取扱説明書」は省略されていないため(ステップS252:No)、ボタンコンポーネント205に割り当てられた機能が実行される(ステップS304)。
上述したように、本実施形態では、ボタンコンポーネント領域の表示を分けることによって、ホバー状態を認識することができないタッチディスプレイにおいて、機能の説明(ボタン名の詳細表示)と、機能の実行を適切に行うことができる。すなわち、オブジェクト上をポイントすることが認識できないタッチディスプレイにおいても、ボタン名の詳細表示と機能の実行を適切に行うことができる。具体的には、ボタン名が省略されているか否かの判定結果に応じて、ツールチップコンポーネントを用いたボタン名の詳細表示又は機能の実行を行わせることにより、ユーザーが容易に所望の機能の実行を行うことができる。本実施形態では、ユーザーは、ボタンコンポーネント203をタッチ操作することにより、ボタンコンポーネント202及びボタンコンポーネント203に割当てられた機能を確認することができる。一方、ユーザーは、ボタンコンポーネント202をタッチ操作することにより、ボタンコンポーネント202及びボタンコンポーネント203に設定された機能を実行することができる。また、ユーザーは、ボタンコンポーネント204、ボタンコンポーネント205をタッチ操作することにより、ボタンコンポーネント204,205に設定された機能を実行することができる。
比較的長い文字列全体を表示するために、GUI全体を大きくしてGUIコンポーネントの領域を拡大した場合、GUI全体が一画面に収まらず一覧性が低下してしまう。また、比較的長い文字列全体を表示するために、対象のGUIコンポーネントのみを大きくした場合GUI全体のレイアウトが崩れてしまい、GUIコンポーネント上の文字列のフォントサイズを小さくした場合、サイズによっては視認性が低下してしまう。これに対し、本実施形態では、文字列の表示領域が狭い場合でも、GUIのバランスや視認性を維持しつつ、ユーザーの意図に応じた適切な処理を実行することができる。
(実施形態2)
実施形態1では、操作されたGUIコンポーネント上に表示された文字列が省略されているか否かによって、ツールチップコンポーネントを表示するか否かを決定したが、本実施形態では、ユーザーに実行する処理を選択させる。なお、実施形態1と同一のものには同一の符号を付し、重複する説明は省略する。
図4は、本実施形態におけるアプリケーションのGUIを表す図である。このアプリケーションは、タッチ操作によってユーザーからの入力を受け付けて動作する。
図4において、401はアプリケーションのGUIを表示するアプリケーション画面表示領域である。ディスプレイ108は、図4(a)に示すように、画面表示領域401に、本実施形態に係るアプリケーションのGUIを表示する。本実施形態のアプリケーションは、ボタンコンポーネント402,403,404を備えており、ボタンコンポーネント402には2つの処理が割り当てられ、ボタンコンポーネント403には1つの処理が割り当てられている。また、ボタンコンポーネント402及びボタンコンポーネント403には、機能を表す図形が表示されている。これらの各種処理は、各ボタンコンポーネントに対して操作が行われたことを受けて実行される。また、本実施形態では、処理が割当てられず、単に図形を表示するボタンコンポーネント404を設ける。
図4(b)は、ボタンコンポーネント402を操作して、ツールチップコンポーネント451が表示された状態を表す図である。図4(b)に示すように、ボタンコンポーネント402のタッチ操作を受付けると、画面表示領域上のボタンコンポーネント402上にツールチップコンポーネント451を表示する。ツールチップコンポーネント451には、ボタンコンポーネント402に割り当てられた機能の一覧が表示される。以下、ツールチップコンポーネント451は、選択コンポーネント451ともいう。本実施形態では、ボタンコンポーネント402には、処理1及び処理2の2つの処理を備えるものとした。各種処理は、特に限定されないが、例えば、プリント機能、スキャン機能、FAX機能などが挙げられる。また、各種機能の各種処理、例えば、プリント機能の表示、プリント機能の実行、スキャン機能の表示、スキャン機能の実行、FAX機能の表示、FAX機能の実行などを各種処理としてもよい。本実施形態では、ボタンコンポーネント402に割当てられる2つの処理は、ツールチップコンポーネントを用いたボタンコンポーネント402に割当てられた所定の機能の表示と、ボタンコンポーネント402に割当てられた所定の機能の実行とする。
本実施形態では、ボタンコンポーネント402をタッチ操作すると、選択コンポーネント451を表示する。ユーザーは、選択コンポーネント451により、実行する処理を選択することができる。すなわち、ユーザーが選択コンポーネント451により処理を選択することにより、選択された処理が実行される。
図5は、本実施形態の図3に示した操作を実行する際の詳細な処理の内容について説明する。図5は、本実施形態においてアプリケーションのGUI画面にタッチされた際に中央処理装置104が実行する処理のフローチャートの一例である。
まず、アプリケーションのGUIを構成するボタンコンポーネントに対して操作が行われたことが通知されると、ステップS451において、ユーザーにより操作されたボタンコンポーネントに割り当てられた処理の数を判定する。本実施形態では、ボタンコンポーネントに割当てられた処理の数が、0,1,2以上のいずれであるかを判定する。ボタンコンポーネントに2つ以上の処理が割り当てられている場合(ステップS451:2以上)には、ステップS502に進む。ボタンコンポーネントに処理が1つ割り当てられている場合(ステップS451:1)には、ステップS504に進み、割り当てられた処理を実行する。ボタンコンポーネントに処理が割り当てられていない場合(ステップS451:0)には、処理は行われない。
ステップS502では、実行する処理をユーザーに選択させるためのツールチップコンポーネント(選択コンポーネントともいう)を表示する。すなわち、タッチ操作されたボタンコンポーネントに設定される詳細情報として、ボタンコンポーネントに割当てられた処理をツールチップコンポーネントに表示する。その後、ステップS503に進み、選択コンポーネントにおいて処理が選択されたか否かを判定する。ユーザーにより選択コンポーネントにおいて処理が選択された場合、ステップS504で選択された処理を実行する。
なお、本実施形態では、ツールチップコンポーネント451を表示している間のツールチップコンポーネント451以外の領域のタッチ操作は、タッチ操作されたボタンコンポーネントに対する処理の選択がキャンセルされたとみなすようにしてもよい。
図5のフローチャートで説明した処理について、図4に示すアプリケーションを例に挙げて説明する。
ボタンコンポーネント402に対して操作が行われたことが通知されると、ボタンコンポーネント402に割り当てられた処理の数を判定する(ステップS451)。ボタンコンポーネント402には2つの処理が割り当てられているため(ステップS451:2以上)、実行する処理をユーザーに選択させるためのツールチップコンポーネント451を表示する(ステップS502)。その後ステップS503に進み、ユーザーの選択した処理を実行する。例えば、ステップS502において、ユーザーがツールチップコンポーネントの表示による所定の機能の表示を選択した場合にはツールチップコンポーネントを表示し、機能の実行を選択した場合には所定の機能を実行する。ボタンコンポーネント403に対して操作が行われたことが通知されると、ボタンコンポーネント403に割り当てられた処理の数を判定する(ステップS451)。ボタンコンポーネント403には1つの処理が割り当てられているため(ステップS451:1)、割り当てられた処理を実行する(ステップS504)。ボタンコンポーネント404に対して操作が行われたことが通知されると、ボタンコンポーネント404に割り当てられた処理の数を判定する(ステップS451)。ボタンコンポーネント404には処理が割り当てられていないため(ステップS451:0)、終了する。
なお、上述した例では、操作が行われたGUIコンポーネントに割り当てられた処理が2つ以上の場合に、実行する処理をユーザーに選択させるGUIコンポーネントを表示したが、これに限定されるものではない。操作が行われたGUIコンポーネントに1つの処理が割り当てられている場合においても、実行する処理を選択させる為のGUIコンポーネントを表示するようにしてもよい。図6は、本実施形態においてアプリケーションのGUI画面にタッチされた際に中央処理装置104が実行する処理のフローチャートの他の例を示す図である。図6のフローチャートに示すように、ステップS601においてユーザーにより操作されたGUIコンポーネントに割当てられた処理の数が1以上か否かを判定し、1以上である場合にS602に進み、選択コンポーネントを表示する。そして、S603において処理の選択があるか否かを判定し、処理の選択があった場合にステップS604に進み、選択された処理を実行する。
上述したように、本実施形態では、ボタンコンポーネントに割当てられた処理の数に応じて、ホバー状態を認識することができないタッチディスプレイにおいて、ユーザーが容易に処理の実行を適切に行うことができる。すなわち、ボタンコンポーネント上をポイントすることが認識できないタッチディスプレイにおいても、ボタンコンポーネントに割当てられた処理のうちユーザーが望む処理を適切に行うことができる。本実施形態では、ユーザーにより操作されたボタンコンポーネントに割当てられた処理の数が2以上か否かの判定結果に応じて、選択コンポーネントを用いたボタンコンポーネントに割当てられた処理の表示又は処理の実行を行わせる。具体的には、ボタンコンポーネント402のタッチ操作を受付けることにより、選択コンポーネント451を表示し、ボタンコンポーネント402に割当てられた処理を選択コンポーネント451に表示する。これにより、例えば、処理の表示と、処理の実行を適切に行うことができる。なお、ボタンコンポーネントに割当てられた処理が1つの場合は、ボタンコンポーネントのタッチ操作により、処理を実行させる。
本実施形態では、実施形態1と同様に、文字列の表示領域が狭い場合でも、GUIのバランスや視認性を維持しつつ、ユーザーの意図に応じた適切な処理を実行することができる。
(実施形態3)
実施形態1では、操作されたGUIコンポーネント上に表示された文字列が省略されているか否かによって、ツールチップコンポーネントを表示するか否かを決定したが、本実施形態では、GUIコンポーネント上の操作された箇所に応じて実行する処理を決定する。なお、実施形態1と同一のものには同一の符号を付し、重複する説明は省略する。
図7は、本実施形態に係るアプリケーションのGUIを表す図である。このアプリケーションは、タッチ操作によってユーザーからの入力を受け付けて動作する。
図7において、701はアプリケーションのGUIを表示するアプリケーション画面表示領域である。ディスプレイ108は、図7(a)に示すように、本実施形態では、画面表示領域701に、アプリケーションのGUIを表示する。本実施形態のアプリケーションは、ボタンコンポーネント702及びボタンコンポーネント704を備えており、ボタンコンポーネント702,704にはそれぞれ2つの処理が割り当てられている。本実施形態では、各ボタンコンポーネントの領域毎に、異なる処理を割り当てる。図7(a)に示すように、ボタンコンポーネント702は、領域703と、それ以外の領域とで区別し、ボタンコンポーネント704は、領域705と、それ以外の領域とで区別する。また、本実施形態では、領域703及び領域705は、視認可能に表示したが、視認可能に表示しなくてもよい。
本実施形態では、ボタンコンポーネント702及び704のいずれも、割り当てられた処理のうちの1つは、ボタンコンポーネントの機能を説明するツールチップコンポーネントの表示とする。また、他方の処理、すなわち、ツールチップコンポーネントの表示以外の処理は、ボタンコンポーネントに割当てられた機能の実行とする。各ボタンコンポーネント(702,704)には、各種機能を表す図形が表示されている。そして、領域703及び領域705には、それぞれ、ボタンコンポーネント702に割当てられた機能を説明するツールチップコンポーネントの処理が割当てられている。ボタンコンポーネント702の領域703以外の領域には、ボタンコンポーネント702に割当てられた処理の実行、ボタンコンポーネント704の領域705以外の領域には、ボタンコンポーネント704に割当てられた処理の実行が設定されている。
ボタンコンポーネント702内の領域703がタッチ操作された場合は、領域703に割当てられた処理を実行する。具体的には、ボタンコンポーネント702に割当てられた機能を説明するためのツールチップコンポーネントを表示する。一方、ボタンコンポーネント702内のそれ以外の領域がタッチ操作された場合は、他方の処理を行う。同様に、ボタンコンポーネント704内の領域705がタッチ操作された場合は、ボタンコンポーネント704に割当てられた機能を説明するためのツールチップコンポーネントを表示し、他の領域がタッチ操作された場合は、他方の処理を実行する。
なお、図7(b)は、ボタンコンポーネント702上の領域703を操作して、ツールチップコンポーネント751が表示された状態を表す図である。ボタンコンポーネント702のタッチ操作を受付けると、画面表示領域上のボタンコンポーネント702上にGUIコンポーネント751を表示する。ツールチップコンポーネント751上には、ボタンコンポーネント702に割当てられた機能を説明するテキスト「ソフトウェアのダウンロード」703が表示される。
図8は、アプリケーションのGUI画面にタッチされた際に中央処理装置104が実行する処理のフローチャートである。である。
まず、アプリケーションのGUIを構成するGUIコンポーネントに対してユーザーにより操作が行われたことが通知されると、ステップS801において、GUIコンポーネント上の操作された領域を判定する。その後ステップS802に進み、操作された領域に応じた機能を実行する。
ここで、図7に示すアプリケーションを例に挙げて図8のフローチャートを説明する。
画面表示領域701上のボタンコンポーネント702に対して操作が行われたことが通知されると、ボタンコンポーネント702上のどの領域が操作されたかが判定される(ステップS801)。その結果、領域703が操作されたと判定された場合には、ボタンコンポーネント702の機能を説明するツールチップコンポーネント751を表示する。一方、703以外の領域が操作されたと判定された場合には、ツールチップコンポーネント751を表示する以外の機能を実行する(ステップS802)。すなわち、領域703が操作されたと判定された場合は、ボタンコンポーネントに設定される詳細情報として、ボタンコンポーネントに割当てられた機能の名称、具体的には、「ソフトウェアのダウンロード」をツールチップコンポーネントに表示する。
上述したように、本実施形態では、ボタンコンポーネントのタッチ操作された領域に応じて、ホバー状態を認識することができないタッチディスプレイにおいて、ユーザーが容易に処理の実行を適切に行うことができる。すなわち、ボタンコンポーネント上をポイントすることが認識できないタッチディスプレイにおいても、ボタンコンポーネントの機能の表示及びボタンコンポーネントの機能の実行を適切に行うことができる。本実施形態では、ユーザーがボタンコンポーネントの所定領域(領域703,領域705)をタッチ操作することにより、ツールチップコンポーネントを表示し、ユーザーにボタンコンポーネントに割当てられた機能を認識させる。また、ユーザーがボタンコンポーネントの所定領域以外の領域をタッチ操作することにより、ボタンコンポーネントに割当てられた機能を実行する。これにより、例えば、機能の表示処理と、機能の実行処理を適切に行うことができる。なお、ボタンコンポーネントに割当てられた処理が1つの場合は、ボタンコンポーネントを複数の領域に分ける必要はなく、ボタンコンポーネントのユーザーによるタッチ操作により、機能を実行させるようにすればよい。
本実施形態では、実施形態1と同様に、文字列の表示領域が狭い場合でも、GUIのバランスや視認性を維持しつつ、ユーザーの意図に応じた適切な処理を実行することができる。
(実施形態4)
実施形態1では、操作されたGUIコンポーネント上に表示された文字列が省略されているかによって、ツールチップコンポーネントを表示するかを決定したが、本実施形態では、GUIコンポーネントに対して行われた操作の回数に応じて実行する処理を決定する。なお、実施形態1と同一のものには同一の符号を付し、重複する説明は省略する。
図9は、本実施形態に係るアプリケーションのGUIを表す図である。このアプリケーションは、タッチ操作によってユーザーからの入力を受け付けて動作する。図9において、901はアプリケーションのGUIを表示するアプリケーション画面表示領域である。ディスプレイ108は、図9(a)に示すように、本実施形態では、画面表示領域901に、アプリケーションのGUIを表示する。本実施形態のアプリケーションは、ボタンコンポーネント902,903を備えており、ボタンコンポーネント902,903にはそれぞれ2つの処理が割り当てられている。割り当てられた機能のうちの1つは、ボタンコンポーネントの処理を説明するツールチップコンポーネントの表示である。また、他方の処理、すなわち、ツールチップコンポーネントの表示以外の処理は、ボタンコンポーネントに割当てられた機能の実行とする。各ボタンコンポーネント(902,903)には、各種機能を表す図形が表示されている。ボタンコンポーネント902,903に割り当てられたそれぞれ2つの機能は、ボタンコンポーネント902,903が操作された場合に実行される。
図9(b)は、ボタンコンポーネント902のタッチ操作により、ツールチップコンポーネント951が表示された状態を表す図である。ボタンコンポーネント902のタッチ操作を受付けると、画面表示領域上のボタンコンポーネント902上にツールチップコンポーネント951を表示する。ツールチップコンポーネント951上には、ボタンコンポーネント902の機能を説明するテキスト「ソフトウェアのダウンロード」952が表示される。
図10(a)は、アプリケーションのGUI画面にタッチされた際に中央処理装置104が実行する処理のフローチャートの一例である。
まず、アプリケーションのGUIを構成するボタンコンポーネントに対してユーザーにより操作が行われたことが通知されると、ステップS1001において、その操作がそのボタンコンポーネントに対する何回目の操作かを判定する。ここでそのボタンコンポーネントに対する初めての操作であると判定された場合には(ステップS1001:1回目)、ステップS1002に進み、ボタンコンポーネントに割当てられた機能を説明するツールチップコンポーネントを表示する。すなわち、ボタンコンポーネントに設定される詳細情報として、ボタンコンポーネントに割当てられた機能の名称、具体的には、「ソフトウェアのダウンロード」をツールチップコンポーネントに表示する。一方、2回目以降の操作であると判定された場合には(ステップS1001:2回目以上)、ステップS1003に進み、ボタンコンポーネントに割り当てられた機能を実行する。
ここで、図9に示すアプリケーションを例に挙げて図10(a)のフローチャートを説明する。画面表示領域901上のボタンコンポーネント902に対して操作が行われたことが通知されると、ステップS1001において、そのボタンコンポーネント902上に対する何回目の操作かが判定される。その結果、そのボタンコンポーネント902に対する初めての操作であると判定された場合には(ステップS1001:1回目)、ボタンコンポーネント902に割当てられた機能を説明するツールチップコンポーネント951を表示する。一方、そのボタンコンポーネント902に対する2回目以降の操作であると判定された場合には(ステップS1001:2回目以上)、ツールチップコンポーネント951に割当てられた処理内容を実行する。
なお、上述した例では、ユーザーにより操作されたボタンコンポーネントに対する操作回数が1回目か否かに応じて、実行する機能を変更したが、これに限定されるものではない。例えば、操作が行われたボタンコンポーネントに割り当てられた処理が2つ以上の場合に、タッチ操作が奇数回か否かに応じて、実行する機能を変更してもよい。図10(b)は、本実施形態においてアプリケーションのGUI画面にタッチされた際に中央処理装置104が実行する処理のフローチャートの他の例を示す図である。図10(b)のフローチャートに示すように、ボタンコンポーネントに対するタッチ操作を受け付けると、ステップS1101においてユーザーにより操作されたボタンコンポーネントに対する操作回数が奇数回目か偶数回目か判定する。操作回数が奇数回目である場合は、ステップS1102へ進み、ツールチップコンポーネントを表示する。一方、操作回数が偶数目である場合は、ステップS1103へ進み、ボタンコンポーネントに割当てられた機能を実行する。このように、奇数回目(1,3,・・・回目)のタッチ操作では、ボタンコンポーネントに割当てられた処理内容を表示し、偶数回目(2,4,・・・)のタッチ操作ではボタンコンポーネントに割当てられた機能を実行する。この構成によれば、ボタンコンポーネントに割当てられた機能の表示と機能の実行を交互に行うことができる。すなわち、ユーザーは、機能を確認した後に処理の実行を行うことができる。
なお、本実施形態では、図10(a)及び(b)に示したように、操作回数が何回目であるかを判定するために、操作回数をカウントするものとしたが、ある程度の数(例えば、4回目)でリセットして、再カウントするようにしてもよい。また、操作回数を必ずしもカウントする必要はなく、例えば、タッチ操作の度にボタンコンポーネントに割当てられた機能の表示と機能の実行を交互に行うようにしてもよい。
上述したように、本実施形態では、ボタンコンポーネントのタッチ操作された回数に応じて、ホバー状態を認識することができないタッチディスプレイにおいて、ユーザーが容易に処理の実行を適切に行うことができる。すなわち、ボタンコンポーネント上をポイントすることが認識できないタッチディスプレイにおいても、ボタンコンポーネントの機能の表示及びボタンコンポーネントの機能の実行を適切に行うことができる。本実施形態では、ユーザーによるボタンコンポーネントのタッチ操作の回数が所定回数目か否かの判定結果に応じて、ツールチップコンポーネントを用いたボタン名の詳細表示又は機能の実行を行わせる。すなわち、ユーザーによるボタンコンポーネントのタッチ操作の回数が所定回数目の場合に、ツールチップコンポーネントを表示し、ユーザーにボタンコンポーネントに割当てられた機能を認識させる。また、ユーザーによるボタンコンポーネントのタッチ操作の回数が上記の所定回数目以外の場合に、ボタンコンポーネントに割当てられた機能を実行する。これにより、例えば、機能の表示処理と、機能の実行処理を適切に行うことができる。なお、ボタンコンポーネントに割当てられた処理が1つの場合は、ボタンコンポーネントのユーザーによるタッチ操作の回数に関わらず、常に機能を実行させるようにすればよい。
本実施形態では、実施形態1と同様に、文字列の表示領域が狭い場合でも、GUIのバランスや視認性を維持しつつ、ユーザーの意図に応じた適切な処理を実行することができる。
(他の実施形態)
以上、本発明の各実施形態を説明したが、本発明の基本的構成は上述したものに限定されるものではない。
例えば、実施形態1では、GUIコンポーネントに対する操作を検知した後にGUIコンポーネント上の文字列が省略されているか否かを判定するとしたが、この判断のタイミングをGUI画面表示時としてもよい。
また、実施形態1及び2において、ツールチップコンポーネントに実行ボタンを表示するようにしてもよい。例えば、図11に示すように、実施形態2において、ボタンコンポーネント402のタッチ操作により、ツールチップコンポーネントを表示した際に、当該ツールチップコンポーネントに実行ボタンを設けるようにしてもよい。そして、処理を選択した後にこの実行ボタンをタッチ操作することにより、選択された処理を実行するようにしてもよい。また、実施形態1及び2において、ユーザーがボタンコンポーネントに割り当てられたいずれの処理の実行も希望しない場合にツールチップコンポーネントの表示を取りやめるためのキャンセルボタンをツールチップコンポーネントに設けるようにしてもよい。また、ツールチップコンポーネントには、実行ボタンとキャンセルボタンの両者を表示するようにしてもよいし、いずれか一方のみを表示するようにしてもよい。
また、実施形態1〜4において、ユーザーによりGUIコンポーネントが操作され、ツールチップコンポーネントが表示された状態において、他の処理を実行できるようにしてもよい。例えば、ツールチップコンポーネントの表示中に、ツールチップコンポーネントの表示の起点となったGUIコンポーネントを操作することにより、表示の起点となったGUIコンポーネントに割り当てられた他の処理を実行するようにしてもよい。図2を例に挙げて説明すると、ボタンコンポーネント203のタップ操作により、ツールチップコンポーネント251において文字列「ソフトウェアのダウンロード」252が表示される。この文字列は、上述した通り、ボタンコンポーネントに割当てられた機能を表示するものである。このとき、ボタンコンポーネント203をもう一度タップ操作することにより、ボタンコンポーネント203に割り当てられたツールチップコンポーネントの表示以外の処理内容、すなわち、ソフトウェアをダウンロードする機能を実行させるようにしてもよい。
また、GUIコンポーネントに表示されている文字列又は表示されているツールチップコンポーネント自体を操作することにより、ツールチップコンポーネントの表示の起点となったGUIコンポーネントに割り当てられた他の処理を実行するようにしてもよい。図2を例に挙げて説明すると、ボタンコンポーネント203のタップ操作により、ツールチップコンポーネント251において文字列「ソフトウェアのダウンロード」252が表示される。このとき、文字列「ソフトウェアのダウン・・・」206又はツールチップコンポーネント251をタップ操作することにより、ソフトウェアをダウンロードする機能を処理実行させるようにしてもよい。また、別の任意のGUIコンポーネントを操作することにより、ツールチップコンポーネントの表示の起点となったGUIコンポーネントに割り当てられた他の処理を実行するようにしてもよい。図2を例に挙げて説明すると、画面表示領域201上に別のGUIコンポーネント、図示しないが、例えば、「機能の実行」を表示するツールチップコンポーネントを新たに設けてもよい。そして、「ソフトウェアのダウンロード」3252が表示されている間に、上記新たなGUIコンポーネントを操作することによって、実際にソフトウェアをダウンロードする機能を実行させるようにしてもよい。この場合、上記の新たなGUIコンポーネントは、ツールチップコンポーネントの表示時のみ表示してもよいし、ツールチップコンポーネントの表示によらず表示してもよい。
上述した実施形態において、ツールチップコンポーネントの表示位置をその後の操作を考慮した位置とするよう制御することにより、ユーザーの操作性が向上する。例えば、ツールチップコンポーネントを、ツールチップコンポーネントの表示の起点となったGUIコンポーネントを隠さないような位置に表示することにより、表示の起点となったGUIコンポーネントを操作する場合にユーザーが操作しやすくなる。また、ツールチップコンポーネントと、そのツールチップコンポーネントの表示の起点となったGUIコンポーネントとの関係がわかるようにGUIコンポーネントに隣接するように表示することにより、ユーザーが操作しやすくなる。また、指で操作されることを想定し、ツールチップコンポーネントを操作地点よりも上に表示したり、GUI上にツールチップコンポーネントを表示する為の領域を設け、常にそこに表示したりするようにしてもよい。
また、実施形態1〜4において、ツールチップコンポーネントに表示する処理の内容は、ツールチップコンポーネントを表示しない場合と比較して詳細なものであればよく、必ずしも処理の内容をすべて表示するものでなくてもよい。
また、実施形態3では、機能の表示の処理を割当てた領域を各ボタンコンポーネントに1つ設けるようにしたが、機能の表示の処理を割当てた領域を各ボタンコンポーネントに2以上設けるようにしてもよい。
また、上述した実施形態において、GUI画面を介して実行する機能は、ホストPCが実行する機能であってもよいし、ホストPCにネットワーク等を介して接続された外部装置が実行する機能であってもよい。GUI画面を介して実行する機能が、ホストPC以外の外部装置が実行する機能である場合、ホストPCが外部装置に対して処理の実行を指示する。
上述した実施形態は、文字列の表示領域が狭い小型ディスプレイを有する表示装置において視認性を低下させずに所望の機能を選択可能である。
以上の説明では、アプリケーションによって実現するものとしたが、OSによって同様の処理を行ってもよいし、OSとアプリケーションが連携して同様の処理を行ってもよい。
上述した実施形態は、以下の処理を実行することによっても実現される。すなわち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPUやMPU等)がプログラムを読み出して実行する処理である。また、プログラムは、1つのコンピュータで実行させても、複数のコンピュータを連動させて実行させるようにしてもよい。また、上記した処理の全てをソフトウェアで実現する必要はなく、一部又は全部をハードウエアによって実現するようにしてもよい。