(57)【要約】  ユーザインタフェース装置（１）は、主プラットフォームである第１のプラットフォーム（１０）と従プラットフォームである第２のプラットフォーム（２０）とを含む。第１のプラットフォーム（１０）が実行するＵＩ画面は、第２のプラットフォーム（２０）が実行するＵＩ画面の表示位置に配置されたプロキシ部品（１０３）を含む。第１のプラットフォーム（１０）は、ユーザが選択中のＵＩ部品にフォーカスを付与し、フォーカスがプロキシ部品（１０３）に付与されている間、ユーザの操作により生じた操作イベントを第２のプラットフォーム（２０）へ送信する。当該操作イベントが第２のプラットフォーム（２０）で消費された場合は、第１のプラットフォーム（１０）はプロキシ部品（１０３）へのフォーカスの付与を維持し、消費されなかった場合は、第１のプラットフォーム（１０）が操作イベントに応じた処理を実行する。
2019244279.tif 000002
【特許請求の範囲】
【請求項１】
複数のプラットフォームによって実行される複数のＵＩ画面を含む複合ＵＩ画面を表示するユーザインタフェース装置であって、
前記複数のプラットフォームは、主プラットフォームと従プラットフォームを含み、
前記主プラットフォームが実行するＵＩ画面は複数のＵＩ部品を含み、
前記複数のＵＩ部品は、表示要素を持たず、前記従プラットフォームが実行するＵＩ画面の表示位置に配置されたプロキシ部品を含み、
前記主プラットフォームは、
前記複数のＵＩ部品のうちのユーザが選択中のＵＩ部品にフォーカスを付与するフォーカス管理部と、
前記フォーカスが付与されている前記ＵＩ部品に、前記フォーカスが付与されていることを表す表示効果を与えるＵＩ部品制御部と、
前記フォーカスが前記プロキシ部品に付与されている間、前記ユーザの操作により生じた操作イベントを前記従プラットフォームへ送信する操作イベント送信部と、
前記従プラットフォームから、前記操作イベントが前記従プラットフォームで消費されたか否かを示す操作イベント消費情報を受信する操作イベント消費情報受信部と、
を備え、
前記従プラットフォームは、
前記主プラットフォームからの前記操作イベントを受信する操作イベント受信部と、
前記操作イベントが従プラットフォームで消費されたか否かを判定する操作イベント消費判定部と、
前記操作イベントが従プラットフォームで消費されたか否かの判定結果を、前記操作イベント消費情報として前記主プラットフォームへ送信する操作イベント消費情報送信部と、
を備え、
前記操作イベントが従プラットフォームで消費された場合は、前記主プラットフォームの前記フォーカス管理部が、前記プロキシ部品への前記フォーカスの付与を維持し、
前記操作イベントが前記従プラットフォームで消費されなかった場合は、前記主プラットフォームが前記操作イベントに応じた処理を実行する、
ユーザインタフェース装置。
【請求項２】
前記主プラットフォームは、
前記プロキシ部品に前記フォーカスが付与されているか否かを示すプロキシ部品状態情報を前記従プラットフォームへ送信するプロキシ部品状態情報送信部をさらに備え、
前記従プラットフォームは、
前記プロキシ部品状態情報を受信するプロキシ部品状態情報受信部と、
前記フォーカスが前記プロキシ部品に付与されている間、前記従プラットフォームが実行するＵＩ画面のいずれかのＵＩ部品に前記フォーカスが付与されていることを表す表示効果を与え、前記フォーカスが前記プロキシ部品に付与されていない間、前記従プラットフォームが実行するＵＩ画面のどのＵＩ部品にも前記フォーカスが付与されていないことを表す表示効果を、前記従プラットフォームが実行するＵＩ画面に与えるＵＩ部品制御部と、
をさらに備える、
請求項１記載のユーザインタフェース装置。
【請求項３】
前記複数のプラットフォームは、前記従プラットフォームを複数含み、
前記複数のＵＩ部品は、複数の前記従プラットフォームのそれぞれに対応付けされた複数の前記プロキシ部品を含む、
請求項１に記載のユーザインタフェース装置。
【請求項４】
複数のプラットフォームによって実行される複数のＵＩ画面を含む複合ＵＩ画面を表示するユーザインタフェース装置のＵＩ画面を設計するためのユーザインタフェース設計装置であって、
第１のプラットフォームが実行するＵＩ画面に配置可能な複数のＵＩ部品が格納されたＵＩ部品格納部と、
ユーザの操作に従って、前記ＵＩ部品格納部に格納された複数のＵＩ部品を配置することでＵＩ画面を構成するＵＩ部品配置部と、
前記ユーザの操作に従って、前記ＵＩ画面に配置されたＵＩ部品のそれぞれに属性値を設定するＵＩ部品属性値設定部と、
前記ＵＩ部品配置部および前記ＵＩ部品属性値設定部を用いて作成されたＵＩ画面を、前記第１のプラットフォームが実行するための実行用データに変換する実行用データ生成部と、
を備え、
前記複数のＵＩ部品は、表示要素を持たず、第２のプラットフォームが実行するＵＩ画面の表示位置に配置されるプロキシ部品を含む、
ユーザインタフェース設計装置。
【請求項５】
前記ＵＩ部品属性値設定部は、プロキシ部品の属性値として、どのプラットフォームが前記第２のプラットフォームであるのかを設定可能である、
請求項４記載のユーザインタフェース設計装置。
【請求項６】
前記ＵＩ画面に複数の前記プロキシ部品が配置された場合、前記ＵＩ部品属性値設定部は、前記プロキシ部品ごとに、どのプラットフォームが前記第２のプラットフォームになるのかを設定可能である、
請求項５記載のユーザインタフェース設計装置。
【請求項７】
複数のプラットフォームによって実行される複数のＵＩ画面を含む複合ＵＩ画面を表示するユーザインタフェース装置の制御方法であって、
前記複数のプラットフォームは、主プラットフォームと従プラットフォームを含み、
前記主プラットフォームが実行するＵＩ画面は複数のＵＩ部品を含み、
前記複数のＵＩ部品は、表示要素を持たず、前記従プラットフォームが実行するＵＩ画面の表示位置に配置されたプロキシ部品を含み、
前記主プラットフォームが、
前記複数のＵＩ部品のうちのユーザが選択中のＵＩ部品にフォーカスを付与し、
前記フォーカスが付与されている前記ＵＩ部品に、前記フォーカスが付与されていることを表す表示効果を与え、
前記フォーカスが前記プロキシ部品に付与されている間、前記ユーザの操作により生じた操作イベントを前記従プラットフォームへ送信し、
前記従プラットフォームが、
前記主プラットフォームからの前記操作イベントを受信し、
前記操作イベントが従プラットフォームで消費されたか否かを判定し、
前記操作イベントが従プラットフォームで消費されたか否かの判定結果を、操作イベント消費情報として前記主プラットフォームへ送信し、
前記主プラットフォームが、
前記操作イベント消費情報を受信し、
前記操作イベントが従プラットフォームで消費された場合は、前記プロキシ部品への前記フォーカスの付与を維持し、
前記操作イベントが前記従プラットフォームで消費されなかった場合は、前記操作イベントに応じた処理を実行する、
ユーザインタフェース装置の制御方法。
【請求項８】
複数のプラットフォームによって実行される複数のＵＩ画面を含む複合ＵＩ画面を表示するユーザインタフェース装置の画面設計方法であって、
ユーザインタフェース設計装置のＵＩ部品配置部が、ユーザの操作に従って、複数のＵＩ部品を配置することで第１のプラットフォームが実行するＵＩ画面を構成し、
前記ユーザインタフェース設計装置のＵＩ部品属性値設定部が、前記ユーザの操作に従って、前記ＵＩ画面に配置されたＵＩ部品のそれぞれに属性値を設定し、
前記ユーザインタフェース設計装置の実行用データ生成部が、前記ＵＩ部品配置部および前記ＵＩ部品属性値設定部により作成されたＵＩ画面を前記第１のプラットフォームが実行するための実行用データに変換し、
前記複数のＵＩ部品は、表示要素を持たず、第２のプラットフォームが実行するＵＩ画面の表示位置に配置されるプロキシ部品を含む、
ユーザインタフェース装置の画面設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザインタフェース（ＵＩ）装置に関するものであり、特に、複数のプラットフォーム（ＰＦ）によって実行される複数のＵＩ画面を同時に表示するユーザインタフェース装置に関するものである。
【背景技術】
【０００２】
複数のＵＩ画面を同時に表示するユーザインタフェース装置が知られている。例えば下記の特許文献１には、複数のＵＩ画面（ウィンドウ）を同時に表示するウィンドウシステムにおいて、ユーザの操作によって生じる操作イベントに応じて、前面化させるウィンドウを切り替えるための技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１６７７１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
コンピュータ上に複数のバーチャルマシンを構築し、それぞれのバーチャルマシンで異なるプラットフォームを動作させることが可能な、ハイパーバイザと呼ばれる制御プログラムがある。ハイパーバイザを利用することで、例えばＬｉｎｕｘ（登録商標）やＲＴＯＳ（Real-time operating system）など、複数のプラットフォームによって実行される複数のＵＩ画面を構成要素とする複合的なＵＩ画面（以下「複合ＵＩ画面」という）を提供するユーザインタフェース装置の実現が可能である。【０００５】
しかし、従来のユーザインタフェース装置では、異なるプラットフォーム間で動作状態の情報が共有されていない。そのため、例えばユーザが操作対象とするＵＩ画面を、第１のプラットフォームが実行するＵＩ画面から第２のプラットフォームが実行するＵＩ画面へと切り替える場合、その切り替えを行うための特別な操作が必要となる。【０００６】
本発明は以上のような課題を解決するためになされたものであり、ユーザが操作対象とするＵＩ画面の切り換えを、プラットフォームの切り替えるための特別な操作なしに、異なるプラットフォーム間で行うことが可能なユーザインタフェース装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係るユーザインタフェース装置は、複数のプラットフォームによって実行される複数のＵＩ画面を含む複合ＵＩ画面を表示するユーザインタフェース装置であって、複数のプラットフォームは、主プラットフォームと従プラットフォームを含み、主プラットフォームが実行するＵＩ画面は複数のＵＩ部品を含み、複数のＵＩ部品は、表示要素を持たず、従プラットフォームが実行するＵＩ画面の表示位置に配置されたプロキシ部品を含み、主プラットフォームは、複数のＵＩ部品のうちのユーザが選択中のＵＩ部品にフォーカスを付与するフォーカス管理部と、フォーカスが付与されているＵＩ部品に、フォーカスが付与されていることを表す表示効果を与えるＵＩ部品制御部と、フォーカスがプロキシ部品に付与されている間、ユーザの操作により生じた操作イベントを従プラットフォームへ送信する操作イベント送信部と、従プラットフォームから、操作イベントが従プラットフォームで消費されたか否かを示す操作イベント消費情報を受信する操作イベント消費情報受信部と、を備え、従プラットフォームは、主プラットフォームからの操作イベントを受信する操作イベント受信部と、操作イベントが従プラットフォームで消費されたか否かを判定する操作イベント消費判定部と、操作イベントが従プラットフォームで消費されたか否かの判定結果を、操作イベント消費情報として主プラットフォームへ送信する操作イベント消費情報送信部と、を備え、操作イベントが従プラットフォームで消費された場合は、主プラットフォームのフォーカス管理部が、プロキシ部品へのフォーカスの付与を維持し、操作イベントが従プラットフォームで消費されなかった場合は、主プラットフォームが操作イベントに応じた処理を実行する。
【発明の効果】
【０００８】
本発明に係るユーザインタフェース装置では、主プラットフォームのプロキシ部品にフォーカスが付与されている間、ユーザの操作によって生じた操作イベントが従プラットフォームへ送信されるため、ユーザは、特別な操作を行うことなく、操作対象を主プラットフォームのＵＩ画面から従プラットフォームのＵＩ画面へ切り替えることができる。また、従プラットフォームへ送信された操作イベントが従プラットフォームで消費されなかった場合、その操作イベントは主プラットフォームで処理されるため、ユーザの操作対象を従プラットフォームのＵＩ画面から主プラットフォームのＵＩ画面へ戻すことも、特別な操作なしに可能である。【０００９】
本発明の目的、特徴、態様、および利点は、以下の詳細な説明と添付図面とによって、より明白となる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１に係るユーザインタフェース装置の構成を示す図である。
【図２】実施の形態１における複合ＵＩ画面の例を示す図である。
【図３】図２に示した複合ＵＩ画面の構成を説明するための図である。
【図４】図２に示した複合ＵＩ画面の構成を説明するための図である。
【図５】実施の形態１に係るユーザインタフェース装置における第１のプラットフォームの動作を示すフローチャートである。
【図６】実施の形態１に係るユーザインタフェース装置における第２のプラットフォームの動作を示すフローチャートである。
【図７】実施の形態１に係るユーザインタフェース装置の動作の例を示す図である。
【図８】実施の形態１に係るユーザインタフェース装置の動作の例を示す図である。
【図９】実施の形態１に係るユーザインタフェース装置の動作の例を示す図である。
【図１０】ユーザインタフェース装置のハードウェア構成の例を示す図である。
【図１１】実施の形態２に係るユーザインタフェース装置の構成を示す図である。
【図１２】実施の形態２における複合ＵＩ画面の例を示す図である。
【図１３】図１２に示した複合ＵＩ画面の構成を説明するための図である。
【図１４】図１２に示した複合ＵＩ画面の構成を説明するための図である。
【図１５】実施の形態２に係るユーザインタフェース装置の動作の例を示す図である。
【図１６】実施の形態２に係るユーザインタフェース装置の動作の例を示す図である。
【図１７】実施の形態２に係るユーザインタフェース装置の動作の例を示す図である。
【図１８】実施の形態２に係るユーザインタフェース装置の動作の例を示す図である。
【図１９】実施の形態３における複合ＵＩ画面の例を示す図である。
【図２０】図１９に示した複合ＵＩ画面の構成を説明するための図である。
【図２１】図１９に示した複合ＵＩ画面の構成を説明するための図である。
【図２２】図１９に示した複合ＵＩ画面の構成を説明するための図である。
【図２３】実施の形態３における複合ＵＩ画面の例を示す図である。
【図２４】図２３に示した複合ＵＩ画面の構成を説明するための図である。
【図２５】図２３に示した複合ＵＩ画面の構成を説明するための図である。
【図２６】図２３に示した複合ＵＩ画面の構成を説明するための図である。
【図２７】実施の形態３における複合ＵＩ画面の例を示す図である。
【図２８】図２７に示した複合ＵＩ画面の構成を説明するための図である。
【図２９】図２７に示した複合ＵＩ画面の構成を説明するための図である。
【図３０】図２７に示した複合ＵＩ画面の構成を説明するための図である。
【図３１】複合ＵＩ画面の変形例を示す図である。
【図３２】実施の形態４に係るユーザインタフェース設計装置の構成を示す図である。
【図３３】ＵＩ設計画面の例を示す図である。
【図３４】ＵＩ画面の実行用データの例を示す図である。
【図３５】ＵＩ画面の作成手順を示すフローチャートである。
【図３６】ＵＩ設計画面の例を示す図である。
【図３７】ＵＩ画面の実行用データの例を示す図である。
【発明を実施するための形態】
【００１１】
＜実施の形態１＞
図１は、実施の形態１に係るユーザインタフェース装置１の構成を示す図である。図１のように、ユーザインタフェース装置１は、操作入力装置２および表示装置３に接続されている。
【００１２】
操作入力装置２は、ユーザがユーザインタフェース装置１に操作を入力するための入力手段である。操作入力装置２は、少なくとも、ユーザが操作対象を選択するための「方向キー」と、ユーザが方向キーを用いて選択した操作対象を確定するための「決定キー」とを備えるものとする。方向キーに代えて、例えば操作レバーなど、方向を入力可能な任意の入力手段が用いられてもよい。表示装置３は、ユーザインタフェース装置１がＵＩ画面を表示するための表示手段であり、例えば、液晶表示装置などである。
【００１３】
例えば、ユーザインタフェース装置１がカーナビゲーション装置やオーディオディスプレイ装置などの車載装置に適用される場合、操作入力装置２は車両のセンタークラスタ（車載装置のヘッドユニット）やセンターコンソールなど、運転者が容易に操作可能な位置に配置され、表示装置３は車両のセンタークラスタやインストルメントパネル（メータクラスタ）など、運転者が容易に視認可能な位置にされる。
【００１４】
ユーザインタフェース装置１は、ＬｉｎｕｘやＲＴＯＳなど、複数のプラットフォームを備えており、それら複数のプラットフォームによって実行される複数のＵＩ画面を含む複合ＵＩ画面を表示装置３に表示させることができる。また、複合ＵＩ画面を構成する複数のＵＩ画面を実行する複数のプラットフォームは、互いの主従関係が規定されている。本実施の形態では、図１のように、ユーザインタフェース装置１が第１のプラットフォーム１０と第２のプラットフォーム２０とを備えており、第１のプラットフォーム１０が主プラットフォーム、第２のプラットフォーム２０が従プラットフォームとして規定されているものとする。
【００１５】
ユーザインタフェース装置１が表示装置３に表示させる複合ＵＩ画面の例を図２に示す。図２の複合ＵＩ画面は、第１のプラットフォーム１０が実行する第１のＵＩ画面１００と、第２のプラットフォーム２０が実行する第２のＵＩ画面２００とを含んでいる。第１のＵＩ画面１００は、２つのボタン１０１，１０２を有しており、第２のＵＩ画面２００は第１のＵＩ画面１００内のボタン１０１，１０２の下に配置されている。
【００１６】
第１のＵＩ画面１００および第２のＵＩ画面２００は、それぞれ１つ以上のＵＩ部品から構成される。特に、主プラットフォームである第１のプラットフォーム１０により実行される第１のＵＩ画面１００は、ＵＩ部品として、表示要素を持たず、従プラットフォームが実行するＵＩ画面の表示位置に配置された「プロキシ部品」を含んでいる。すなわち、第１のＵＩ画面１００は、実際には、図３のように、ＵＩ部品としてのボタン１０１，１０２と、第２のＵＩ画面２００に対応するプロキシ部品１０３とを含んでいる。そして、第１のＵＩ画面１００のプロキシ部品１０３の部分に、従プラットフォームである第２のプラットフォーム２０が実行する第２のＵＩ画面２００（図４）が表示されることで、見た目上、図２に示した複合ＵＩ画面が構成される。なお、第２のＵＩ画面２００も１以上のＵＩ部品により構成されるが、ここではその図示を省略している。
【００１７】
図１に戻り、第１のプラットフォーム１０は、表示装置３に第１のＵＩ画面１００を表示させるＵＩ画面実行部１１と、第２のプラットフォーム２０との通信を行うインタフェース部１２とを備えている。
【００１８】
ＵＩ画面実行部１１は、フォーカス管理部１１１およびＵＩ部品制御部１１２を備えている。フォーカス管理部１１１は、第１のＵＩ画面１００を構成する複数のＵＩ部品のうちのユーザが操作対象として選択中のＵＩ部品にフォーカスを付与する。ＵＩ部品制御部１１２は、フォーカスが付与されているＵＩ部品に、フォーカスが付与されていることを表す表示効果を与える。フォーカスが付与されているＵＩ部品にＵＩ部品制御部１１２が与える表示効果はどのようなものでもよい。本実施の形態では、ＵＩ部品制御部１１２は、フォーカスが付与されているＵＩ部品が太い線で描画されるようにする。例えば、図２には、ボタン１０１にフォーカスが付与された状態が示されている。
【００１９】
ユーザは、操作入力装置２を操作することによって、操作対象として選択するＵＩ部品を変更すること、すなわちフォーカスの移動を行うことができる。また、詳細は後述するが、プロキシ部品１０３も操作対象（フォーカスの付与対象）として選択され得る。
【００２０】
インタフェース部１２は、操作イベント送信部１２１および操作イベント消費情報受信部１２２を備えている。操作イベント送信部１２１は、フォーカスがプロキシ部品に付与されている間、ユーザが操作入力装置２を操作することで発生した操作イベントを、従プラットフォームである第２のプラットフォーム２０へ送信する。操作イベント消費情報受信部１２２は、第２のプラットフォーム２０から、操作イベントが第２のプラットフォーム２０で消費されたか否かを示す「操作イベント消費情報」を受信する。
【００２１】
第２のプラットフォーム２０は、表示装置３に第２のＵＩ画面２００を表示させるＵＩ画面実行部２１と、第１のプラットフォーム１０との通信を行うインタフェース部２２とを備えている。
【００２２】
ＵＩ画面実行部２１は、操作イベント消費判定部２１０を備えている。インタフェース部２２は、操作イベント受信部２２１および操作イベント消費情報送信部２２２を備えている。
【００２３】
インタフェース部２２の操作イベント受信部２２１は、第１のプラットフォーム１０の操作イベント送信部１２１から送信された操作イベントを受信する。ＵＩ画面実行部２１は、操作イベント受信部２２１が受信した操作イベントに応じた処理を実施する。
【００２４】
ＵＩ画面実行部２１の操作イベント消費判定部２１０は、操作イベント受信部２２１が受信した操作イベントがＵＩ画面実行部２１で消費されたか否かを判定する。操作イベント消費情報送信部２２２は、操作イベント受信部２２１による判定の結果を、操作イベント消費情報として、第１のプラットフォーム１０へ送信する。
【００２５】
第１のプラットフォーム１０のＵＩ画面実行部１１は、操作イベント消費情報受信部１２２が受信した操作イベント消費情報を参照して、フォーカスがプロキシ部品に付与されている間に操作イベント送信部１２１が送信した操作イベントが、第２のプラットフォーム２０で消費されたか否かを確認する。当該操作イベントが第２のプラットフォーム２０で消費された場合は、フォーカス管理部１１１がプロキシ部品へのフォーカスの付与を維持する。当該操作イベントが第２のプラットフォーム２０で消費されなかった場合は、ＵＩ画面実行部１１が当該操作イベントに応じた処理を実行する。
【００２６】
図５および図６は、実施の形態１に係るユーザインタフェース装置１の動作を示すフローチャートであり、図５は第１のプラットフォーム１０の動作、図６は第２のプラットフォーム２０の動作をそれぞれ示している。
【００２７】
以下、実施の形態１に係るユーザインタフェース装置１を説明する。図５のフローと図６のフローは並行して実行されるため、それらフローの説明も並行して行う。以下で引用するステップＳ１０１〜Ｓ１０８は図５のフローに含まれており、ステップＳ２０１〜Ｓ２０５は図５のフローに含まれている。
【００２８】
ユーザインタフェース装置１が起動すると、第１のプラットフォーム１０のＵＩ画面実行部１１が、表示装置３に第１のＵＩ画面１００を表示させる（ステップＳ１０１）。また、第２のプラットフォーム２０のＵＩ画面実行部２１が、表示装置３に表示された第１のＵＩ画面１００のプロキシ部品１０３の位置に第２のＵＩ画面２００を表示させる（ステップＳ２０１）。それにより、表示装置３には、図２のような第１のＵＩ画面１００および第２のＵＩ画面２００を含む複合ＵＩ画面が表示される。
【００２９】
続いて、ＵＩ画面実行部１１は、ユーザが操作入力装置２の操作を行ったか否か、すなわち、操作イベントが発生したか否かを確認する（ステップＳ１０２）。操作イベントが発生しない間（ステップＳ１０２でＮＯ）、ＵＩ画面実行部１１はステップＳ１０２を繰り返す。
【００３０】
操作イベントが発生すると（ステップＳ１０２でＮＯ）、第１のプラットフォーム１０のフォーカス管理部１１１が、第１のＵＩ画面１００内のフォーカスの位置、すなわちフォーカスが第１のＵＩ画面１００のどのＵＩ部品に付与されているか、を確認する（ステップＳ１０３）。このとき、フォーカスがプロキシ部品１０３以外のＵＩ部品に付与されていれば（ステップＳ１０４でＮＯ）、ＵＩ画面実行部１１は、当該操作イベントに応じた処理を実施して（ステップＳ１０８）、ステップＳ１０２に戻る。
【００３１】
例えば図７のように、ボタン１０１にフォーカスが付与された状態で、操作入力装置２の下方向キーの押下による操作イベントが生じた場合、ＵＩ画面実行部１１のフォーカス管理部１１１が、フォーカスをボタン１０１からその下方に位置するボタン１０２へと移動させ、ＵＩ部品制御部１１２がボタン１０２にフォーカスが付与されていることを表す表示効果を与える。つまり、ボタン１０２が太い線で描画される。
【００３２】
また、例えば図８のように、ボタン１０２にフォーカスが付与された状態で、操作入力装置２の下方向キーの押下による操作イベントが生じた場合、ＵＩ画面実行部１１のフォーカス管理部１１１が、フォーカスをボタン１０２からその下方に位置するプロキシ部品１０３へと移動させる。図８では、便宜上、プロキシ部品１０３を太い線で示しているが、プロキシ部品１０３は表示要素を持たないため、実際の複合ＵＩ画面上では、プロキシ部品１０３にフォーカスが付与されても、プロキシ部品１０３自体には表示効果は与えられない。ただし、プロキシ部品１０３にフォーカスが付与されて操作イベントが第２のプラットフォーム２０へ送信された結果、プロキシ部品１０３の位置に表示された第２のＵＩ画面２００に変化が生じることはある。
【００３３】
操作イベントが発生したとき、フォーカスがプロキシ部品１０３に付与されていれば（ステップＳ１０４でＹＥＳ）、第１のプラットフォーム１０の操作イベント送信部１２１が、当該操作イベントを第２のプラットフォーム２０へ送信する（ステップＳ１０５）。
【００３４】
一方、第２のプラットフォーム２０は、第２のＵＩ画面２００を表示装置３に表示させた後、第１のプラットフォーム１０の操作イベント送信部１２１から操作イベントが送信されるのを待っている（図６のステップＳ２０２）。
【００３５】
図７のステップＳ１０５で、第１のプラットフォーム１０の操作イベント送信部１２１から操作イベントが送信されると、当該操作イベントが、第２のＵＩ画面２００の操作イベント受信部２２１により受信される（ステップＳ２０２でＹＥＳ）。そして、第２のプラットフォーム２０のＵＩ画面実行部２１が、操作イベント受信部２２１が受信した操作イベントに応じた処理を実施する（ステップＳ２０３）。従って、フォーカスがプロキシ部品１０３に付与されている間、ユーザが操作入力装置２に対して行った操作は、第２のプラットフォーム２０に入力される。よってその間は、ユーザの操作対象が第１のＵＩ画面１００から第２のＵＩ画面２００へと切り替わることになる。
【００３６】
このように、ユーザは、第１のＵＩ画面１００上でフォーカスを移動させるのと同じ操作によって、操作対象を第１のＵＩ画面１００から第２のＵＩ画面２００に切り替えることができる。つまり、ユーザは、操作対象を第１のＵＩ画面１００から第２のＵＩ画面２００へ切り替えることを容易な操作で行うことができる。
【００３７】
ステップＳ２０３でＵＩ画面実行部２１が操作イベントに応じた処理を実施した後、操作イベント消費判定部２１０が、当該操作イベントがＵＩ画面実行部２１で消費されたか否かを判定する（ステップＳ２０４）。例えば、フォーカスを移動できない方向を指定する方向キーの操作など、ユーザの操作が第２のＵＩ画面２００において無効な操作であった場合には、その操作によって生じた操作イベントは、ＵＩ画面実行部２１で消費できない。この操作イベント消費判定部２１０による判定結果は、操作イベント消費情報送信部２２２が、操作イベント消費情報として、第１のプラットフォーム１０へ送信する（ステップＳ２０５）。その後、第２のプラットフォーム２０はステップＳ２０２の処理へと戻る。
【００３８】
操作イベント消費情報送信部２２２が送信した操作イベント消費情報は、第１のプラットフォーム１０の操作イベント消費情報受信部１２２により受信される（図５のステップＳ１０６）。
【００３９】
操作イベント消費情報受信部１２２により操作イベント消費情報が受信されると、第１のプラットフォーム１０のＵＩ画面実行部１１は、操作イベント消費情報を参照して、操作イベントが第２のプラットフォーム２０で消費されたか否かを確認する（ステップＳ１０７）。当該操作イベントが第２のプラットフォーム２０で消費されていれば（ステップＳ１０７でＹＥＳ）、ステップＳ１０２へ戻る。このとき、フォーカス管理部１１１はプロキシ部品１０３へのフォーカスの付与を維持する。
【００４０】
当該操作イベントが第２のプラットフォーム２０で消費されていなければ（ステップＳ１０７でＮＯ）、ＵＩ画面実行部１１は当該操作イベントに応じた処理を実行する（ステップＳ１０８）。
【００４１】
例えば、図９に示すように、プロキシ部品１０３にフォーカスが付与された状態で、操作入力装置２の上方向キーの押下による操作イベントが生じ、その操作イベントが第２のプラットフォーム２０で消費できなかった場合、フォーカス管理部１１１がフォーカスをプロキシ部品１０３からその上方に位置するボタン１０２へと移動させ、ＵＩ部品制御部１１２がボタン１０２を太い線で描画されるようにする。
【００４２】
このように、ユーザは、第１のＵＩ画面１００上でフォーカスを移動させるのと同じ操作によって、操作対象を第２のＵＩ画面２００から第１のＵＩ画面１００に切り替えることもできる。よって、ユーザは、操作対象を第１のＵＩ画面１００と第２のＵＩ画面２００と間で切り替えることを容易な操作で行うことができる。
【００４３】
図１０は、ユーザインタフェース装置１のハードウェア構成の例を示す図である。図１に示したユーザインタフェース装置１の第１のプラットフォーム１０およびインタフェース部１２は、例えば図１０に示すプロセッサ５０１（中央処理装置（ＣＰＵ：Central Processing Unit）、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、ＤＳＰ（Digital Signal Processor）とも呼ばれる）が、メモリ５０２に格納されたソフトウェアを実行することにより実現される。
【００４４】
ソフトウェアはプログラムとして記述されてメモリ５０２に格納され、プロセッサ５０１は、メモリ５０２に格納されたプログラムを読み出して実行することにより、第１のプラットフォーム１０および第２のプラットフォーム２０の機能を実現する。すなわち、ユーザインタフェース装置１は、プロセッサ５０１により実行されるときに、第１のプラットフォーム１０が、複数のＵＩ部品のうちのユーザが選択中のＵＩ部品にフォーカスを付与し、フォーカスが付与されているＵＩ部品に、フォーカスが付与されていることを表す表示効果を与え、フォーカスがプロキシ部品に付与されている間、ユーザの操作により生じた操作イベントを第２のプラットフォーム２０へ送信する処理と、第２のプラットフォーム２０が、第１のプラットフォーム１０からの操作イベントを受信し、操作イベントが第２のプラットフォーム２０で消費されたか否かを判定し、操作イベントが第２のプラットフォーム２０で消費されたか否かの判定結果を、操作イベント消費情報として第１のプラットフォーム１０へ送信する処理と、第１のプラットフォーム１０が、操作イベント消費情報を受信し、操作イベントが第２のプラットフォーム２０で消費された場合は、プロキシ部品へのフォーカスの付与を維持し、操作イベントが第２のプラットフォーム２０で消費されなかった場合は、操作イベントに応じた処理を実行する処理と、が結果的に実行されることになるプログラムを格納するためのメモリ５０２を備える。換言すれば、このプログラムは、ユーザインタフェース装置１の構成要素の動作の手順や方法をコンピュータに実行させるものであるともいえる。
【００４５】
ここで、メモリ５０２は、例えば、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、フラッシュメモリー、ＥＰＲＯＭ（Erasable Programmable Read Only Memory）、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）などの、不揮発性または揮発性の半導体メモリ、ＨＤＤ（Hard Disk Drive）、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ（Digital Versatile Disc）およびそのドライブ装置等、または、今後使用されるあらゆる記憶媒体であってもよい。
【００４６】
＜実施の形態２＞
実施の形態２では、第２のＵＩ画面２００がＵＩ部品として操作対象（フォーカスの付与対象）となるボタン等を備える場合に適したユーザインタフェース装置１の構成を示す。
【００４７】
図１１は、実施の形態２に係るユーザインタフェース装置１の構成を示す図である。図１１のユーザインタフェース装置１の構成は、図１の構成に対し、第１のプラットフォーム１０のインタフェース部１２にプロキシ部品状態情報送信部１２３を追加し、第２のプラットフォーム２０のＵＩ画面実行部２１にフォーカス管理部２１１およびＵＩ部品制御部２１２を追加し、第２のプラットフォーム２０のインタフェース部２２にプロキシ部品状態情報受信部２２３を追加したものである。
【００４８】
第１のプラットフォーム１０のプロキシ部品状態情報送信部１２３は、第１のＵＩ画面１００のプロキシ部品にフォーカスが付与されているか否かを示す「プロキシ部品状態情報」を第２のプラットフォーム２０へ送信する。第２のプラットフォーム２０のプロキシ部品状態情報受信部２２３は、プロキシ部品状態情報送信部１２３が送信したプロキシ部品状態情報を受信する。
【００４９】
第２のプラットフォーム２０のフォーカス管理部２１１およびＵＩ部品制御部２１２の基本的な動作は、第１のプラットフォーム１０のフォーカス管理部１１１およびＵＩ部品制御部１１２と同様である。すなわち、フォーカス管理部２１１は、第２のＵＩ画面２００においてユーザが操作対象として選択中のＵＩ部品にフォーカスを付与する。ＵＩ部品制御部２１２は、フォーカスが付与されているＵＩ部品に、フォーカスが付与されていることを表す表示効果を与える。
【００５０】
ただし、ＵＩ部品制御部２１２は、プロキシ部品状態情報受信部２２３が受信したプロキシ部品状態情報を参照し、第１のＵＩ画面１００のプロキシ部品にフォーカスが付与されているか否かによってその動作が変わる。すなわち、第１のＵＩ画面１００のプロキシ部品にフォーカスが付与されている間は、ＵＩ部品制御部２１２は、通常どおり、第２のＵＩ画面２００のいずれかのＵＩ部品にフォーカスが付与されていることを表す表示効果を与える。しかし、第１のＵＩ画面１００のプロキシ部品にフォーカスが付与されていない間は、ＵＩ部品制御部２１２は、第２のＵＩ画面２００のどのＵＩ部品にもフォーカスが付与されていないことを表す表示効果を、第２のＵＩ画面２００に与える。
【００５１】
例えば、ユーザインタフェース装置１が、図１２の複合ＵＩ画面を表示装置３に表示させるものと仮定する。図１２の複合ＵＩ画面は、第１のプラットフォーム１０が実行する第１のＵＩ画面１００と、第２のプラットフォーム２０が実行する第２のＵＩ画面２００とを含んでいる。第１のＵＩ画面１００は、２つのボタン１０１，１０２を有しており、第２のＵＩ画面２００は、第１のＵＩ画面１００内のボタン１０１，１０２の下に配置される。また、第２のＵＩ画面２００は、２つのボタン２０１，２０２を有している。
【００５２】
第１のＵＩ画面１００は、実際には、図１３のように、ＵＩ部品としてのボタン１０１，１０２と、第２のＵＩ画面２００に対応するプロキシ部品１０３とを含んでいる。そして、図１３のプロキシ部品１０３の部分に、従プラットフォームである第２のプラットフォーム２０が実行する第２のＵＩ画面２００（図１４）が表示されることで、見た目上、図１２に示した複合ＵＩ画面が構成される。
【００５３】
例えば図１５のように、ボタン１０１にフォーカスが付与された状態で、操作入力装置２の下方向キーの押下による操作イベントが生じた場合、ＵＩ画面実行部１１のフォーカス管理部１１１が、フォーカスをボタン１０１からその下方に位置するボタン１０２へと移動させ、ＵＩ部品制御部１１２が、ボタン１０２にフォーカスが付与されていることを表す表示効果を与える。つまり、ボタン１０２が太い線で描画される。
【００５４】
図１５のように、ボタン１０１またはボタン１０２にフォーカスが付与されているとき、第１のプラットフォーム１０のプロキシ部品状態情報送信部１２３は、プロキシ部品１０３にフォーカスが付与されていない旨を示すプロキシ部品状態情報を、第２のプラットフォーム２０へ送信する。
【００５５】
プロキシ部品状態情報送信部１２３が送信したプロキシ部品状態情報は、第２のプラットフォーム２０のプロキシ部品状態情報受信部２２３に受信される。また、ＵＩ部品制御部２１２は、当該プロキシ部品状態情報を参照して、フォーカスがプロキシ部品１０３に付与されていないことを確認すると、第２のＵＩ画面２００のボタン２０１，２０２のいずれにもフォーカスが付与されていないことを表す表示効果を、第２のＵＩ画面２００に与える。よって、図１５においては、第２のＵＩ画面２００のボタン２０１，２０２の両方が細い線で描画される。
【００５６】
また、例えば図１６のように、ボタン１０２にフォーカスが付与された状態で、操作入力装置２の下方向キーの押下による操作イベントが生じた場合、ＵＩ画面実行部１１のフォーカス管理部１１１が、フォーカスをボタン１０２からその下方に位置するプロキシ部品１０３へと移動させる。
【００５７】
この場合、第１のプラットフォーム１０のプロキシ部品状態情報送信部１２３は、プロキシ部品１０３にフォーカスが付与された旨を示すプロキシ部品状態情報を、第２のプラットフォーム２０へ送信する。
【００５８】
第２のプラットフォーム２０のＵＩ部品制御部２１２は、プロキシ部品状態情報受信部２２３が受信したプロキシ部品状態情報を参照して、フォーカスがプロキシ部品１０３に付与されたことを確認すると、第２のＵＩ画面２００のボタン２０１，２０２のいずれか（図１５ではボタン２０１）にフォーカスが付与されていることを表す表示効果を与える。
【００５９】
このように、ユーザは、第１のＵＩ画面１００上でフォーカスを移動させるのと同じ操作によって、操作対象を第１のＵＩ画面１００のＵＩ部品から第２のＵＩ画面２００のＵＩ部品へ切り替えることができる。また、操作対象が第２のＵＩ画面２００のＵＩ部品に切り替わったとき、そのＵＩ部品にフォーカスが付与されていることを表す表示効果が与えられるため、ユーザは、操作対象が第１のＵＩ画面１００のＵＩ部品から第２のＵＩ画面２００のＵＩ部品へ切り替わったことを容易に認識できる。
【００６０】
また、図１７のように、第２のＵＩ画面２００のボタン２０１にフォーカスが付与された状態で、操作入力装置２の下方向キーの押下による操作イベントが生じた場合、フォーカス管理部２１１がフォーカスをボタン２０１からその下方に位置するボタン２０２へと移動させ、ＵＩ部品制御部２１２がボタン２０２にフォーカスが付与されていることを表す表示効果を与える。つまり、ボタン２０２が太い線で描画される。
【００６１】
一方、図１８のように、第２のＵＩ画面２００のボタン２０１にフォーカスが付与された状態で、操作入力装置２の上方向キーの押下による操作イベントが生じた場合、第２のＵＩ画面２００にはボタン２０１の上方にフォーカスの対象となるＵＩ部品が存在しないため、当該操作イベントは第２のプラットフォーム２０で消費されない。この場合、実施の形態１と同様に、第１のプラットフォーム１０のフォーカス管理部１１１がフォーカスをプロキシ部品１０３からその上方に位置するボタン１０２へと移動させ、ＵＩ部品制御部１１２がボタン１０２にフォーカスを太い線で描画する。
【００６２】
さらに、第１のプラットフォーム１０のプロキシ部品状態情報送信部１２３は、プロキシ部品１０３からフォーカスが奪取された旨を示すプロキシ部品状態情報を、第２のプラットフォーム２０へ送信する。ＵＩ部品制御部２１２は、プロキシ部品状態情報受信部２２３に受信されたプロキシ部品状態情報を参照して、フォーカスがプロキシ部品１０３から奪取されたことを確認すると、第２のＵＩ画面２００のボタン２０１，２０２のいずれにもフォーカスが付与されていないことを表す表示効果を、第２のＵＩ画面２００に与える。よって、第２のＵＩ画面２００のボタン２０１，２０２の両方が細い線で描画される。
【００６３】
このように、ユーザは、第１のＵＩ画面１００上でフォーカスを移動させるのと同じ操作によって、操作対象を第２のＵＩ画面２００のＵＩ部品から第１のＵＩ画面１００のＵＩ部品へ切り替えることができる。また、操作対象が第１のＵＩ画面１００のＵＩ部品に切り替わったとき、第２のＵＩ画面２００のいずれのＵＩ部品にもフォーカスが付与されていないことを表す表示効果が与えられるため、ユーザは、操作対象が、第２のＵＩ画面２００のＵＩ部品ではないことを容易に認識できる。
【００６４】
＜実施の形態３＞
実施の形態１，２では、ユーザインタフェース装置１が２つのプラットフォームを備えるものとしたが、３つ以上のプラットフォームを備えていてもよい。
【００６５】
例えば、ユーザインタフェース装置１が３つのプラットフォームを備える場合、ユーザインタフェース装置１が提供する複合ＵＩ画面は、図１９のように、第１のプラットフォームが実行する第１のＵＩ画面１００と、第２のプラットフォームが実行する第２のＵＩ画面２００と、第３のプラットフォームが実行する第３のＵＩ画面３００とを含むものとしてもよい。図１９の複合ＵＩ画面では、第１のＵＩ画面１００の中に第２のＵＩ画面２００が配置され、第２のＵＩ画面２００の中に第３のＵＩ画面３００が配置されている。
【００６６】
図１９の複合ＵＩ画面を構成する第１のＵＩ画面１００は、実際には、図２０のように、ＵＩ部品としてのボタン１０１，１０２と、第２のＵＩ画面２００に対応するプロキシ部品１０３とを含んでいる。同様に、第２のＵＩ画面２００は、図２１のように、ＵＩ部品としてのボタン２０１，２０２と、第３のＵＩ画面３００に対応するプロキシ部品２０３とを含んでいる。そして第１のＵＩ画面１００のプロキシ部品１０３の部分に第２のＵＩ画面２００が表示され、さらに、第２のＵＩ画面２００のプロキシ部品２０３の部分に第３のＵＩ画面３００（図２２）が表示されることで、見た目上、図１９に示した複合ＵＩ画面が構成される。
【００６７】
図１９の複合ＵＩ画面のように、第１のプラットフォームが実行する第１のＵＩ画面１００と、第２のプラットフォームが実行する第２のＵＩ画面２００と、第３のプラットフォームが実行する第３のＵＩ画面３００とが入れ子状に配置される場合、第１のプラットフォームと第２のプラットフォームとの関係においては、第１のプラットフォームを主プラットフォーム、第２のプラットフォームを従プラットフォームとして規定し、第２のプラットフォームと第３のプラットフォームとの関係においては、第２のプラットフォームを主プラットフォーム、第３のプラットフォームを従プラットフォームと規定することで、実施の形態１，２を適用することができる。
【００６８】
また、例えば図２３のように、複合ＵＩ画面において、第１のプラットフォームが実行する第１のＵＩ画面１００の中に、第２のプラットフォームが実行する第２のＵＩ画面２００と、第３のプラットフォームが実行する第３のＵＩ画面３００とが配置されてもよい。
【００６９】
図２３の複合ＵＩ画面を構成する第１のＵＩ画面１００は、実際には、図２４のように、ＵＩ部品としてのボタン１０１，１０２と、第２のＵＩ画面２００に対応するプロキシ部品１０３と、第３のＵＩ画面３００に対応するプロキシ部品１０４とを含んでいる。そして第１のＵＩ画面１００のプロキシ部品１０３の部分に第２のＵＩ画面２００（図２５）が表示され、プロキシ部品１０４の部分に第３のＵＩ画面３００（図２６）が表示されることで、見た目上、図２３に示した複合ＵＩ画面が構成される。
【００７０】
図２３の複合ＵＩ画面のように、第１のプラットフォームが実行する第１のＵＩ画面１００の中に、第２のプラットフォームが実行する第２のＵＩ画面２００と、第３のプラットフォームが実行する第３のＵＩ画面３００とが配置される場合、第１のプラットフォームを主プラットフォーム、第２のプラットフォームおよび第３のプラットフォームを従プラットフォームとして規定することで、実施の形態１，２を適用することができる。ただし、プロキシ部品１０３，１０４が対象とする従プラットフォーム（以下「対象プラットフォーム」という）を示す情報を、第１のプラットフォーム１０のＵＩ画面実行部１１が保持しておく必要がある。
【００７１】
また、例えば図２７のように、複合ＵＩ画面において、第１のプラットフォームが実行する第１のＵＩ画面１００の中に、第２のプラットフォームが実行する第２のＵＩ画面２００と、第３のプラットフォームが実行する第３のＵＩ画面３００とが選択的に切り替わって表示されるようにしてもよい。この場合、図２８のように、第１のＵＩ画面１００内に配置されるプロキシ部品を、第２のＵＩ画面２００に対応するプロキシ部品１０３にするか、第３のＵＩ画面３００に対応するプロキシ部品１０４にするかを、ユーザが切り替え可能にする。そして第１のＵＩ画面１００内にプロキシ部品１０３が配置されたときは、当該プロキシ部品１０３の部分に第２のＵＩ画面２００（図２９）が表示され、第１のＵＩ画面１００内にプロキシ部品１０４が配置されたときは、当該プロキシ部品１０４の部分に第３のＵＩ画面３００（図３０）が表示されるようにする。それにより、見た目上、図２７のように、複合ＵＩ画面内で第２のＵＩ画面２００と第３のＵＩ画面３００とが選択的に切り替わって表示されることになる。
【００７２】
図２７の例の場合も、第１のプラットフォームを主プラットフォーム、第２のプラットフォームおよび第３のプラットフォームを従プラットフォームとして規定することで、実施の形態１，２を適用することができる。また、プロキシ部品１０３，１０４それぞれの対象プラットフォームの情報を、第１のプラットフォーム１０のＵＩ画面実行部１１が保持しておく必要がある。
【００７３】
［変形例］
実施の形態１〜３では、複合ＵＩ画面を構成する複数のＵＩ画面が１つの表示装置３の画面に表示されることを前提にしたが、例えば図３１のように、第１のＵＩ画面１００と第２のＵＩ画面２００とがそれぞれ異なる表示装置３ａ，３ｂに表示されるようにしてもよい。
【００７４】
この場合、複合ＵＩ画面の構成や、ユーザインタフェース装置１の動作は、基本的に実施の形態１，２と同様でよい。例えば、図１２の複合ＵＩ画面の上部をトリミングして表示装置３ａに表示させ、当該複合ＵＩ画面の下部をトリミングして表示装置３ｂに表示させる処理をユーザインタフェース装置１が行えば、図３１のような表示が可能である。
【００７５】
表示装置３ａ，３ｂの配置に制約はないが、図３１の例のように、図１２の複合ＵＩ画面の上部を表示装置３ａに表示し、下部を表示装置３ｂに表示する場合、ボタン１０１，１０２と第２のＵＩ画面２００との位置関係をユーザが直観的に把握できるように、表示装置３ａよりも低い位置に表示装置３ｂが配置されることが好ましい。
【００７６】
なお、実施の形態３のように、複合ＵＩ画面が３つ以上のＵＩ画面を含む場合、それぞれのＵＩ部品を３つ以上の表示装置に分けて表示させてもよい。
【００７７】
＜実施の形態４＞
実施の形態４では、複合ＵＩ画面を構成するＵＩ画面を設計可能なユーザインタフェース設計装置について説明する。
【００７８】
図３２は、実施の形態４に係るユーザインタフェース設計装置６０の構成を示す図である。図３２のように、ユーザインタフェース設計装置６０は、操作入力装置７１および表示装置７２に接続されている。
【００７９】
操作入力装置７１は、ＵＩ画面の設計者であるユーザがユーザインタフェース設計装置６０に操作を入力するための入力手段であり、例えばキーボード、マウス等で構成される。表示装置７２は、ユーザインタフェース設計装置６０がＵＩ画面の設計に用いる画面（以下「ＵＩ設計画面」という）を表示するための表示手段であり、例えば、液晶表示装置などである。
【００８０】
図３２のように、ユーザインタフェース設計装置６０は、ＵＩ部品格納部６１、ＵＩ部品配置部６２、ＵＩ部品属性値設定部６３および実行用データ生成部６４を備えている。
【００８１】
ＵＩ部品格納部６１は、ＵＩ画面に配置できる複数のＵＩ部品が格納された記憶媒体である。ＵＩ部品格納部６１に格納されたＵＩ部品には、プロキシ部品が含まれている。ＵＩ部品配置部６２は、ユーザの操作に従って、ＵＩ部品格納部６１に格納された複数のＵＩ部品をＵＩ設計画面上に配置することで、ＵＩ画面を構成する。ＵＩ部品属性値設定部６３は、ユーザの操作に従って、設計中のＵＩ画面に配置されたＵＩ部品の属性値（例えば、ＵＩ画面内の位置やサイズ等）を設定する。実行用データ生成部６４は、ＵＩ部品配置部６２およびＵＩ部品属性値設定部６３を用いて作成されたＵＩ画面を、特定のプラットフォームが実行するための実行用データに変換する。
【００８２】
図３３に、ユーザインタフェース設計装置６０が提供するＵＩ設計画面の例を示す。図３３のＵＩ設計画面６００は、ＵＩ部品格納領域６０１、ＵＩ部品配置領域６０２およびＵＩ部品属性値設定ウィンドウ６０３を備えている。
【００８３】
ＵＩ部品格納領域６０１には、ＵＩ部品格納部６１に格納されているＵＩ部品の一覧が表示される。ＵＩ部品配置領域６０２は、ユーザがＵＩ部品配置部６２を用いて、ＵＩ画面を構成するためにＵＩ部品を配置する領域である。ユーザは、例えばマウスのドラッグ＆ドロップ操作で、ＵＩ部品格納領域６０１に表示されているＵＩ部品を、ＵＩ部品格納領域６０１に配置することにより、ＵＩ画面のレイアウトを設計できる。
【００８４】
ＵＩ部品属性値設定ウィンドウ６０３は、ユーザが、ＵＩ部品属性値設定部６３を用いて、設計中のＵＩ画面に配置されているＵＩ部品、すなわちＵＩ部品格納領域６０１に配置されているＵＩ部品の属性値を入力するためのウィンドウである。ＵＩ部品属性値設定ウィンドウ６０３は、常時表示される必要はなく、ユーザが属性値を入力するときに表示されればよい。例えば、ユーザが属性値を入力したいＵＩ部品に、マウスの右クリック操作を行うことで、当該ＵＩ部品のＵＩ部品属性値設定ウィンドウ６０３が表示されるようにするとよい。
【００８５】
ＵＩ設計画面６００を用いて設計されたＵＩ画面は、実行用データ生成部６４によって、図３４のように実行用データに変換される。ユーザインタフェース装置１のプラットフォームは、実行用データ生成部６４が生成した実行用データを実行することで、表示装置３にＵＩ画面を表示させることができる。実行用データのフォーマットは図３４に示したものに限られず、任意のフォーマットでよい。
【００８６】
なお、ユーザインタフェース設計装置６０は、プロキシ部品を含まない一般的なＵＩ画面の設計にも用いることもできる。
【００８７】
図３５は、ユーザインタフェース設計装置６０を用いたＵＩ画面の作成手順を示すフローチャートである。設計者であるユーザは、まず、ＵＩ設計画面６００のＵＩ部品格納領域６０１に表示されているＵＩ部品（プロキシ部品を含む）を、マウスのドラッグ＆ドロップ操作などで、ＵＩ部品格納領域６０１に配置して、ＵＩ画面を構成する（ステップＳ３０１）。次に、ユーザは、設計中のＵＩ画面に配置されているＵＩ部品（ＵＩ部品格納領域６０１に配置されているＵＩ部品）のＵＩ部品属性値設定ウィンドウ６０３を表示させ、当該ＵＩ部品の位置やサイズなどの属性値を入力する（ステップＳ３０２）。そして、ユーザは、設計したＵＩ画面を、実行用データ生成部６４を用いて実行用データに変換する（ステップＳ３０３）。
【００８８】
実施の形態３で説明したように、ユーザインタフェース装置１が３つ以上のプラットフォームを備える場合、ＵＩ画面に配置されるプロキシ部品の対象プラットフォームを定める必要がある。そのため、３つ以上のプラットフォームを備えるユーザインタフェース装置１のＵＩ画面を設計するユーザインタフェース設計装置６０では、ＵＩ部品属性値設定部６３が、ＵＩ画面に配置されたプロキシ部品に、属性値として対象プラットフォームを示す情報を付与できるようにする。
【００８９】
図３６に、３つ以上のプラットフォームを備えるユーザインタフェース装置１のＵＩ画面を設計するユーザインタフェース設計装置６０が提供するＵＩ設計画面６００の例を示す。図３６のＵＩ設計画面６００では、プロキシ部品の属性値を入力するためのＵＩ部品属性値設定ウィンドウ６０３に、当該プロキシ部品の対象プラットフォームの入力ボックスが設けられている。また、図３７のように、対象プラットフォームの情報は、実行用データに記述される。それにより、当該実行用データを実行するプラットフォームは、各プロキシ部品の対象プラットフォームを認識できる。
【００９０】
実施の形態１，２のように、ユーザインタフェース装置１が２つのプラットフォームのみを備える場合、プロキシ部品を含むＵＩ画面を実行するプラットフォームが主プラットフォームとなり、もう一方のプラットフォームが従プラットフォームになることが明確であるため、プロキシ部品の属性値に対象プラットフォームの情報を含ませる必要はない。しかし、ユーザインタフェース装置１が２つのプラットフォームのみを備える場合でも、プロキシ部品の属性値に対象プラットフォームの情報を含ませてもよい。
【００９１】
本実施の形態のユーザインタフェース設計装置６０によれば、ＵＩ画面に配置できるＵＩ部品にプロキシ部品を含ませることができるため、実施の形態１〜３で示したような複合ＵＩ画面の設計を行うことができる。
【００９２】
ユーザインタフェース設計装置６０も、図１０に示したハードウェア構成により実現できる。すなわち、ユーザインタフェース設計装置６０は、プロセッサ５０１と、プロセッサ５０１により実行されるプログラムを記憶したメモリ５０２とによって実現できる。メモリ５０２には、プロセッサ５０１により実行されるときに、ユーザの操作に従って、複数のＵＩ部品（第２のプラットフォームが実行するＵＩ画面の表示位置に配置されるプロキシ部品を含む）を配置することで第１のプラットフォームが実行するＵＩ画面を構成する処理と、ユーザの操作に従って、ＵＩ画面に配置されたＵＩ部品のそれぞれに属性値を設定する処理と、作成されたＵＩ画面を第１のプラットフォームが実行するための実行用データに変換する処理と、が結果的に実行されることになるプログラムが格納される。
【００９３】
なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略したりすることが可能である。
【００９４】
本発明は詳細に説明されたが、上記した説明は、すべての態様において、例示であって、この発明がそれに限定されるものではない。例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。
【符号の説明】
【００９５】
１  ユーザインタフェース装置、２  操作入力装置、３  表示装置、１０  第１のプラットフォーム、１１  ＵＩ画面実行部、１１１  フォーカス管理部、１１２  ＵＩ部品制御部、１２  インタフェース部、１２１  操作イベント送信部、１２２  操作イベント消費情報受信部、１２３  プロキシ部品状態情報送信部、２０  第２のプラットフォーム、２１  ＵＩ画面実行部、２１０  操作イベント消費判定部、２１１  フォーカス管理部、２１２  ＵＩ部品制御部、２２  インタフェース部、２２１  操作イベント受信部、２２２  操作イベント消費情報送信部、２２３  プロキシ部品状態情報受信部、１００  第１のＵＩ画面、２００  第２のＵＩ画面、３００  第３のＵＩ画面、１０１，１０２，２０１，２０２，３０１  ボタン、１０３，１０４，２０３  プロキシ部品、５０１  プロセッサ、５０２  メモリ、６０  ユーザインタフェース設計装置、６１  ＵＩ部品格納部、６２  ＵＩ部品配置部、６３  ＵＩ部品属性値設定部、６４  実行用データ生成部、７１  操作入力装置、７２  表示装置、６００  ＵＩ設計画面、６０１  ＵＩ部品格納領域、６０２  ＵＩ部品配置領域、６０３  ＵＩ部品属性値設定ウィンドウ。
【図１】
2019244279.tif 000003
【図２】
2019244279.tif 000004
【図３】
2019244279.tif 000005
【図４】
2019244279.tif 000006
【図５】
2019244279.tif 000007
【図６】
2019244279.tif 000008
【図７】
2019244279.tif 000009
【図８】
2019244279.tif 000010
【図９】
2019244279.tif 000011
【図１０】
2019244279.tif 000012
【図１１】
2019244279.tif 000013
【図１２】
2019244279.tif 000014
【図１３】
2019244279.tif 000015
【図１４】
2019244279.tif 000016
【図１５】
2019244279.tif 000017
【図１６】
2019244279.tif 000018
【図１７】
2019244279.tif 000019
【図１８】
2019244279.tif 000020
【図１９】
2019244279.tif 000021
【図２０】
2019244279.tif 000022
【図２１】
2019244279.tif 000023
【図２２】
2019244279.tif 000024
【図２３】
2019244279.tif 000025
【図２４】
2019244279.tif 000026
【図２５】
2019244279.tif 000027
【図２６】
2019244279.tif 000028
【図２７】
2019244279.tif 000029
【図２８】
2019244279.tif 000030
【図２９】
2019244279.tif 000031
【図３０】
2019244279.tif 000032
【図３１】
2019244279.tif 000033
【図３２】
2019244279.tif 000034
【図３３】
2019244279.tif 000035
【図３４】
2019244279.tif 000036
【図３５】
2019244279.tif 000037
【図３６】
2019244279.tif 000038
【図３７】
2019244279.tif 000039
【国際調査報告】
2019244279.tif 000040
2019244279.tif 000041
2019244279.tif 000042
2019244279.tif 000043