(57)【要約】【課題】画面サイズが小さいディスプレイに表示する際にも最適な代替の表示制御を実現できるようにする。【解決手段】表示装置の画面に関する情報に基づいて、インターフェースを介して得られたＵＩデータのＵＩ部品指定情報に対応するＵＩ部品を、ＵＩデータのレイアウト指定情報に対応する表示制御処理で表示装置の画面に表示するかどうかを判断する。そして、ＵＩ部品を画面に表示できないと判断した場合、前記インターフェースを介して取得されたＵＩデータの代替ＵＩ指定情報を参照することにより、前記ＵＩ部品の代替の表示制御処理で前記ＵＩ部品指定情報に対応するＵＩ部品を表示させる。【選択図】図１
2007012037.tif 000002
【特許請求の範囲】
【請求項１】
表示装置の画面にユーザインターフェース部品を表示させるための情報処理装置において、
表示装置の画面にユーザインターフェース部品を表示させるためのユーザインターフェースデータを外部より取得する取得手段と、
前記表示装置の画面に関する情報に基づいて、前記取得したユーザインターフェースデータのユーザインターフェース部品指定情報に対応するユーザインターフェース部品を、前記ユーザインターフェースデータのレイアウト指定情報に対応する表示制御処理で前記表示装置の画面に表示するかどうかを判断する制御手段とを有し、
前記制御手段は、前記ユーザインターフェース部品を前記表示装置の画面に表示しないと判断した場合、前記取得したユーザインターフェースデータの代替ユーザインターフェース指定情報を参照することにより、前記ユーザインターフェース部品の代替の表示制御処理で前記ユーザインターフェース部品指定情報に対応するユーザインターフェース部品を表示させることを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、前記制御手段は、前記表示装置の画面に関する情報に基づいて、前記ユーザインターフェース部品の代替の表示制御処理も前記表示装置の画面上の表示に適さないと判断した場合、前記ユーザインターフェース部品の階層化された表示制御ルールに関する情報を参照し、前記ユーザインターフェース部品の次善の表示制御処理を実行することを特徴とする情報処理装置。
【請求項３】
請求項１に記載の情報処理装置において、前記表示装置の画面に関する情報は、前記画面のサイズおよび解像度のうち少なくとも１つであることを特徴とする情報処理装置。
【請求項４】
表示装置の画面にユーザインターフェース部品を表示させるための情報処理装置の表示制御処理方法において、
表示装置の画面にユーザインターフェース部品を表示させるためのユーザインターフェースデータを外部より制御手段が取得する取得ステップと、
前記表示装置の画面に関する情報に基づいて、前記取得されたユーザインターフェースデータのユーザインターフェース部品指定情報に対応するユーザインターフェース部品を、前記ユーザインターフェースデータのレイアウト指定情報に対応する表示制御処理で前記表示装置の画面に表示するかどうかを制御手段が判断する判断ステップと、
前記ユーザインターフェース部品を前記表示装置の画面に表示しないと前記制御手段が判断した場合、前記取得したユーザインターフェースデータの代替ユーザインターフェース指定情報を参照することにより、前記ユーザインターフェース部品の代替の表示制御処理で前記ユーザインターフェース部品指定情報に対応するユーザインターフェース部品を前記制御手段が前記表示装置の画面に表示させる表示制御処理ステップと、を有することを特徴とする表示制御処理方法。
【請求項５】
請求項４に記載の表示制御処理方法において、前記表示制御処理ステップにおいては、前記制御手段が前記表示装置の画面に関する情報に基づいて、前記ユーザインターフェース部品の代替の表示制御処理も前記表示装置の画面上の表示に適さないと判断した場合、前記ユーザインターフェース部品の階層化された表示制御ルールに関する情報を参照し、前記ユーザインターフェース部品の次善の表示制御処理を実行することを特徴とする表示制御処理方法。
【請求項６】
請求項４に記載の表示制御処理方法において、前記表示装置の画面に関する情報は、前記画面のサイズおよび解像度のうち少なくとも１つであることを特徴とする表示制御処理方法。
【請求項７】
ユーザインターフェース部品の表示を制御する情報処理装置の表示制御処理方法をコンピュータに実行させるためのプログラムにおいて、
表示装置の画面にユーザインターフェース部品を表示させるためのユーザインターフェースデータを外部より制御手段が取得する取得ステップと、
前記表示装置の画面に関する情報に基づいて、前記取得されたユーザインターフェースデータのユーザインターフェース部品指定情報に対応するユーザインターフェース部品を、前記ユーザインターフェースデータのレイアウト指定情報に対応する表示制御処理で前記表示装置の画面に表示するかどうかを制御手段が判断する判断ステップと、
前記ユーザインターフェース部品を前記表示装置の画面に表示しないと前記制御手段が判断した場合、前記取得したユーザインターフェースデータの代替ユーザインターフェース指定情報を参照することにより、前記ユーザインターフェース部品の代替の表示制御処理で前記ユーザインターフェース部品指定情報に対応するユーザインターフェース部品を前記制御手段が前記表示装置の画面に表示させる表示制御処理ステップとを有することを特徴とする表示制御処理方法をコンピュータに実行させるためのプログラム。
【請求項８】
請求項７に記載のプログラムにおいて、前記表示制御処理ステップにおいては、前記制御手段が前記表示装置の画面に関する情報に基づいて、前記ユーザインターフェース部品の代替の表示制御処理も前記表示装置の画面上の表示に適さないと判断した場合、前記ユーザインターフェース部品の階層化された表示制御ルールに関する情報を参照し、前記ユーザインターフェース部品の次善の表示制御処理を実行することを特徴とする表示制御処理方法をコンピュータに実行させるためのプログラム。
【請求項９】
請求項７に記載のプログラムにおいて、前記表示装置の画面に関する情報は、前記画面のサイズおよび解像度のうち少なくとも１つであることを特徴とする表示制御処理方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置、表示制御処理方法及びそのプログラムに関し、特に、グラフィカルユーザインターフェース部品の表示制御に用いて好適な技術に関する。
【背景技術】
【０００２】
従来、インターネット上のサーバに存在する様々な情報をパーソナルコンピュータ（以下ＰＣと略す）などの情報処理装置において、プレゼンテーション言語として、ＨＴＭＬ（Hyper Text Markup Language）言語が広く普及している。このＨＴＭＬ言語によれば、ＰＣアーキテクチャの差異や、ブラウザアプリケーションによる差異を吸収することができる。
【０００３】
また、近年、通信インフラの整備が整うにつれて、インターネットに接続し、サーバの情報を携帯情報端末装置（以下ＰＤＡと略す）あるいは携帯電話において表示するという利用方法が広まりつつある。この利用方法を普及させるためには、サーバの情報を異なるサイズ，解像度，能力を有する端末のディスプレイ上にさせる必要がある。
【０００４】
特許文献１には、異なる表示画面の大きさを有する様々な情報機器に対応して、情報機器の表示画面に収まるように、ユーザが情報機器内に持つレイアウト規則やユーザ入力による処理規則を切り替えることが開示されている。
【０００５】
特許文献２には、ＵＩ（ユーザインターフェース）が、抽象化の程度に従って階層ツリー化された論理ＵＩにより記述され、これらと対応する具象ＵＩが定義される方法が開示されている。例えば、ある機器において、所望の論理ＵＩの機能を実現できない場合には、階層ツリー化された論理ＵＩと近い位置にある論理ＵＩが探索される。そして、これと対応づけられた具体的なＵＩ要素が代替要素として選択される処理が開示されている。
【０００６】
【特許文献１】特開２００１−１３４５１８号公報
【特許文献２】特開２００１−２１７８５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
主にＰＣにおけるＵＩ部品の表示を前提に設計されたＨＴＭＬ言語を用いた表示データに関して、ある程度大きなサイズ画面の表示装置では、ほぼＵＩの提供者の意図通りに対応するＵＩ部品が表示される。これに対して、比較的小さい表示画面を有するＰＤＡなどの携帯端末では、ＵＩ部品の一部が欠けて表示されてしまったり、または延々とスクロール表示制御が行われてしまったりすることがある。
【０００８】
例えば、ユーザの選択や入力に関するインターフェースとなる操作用のコントロールＵＩ部品と、それの説明のために関連付けられたテキストデータで記述されたラベルからなるＵＩ部品が携帯端末の表示画面に表示される場合を想定する。仮に、表示情報の欠落を防ぐため、小さな画面でコントロールＵＩ部品の大きさを確保しようと表示処理するとラベルが小さく表示されてしまう。また、ラベルのテキストフォントサイズの大きさを確保する処理を行うと、コントロールＵＩ部品が小さくなり、操作しづらくなってしまう。
【０００９】
本発明は前述の問題点に鑑み、画面サイズが小さいディスプレイに表示する際にも最適な代替の表示制御を実現できるようにすることを目的としている。
【課題を解決するための手段】
【００１０】
本発明は、前述の問題点に鑑み、表示装置の画面にユーザインターフェース部品を表示させるための情報処理装置において、表示装置の画面にユーザインターフェース部品を表示させるためのユーザインターフェースデータを外部より取得する取得手段と、前記表示装置の画面に関する情報に基づいて、前記取得したユーザインターフェースデータのユーザインターフェース部品指定情報に対応するユーザインターフェース部品を、前記ユーザインターフェースデータのレイアウト指定情報に対応する表示制御処理で前記表示装置の画面に表示するかどうかを判断する制御手段とを有し、前記制御手段は、前記ユーザインターフェース部品を前記表示装置の画面に表示しないと判断した場合、前記取得したユーザインターフェースデータの代替ユーザインターフェース指定情報を参照することにより、前記ユーザインターフェース部品の代替の表示制御処理で前記ユーザインターフェース部品指定情報に対応するユーザインターフェース部品を表示させることを特徴とする情報処理装置等、を提供する。
【発明の効果】
【００１１】
本発明によれば、表示装置が様々なディスプレイに表示する際にも提供者が意図したＵＩ部品を用いて最適な代替手段での表示制御を実現できる。
さらには、表示装置の画面が足りない場合などの表示方法を細かく設定しない場合でも表示情報が欠けてしまうことがないような表示制御を実現できる。
【発明を実施するための最良の形態】
【００１２】
（第１の実施の形態）
以下、添付の図面に沿って本発明の実施の形態を説明する。
以下、図面を用いて本発明の第１の実施の形態を詳細に説明する。
図１８は本実施の形態に係る情報処理装置のハードウェア構成を示すブロック図である。
図１８に示す情報処理装置において、入力部１は、マウス、キーボードなどを有し、情報（データ）を入力するためのものである。制御手段であるＣＰＵ２は、情報処理装置内の各種処理のための演算、論理判断等を行い、バス６に接続された各構成要素を制御する。
【００１３】
表示装置３は、ＬＣＤまたはＣＲＴなどである。プログラムメモリ４は、後述するフローチャートの処理手順をＣＰＵ２に実行させるためのプログラムを格納するメモリである。プログラムメモリ４は、ＲＯＭであってもよいし、外部記憶装置等からプログラムをロードするためのＲＡＭであってもよい。
【００１４】
データメモリ５は、各種処理で生じたデータを格納する。データメモリ５は、例えば、ＲＡＭである。情報処理装置のＣＰＵ２は、不揮発性の外部記憶媒体から、各種処理に先立ってデータをデータメモリ５にロードしておく、あるいは必要があるごとにデータをデータメモリ５から参照する処理を実行する。また、データメモリ５は、表示装置３の画面サイズ，および画面の解像度などの表示装置に関する情報を保持する。
【００１５】
バス６は、ＣＰＵ２の制御の対象とする各構成要素を指示するアドレス信号、各構成要素を制御するためのコントロール信号、各構成要素間で相互にやりとりされるデータの転送に用いられる。外部Ｉ／Ｆ７は、着脱可能な外部メモリなど、外部からＵＩデータを取得するためのデバイスである。
【００１６】
図１は、本実施の形態に係るＵＩデータの構造の一例を示すクラス図である。
図１において、ＵＩデータ１０１は、本実施形態に係る情報処理装置がＵＩ部品（ユーザインターフェース部品とも称す）を表示装置３の画面上に構成するためデータである。ＵＩデータ１０１は、ＵＩ部品の表示の指定を記述する１つ以上のＵＩ指定情報１０２から構成されている。ＵＩデータ１０１は、本実施の形態では、ＸＭＬ言語を拡張したＸＦｏｒｍｓ言語で記述されている。そして、情報処理装置は、外部からＵＩデータ１０１を取得する。
【００１７】
ＵＩ指定情報１０２は、概念的には、ＵＩ部品の種類などの指定の記述を行うＵＩ部品指定情報１０５と、各ＵＩ部品の配置についての記述を行うレイアウト指定情報１０６とからなる。レイアウト指定情報１０６は、ＵＩ指定代替情報を含む。各ＵＩ指定情報１０２は、１つのＵＩ指定情報要素１０３を有する。なお、ＵＩ指定情報要素１０３はリスト構造からなる場合とそうでない場合とがある。
【００１８】
各ＵＩ指定情報要素１０３は、図１３の説明において後述するが、階層化された抽象度の１段階を表しており、抽象度を表す１つのＵＩ指定情報要素名１０４を有する。レイアウト指定情報１０６は、該レイアウトの対象となる１つ以上のＵＩ指定情報１０２をその記述の内部に含む。
【００１９】
図２は、抽象度の違いで段階的に階層化されたＵＩ部品に関するＵＩ部品ルールの一例を示すクラス図である。本実施の形態では、このＵＩ部品ルールに関するデータは、予め情報処理装置のプログラムメモリ４に格納されるものとする。
図２において、ＵＩ部品に関するＵＩ部品ルール２０１は、１つ以上のＵＩ部品ルール要素２０２から構成されている。
【００２０】
各ＵＩ部品ルール要素２０２は、非末端ＵＩ部品ルール要素２０３あるいは末端部品ルール要素２０４のいずれかである。非末端ＵＩ部品ルール要素２０３は、１つ以上のＵＩ部品ルール要素２０２を有する。そして、末端ＵＩ部品ルール要素２０４は、１つの具体的ＵＩ部品２０５に関連付けられている。
【００２１】
ＵＩ部品ルール２０１は、このようなツリー構造を成す。末端のＵＩ部品ルール要素２０２は必ず末端ＵＩ部品ルール要素２０４となる。また、ＵＩ部品ルール要素２０２は、それぞれ１つのＵＩ指定情報要素名１０４と結び付けられている。ＵＩ部品ルール要素２０２は、ＵＩ部品ルール２０１のツリー構造の各段階が階層化された抽象度の１段階を表現している。
【００２２】
図３は、図２の具体例として、本実施の形態の情報処理装置におけるＵＩ部品に関するＵＩ部品ルールとして、複数種類のＵＩ部品をツリー構造で示したものである。具体的には、ＵＩ部品であるツールキットのデータがライブラリとして階層的に整理され、情報処理装置のプログラムメモリ４に格納されている。図３においては、ツリー構造の末端のそれぞれに、ツールキットの具体的なＵＩ部品が関連付けられている。
【００２３】
図３で示したように、ＵＩ部品３０１は、まず数値範囲３０２、選択３０３、唯一選択３０４、テキスト３０５など抽象化された部品の概念に分類される。これらは、非末端ＵＩ部品ルール要素２０３である。そして、ＵＩ部品３０１は、これらの分類より１つ下の階層において、より具体化して分類される。例えば、数値範囲３０２を実現する部品種類としてダイアル３０６やスライダー３０７にまとめられる。これらは、末端ＵＩ部品ルール要素２０４である。
【００２４】
本実施の形態では、テキスト３０５の具体的部品の１つであるラベル３０８に着目し、コントロールＵＩ部品に関連付けられたラベルに関して説明する。また、コントロールＵＩ部品としては、「入力ボックス」を一例として説明する。なお、本実施の形態において、コントロールＵＩ部品とは、ユーザが選択操作あるいは入力操作を行うためのＵＩ部品と定義する。また、「ラベル」とは、コントロールＵＩ部品に関連付けられたテキストデータであるものとする。「ラベル」もＵＩ部品の１つとする。
【００２５】
図４は、ＵＩ部品３０１の一例として、入力ボックスなど、ユーザが操作するためのコントロールＵＩ部品に関連付けられたラベルの表示制御ルールをツリー構造で示した図である。ここで、「コントロールＵＩ部品に関連付けられたラベル」４０１は、図３の「ラベル」３０８の１段下位層に配されることになる。
【００２６】
「コントロールＵＩ部品に関連付けられたラベル」４０１の表示制御方法を一段階具体化した場合、「ラベル優先」４０２と「コントロールＵＩ部品優先」４０３に分類される。本実施の形態における「優先」とは、画面サイズがＵＩ部品の表示に不足しているためにＵＩのレイアウト変更を必要とする場合、ラベルとコントロールＵＩ部品とで、どちらを変更させたくないかを意味するものである。例えば、「ラベル優先」４０２の場合、コントロールＵＩ部品の表示を変更制御する。また、「コントロールＵＩ部品優先」４０３の場合、ラベルの表示を変更制御する。
【００２７】
「ラベル優先」４０２を設定するケースとして、出力部としての表示装置３の画面に収まるようにする際、ラベルの表記が変わってしまうことをＵＩデータの提供者が好まない場合が考えられる。逆に、入力ボックス優先を設定するケースでは、ラベルが省略されたり削られたりしても構わない場合や、ラベルよりも入力ボックスの表示をなるべく忠実に再現したい場合であるが考えられる。
【００２８】
本実施の形態において、「ラベル優先」４０２の場合、コントロールＵＩ部品の具体的な表示制御ルールとして、例えば「コントロールＵＩ部品を小さくする」４０４、「コントロールＵＩ部品を改行する」４０５の表示制御ルールが定義される。同様に、「コントロールＵＩ部品優先」４０３の場合、ラベルの具体的な表示制御ルールとして、「ラベルをラップ表現する」４０６、「ラベルをスクロール表現する」４０７、「ラベルフォントを小さくする」４０８の表示制御ルールが定義される。
【００２９】
例えば、表示装置３の表示画面が比較的大きい場合は、図５に示すように、コントロールＵＩ部品としての入力ボックス５０１と、ラベル５０２との組み合わせを意図したとおりに表示させることができる。
【００３０】
ＨＴＭＬをホスト言語として拡張されたＸＦｏｒｍｓ言語として記述される図５に示すＵＩ部品に対応するＵＩデータの記述は以下のとおりである。以下の記述において、「レイアウト指定情報」１０６には、下記の「ＵＩ指定代替情報」、「ラベルの指定」、および「コントロールＵＩ部品の指定」のxy座標情報が相当する。また、「ＵＩ部品指定情報」１０５には、以下の「ＵＩ指定情報」における「label＿box」，「フォントの指定」，「ラベルの指定」における「label」，「box」の記述が相当する。なお、下記の「ＵＩ指定代替情報」に関しては、後述する。
<!-- ＵＩ指定情報 -->
<type = "/text/label＿box"/>
<!-- ＵＩ指定代替情報 -->
<sub＿type = "/text/label＿box/label＿priority/control＿resize"/>
<!-- フォントの指定 -->
<text font-family=XXX font-size=14 />
<!-- ラベルの指定 -->
<label x=10 y=10>Label1</lable>
<!-- コントロールＵＩ部品の指定 -->
<box x=100 y=10 />
【００３１】
図５に示すＵＩ部品を小さな画面に表示する際、ＵＩ指定代替情報が参照される。例えば、ＵＩデータの提供者がラベルの表示を優先させたい場合には、上述のＵＩ指定代替情報が記述される。このような記述によって、ＵＩ部品３０１を小さな画面に表示する際には、上述のＵＩ指定代替情報を参照することによって図６のようにラベルの表示が維持され、入力ボックスを小さくする表示制御処理が実行される。
【００３２】
また、図７のように入力ボックスを改行して表示制御処理する方法をＵＩデータの提供者が指定したい場合は、ＵＩ指定代替情報の記述は以下のとおりとなる。
<sub＿type = "/text/label＿box/label＿priority/control＿break">
【００３３】
また、ラベルを省略されたくないというＵＩの提供者の意図がある場合などにおいても、上述の形式でＵＩ指定代替情報を記述することにより、ＵＩの提供者の意図を反映させることができる。
【００３４】
「ラベル優先」４０２において、ＵＩ部品指定情報１０５に入力ボックスを小さくする記述がなされていたとしても、表示画面によっては入力ボックスを小さく表示できない場合もある。例えば、入力ボックスが、テキストデータがその入力ボックスに入力され、該入力されたテキストデータが画面上で認識されることができる最小のサイズの場合である。このようなケースの場合、情報処理装置は、入力ボックスを小さくする表示制御方法は適さないと判断し、さらに次善の代替表示制御方法を設定するようにする。
【００３５】
一方、ＵＩデータの提供者がコントロールＵＩ部品の表示を優先させたい場合には、ＵＩ指定代替情報が以下のとおり記述され、ラベルの表示制御処理が選択的に実行される。
図９：ラップ表現（ラベルを一定の幅で折り返す）（４０６）
<sub＿type = "/text/label＿box/control＿priority/label＿wrap">
図１０：ラベルをスクロールで表現する（４０７）
<sub＿type = "/text/label＿box/control＿priority/label＿scroll">
図８：ラベルのフォントサイズを小さくする（４０８）
<sub＿type = "/text/label＿box/control＿priority/label＿resize">
【００３６】
例えば、ＵＩデータの提供者が、ラベルのテキストデータのフォントサイズを小さくしても、読みやすい高精細な画面を有する情報処理装置に優先的に適合させたいケースがある。この場合、図８に示す表示制御処理方法に対応するＵＩ指定代替情報がＵＩデータ中に記述される。
【００３７】
また、縦長の画面や細かい行間で表示できる画面を有する情報処理装置に優先的に適合させたい場合、図９のラップ表現の表示制御処理を採用するＵＩ指定代替情報がＵＩデータ中に記述される。
【００３８】
さらに、「コントロールＵＩ部品優先」４０３のケースにおいても「ラベル優先」４０２と同様の次善の代替表示制御を実行することができる。例えば、情報処理装置の表示画面が小さい場合、フォントサイズを小さくするようにＵＩ指定代替情報に記述されていたとしても、表示装置３の画面の解像度が低いためにフォントサイズの縮小が制限されている場合がある。このような場合、次善の代替表示制御処理として、情報処理装置のＣＰＵ２は、図４に示す表示制御ルールを参照し、スクロール表現でラベルを表示制御する処理などを実行する。
【００３９】
また、図１１のようにラベルを入力ボックスに重ねて表示制御する方法も考えられる。あるいはラベルを任意文字数に省略する、さらにはアニメーション機能があればラベルの文字列を少しずつ流して表示するなどの方法が設定できるようにしてもよい。そして、重ね表示機能や、アニメーション機能を持たない画面に表示する際には、指定された代替方法のさらに次善の表示方法が選択されることになる。
【００４０】
図１２は、ＵＩ部品が表示装置３の画面内に表示できない場合の代替表示制御を示す情報処理装置の動作処理フローチャートである。
まず、ステップＳ１２０１において、ＣＰＵ２は、対象のＵＩデータを解析する。具体的には、ＣＰＵ２は、ＵＩ部品指定情報１０５に対応するＵＩ部品をライブラリから選択する。そして、ＣＰＵ２は、選択されたＵＩ部品のレイアウト指定情報（テキストデータのフォントサイズと表示位置情報、およびコントロールＵＩ部品のサイズと表示位置情報）１０６に基づいて、各ＵＩ部品の表示に必要な領域を計算する。
【００４１】
次に、ステップＳ１２０２において、ＣＰＵ２は、データメモリ５から表示装置３に関する情報を参照し、選択されたＵＩ部品３０１を表示するかどうかを判断する。具体的には、データメモリ５に予め格納された表示装置３の画面サイズを参照し、Ｓ１２０１において計算されたＵＩ部品３０１を表示する領域が表示装置３の画面内に収まるかどうかを判断する。また、ＣＰＵ２は、データメモリ５に予め格納された表示装置３の解像度を参照する。そして、ＣＰＵ２は、レイアウト指定情報１０６に記述されたテキストデータのフォントサイズが参照した解像度では認識困難な所定サイズ以下であるかどうかを判断する。
【００４２】
ステップＳ１２０２において、各ＵＩ部品３０１が表示サイズの画面に収まると判断された場合には、ステップＳ１２０６に処理が進む。そして、ＣＰＵ２は、表示装置３の画面にＵＩ部品３０１を表示させて処理を終了する。ステップＳ１２０２において、ＵＩ部品３０１の一部が表示装置３の画面に収まらないと判断された場合には、ステップＳ１２０３に処理が進む。そして、ＣＰＵ２は、ＵＩ部品指定情報１０５に基づいて、ライブラリから具体的ＵＩ部品２０５を抽出するとともに代替の表示制御処理を指定する。なお、ＵＩデータ１０１にＵＩ指定代替情報の記述が存在しない場合は、情報処理装置が実行可能な表示制御処理が行われる。
【００４３】
ステップ１２０４において、ＣＰＵ２は、ステップ１２０３で指定されたＵＩ部品３０１およびその表示制御処理を解析する。次に、ステップＳ１２０５において、ＣＰＵ２は、解析されたＵＩ部品３０１およびその表示制御処理が表示装置３の画面表示に適するかどうかを判断する。ステップＳ１２０５では、画面に予め設定された最小フォントサイズよりテキストデータのフォントサイズが小さくなっていないかどうかがＣＰＵ２によって判断される。あるいは、指定された代替の表示制御処理により各ＵＩ部品３０１が表示装置３の画面内に収まっているかどうかなどがＣＰＵ２によって判断される。この判断は、ステップＳ１２０２における判断と同様である。
【００４４】
ステップＳ１２０５におけるＣＰＵ２の判断がＯＫとなれば、ステップＳ１２０６に進み、ＣＰＵ２は、ＵＩ部品の表示制御処理を完了する。ステップＳ１２０５で判断結果がＮＧとなれば、ステップＳ１２０３に戻り、ＣＰＵ２は、図４に示す表示制御処理ルールを参照し、再び次善の表示制御処理を設定する。
【００４５】
具体的には、まず、ＣＰＵ２は、ＵＩ指定代替情報の記述に対応する表示制御処理を試みる。この場合においても判断結果がＮＧとなった場合、図４に示す表示制御ルールのうち、その上位の要素から派生した表示制御ルールの表示制御処理を試みる。さらに、その表示制御ルールに基づく表示制御処理がＮＧとなった場合、その上位の要素から派生した表示制御ルールであって、その既に処理を試みた表示制御ルール以外のものを選択し、表示制御処理を試みる。
【００４６】
図４において、例えば、ＵＩ指定代替情報として、表示制御ルールの「ラベルフォントを小さくする」４０８が記述された場合、まず、ＣＰＵ２は、表示制御ルールとして「ラベルフォントを小さくする」４０８の記述に対応する表示制御処理を試みる。この場合の表示制御処理が不適切であると判断された場合、上位要素の「コントロールＵＩ部品優先」４０３から派生した表示制御ルールの「ラベルをラップ表現する」４０６、「ラベルをスクロール表現する」４０７のいずれかに対応する表示制御処理を試みる。これらの処理も不適切であると判断された場合、ＣＰＵ２は、そのさらに上位要素の「コントロールＵＩ部品に関連付けられたラベル」４０１から派生した表示制御ルールの「コントロールＵＩ部品を小さくする」４０４、「コントロールＵＩ部品を改行する」４０５のいずれかの処理を実行することになる。
【００４７】
なお、次善の表示制御処理が設定されていない場合は、ステップＳ１２０６において、ＣＰＵ２は、現状設定されているその表示制御処理を実行することになる。ＣＰＵ２は、ステップＳ１２０３〜Ｓ１２０５の処理を、ＵＩ部品指定情報１０５に対応するＵＩ部品に対する代替の表示制御処理がステップＳ１２０５においてＯＫと判断されるまで繰り返す。
【００４８】
なお、ステップＳ１２０５において、図４に示す全ての表示制御処理が表示装置３の画面に対応していないと判断された場合、次善のＵＩ部品を表示する表示制御処理を実行して、表示画面内に収まるか否か判断してもよい。図３では、ラベルの次善のＵＩ部品として「ヒント」を用いた代替の表示制御処理を実行することになる。
【００４９】
図１３は、ＸＭＬの記述に基づき、ＨＴＭＬをホスト言語として拡張されたＸＦｏｒｍｓ言語として記述されるＵＩデータの記述のうち、代替表示制御処理に関する記述を有するラベルのＵＩ部品指定情報１０５の一例である。
図１３のＵＩ部品指定情報１０５の記述において、要素１３０１は、テキストの部品が指定されることを示す。また、要素１３０２は、テキストがラベルであることを示す。さらに、要素１３０３はラベルより、ラベルに対応するコントロールＵＩ部品の表示が優先であることを示す。要素１３０４は、ＵＩ部品が表示装置３の画面内に収まらなかった場合の代替表示方法が前述のラベルのラップ表現であることを示している。
【００５０】
図１４は、図１２のステップＳ１２０３において実行される、ＵＩ部品指定情報１０５から表現方法の指定を持つ具体的ＵＩ部品を得る情報処理装置の処理の一例を示すアクティビティ図である。
図１４において、まず、ＣＰＵ２は、ＵＩ指定情報１０２の最初のＵＩ指定情報要素１０３を抽出する（ステップＳ１４０１）。そして、ＣＰＵ２は、該ＵＩ指定情報要素１０３に対応するＵＩ部品ルール２０１を現在のＵＩ部品ルール要素２０２とする（ステップＳ１４０２）。
【００５１】
次に、ＣＰＵ２は、該ＵＩ指定情報１０２中に次のＵＩ指定情報要素１０３があるか否かを判断する（ステップＳ１４０３）。次のＵＩ指定情報要素１０３が存在する場合、ＣＰＵ２は、次のＵＩ指定情報要素１０３をＵＩ指定情報１０２から得る（ステップＳ１４０４）。そして、ＣＰＵ２は、該ＵＩ指定情報要素１０３に対応するＵＩ部品ルール要素２０２が存在するか否かを判断する（ステップＳ１４０５）。ステップＳ１４０３において、ＣＰＵ２は、該ＵＩ指定情報１０２中に次のＵＩ指定情報要素１０３が存在しないと判断された場合、ステップＳ１４０６に進む。
【００５２】
ステップＳ１４０５の判断の結果、ＣＰＵ２は、該ＵＩ指定情報要素１０３に対応するＵＩ部品ルール要素２０２が存在する場合には、ステップＳ１４０２の処理に戻る。一方、対応する該ＵＩ部品ルール要素２０２が存在しない場合には、ステップＳ１４０６に進む。
【００５３】
ステップＳ１４０６において、ＣＰＵ２は、現在のＵＩ部品ルール要素２０２が末端ＵＩ部品ルール要素２０４であるか否かを判断する。末端ＵＩ部品ルール要素２０４であれば、ＣＰＵ２は、該要素に結び付けられている具体的ＵＩ部品２０５をライブラリから得て（ステップＳ１４０７）、処理を終了する。
【００５４】
ステップＳ１４０６の判断の結果、ＣＰＵ２は、現在のＵＩ部品ルール要素２０２が末端ＵＩ部品ルール要素２０４でなければ、現在のＵＩ部品ルール要素２０２が持つ最初の子供要素を現在のＵＩ部品ルール要素２０２とする（ステップＳ１４０８）。そして、ステップＳ１４０６の判断処理に戻る。
【００５５】
ここで、図１４の処理を、図１３に示すＵＩ部品指定情報１０５を例として具体的に説明する。図１４のステップＳ１４０１では、図１３のＵＩ部品指定情報１０５から、最初のＵＩ指定情報要素１０３である要素１３０１の"text"を抽出する。ステップＳ１４０２でtext（テキスト）に対応する図３のＵＩ部品ルール「テキスト」３０５の存在を認識する。
【００５６】
ステップＳ１４０３において、ＣＰＵ２は、ＵＩ部品指定情報１０５から、ステップＳ１４０４で、ＵＩ指定情報要素１０３である要素１３０２の"label"１３０２を抽出する。ステップＳ１４０５（ステップＳ１４０２）において、ＣＰＵ２は、図３のＵＩ部品ルール２０１の「ラベル（label）」３０８の存在を認識する。さらに、ステップＳ１４０３において、ＣＰＵ２は、ＵＩ部品指定情報１０５の記述に続きがあることを認識し、ステップＳ１４０４において、ＵＩ指定情報要素１０３である要素１３０３の"control＿priority"を抽出する。
【００５７】
ステップＳ１４０５（ステップＳ１４０２）において、ＣＰＵ２は、ＵＩ部品ルール２０１に「コントロ−ル優先（control＿priority）」４０３が存在することを認識する。さらに、ステップＳ１４０４において、ＣＰＵ２は、図１３のＵＩ部品指定情報１０５から要素１３０４の"wrap"を得る。同様に、ステップＳ１４０５（ステップＳ１４０２）において、ＣＰＵ２は、ＵＩ部品ルール２０１に「ラベルをラップ表現」４０６が存在することを認識する。
【００５８】
ステップＳ１４０３でＵＩ部品指定情報１０５に続きは無いので、ステップＳ１４０６に進む。「wrap」４０６は、末端ＵＩ部品ルール要素２０４なので、ステップＳ１４０７にて、ＣＰＵ２は、「wrap」に対応する具体的ＵＩ部品２０５を得る。
【００５９】
このようにして図１３の具体的ＵＩ部品２０５を持つ末端ＵＩ部品ルール要素２０４まで指定した、ＵＩ部品指定情報１０５により、wrap表示という設定を持ったツールキットの具体的な部品がライブラリより選択される。
【００６０】
図１５は、ＸＭＬの記述に基づき、ＨＴＭＬをホスト言語として拡張されるＸＦｏｒｍｓ言語として記述されるＵＩデータにおいて、代替表示方法を持つラベルのＵＩ部品指定情報１０５を記述した他の例である。図１５において、要素１５０１は、テキストのＵＩ部品３０１が指定されていることを示す。要素１５０２はＵＩ部品３０１がラベルであることが記述されている。さらに、要素１５０３は、ラベル対応するコントロールＵＩ部品の表示に対してラベルの表示が優先であることを示している。しかし、図１５の記述において、要素１５０３は、末端ＵＩ部品ルール要素２０４ではない。
【００６１】
このような図１５のＵＩ部品指定情報１０５に基づいて部品を選択する際の図１４に示すＣＰＵ２の処理を説明する。
図１４のステップＳ１４０１において、ＣＰＵ２は、図１５のＵＩ部品指定情報１０５から、最初のＵＩ指定情報要素１０３である要素１５０１の"text"を抽出する。ステップＳ１４０２において、ＣＰＵ２は、"text（テキスト）"に対応するＵＩ部品ルール（図３の「テキスト」３０５」）２０１が存在することを認識する。
【００６２】
ステップＳ１４０３において、ＣＰＵ２は、ＵＩ部品指定情報１０５の記述に続きがあることを確認し、ステップＳ１４０４に進み、ＵＩ部品指定情報１０５の要素１５０２の"label＿box"を抽出する。ステップＳ１４０５（ステップＳ１４０２）において、ＣＰＵ２は、要素１５０２の"label＿box"に対応するＵＩ部品ルール２０１の存在を認識する。
【００６３】
ステップＳ１４０３において、ＣＰＵ２は、ＵＩ部品指定情報１０５の記述に続きがあることを認識し、ステップＳ１４０４において要素１５０３の"label＿priority"を抽出する。そして、ＣＰＵ２は、要素１５０３の"label＿priority"に対応するＵＩ部品ルールの「ラベル優先」４０２の存在を認識する。
【００６４】
ここで、ステップＳ１４０３において、ＣＰＵ２は、ＵＩ部品指定情報１０５の記述に続きが無いことを認識し、処理はステップＳ１４０６に進む。ステップＳ１４０６において、「ラベル優先」４０２は、末端のＵＩ部品ルール２０１ではないので、処理はステップＳ１４０８へ進む。
【００６５】
ステップＳ１４０８では、「ラベル優先」４０２の子要素のうち、任意の子要素を選択する。例えば、子要素のうち、子要素の「コントロールＵＩ部品を小さくする」４０４の表示設定を得る。ステップＳ１４０６にもどり、子要素の「コントロールＵＩ部品を小さくする」４０４は、末端ＵＩ部品ルール要素２０４であるため、ステップＳ１４０７において、具体的ＵＩ部品２０５である入力ボックスを小さくした表示のラベル付き入力ボックスを得る。その後、図１２のステップ１２０５の処理において、入力ボックスのサイズが入力されるテキストのフォントサイズよりも小さくなる場合が想定される。このように表示装置３の画面表示が不適切な場合、ＣＰＵ２は、代替の表示制御として、もう一つの「ラベル優先」４０２の子要素の「コントロールＵＩ部品を改行する」４０５を選択する。
【００６６】
このようにして図１５の具体的ＵＩ部品２０５を持つ末端ＵＩ部品ルール要素２０４まで指定しないＵＩ部品指定情報１０５であっても、コントロールを小さく表示するという、ＵＩ部品３０１の提供者の意図した表示が可能となる。
【００６７】
以上説明したように、本実施形態によれば、ＵＩ部品ルール２０１に基づいてＵＩ部品の表示制御を実行するにあたって、表示画面がＵＩ表示に足りない場合の代替表示制御処理が設定できる。さらには、ＵＩルール１０１が細かく設定されていなくても適した代替の表示制御処理でＵＩ表示が決定される。
【００６８】
（第２の実施の形態）
本実施の形態では、アプリケーションの機能を提供するサーバと、ネットワークを介して接続された、該機能を利用するクライアントで構成されるサーバ・クライアントシステムについて説明する。
【００６９】
図１６は、本実施の形態におけるサーバ・クライアントシステムの、一例を示した図である。
図１６において、サーバ１６０１はアプリケーションの機能を提供する情報処理装置である。また、クライアント端末１６０２は、該機能を利用する情報処理装置である。サーバ１６０１とクライアント端末１６０２とは、ネットワークを介して接続されている。
【００７０】
クライアント端末１６０２は、サーバ１６０１において生成されたＵＩデータ１６０３を受信する。クライアント端末１６０２は、第１の実施形態において示した表示制御処理により、該機能を利用するためのＵＩ部品を表示する。該ＵＩ部品を介して検出されたユーザの操作による画面内処理結果は、サーバ１６０１に送信され、指示に対応する機能が実行される。
【００７１】
図１７は、本実施の形態におけるサーバ・クライアントシステムの、クラス図の一例である。
図１７において、サーバ１６０１は、アプリケーションの機能を提供するためのアプリロジックを備えている。一方、クライアント端末１６０２は、該機能を利用するために、サーバ１６０１から受信したＵＩデータ１６０３を解釈し、ＵＩ部品の表示制御処理を実行するために必要な、ＵＩ部品ルールを有している。ＵＩ部品ルールによってＵＩ部品の種類の選択、およびＵＩ部品の表示制御処理が実行される。ここで、該ＵＩ部品を介して検出されたユーザの操作による画面内処理結果１６０４は、サーバ１６０１に送信される。サーバ１６０１は、画面内処理結果１６０４に応じた処理が実行される。
【００７２】
ＵＩデータ１６０３を受信したクライアント端末１６０２は、該ＵＩ部品ルールを用いて、解釈した結果をＵＩ部品として表示制御処理する。また、クライアント端末１６０２は、操作者により該ＵＩ部品を介して行われたユーザ操作の結果を、例えばイベントを発行することによりサーバ１６０１に通知する。ユーザ操作の結果を受信したサーバは、その値をアプリケーション制御に用いる。必要であれば、その結果を再度、クライアント端末１６０２に送信する。
【００７３】
以上説明したように、本実施の形態によれば、あらゆる種類のクライアント端末に対して同じＵＩデータを配信するだけで、サーバはアプリケーションの機能を提供できるようになる。また、クライアント端末に該ＵＩデータに対応するＵＩが無い場合であっても、次善のＵＩで構成することができる。
【００７４】
（本発明に係る他の実施形態）
前述した本発明の実施の形態における情報処理装置を構成する各手段、並びに表示制御処理方法の各ステップは、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【００７５】
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施の形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００７６】
なお、本発明は、前述した実施の形態の機能を実現するソフトウェアのプログラム（実施の形態では図１２、１４に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接、あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００７７】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００７８】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００７９】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスクなどがある。さらに、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ）などがある。
【００８０】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する方法がある。そして、前記ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【００８１】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００８２】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記録媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００８３】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施の形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施の形態の機能が実現され得る。
【００８４】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。そして、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施の形態の機能が実現される。
【図面の簡単な説明】
【００８５】
【図１】第１の実施の形態に係るＵＩデータの構造の一例を示すクラス図である。
【図２】第１の実施の形態に係る抽象度の違いで段階的に階層化されたＵＩルールのＵＩ部品に関するＵＩルールの構造の一例を示すクラス図である。
【図３】第１の実施の形態に実装されているＵＩ部品に基づくＵＩ部品ルールの一部をツリー構造で示す図である。
【図４】第１の実施の形態に実装されているラベルに関するＵＩ部品例をツリー構造で示す図である。
【図５】第１の実施の形態に係るＵＩコントロールとＵＩラベルの一例を示す図である。
【図６】第１の実施の形態に係るラベル優先時のＵＩ表示の一例を示す図である。
【図７】第１の実施の形態に係るラベル優先時のＵＩ表示の一例を示す図である。
【図８】第１の実施の形態に係るコントロール優先時のＵＩ表示の一例を示す図である。
【図９】第１の実施の形態に係るコントロール優先時のＵＩ表示の一例を示す図である。
【図１０】第１の実施の形態に係るコントロール優先時のＵＩ表示の一例を示す図である。
【図１１】第１の実施の形態に係るコントロール優先時のＵＩ表示の一例を示す図である。
【図１２】第１の実施の形態に係る代替表示方法設定動作の一例を示すフローチャートである。
【図１３】第１の実施の形態に係るＵＩ部品指定情報の記述例を示す図である。
【図１４】第１の実施の形態に係る具体的ＵＩ部品を得る処理のアクティビティの一例を示すフローチャートである。
【図１５】第１の実施の形態に係るＵＩ部品指定情報の記述例を示す図である。
【図１６】第２の実施の形態に係るサーバ・クライアントシステムの一例を示す図である。
【図１７】第２の実施の形態に係るサーバ・クライアントシステムの一例を示すクラス図である。
【図１８】第１の実施の形態に係るハードウェア構成の一例を示すブロック図である。
【符号の説明】
【００８６】
１  入力部
２  ＣＰＵ
３  表示装置
４  プログラムメモリ
５  データメモリ
６  バス
７  外部Ｉ／Ｆ
【図１】
2007012037.tif 000003
【図２】
2007012037.tif 000004
【図３】
2007012037.tif 000005
【図４】
2007012037.tif 000006
【図５】
2007012037.tif 000007
【図６】
2007012037.tif 000008
【図７】
2007012037.tif 000009
【図８】
2007012037.tif 000010
【図９】
2007012037.tif 000011
【図１０】
2007012037.tif 000012
【図１１】
2007012037.tif 000013
【図１２】
2007012037.tif 000014
【図１３】
2007012037.tif 000015
【図１４】
2007012037.tif 000016
【図１５】
2007012037.tif 000017
【図１６】
2007012037.tif 000018
【図１７】
2007012037.tif 000019
【図１８】
2007012037.tif 000020