(57)【特許請求の範囲】
【請求項１】
ユーザインターフェースデータに基づき、ユーザインターフェースを構成する情報処理装置であって、
実際のユーザインターフェースに対応付けられる具体的なユーザインターフェース記述から、当該ユーザインターフェース記述の抽象度を高めた複数段階の抽象的なユーザインターフェース記述まで、抽象度の違いで段階的に階層化されたユーザインターフェースルールを記憶手段に保持する保持手段と、
前記記憶手段に保持されるユーザインターフェースルールの任意の階層要素を示すユーザインターフェース指定情報から構成されているユーザインターフェースデータを入力する入力手段と、
前記ユーザインターフェース指定情報から、前記ユーザインターフェースルールを参照して、対応するユーザインターフェースを決定するユーザインターフェース決定手段と、
前記ユーザインターフェース指定情報が、当該ユーザインターフェース指定情報により指定される要素に直接対応するユーザインターフェースを特定できない場合、前記ユーザインターフェースルールの階層構造を利用して、次善のユーザインターフェースを特定する次善ユーザインターフェース特定手段と、
前記ユーザインターフェース決定手段により決定されたユーザインターフェースを指定するユーザインターフェース指定情報がラベル情報を含み、前記次善ユーザインターフェース特定手段により特定されたユーザインターフェースを指定するユーザインターフェース指定情報が文字を表示するための情報を含まない場合、前記ラベル情報に相当する文字を表示手段に表示させる表示制御手段と
を具備することを特徴とする情報処理装置。
【請求項２】
ユーザインターフェースデータに基づき、ユーザインターフェースを構成する情報処理装置における表示制御方法であって、
実際のユーザインターフェースに対応付けられる具体的なユーザインターフェース記述から、当該ユーザインターフェース記述の抽象度を高めた複数段階の抽象的なユーザインターフェース記述まで、抽象度の違いで段階的に階層化されたユーザインターフェースルールを記憶手段に保持する保持工程と、
前記記憶手段に保持されるユーザインターフェースルールの任意の階層要素を示すユーザインターフェース指定情報から構成されているユーザインターフェースデータを入力する入力工程と、
前記ユーザインターフェース指定情報から、前記ユーザインターフェースルールを参照して、対応するユーザインターフェースを決定するユーザインターフェース決定工程と、
前記ユーザインターフェース指定情報が、当該ユーザインターフェース指定情報により指定される要素に直接対応するユーザインターフェースを特定できない場合、前記ユーザインターフェースルールの階層構造を利用して、次善のユーザインターフェースを特定する次善ユーザインターフェース特定工程と、
前記ユーザインターフェース決定工程により決定されたユーザインターフェースを指定するユーザインターフェース指定情報がラベル情報を含み、前記次善ユーザインターフェース特定工程により特定されたユーザインターフェースを指定するユーザインターフェース指定情報が文字を表示するための情報を含まない場合、前記ラベル情報に相当する文字を表示手段に表示させる表示制御工程と
を有することを特徴とする表示制御方法。
【請求項３】
ユーザインターフェースデータに基づき、ユーザインターフェースを構成するコンピュータを、
実際のユーザインターフェースに対応付けられる具体的なユーザインターフェース記述から、当該ユーザインターフェース記述の抽象度を高めた複数段階の抽象的なユーザインターフェース記述まで、抽象度の違いで段階的に階層化されたユーザインターフェースルールを記憶手段に保持する保持手段と、
前記記憶手段に保持されるユーザインターフェースルールの任意の階層要素を示すユーザインターフェース指定情報から構成されているユーザインターフェースデータを入力する入力手段と、
前記ユーザインターフェース指定情報から、前記ユーザインターフェースルールを参照して、対応するユーザインターフェースを決定するユーザインターフェース決定手段と、
前記ユーザインターフェース指定情報が、当該ユーザインターフェース指定情報により指定される要素に直接対応するユーザインターフェースを特定できない場合、前記ユーザインターフェースルールの階層構造を利用して、次善のユーザインターフェースを特定する次善ユーザインターフェース特定手段と、
前記ユーザインターフェース決定手段により決定されたユーザインターフェースを指定するユーザインターフェース指定情報がラベル情報を含み、前記次善ユーザインターフェース特定手段により特定されたユーザインターフェースを指定するユーザインターフェース指定情報が文字を表示するための情報を含まない場合、前記ラベル情報に相当する文字を表示手段に表示させる表示制御手段と
して機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザインターフェース（以降、これを「ＵＩ」と称する）データに基づき、ＵＩを構成する情報処理装置、表示制御方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、ＵＩデータに基づき、ＵＩを構成する情報処理装置において、当該ＵＩデータは、情報処理装置が持つＵＩルールの任意の階層要素を示すＵＩ指定情報から構成されており、情報処理装置は、実際のＵＩに対応付けられる具体的なＵＩ記述から、当該ＵＩ記述の抽象度を高めた複数段階の抽象的なＵＩ記述まで、抽象度の違いで段階的に階層化されたＵＩルールと、ＵＩ指定情報から当該ＵＩルールを参照し、対応するＵＩを決定するＵＩ決定手段と、当該ＵＩ決定手段において、ＵＩ指定情報が指定する要素に直接対応するＵＩを特定できない場合、ＵＩルールの階層構造を利用して、次善のＵＩを特定する次善ＵＩ決定手段とを具備する階層型抽象化ＵＩデータ表示装置が勘案されている。
【０００３】
この情報処理装置によれば、当該情報処理装置内に持つＵＩルール構成の差異に関わらず、提供されたＵＩデータに基づき、常に、最善の表示画面構成が行われる。すなわち、当該情報処理装置であれば、表示画面の大きさや情報処理装置が備えているＵＩデバイスに関わらず、如何なる種類の物であっても、提供される単一のＵＩデータに基づき、且つ、ＵＩデータの提供者の意図に最大限忠実な表示画面の構成を得ることが可能となっていた。
【０００４】
また、近年、携帯型など小型の情報機器等においても、表示機能が向上し、ＧＵＩ画面に使用されるＧＵＩ部品の数や種類も豊富になり、それぞれの持つ表現能力も多彩な物となっている。さらに、ユーザにＧＵＩ部品の意味を伝える手段も、文字情報だけではなく、図形や自然画など、ビジュアルな手段を用いた、直感的なデザインも採用されつつある。
【０００５】
しかし、前述のような階層型抽象化ＵＩデータ表示装置においては、ＧＵＩ画面の設計者がＧＵＩ画面を構成して欲しいと考えるＵＩコントロール部品や、レイアウト配置を具体的にＵＩデータに記述したとしても、実際には、情報処理装置が持つＵＩルールを参照して、具象ＵＩコントロール部品やレイアウト配置が決定されるため、もし、情報処理装置にＵＩデータに記述したＵＩコントロール部品やレイアウト配置を実現する機能が存在しない場合には、当該情報処理装置において構成可能な次善のＵＩコントロール部品やレイアウト配置を使用してＧＵＩ画面が構成されることになり、その結果として、ＧＵＩ画面の設計者が意図しないＧＵＩ画面となるばかりでは無く、ＧＵＩ画面を利用するユーザにとっても使いにくい物となってしまうと言う問題点があった。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
例えば、図１４は、メディアプレーヤの操作画面としてＧＵＩ画面の設計者が意図したＧＵＩ画面であり、画面を構成するＵＩコントロール部品であるボタン部品１９０２〜１９０７には、それぞれのボタン機能の役割を明快に表す図形１９０８〜１９１３が属性情報として指定されており、図１７に示すようなＵＩデータの一部分として記述されているものである。
【０００７】
このＵＩデータは、情報処理装置に送られ、それぞれの情報処理装置が持つＵＩ部品ルールに基づいて処理され、実際のＧＵＩ画面が構成されることになる。この時、ＵＩ部品ルールとして図５Ａに示すＵＩ部品ルールを持つ、利用可能なＵＩコントロールの種類が豊富な情報処理装置においては、図形がボタンに貼り付け可能なＵＩコントロールである「PictButton」３２５を実装しているために、先のＵＩデータは、画面の設計者が意図した通りのＧＵＩ画面を構成することが可能である。
【０００８】
しかし、同じＵＩデータを別の情報処理装置、例えばＵＩ部品ルールとして図５Ｂに示すようなシンプルな機能を持つ情報処理装置で処理される場合には、ＧＵＩ画面の設計者が意図したＵＩコントロールが存在せず、その結果、テキストのみをボタンのキートップに表示可能な「TextButton」３２６が次善のＵＩコントロールとして選択され、結果として、図２１に示すようなボタンの機能が全く不明なＧＵＩ画面となってしまっていた。
【０００９】
このような問題を回避するために、階層型抽象化ＵＩデータ表示装置においては、図１３に示すように、ＵＩデータに記述されたそれぞれのＵＩコントロール要素の子要素として、ラベルデータを持つことができる構成となっている。したがって、通常は、あらゆる種類の情報処理装置において、当該ＵＩデータが処理されることを想定して、全てのＵＩコントロールについて、子要素として、当該ＵＩコントロールの意味を表すラベルデータを子要素として持つことが必要となっている。この結果、図５Ｂに示すＵＩ部品ルールを持つ情報処理装置においても、表示されるＧＵＩ画面は、例えば、図２２のようになる。
【００１０】
ところが、ＧＵＩ画面の設計者が、予め図５Ｂに示すようなＵＩルールを持つクライアントを考慮して、図１３のようなラベルデータを常に子要素として持つＵＩデータの記述をした場合は、最初の例で示した、図５Ａに示すような豊富な種類のＵＩコントロールを持つ情報処理装置では、図２３に示すように、図形２３０８〜２３１３が貼り付けられたボタン２３０２〜２３０７それぞれに、さらに意味を示すラベル表示２３１４〜２３１９も行われてしまい、この場合も設計者の意図通りにはならないという問題点があった。
【００１１】
また、図２４は、ＧＵＩ画面の設計者が意図したライブカメラのリモコン操作を行うＧＵＩ画面であり、図２５に示すようなＵＩデータにより表されている。この図２５のＵＩデータの中で、ライブカメラの映像（行番号３）は、カメラの縦方向の移動を操作する縦スライダー（行番号４〜８）と、横並びでグループ化（行番号２及び９）されており、また、当該グループ（行番号２及び９）と、カメラの横方法の移動を操作する横スライダー（行番号１０〜１４）及びカメラのズーム操作を操作する横スライダー（行番号１５〜２０）とは縦並びでグループ化（行番号１及び２１）されている。このＵＩデータを、利用可能なＵＩコントロールの種類が豊富な図５Ａに示すようなＵＩ部品ルールを持ち、なお且つ、利用可能なレイアウトの種類に縦及び横レイアウトを持つような図７Ａに示すレイアウトルールを持つ情報処理装置で処理した場合には、図２４の如く、ＧＵＩ画面の設計者が意図した通りのＧＵＩ画面となる。このＧＵＩ画面では、カメラのライブ映像と、その右辺及び下辺にあるスライダーＵＩコントロールにより、カメラの方向を操作するＵＩコントロール部品であることは容易に類推できる。
【００１２】
しかし、図５ＢのＵＩ部品ルール及び図７Ｂのレイアウトルールに示す如く、シンプルな機能しか持たない情報処理装置において当該ＵＩデータを処理した場合には、縦向きのスライダーＵＩコントロール部品も、横並びのレイアウト機能も無いために、図２６のようなＧＵＩ画面が構成されることになる。この場合でも先程の例と同様に、カメラのライブ映像と下側２本のスライダーＵＩコントロール部品の意味関係が不明確なものとなり、設計者の意図とはかけ離れたものとなるという問題点があった。
【００１３】
本発明は上述の問題点にかんがみてなされたものであり、代わりのユーザインターフェースが表示された場合であっても、操作がし難くなることを抑制することを目的とする。
【課題を解決するための手段】
【００１４】
本発明の情報処理装置は、ユーザインターフェースデータに基づき、ユーザインターフェースを構成する情報処理装置であって、実際のユーザインターフェースに対応付けられる具体的なユーザインターフェース記述から、当該ユーザインターフェース記述の抽象度を高めた複数段階の抽象的なユーザインターフェース記述まで、抽象度の違いで段階的に階層化されたユーザインターフェースルールを記憶手段に保持する保持手段と、前記記憶手段に保持されるユーザインターフェースルールの任意の階層要素を示すユーザインターフェース指定情報から構成されているユーザインターフェースデータを入力する入力手段と、前記ユーザインターフェース指定情報から、前記ユーザインターフェースルールを参照して、対応するユーザインターフェースを決定するユーザインターフェース決定手段と、前記ユーザインターフェース指定情報が、当該ユーザインターフェース指定情報により指定される要素に直接対応するユーザインターフェースを特定できない場合、前記ユーザインターフェースルールの階層構造を利用して、次善のユーザインターフェースを特定する次善ユーザインターフェース特定手段と、前記ユーザインターフェース決定手段により決定されたユーザインターフェースを指定するユーザインターフェース指定情報がラベル情報を含み、前記次善ユーザインターフェース特定手段により特定されたユーザインターフェースを指定するユーザインターフェース指定情報が文字を表示するための情報を含まない場合、前記ラベル情報に相当する文字を表示手段に表示させる表示制御手段とを具備することを特徴とする。
【発明の効果】
【００１６】
本発明によれば、代わりのユーザインターフェースが表示された場合であっても、操作がし難くなることを抑制することができる。
【発明を実施するための最良の形態】
【００１８】
（第１の実施形態）
図１は、本発明の第１の実施形態に係る情報処理装置のハードウェア構成を示すブロック図である。
図１において、１は情報（データ）を入力するための入力部である。２はＣＰＵであり、各種処理のための演算、論理判断等を行い、バス６に接続された各構成要素を制御する。３は情報（データ）を出力する出力部である。出力部３としては、ＬＣＤやＣＲＴ等のディスプレイや、プリンタ等の記録装置がある。
【００１９】
４はプログラムメモリであり、後述するフローチャートの処理手順を含む手順をＣＰＵ２による制御により実行するためのプログラムを格納するメモリである。このプログラムメモリ４は、ＲＯＭであってもよいし、外部記憶装置等からプログラムがロードされるＲＡＭであってもよい。
【００２０】
５はデータメモリであり、各種処理で生じたデータを格納する。このデータメモリ５は、例えば、ＲＡＭとするが、不揮発な外部記憶媒体から、処理に先立ってロードしておく、あるいは必要があるごとに参照するものとする。
【００２１】
６はＣＰＵ２の制御の対象とする各構成要素を指示するアドレス信号、各構成要素を制御するためのコントロール信号、各構成要素間で相互にやりとりされるデータの転送を行うためのバスである。
【００２２】
図２は、本発明の第１の実施形態に係る情報処理装置の処理を示すフローチャートである。この図２は、本発明の第１の実施形態の特徴を最も良く表す図であり、情報処理装置において利用されるＵＩデータ上に記述された特定のＵＩコントロールに付随するラベル情報を表示制御するためのスクリプト化されたルール情報の動作を示すフローチャートである。
【００２３】
図２において、Ｓ００１は、本実施形態の情報処理装置において、ＵＩデータの記述より、特定の具象ＵＩコントロール部品が決定した際に実効されるスクリプト化されたルール情報のルール解析を開始するステップである。
【００２４】
Ｓ００２は、当該決定した具象ＵＩコントロール部品についての情報を取得するステップである。
【００２５】
Ｓ００３は、具象ＵＩコントロール部品の子要素であるラベル部品についての情報を取得するステップである。
【００２６】
Ｓ００４は、先に決定した具象ＵＩコントロール部品が、ＵＩデータで指定された部品と同一であるか否かを判断するステップである。
【００２７】
Ｓ００５は、ステップＳ００４での判断の結果、先に決定した具象ＵＩコントロール部品が、ＵＩデータで指定されたものと同一であった場合に、当該具象ＵＩコントロール部品の子要素として存在するラベル部品のラベル情報について、当該具象ＵＩコントロール部品のラベル情報としての表示を非表示とするステップである。
【００２８】
Ｓ００６は、ステップＳ００４での判断の結果、先に決定した具象ＵＩコントロール部品が、ＵＩデータで指定されたものと同一でなかった場合に、当該具象ＵＩコントロール部品が、キートップに文字表示可能であるか否かを判断するステップである。
【００２９】
Ｓ００７は、ステップＳ００６での判断の結果、キートップに文字表示が可能である場合に、ラベル情報をキートップ文字として使用するステップである。このステップＳ００７の処理が終了すると、ステップＳ００５に進む。
【００３０】
Ｓ００８は、ステップＳ００６での判断の結果、キートップに文字の表示が不可能であった場合に、通常のＵＩコントロールに対応するラベル情報の表示を行うステップである。
【００３１】
Ｓ００９は、ステップＳ００５又はＳ００８の処理が終了した場合に移行し、ラベル情報の表示制御のためのスクリプト化されたルール解析を終了するステップである。
【００３２】
図３は、本発明の第１の実施形態に係る情報処理装置の処理で用いるＵＩデータの構造の一例を示すクラス図である。
図３において、本実施形態に係る情報処理装置がＵＩを構成するためのＵＩデータ１７０１は、それぞれが１つのＵＩを記述する１つ以上のＵＩ指定情報１７０２から構成されている。このＵＩ指定情報１７０２には、ＵＩ部品についての記述を行うＵＩ部品指定情報１７０５と、ＵＩ部品のレイアウトについての記述を行うレイアウト指定情報１７０６の２種類が存在する。レイアウト指定情報１７０６は、当該レイアウトの対象となる１つ以上のＵＩ指定情報１７０２をその記述の内部に含むという意味において、ＵＩ指定情報１７０２と関連している。
【００３３】
各ＵＩ指定情報１７０２は、１つのＵＩ指定情報要素１７０３を有し、さらに、ＵＩ指定情報要素１７０３は、１つのＵＩ指定情報要素を持つか、あるいは持たないことによるリスト構造を成している。各ＵＩ指定情報要素１７０３は、階層化された抽象度の１段階を表しており、抽象度を表す１つのＵＩ指定情報要素名１７０４を有する。
【００３４】
図４は、本発明の第１の実施形態に係る情報処理装置の処理において、抽象度の違いで段階的に階層化されたＵＩルールのＵＩ部品に関する構造の一例を示すクラス図である。
図４において、ＵＩ部品に関するＵＩルール２０１は、１つ以上のＵＩ部品ルール要素２０２から構成されている。この各ＵＩ部品ルール要素２０２は、非末端ＵＩ部品ルール要素２０３、あるいは末端部品ルール要素２０４のいずれかであり、非末端ＵＩ部品ルール要素２０３は、１つ以上のＵＩ部品ルール要素２０２を有し、末端ＵＩ部品ルール要素２０４は、１つの具体的ＵＩ部品２０５に結び付けられている。これにより、ＵＩ部品ルール２０１は、ツリー状構造を成し、末端のＵＩ部品ルール要素２０２は、必ず末端ＵＩ部品ルール要素２０４である。また、ＵＩ部品ルール要素２０２は、それぞれ１つのＵＩ指定情報要素名１０４と結び付けられており、ＵＩ部品ルール２０１のツリー状構造の各段階が階層化された抽象度の１段階を表現している。
【００３５】
図５Ａ及び図５Ｂは、図４の具体例として、異なる情報処理装置におけるＵＩ部品ルールの一部をツリー状構造で示した図である。
本実施形態では、ＵＩ部品を構成するために、それぞれの情報処理装置毎に規模の異なるツールキットがライブラリとして組み込まれており、上述したように、抽象概念をまとめてツリー状構造をなしている。ツリー状構造の末端には、ツールキットの具体的な部品が当てられており、階層を上がるごとに抽象度が高くなる。
【００３６】
図５Ａに示すＵＩ部品３０１におけるツリー状構造の末端には、ツールキットの具体的な部品として、「Dial」３１７、「SpinBox」３１８、「Slider_Horizontal」３１９、「Slider_Vertical」３２０、「CheckBox」３２１、「PullDown」３２２、「PullUp」３２３、「RadioButton」３２４、「PictButton」３２５、「TextButton」３２６、「2PictButton」３２７、「Label」３２８、「Hint」３２９などがある。これらの１つ上の階層では、末端の具体的な部品をそれぞれ抽象化し、部品の概念としてまとめている、ダイアル（dial）３０７、スピンボックス（spinbox）３０８、スライダ（slider）３０９、チェックボックス（checkbox）３１０、プルダウンメニュー（pulldownmenu）３１１、ラジオボタン（radiobutton）３１２、モメンタリ（momentary）３１３、オルタネート（alternate）３１４、ラベル（label）３１５、ヒント（hint）３１６などがある。これらのさらに上位の階層では、さらに抽象化したレベルとして、数値範囲（range）３０２、選択（select）３０３、唯一選択（selectone）３０４、トリガ（trigger）３０５、テキスト（text）３０６などがある。
【００３７】
また、図５Ｂに示すＵＩ部品３５１におけるツリー状構造の末端には、「SpinBox」３６２、「CheckBox」３６３、「PullDown」３６４、「TextButton」３６５、「Label」３６６などがある。これらの１つ上の階層では、スピンボックス（spinbox）３５７、チェックボックス（checkbox）３５８、プルダウンメニュー（pulldownmenu）３５９、モメンタリ（momentary）３６０、ラベル（label）３６１などがある。これらのさらに上の階層では、図５Ａの場合と同じ、数値範囲（range）３５２、選択（select）３５３、唯一選択（selectone）３５４、トリガ（trigger）３５５、テキスト（text）３５６などがある。
【００３８】
図６は、本発明の第１の実施形態に係る情報処理装置の処理において、抽象度の違いで段階的に階層化されたＵＩルールのレイアウトに関するＵＩルールの構造の一例を示すクラス図である。
図６において、レイアウトに関するＵＩルール４０１は、１つ以上のレイアウトルール要素４０２から構成されている。この各レイアウトルール要素４０２は、非末端レイアウトルール要素４０３、あるいは末端レイアウトルール要素４０４のいずれかであり、非末端レイアウトルール要素４０３は、１つ以上のレイアウトルール要素４０２を有し、末端レイアウトルール要素４０４は、１つの具体的レイアウト４０５に結び付けられている。これにより、レイアウトルール４０１は、ツリー状構造を成し、末端のレイアウトルール要素４０２は、必ず末端レイアウトルール要素４０４である。また、レイアウトルール要素４０２は、それぞれ１つのＵＩ指定情報要素名１０４と結び付けられており、レイアウトルール４０１のツリー状構造の各段階が階層化された抽象度の１段階を表現している。
【００３９】
図７Ａ及び図７Ｂは、図６の具体例として、情報処理装置に共通なレイアウトルールの一部をツリー状構造で示した図である。
本実施形態では、ＵＩ部品を画面に配置するために、具体的レイアウトが組み込まれており、図７Ａに示すように、抽象概念をまとめてツリー状構造をなしている。ツリー状構造の末端には、具体的レイアウトが当てられており、階層を上がるごとに抽象度が高くなる。
【００４０】
図７Ａに示すレイアウト５０１におけるツリー状構造の末端には、具体的レイアウトとして、ＵＩ部品を横に並べる「Horizontal」５０６、ＵＩ部品を縦に並べる「Vertical」５０７、右回りで周囲に配置する「RightOrder」５０８、左周りで周囲に配置する「LeftOrder」５０９、右上から碁盤目状に順番に配置する「UpRight」５１０、左上から碁盤目状に順番に配置する「UpLeft」５１１、右下から碁盤目状に順番に配置する「DownRight」５１２、左下から碁盤目状に順番に配置する「DownLeft」５１３などがある。これらのさらに上位の階層では、さらに抽象化したレベルとして、スタック（stack）５０３、ボーダー（border）５０４、グリッド（grid）５０５などがあり、さらにその上の抽象化したレベルとしてグループ（group）５０２などがある。
【００４１】
また、図７Ｂに示すレイアウト５２１におけるツリー状構造の末端には、具体的レイアウトとして、ＵＩ部品を縦に並べる「Vertical」５２６、右回りで周囲に配置する「RightOrder」５２７、右上から碁盤目状に順番に配置する「UpRight」５２８などがある。これらのさらに上位の階層では、さらに抽象化したレベルとして、スタック（stack）５２３、ボーダー（border）５２４、グリッド（grid）５２５などがあり、さらにその上の抽象化したレベルとしてグループ（group）５２２などがある。
【００４２】
図８は、本発明の第１の実施形態に係る情報処理装置の処理に用いるレイアウトスタックのデータ構造の一例を示す概念図である。
図８において、６００は、レイアウトスタック全体を示す。レイアウトスタック６００は、レイアウト情報をスタック状に複数貯めておくためのコンテナの役割を果たす。６０１は、概念上のスタックの最上部を示す。図８において、レイアウト情報は、このスタックの最上部６０１を最上位として、上から追加され、上から取り除かれる。６０２〜６０５は、それぞれ１つのレイアウト情報を表す。ただし、本実施形態において、６０２は、現在のレイアウト情報と呼び、描画オブジェクトは、必ずこれに基づいてレイアウトされる。レイアウト情報は、図８において下から順に追加されたレイアウト情報であり、その数には特に制限はない。
【００４３】
図９は、本発明の第１の実施形態に係る情報処理装置の処理に用いるレイアウト情報のデータ構造の一例を示す概念図である。
図９において、７００は、１つのレイアウト情報全体を示す。７０１は、当該レイアウト情報における次のオブジェクトをレイアウトするための原点となる現在の座標である。７０２は、現在のレイアウトルールである。現在の座標７０１及び現在のレイアウトルール７０２は、現在のレイアウトルールの基で次の描画オブジェクトをレイアウトするための情報である。７０３は、現在のレイアウトルールの基でレイアウトされたすべてのオブジェクトを含むような最小矩形の大きさを示す現在のボックスの大きさである。現在のボックスの大きさ７０３は、現在のレイアウトが終了して、１つ前のレイアウト情報における現在の座標７０２と当該現在のボックスの大きさを更新するために使用される。
【００４４】
図１０は、本発明の第１の実施形態に係る情報処理装置のＵＩデータ処理の一例を示すフローチャートである。なお、Ｓ８０１からＳ８１７は、各ステップを示す。
【００４５】
まず、ＵＩデータの処理が開始されると（ステップＳ８０１）、始めにＵＩデータの中に含まれているラベル情報制御ルールのスクリプトを取得する（ステップＳ８０２）。
【００４６】
次に、初期レイアウト情報を作成し、レイアウト情報をスタック型データ構造で保持するレイアウトスタックにプッシュする（ステップＳ８０３）。
【００４７】
次に、ＵＩデータ中にＵＩ指定情報がまだ存在するか否かを判断し（ステップＳ８０４）、ＵＩ指定情報が存在しなければ、処理を終了する（ステップＳ８１７）。ステップＳ８０４の判断の結果、ＵＩ指定情報がまだ存在するならば、ＵＩデータ中のＵＩ指定情報を１つ読み込む（ステップＳ８０５）。
【００４８】
次に、当該ＵＩ指定情報が、ＵＩ部品指定情報であるか否かを判断する（ステップＳ８０６）。この判断の結果、当該ＵＩ指定情報がＵＩ部品指定情報であるならば、ＵＩ部品ルールを参照し（ステップＳ８０７）、当該ＵＩ部品指定情報に対応する具体的なＵＩ部品を取得し（ステップＳ８０８）、ステップＳ８０２で取得したラベル情報制御ルールを読み込み（ステップＳ８０９）、ラベル情報制御ルールに基づきラベル情報の制御を行う（ステップＳ８１０）。次に、前記レイアウトスタックの１番上にある現在のレイアウト情報に従って部品をレイアウトし、当該レイアウト情報を更新し（ステップＳ８１１）、ステップＳ８０４の処理に戻る。
【００４９】
一方、ステップＳ８０６での判断の結果、ＵＩ指定情報が、ＵＩ部品指定情報でない、すなわちレイアウト指定情報であれば、当該レイアウト指定情報がレイアウト開始指定情報であるか否かを判断する（ステップＳ８１２）。この判断の結果、レイアウト指定情報がレイアウト開始指定情報であれば、レイアウトルールから当該レイアウト指定情報に対応する具体的レイアウトを得て（ステップＳ８１３）、現在のレイアウト情報と当該具体的レイアウトとを基に新たなレイアウト情報を作成して、レイアウトスタックにプッシュして（ステップＳ８１４）、その後、ステップＳ８０４の判断に戻る。
【００５０】
ステップＳ８１２の判断の結果、当該レイアウト指定情報がレイアウト開始指定情報でない、すなわちレイアウト終了指定情報であれば、レイアウトスタックから、現在のレイアウト情報をポップし（ステップＳ８１５）、ポップした後の現在のレイアウト情報を更新し（ステップＳ８１６）、その後、ステップＳ８０４の判断に戻る。
【００５１】
図１１は、本発明の第１の実施形態に係る情報処理装置において、ＵＩ部品指定情報から具体的ＵＩ部品を得る処理の一例を示すフローチャートである。なお、Ｓ９０１からＳ９１０は、各ステップを示す。
【００５２】
まず、処理が開始されると（ステップＳ９０１）、ＵＩ指定情報の最初のＵＩ指定情報要素を得て（ステップＳ９０２）、当該ＵＩ指定情報要素に対応するＵＩ部品ルール要素を得て、現在のＵＩ部品ルール要素とする（ステップＳ９０３）。次に、当該ＵＩ指定情報中に次のＵＩ指定情報要素が存在するか否かを判断し（ステップＳ９０４）、次のＵＩ指定情報要素が存在する場合には（ステップＳ９０４／ＹＥＳ）、次のＵＩ指定情報要素を当該ＵＩ指定情報から得る（ステップＳ９０５）。一方、ステップＳ９０４での判断の結果、当該ＵＩ指定情報中に次のＵＩ指定情報要素が存在しない場合には、ステップＳ９０７に進む。
【００５３】
次に、ステップＳ９０５で取得したＵＩ指定情報要素に対応するＵＩ部品ルール要素が存在するか否かを判断する（ステップＳ９０６）。この判断の結果、当該ＵＩ指定情報要素に対応するＵＩ部品ルール要素が存在する場合には、ステップＳ９０３の処理に戻る。一方、当該ＵＩ指定情報要素に対応するＵＩ部品ルール要素が存在しない場合には、現在のＵＩ部品ルール要素が末端ＵＩ部品ルール要素であるか否かを判断する（ステップＳ９０７）。この判断の結果、現在のＵＩ部品ルール要素が末端ＵＩ部品ルール要素でなければ、現在のＵＩ部品ルール要素の最初の子供要素を現在のＵＩ部品ルール要素として（ステップＳ９０８）、ステップＳ９０７の処理に戻る。一方、ステップＳ９０７の判断の結果、現在のＵＩ部品ルール要素が末端ＵＩ部品ルール要素であれば、当該末端ＵＩ部品ルール要素に結び付けられている具体的ＵＩ部品を得て（ステップＳ９０９）、処理を終了する（ステップＳ９１０）。
【００５４】
図１２は、本発明の第１の実施形態に係る情報処理装置において、レイアウト指定情報から具体的レイアウトを得る際の処理の一例を示すフローチャートである。なお、Ｓ１００１〜Ｓ１０１０は、各ステップを示す。
【００５５】
まず、処理が開始されると（ステップＳ１００１）、ＵＩ指定情報の最初のＵＩ指定情報要素を得て（ステップＳ１００２）、当該ＵＩ指定情報要素に対応するＵＩルール要素を得て、現在のレイアウトルール要素とする（ステップＳ１００３）。次に、当該ＵＩ指定情報中に次のＵＩ指定情報要素が存在するか否かを判断し（ステップＳ１００４）、次のＵＩ指定情報要素が存在する場合には（ステップＳ１００４／ＹＥＳ）、次のＵＩ指定情報要素を当該ＵＩ指定情報から得る（ステップＳ１００５）。一方、ステップＳ１００４での判断の結果、当該ＵＩ指定情報中に次のＵＩ指定情報要素が存在しない場合には、ステップＳ１００７に進む。
【００５６】
次に、ステップＳ１００５で取得したＵＩ指定情報要素に対応するレイアウトルール要素が存在するか否かを判断する（ステップＳ１００６）。この判断の結果、当該ＵＩ指定情報要素に対応するレイアウトルール要素が存在する場合には、ステップＳ１００３の処理に戻る。一方、当該ＵＩ指定情報要素に対応するレイアウトルール要素が存在しない場合には、現在のレイアウトルール要素が末端レイアウトルール要素であるか否かを判断する（ステップＳ１００７）。この判断の結果、現在のレイアウトルール要素が末端レイアウトルール要素でなければ、現在のレイアウトルール要素の最初の子供要素を現在のレイアウトルール要素として（ステップＳ１００９）、ステップＳ１００７の処理に戻る。一方、ステップＳ１００７での判断の結果、現在のレイアウトルール要素が末端レイアウトルール要素であれば、当該末端レイアウトルール要素に結び付けられている具体的レイアウトを得て（ステップＳ１００８）、処理を終了する（ステップＳ１０１０）。
【００５７】
図１３は、本発明の第１の実施形態に係る情報処理装置の処理に用いるＵＩデータの一例を示した図である。図１３は、ＸＭＬの記述に基づきＨＴＭＬをホスト言語とし、本実施形態により拡張されたＸＦｏｒｍｓ言語として記述されたＵＩデータのうち、コントロールパネルのＧＵＩを構成するbody部分の一部の記述例を示しており、その他の部分、例えばtrigger要素内のsubmission属性の参照先記述など、model部分については、本発明とは直接関係が無いので記述を省略している。
【００５８】
図１３において、行番号１は、本実施形態の情報処理装置において構成されるＧＵＩ画面上の１つの操作パネルを構成する複数のボタンが横並びであることを示すグループ要素記述である。行番号２〜５までは、trigger要素から構成されるボタン型ＵＩコントロール部品を示す記述であり、行番号２には、要素名とともに、抽象化レベル毎に階層化された具象ＵＩコントロールまでを指定するType属性と、当該具象ＵＩコントロールで使用されるキートップに貼り付けられる図形の参照ファイル名が、picture属性として記述されている。また、行番号３には、行番号２から始まるtrigger要素の子要素として、ラベル部品であるlabel要素とその内容が記述されている。行番号４には、行番号２のtrigger要素の子要素として、ボタン型ＵＩコントロールが操作された際に実行する動作が記述されており、submission動作の参照先を示すsubmission属性を含んでいる。行番号５には、行番号２のtrigger要素の終了タグが記述されている。
【００５９】
以下、行番号６〜行番号２５までは、上記の行番号２〜５までと同様の繰り返しであり、これらにより構成されるＵＩコントロール部品が行番号１及び行番号２６から構成されるグループ要素の内容となっている。ここで、行番号２、６、１０、１４、１８、２２に存在するtype="/button/momentary/pictbutton"は、本発明の基となる階層型抽象化ＵＩデータ表示装置によるＸＦｏｒｍｓ言語の拡張であり、ＵＩ部品指定情報を表している。それに含まれるＵＩ指定情報要素「trigger」によりトリガーを発生させるための部品が指定されており、ＵＩ指定情報要素「momentary」により押している間だけトリガーを発生させる部品が指定されており、ＵＩ指定情報要素「pictbutton」により、キートップに図形が貼り付け可能なツールキット部品が指定されていることが記述されている。
【００６０】
以下、図１３に示すＵＩデータにより、異なるＵＩ部品ルールを持つ２種類の情報処理装置において、画面を構成するＵＩコントロール部品が選択される処理について説明する。
【００６１】
図１０において、図１３に示すＵＩデータの処理が開始されると（ステップＳ８０１）、ステップＳ８０２において、図２に示すラベル情報制御ルールのスクリプトがＵＩデータより取得される。次に、ステップＳ８０３でレイアウト情報の初期化が行われ、ステップＳ８０４へと進む。今、ＵＩデータの処理が図１３に示す部分に進むと、ステップＳ８０５で行番号１のグループ要素が読み込まれる。ステップＳ８０６では、グループ要素がＵＩ部品情報では無いために、ステップＳ８１２へと進む。行番号１は、レイアウト指定の開始情報を示しているためにステップＳ８１３へと進み、図１２の処理が開始される。
【００６２】
図１２のステップＳ１００２では、図１３のレイアウト指定情報から、最初のＵＩ指定情報要素である行番号１のtype属性より「group」を得る。次に、ステップＳ１００３で図７Ａのgroup（グループ）５０２を取得する。次に、ステップＳ１００４で行番号１のtype属性でレイアウト指定情報に続きがあるので、ステップＳ１００５で「stack」を得る。次に、ステップＳ１００６でスタック５０３があるので、再びステップＳ１００３へ戻る。
【００６３】
ステップＳ１００３では、type属性から「horizontal」を得る。そして、ステップＳ１００６で「Horizontal」５０６があるので、再びステップＳ１００３に戻る。ステップＳ１００３で「Horizontal」５０６を得る。そして、ステップＳ１００４でレイアウト指定情報に続きは無いので、ステップＳ１００７に進む。「Horizontal」５０６は末端レイアウトルール要素なので、ステップＳ１００８において、具体的レイアウトHorizontalを得る。
【００６４】
次に、図１０に再び戻って、ステップＳ８１４では、ステップＳ８１３で得たレイアウトの情報がスタックにプッシュされ、この状態で図１３のＵＩ部品情報が処理され、これらのＵＩ部品は、行番号２６のレイアウト指定の終了までの間、当該スタックにある状態でレイアウト配置されることになる。
【００６５】
すなわち、図１３に示されたＵＩデータにおいては、図７Ａに示されたレイアウトルールが参照されて、具体的なレイアウトであるHorizontalが選択され、<xforms:group type="/group/stack/horizontal" id="controlpanel">、及び</xforms:group>で囲まれたＵＩ指定情報要素が横並びでレイアウトされることとなる。
【００６６】
また、図１０のステップＳ８０５において、行番号２以降が処理される際には、当該要素がＵＩ部品情報であるために、ステップＳ８０７へと進み、当該情報処理装置のＵＩ部品ルールである図５ＡのＵＩ部品ルールが参照されて、ステップＳ８０８において、図１１に示す具体的なＵＩコントロール部品の取得の処理が行われる。
【００６７】
ここで、図１１のステップＳ９０２では、図１３のＵＩ部品指定情報から、最初のＵＩ指定情報要素である「trigger」を得る。次に、ステップＳ９０３でtrigger（トリガ）に対応する図５Ａのトリガ要素３０５を得る。次に、ステップＳ９０４でＵＩ部品指定情報に続きがあるので、ステップＳ９０５で次の「momentary」を得る。次に、ステップＳ９０６でmomentary（モメンタリ）に対応するモメンタリ要素があるので、再びステップＳ９０３に戻る。そして、ステップＳ９０３でモメンタリ要素３１３を得る。
【００６８】
次にステップＳ９０４でＵＩ部品指定情報に続きがあるので、ステップＳ９０５で「pictbutton」を得る。次に、ステップＳ９０６で「PictButton」３２５があるので、再びステップＳ９０３に戻る。次に、ステップＳ９０３で「PictButton」３２５を得る。次に、ステップＳ９０４でＵＩ部品指定情報に続きは無いので、ステップＳ９０７に進む。「PictButton」３２５は、末端ＵＩ部品ルール要素なので、ステップＳ９０９において、具体的ＵＩ部品である「PictButton」を得る。
【００６９】
このようにして、図１３の具体的ＵＩ部品を持つ末端ＵＩ部品ルール要素まで指定したＵＩ部品指定情報により、ツールキットの具体的な部品である、「PictButton」が選択される。以下、図１３に示した行番号６、１０、１４、１８、２２においても、同様にして「PictButton」の選択が行われる。
【００７０】
次に、図１０のステップＳ８０９では、ステップＳ８０２で取得したラベル情報制御ルールのスクリプトを実行可能な形式に読み込みが行われ、ステップＳ８１０において、図２の具体的なＵＩコントロール部品に付帯するラベル情報の制御が行われる。
【００７１】
図１のステップＳ００２では、図１０のステップＳ８０８で取得した具体的なＵＩコントロールの部品情報が取得され、ステップＳ００３で、図１３のＵＩデータにより、行番号３の子要素としてのラベル部品情報が取得される。次に、ステップＳ００４において、ステップＳ００２で取得された具体的なＵＩコントロール部品について、図１３のＵＩデータにおけるtype属性で詳細指定されたＵＩコントロール部品と同一か否かの判断が行われ、ここでは、「PictButton」という同一の部品が選択されたために、ステップＳ００５へと進み、行番号３の子要素としてのラベル情報は、非表示とされて処理を終了する。
【００７２】
以上、図１０において、図１３に示された行番号２、６、１０、１４、１８、２２と同様の処理が行われ、その結果として、実際にＵＩコントロールである「PictButton」が画面上に描画される際には、それぞれのキートップ上に、picture属性で指定されたファイル名を持つイメージ図形が表示されると同時に、子要素としてＵＩデータに存在していたラベル情報は表示されないことになる。
【００７３】
上記により、図１３のＵＩデータに基づき、図５Ａに示されるＵＩ部品ルールを持つ情報処理装置においては、キートップに図形の貼り付けが可能な「PictButton」が、ラベル情報が非表示とされた状態で、横に６個配置された図１４の画面例が構成されることになる。
【００７４】
次に、図１３に示すＵＩデータが、図５Ｂに示すＵＩ部品ルールを持つ情報処理装置において処理される場合を説明する。
【００７５】
この場合、図１０における具体的なレイアウトの取得に関しては、先の図５Ａに示すＵＩ部品ルールを持つ情報処理装置と同様であるので、説明を省略する。
【００７６】
図１０のステップＳ８０７においては、先程とは異なり、図５ＢからなるＵＩ部品ルールが参照され、その結果、ステップＳ８０８における図１１の処理が先程とは異なる処理となる。
【００７７】
図１１のステップＳ９０２では、図１３のＵＩ部品指定情報から、最初のＵＩ指定情報要素である「trigger」を得る。次に、ステップＳ９０３でtrigger（トリガ）に対応する図５Ｂのトリガ要素３５５を得る。
【００７８】
次に、ステップＳ９０４では、ＵＩ部品指定情報に続きがあるので、ステップＳ９０５で、次の「momentary」を得る。ステップＳ９０６でmomentary（モメンタリ）に対応するモメンタリ要素があるので、再び、ステップＳ９０３に戻る。そして、ステップＳ９０３でモメンタリ要素３６０を得る。次に、ステップＳ９０４でＵＩ部品指定情報に続きがあるので、ステップＳ９０５で「pictbutton」を得る。
【００７９】
ステップＳ９０６では、PictButtonが無いので、ステップＳ９０７に進む。ステップＳ９０７では、現在のＵＩ部品ルール要素であるモメンタリ要素は、末端ＵＩ部品ルール要素では無いので、ステップＳ９０８に進み、ここで、モメンタリ要素の最初の子供要素である「TextButton」３６５を得る。次に、ステップＳ９０７に戻り、「TextButton」３６５は末端ＵＩ部品ルール要素であるので、次のステップＳ９０９において、具体的ＵＩ部品「TextButton」を得る。
【００８０】
このようにして、図１３の具体的ＵＩ部品を持つ末端ＵＩ部品ルール要素まで指定したＵＩ部品指定情報により、次善のものとなるツールキットの具体的な部品である、「TextButton」が選択される。
【００８１】
以下、図１３に示された行番号６、１０、１４、１８、２２においても、同様にして「TextButton」の選択が行なわれる。
【００８２】
次に、図１０のステップＳ８０９では、ステップＳ８０２で取得したラベル情報制御ルールのスクリプトを実行可能な形式で読み込み、ステップＳ８１０において、図２に示す具体的なＵＩコントロール部品に付帯するラベル情報の制御が行われる。
【００８３】
図２のステップＳ００２では、図１０のステップＳ８０８で取得した具体的なＵＩコントロールの部品情報が取得され、次のステップＳ００３において、図１３のＵＩデータにより、行番号３の子要素としてのラベル部品情報が取得される。
【００８４】
次に、ステップＳ００４において、ステップＳ００２で情報が取得された具体的なＵＩコントロール部品について、図１３のＵＩデータにおけるtype属性で詳細指定されたＵＩコントロール部品と同一か否かの判断が行われ、ここでは、ＵＩデータのtype属性で指定されたPictButton部品とは異なるTextButton部品が具体的なＵＩコントロールとして選択されているので、ステップＳ００６へと進む。ステップＳ００６では、選択されたＵＩコントロール部品がキートップに文字を表示可能か否かが判断され、TextButton部品はキートップに文字を表示することが可能であるために、ステップＳ００７でラベル情報をキートップ文字に使用し、ステップＳ００５において、本来のラベル情報を非表示として処理を終了する。
【００８５】
また、図１３の行番号１は、レイアウト指定情報を示しているが、図７Ａのレイアウトルールを参照し、具体的なレイアウトである「Horizontal」が選択され、<xforms:group type="/group/stack/horizontal" id="controlpanel" >、及び</xforms:group>で囲まれたＵＩ指定情報要素がステップＳ８１１において、横並びでレイアウトされることとなる。
【００８６】
以上、図１０において、図１３の行番号２、６、１０、１４、１８、２２において、同様の処理が行われ、その結果として、実際にＵＩコントロールである「TextButton」が画面上に描画される際には、それぞれのキートップ上に、それぞれのＵＩコントロールに付帯するラベル情報が表示されるとともに、子要素としてＵＩデータに存在していたラベル情報が表示されないことになる。
【００８７】
上記により、図１３のＵＩデータに基づき、図５Ｂに示されるＵＩ部品ルールを持つ情報処理装置においては、キートップに文字の表示が可能な「TextButto」が、本来のラベル情報をキートップ上に表示された状態で、横に６個配置された図１５の画面例が構成されることになる。
【００８８】
以上説明したように、第１の実施形態によれば、同一のＵＩデータを用いて、異なるＵＩ部品ルールを持つ情報処理装置において、ＧＵＩ画面の表示処理を行う際に、ＵＩコントロールに付帯するラベル情報の表示制御を行うルールを記述し、これをＵＩデータの一部あるいはＵＩデータとともに送ることにより、ＧＵＩ画面の設計者が想定する範囲で、ラベル情報の的確な表示制御が可能となる。
【００８９】
なお、本実施形態においては、ラベル情報の表示制御を行うルール情報がＵＩデータとともに情報処理装置に送られる構成としたが、当該ルール情報は、情報処理装置内に保持している構成としても構わないし、また、別途ネットワークから参照される構成でも構わない。
【００９０】
（第２の実施形態）
第１の実施形態においては、ＧＵＩ画面の設計者は、ＵＩデータに存在するＵＩコントロール部品の記述について、予めラベル情報を付帯させておくこととした形態であったが、第２の実施形態では、ＵＩデータに存在するＵＩコントロール部品について、対応するラベル情報が存在しない場合には、当該ＵＩコントロール部品の関連情報により、ラベル情報を作成する手段を設けた形態である。
【００９１】
図１６は、本発明の第２の実施形態に係る情報処理装置の処理を示すフローチャートである。この図１６は、本発明の第２の実施形態の特徴を最も良く表す図であり、情報処理装置において利用されるＵＩデータ上に記述された特定のＵＩコントロールに付随するラベル情報を表示制御のためのスクリプト化されたルール情報の動作を示すフローチャートである。
【００９２】
第２の実施形態において、第１の実施形態との差異は、図１６に示す処理の違いのみであり、他の処理については、第１の実施形態と同様のものである。すなわち、第１の実施形態を示す図１０の処理において、ステップＳ８１０に係る処理のみが、図２の処理と異なるものである。また、本実施形態で使用するＵＩデータは、第１の実施形態で使用した図１３のＵＩデータより、ＵＩコントロール部品の子要素としてのラベル情報を欠落させた図１７に示すＵＩデータを使用して説明を行う。
【００９３】
図１６において、Ｓ１４０１は、本実施形態の情報処理装置において、ＵＩデータの記述より、特定の具象ＵＩコントロール部品が決定した際に実効されるスクリプト化されたルール情報のルール解析を開始するステップである。
【００９４】
Ｓ１４０２は、当該決定した具象ＵＩコントロール部品についての情報を取得するステップである。
【００９５】
Ｓ１４０３は、具象ＵＩコントロール部品の子要素であるラベル部品についての情報を取得するステップである。
【００９６】
Ｓ１４０４は、先に決定した具象ＵＩコントロール部品が、ＵＩデータで指定された部品と同一であるか否かを判断するステップである。
【００９７】
Ｓ１４０５は、ステップＳ１４０４での判断の結果、具象ＵＩコントロール部品が、ＵＩデータで指定されたものとは異なったものであった場合に、当該具象ＵＩコントロール部品の子要素としてのラベル部品のラベル情報が存在するか否かを判断するステップである。
【００９８】
Ｓ１４０６は、ステップＳ１４０５での判断の結果、ラベル情報が存在しなかった場合に、当該ＵＩコントロールのイベント処理動作の参照先であるsubmission属性のＩＤ名を取得するステップである。
【００９９】
Ｓ１４０７は、ステップＳ１４０６において取得した参照先ＩＤ名をラベル情報として取得するステップである。
【０１００】
Ｓ１４０８は、ステップＳ１４０５での判断の結果、ラベル情報が存在した場合、あるいはステップＳ１４０７の処理が終了した場合に、具象ＵＩコントロール部品が、キートップに文字表示が可能か否かを判断するステップである。
【０１０１】
Ｓ１４０９は、ステップＳ１４０８での判断の結果、キートップに文字表示が可能である場合に、ラベル情報をキートップ文字として使用するステップである。
【０１０２】
Ｓ１４１０は、ステップＳ１４０４での判断の結果、具象ＵＩコントロール部品がＵＩデータで指定されたものと同一であった場合、あるいはステップＳ１４０９の処理が終了した場合に、当該具象ＵＩコントロール部品の子要素として存在するラベル部品のラベル情報について、当該具象ＵＩコントロール部品のラベル情報としての非表示とするステップである。
【０１０３】
Ｓ１４１１は、ステップＳ１４０８での判断の結果、キートップに文字表示が不可能であった場合に、ラベル情報の表示を行うステップである。
【０１０４】
Ｓ１４１２は、ステップＳ１４１０又はＳ１４１１の処理が終了した場合に移行し、ラベル情報の表示制御のためのスクリプト化されたルール解析を終了するステップである。
【０１０５】
以下、第１の実施形態と同様に、図１７に示すＵＩデータを用いて、図５Ｂに示すＵＩ部品ルールを持つ情報処理装置における処理を、図１０及び図１６を参照して詳細に説明する。
【０１０６】
図１７のＵＩデータにおいては、ＵＩコントロールのtype属性として、pictbutton部品が指定されているが、本実施形態の情報処理装置においては、図５Ｂに示すＵＩ部品ルールが適用されるために、第１の実施形態と同様に、図１０のステップＳ８０８においては、具体的なＵＩコントロール部品として、TextButton部品が選択されることになる。
【０１０７】
しかる後、ステップＳ８０９において、図１６に示すラベル情報表示制御のためのスクリプトがロードされ、次に、ステップＳ８１０において、ラベル情報の制御処理が図１６の如く行われる。
【０１０８】
図１６のステップＳ１４０２では、具体的なＵＩコントロール部品であるTextButton部品の情報が取得され、ステップＳ１４０３において、当該TextButton部品に関する子要素ラベル部品の情報が取得される。
【０１０９】
次に、ステップＳ１４０４では、当該TextButton部品が、ＵＩデータにおけるtype属性で指定された部品であるか否かを判断する。ここでは、異なる部品であるために、ステップＳ１４０５へと進む。
【０１１０】
ステップＳ１４０５では、ステップＳ１４０３においてＵＩコントロール部品の子要素としてのラベル部品の取得に失敗しているために、ステップＳ１４０６へと進む。次に、ステップＳ１４０６では、ＵＩコントロールのイベント動作を行う際のモデル部分における参照先を示すsubmission属性のＩＤ名を取得する。すなわち、図１７の行番号３における「rewind」が取得される。
【０１１１】
次に、ステップＳ１４０７では、ステップＳ１４０６で取得したＩＤ名をラベル情報として設定し、ステップＳ１４０８へと進む。以下、第１の実施形態と同様に、TextButton部品においては、キートップに文字表示が可能であるために、ステップＳ１４０９において、先にラベル情報として設定したＩＤ名をキートップ文字として使用することになる。
【０１１２】
以下、図１７に示す行番号３、６、９、１２、１５、１８におけるＩＤ名がラベル情報として処理され、結果として、図１８に示すＧＵＩ画面が構成される。
【０１１３】
以上説明したように、第２の本実施形態によれば、ＵＩデータにおいて、ＵＩコントロール部品に付帯するラベル情報が記述されていなくても、ラベル情報制御ルールに基づき、ＧＵＩ画面の設計者が想定していないＵＩコントロール部品が選択された場合でも的確なラベル情報を表示することができる。
【０１１４】
なお、本実施形態においては、ラベル情報の代用品として、ＵＩコントロールのイベント動作を行う際のＩＤ名を利用したが、その他、個々のＵＩコントロール部品と関連付けられた他属性のＩＤ名を利用しても良く、例えば、数値変数を扱うＵＩコントロール部品の場合には、当該数値変数の参照先ＩＤ名を用いても構わない。
【０１１５】
（第３の実施形態）
前述した第１及び第２の実施形態においては、ラベル情報制御ルールの駆動条件として、ＵＩデータのtype属性で指定したＵＩコントロール部品と、実際に使用された具象ＵＩコントロール部品との差異を挙げたが、その他の駆動条件として、ＵＩデータにおけるＵＩコントロールのレイアウト配置の差異を用いても良い。
【０１１６】
例えば、図７Ａに示すレイアウトルールを持つ情報処理装置を想定し、本発明による構成により、図１８の如く設計された、且つ全てのＵＩコントロール部品にラベル情報を予め付加した図１９に示すＵＩデータについて、実際には図７Ｂに示すシンプルなレイアウトルールを持つ情報処理装置において処理された場合には、ＵＩコントロール部品の実際に採用された具体的なレイアウトがＵＩデータにおけるtype属性で指定したレイアウトと異なり、この異なるレイアウトとなる条件の場合に限ってラベル情報を表示させることにより、図２０に示すような分かり易いＧＵＩ画面とすることが可能となる。
【図面の簡単な説明】
【０１１７】
【図１】本発明の第１の実施形態に係る情報処理装置のハードウェア構成を示すブロック図である。
【図２】本発明の第１の実施形態に係る情報処理装置の処理を示すフローチャートである。
【図３】本発明の第１の実施形態に係る情報処理装置の処理で用いるＵＩデータの構造の一例を示すクラス図である。
【図４】本発明の第１の実施形態に係る情報処理装置の処理において、抽象度の違いで段階的に階層化されたＵＩルールのＵＩ部品に関する構造の一例を示すクラス図である。
【図５Ａ】図４の具体例として、異なる情報処理装置におけるＵＩ部品ルールの一部をツリー状構造で示した図である。
【図５Ｂ】図４の具体例として、異なる情報処理装置におけるＵＩ部品ルールの一部をツリー状構造で示した図である。
【図６】本発明の第１の実施形態に係る情報処理装置の処理において、抽象度の違いで段階的に階層化されたＵＩルールのレイアウトに関するＵＩルールの構造の一例を示すクラス図である。
【図７Ａ】図６の具体例として、情報処理装置に共通なレイアウトルールの一部をツリー状構造で示した図である。
【図７Ｂ】図６の具体例として、情報処理装置に共通なレイアウトルールの一部をツリー状構造で示した図である。
【図８】本発明の第１の実施形態に係る情報処理装置の処理に用いるレイアウトスタックのデータ構造の一例を示す概念図である。
【図９】本発明の第１の実施形態に係る情報処理装置の処理に用いるレイアウト情報のデータ構造の一例を示す概念図である。
【図１０】本発明の第１の実施形態に係る情報処理装置のＵＩデータ処理の一例を示すフローチャートである。
【図１１】本発明の第１の実施形態に係る情報処理装置において、ＵＩ部品指定情報から具体的ＵＩ部品を得る処理の一例を示すフローチャートである。
【図１２】本発明の第１の実施形態に係る情報処理装置において、レイアウト指定情報から具体的レイアウトを得る際の処理の一例を示すフローチャートである。
【図１３】本発明の第１の実施形態に係る情報処理装置の処理に用いるＵＩデータの一例を示した図である。
【図１４】ＧＵＩ画面例を示した図である。
【図１５】ＧＵＩ画面例を示した図である。
【図１６】本発明の第２の実施形態に係る情報処理装置の処理を示すフローチャートである。
【図１７】本発明の第２の実施形態に係る情報処理装置の処理に用いるＵＩデータの一例を示した図である。
【図１８】ＧＵＩ画面例を示した図である。
【図１９】本発明の第３の実施形態に係る情報処理装置の処理に用いるＵＩデータの一例を示した図である。
【図２０】ＧＵＩ画面例を示した図である。
【図２１】従来例に係るＧＵＩ画面例を示した図である。
【図２２】従来例に係るＧＵＩ画面例を示した図である。
【図２３】従来例に係るＧＵＩ画面例を示した図である。
【図２４】従来例に係るＧＵＩ画面例を示した図である。
【図２５】従来例に係る拡張されたＸＦｏｒｍｓ言語として記述されたＵＩデータの一例を示した図である。
【図２６】従来例に係るＧＵＩ画面例を示した図である。
【符号の説明】
【０１１８】
１  入力部
２  ＣＰＵ
３  出力部
４  プログラムメモリ
５  データメモリ
【図１】
0004847059.tif 000002
【図２】
0004847059.tif 000003
【図３】
0004847059.tif 000004
【図４】
0004847059.tif 000005
【図５Ａ】
0004847059.tif 000006
【図５Ｂ】
0004847059.tif 000007
【図６】
0004847059.tif 000008
【図７Ａ】
0004847059.tif 000009
【図７Ｂ】
0004847059.tif 000010
【図８】
0004847059.tif 000011
【図９】
0004847059.tif 000012
【図１０】
0004847059.tif 000013
【図１１】
0004847059.tif 000014
【図１２】
0004847059.tif 000015
【図１３】
0004847059.tif 000016
【図１４】
0004847059.tif 000017
【図１５】
0004847059.tif 000018
【図１６】
0004847059.tif 000019
【図１７】
0004847059.tif 000020
【図１８】
0004847059.tif 000021
【図１９】
0004847059.tif 000022
【図２０】
0004847059.tif 000023
【図２１】
0004847059.tif 000024
【図２２】
0004847059.tif 000025
【図２３】
0004847059.tif 000026
【図２４】
0004847059.tif 000027
【図２５】
0004847059.tif 000028
【図２６】
0004847059.tif 000029