(57)【要約】【課題】画面のレイアウト作成に伴うプログラム開発の負担を軽減できるようにする。【解決手段】他の機器において表示されるＧＵＩ画面のレイアウトデータを、開発用ＧＵＩ画面の操作入力に基づいて生成するレイアウトデータ生成変更部と、生成されたレイアウトデータに基づいて表示された他の機器のＧＵＩ画面をキャプチャするキャプチャ部とを備え、キャプチャされた他の機器のＧＵＩ画面の第１のレイヤー画面と、ＧＵＩの部品の配置に対応して編集用ＧＵＩ部品が配置された画面を第２のレイヤー画面を生成し、第１のレイヤー画面および第２のレイヤー画面を重畳した重畳画面を表示する。【選択図】図６
2012256215.tif 000002
【特許請求の範囲】
【請求項１】
他の機器において表示されるＧＵＩ画面のレイアウトデータを、開発用ＧＵＩ画面の操作入力に基づいて生成するレイアウトデータ生成変更部と、
前記生成されたレイアウトデータに基づいて表示された前記他の機器のＧＵＩ画面をキャプチャするキャプチャ部とを備え、
前記レイアウトデータ生成変更部は、
前記キャプチャされた前記他の機器のＧＵＩ画面を第１のレイヤー画面とし、前記第１のレイヤー画面におけるＧＵＩの部品の配置に対応して編集用ＧＵＩ部品が配置された画面を第２のレイヤー画面を生成し、
前記開発用ＧＵＩ画面の一部に、前記第１のレイヤー画面および前記第２のレイヤー画面を重畳した重畳画面を表示する
情報処理装置。
【請求項２】
前記情報処理装置のオペレーティングシステムとは異なる前記他の機器のオペレーティングシステムを前記情報処理装置のオペレーティングシステム上で実行するとともに、前記情報処理装置のＧＵＩライブラリとは異なる前記他の機器のＧＵＩライブラリを、前記情報処理装置のオペレーティングシステムを介して利用可能とするエミュレータをさらに備える
請求項１に記載の情報処理装置。
【請求項３】
前記レイアウトデータ生成変更部は、
前記開発用ＧＵＩ画面の一部に表示された重畳画面に対する操作入力が受け付けられた場合、
前記レイアウトデータを変更するレイアウトデータ変更コマンドを出力し、
前記キャプチャ部は、
前記変更されたレイアウトデータに基づいて表示された前記他の機器のＧＵＩ画面を再度キャプチャする
請求項１に記載の情報処理装置。
【請求項４】
前記レイアウトデータは、ツリー構造を有するデータとされ、各ツリーに前記ＧＵＩの部品が対応づけられており、部品毎に識別番号が割り当てられ、
前記レイアウトデータの変更が必要である場合、前記レイアウトデータ生成変更部が、前記識別番号を含むレイアウトデータ変更コマンドを出力する
請求項１に記載の情報処理装置。
【請求項５】
レイアウトデータ生成変更部が、他の機器において表示されるＧＵＩ画面のレイアウトデータを、開発用ＧＵＩ画面の操作入力に基づいて生成し、
キャプチャ部が、前記生成されたレイアウトデータに基づいて表示された前記他の機器のＧＵＩ画面をキャプチャし、
前記レイアウトデータ生成変更部が、前記キャプチャされた前記他の機器のＧＵＩ画面を第１のレイヤー画面とし、前記第１のレイヤー画面におけるＧＵＩの部品の配置に対応して編集用ＧＵＩ部品が配置された画面を第２のレイヤー画面を生成し、前記開発用ＧＵＩ画面の一部に、前記第１のレイヤー画面および前記第２のレイヤー画面を重畳した重畳画面を表示するステップ
を含む情報処理方法。
【請求項６】
コンピュータを、
他の機器において表示されるＧＵＩ画面のレイアウトデータを、開発用ＧＵＩ画面の操作入力に基づいて生成するレイアウトデータ生成変更部と、
前記生成されたレイアウトデータに基づいて表示された前記他の機器のＧＵＩ画面をキャプチャするキャプチャ部とを備え、
前記レイアウトデータ生成変更部は、
前記キャプチャされた前記他の機器のＧＵＩ画面を第１のレイヤー画面とし、前記第１のレイヤー画面におけるＧＵＩの部品の配置に対応して編集用ＧＵＩ部品が配置された画面を第２のレイヤー画面を生成し、
前記開発用ＧＵＩ画面の一部に、前記第１のレイヤー画面および前記第２のレイヤー画面を重畳した重畳画面を表示する情報処理装置として機能させる
プログラム。
【請求項７】
請求項６に記載のプログラムが記録されている記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、情報処理装置および方法、プログラム、並びに記録媒体に関し、特に、画面のレイアウト作成に伴うプログラム開発の負担を軽減できるようにする情報処理装置および方法、プログラム、並びに記録媒体に関する。
【背景技術】
【０００２】
従来より、プログラム開発作業においてユーザインタフェース部分を効率的かつ汎用的に作成するために、画面を定型のユーザインタフェース部品の組合せとして構築するためのグラフィカルユーザインタフェース（ＧＵＩ）ライブラリが数多く開発・提供されている。
【０００３】
また、ＧＵＩライブラリを用いたプログラムにおける表示画面の開発作業の生産性を向上させるために、実際のＧＵＩ表示イメージをプレビューしながら、画面上にＧＵＩ部品を配置し、ユーザインタフェースを設計する開発ツールが利用されている。
【０００４】
プログラムの開発プロジェクトにおいては、ベースとなるハードウェア、オペレーティングシステム、実行プラットフォーム、実行時の設定値などによって、画面表示の環境が異なる場合が多い。例えば、同じプログラムが異なる画面サイズのハードウェアで実行される場合や、実行プラットフォームとなるＧＵＩライブラリのバージョンやオプション機能の有無の状況が異なる場合、またはユーザの設定によって表示機能が変更されている場合等である。
【０００５】
このような多種の表示環境に対応したプログラムを開発する場合、従来は、１つの画面に対して、環境毎に複数のＧＵＩデザインを作成する必要があった。これは、ハードウェアの画面サイズが異なる場合、小さいサイズ画面では狭い範囲にユーザインタフェース部品を配置したり小さいサイズに設定したり、表示するメッセージを短い文に変えたりといった変更が必要なためである。
【０００６】
同様に、同じ画面サイズでもハードウェアの構成の仕方によって縦方向と横方向の表示が必要な場合、縦長または横長の画面にあわせて各部品をレイアウトし直す必要がある。例えば、画面数が多いプログラムや複雑な画面を表示するプログラムでは、このようなプログラム開発上の問題が非常に大きな負担となっていた。
【０００７】
このため、プログラムの開発環境と実行環境が異なる場合において、ユーザインタフェースを効率的にデザインできるようにする技術が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−２６９５５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、従来、プログラムの開発環境と実行環境が異なる場合、画面のレイアウトの編集結果を実機に搭載するまでは正確な画面のレイアウトを確認できないという問題もあった。例えば、開発ツールなどによる開発環境におけるＧＵＩライブラリと実行環境におけるＧＵＩライブラリが異なるため、特に文字列描画結果の違いが顕著になるからである。
【００１０】
そのため、例えば、開発環境で作成したレイアウトデータを実行環境で確認するためには、画面設計書に基づいて画面のレイアウトデータを作成した後、そのレイアウトデータをコンパイルして実装させるなどの必要があった。さらに、開発環境で作成したした際に意図した画面が、実行環境で表示できなかった場合、あらためてレイアウトを調整するなどの作業も必要となり、プログラム開発の負担が大きいものとなっていた。
【００１１】
本技術はこのような状況に鑑みて開示するものであり、画面のレイアウト作成に伴うプログラム開発の負担を軽減できるようにするものである。
【課題を解決するための手段】
【００１２】
本技術の一側面は、他の機器において表示されるＧＵＩ画面のレイアウトデータを、開発用ＧＵＩ画面の操作入力に基づいて生成するレイアウトデータ生成変更部と、前記生成されたレイアウトデータに基づいて表示された前記他の機器のＧＵＩ画面をキャプチャするキャプチャ部とを備え、前記レイアウトデータ生成変更部は、前記キャプチャされた前記他の機器のＧＵＩ画面を第１のレイヤー画面とし、前記第１のレイヤー画面におけるＧＵＩの部品の配置に対応して編集用ＧＵＩ部品が配置された画面を第２のレイヤー画面を生成し、前記開発用ＧＵＩ画面の一部に、前記第１のレイヤー画面および前記第２のレイヤー画面を重畳した重畳画面を表示する情報処理装置である。
【００１３】
前記情報処理装置のオペレーティングシステムとは異なる前記他の機器のオペレーティングシステムを前記情報処理装置のオペレーティングシステム上で実行するとともに、前記情報処理装置のＧＵＩライブラリとは異なる前記他の機器のＧＵＩライブラリを、前記情報処理装置のオペレーティングシステムを介して利用可能とするエミュレータをさらに備えるようにすることができる。
【００１４】
前記レイアウトデータ生成変更部は、前記開発用ＧＵＩ画面の一部に表示された重畳画面に対する操作入力が受け付けられた場合、前記レイアウトデータを変更するレイアウトデータ変更コマンドを出力し、前記キャプチャ部は、前記変更されたレイアウトデータに基づいて表示された前記他の機器のＧＵＩ画面を再度キャプチャするようにすることができる。
【００１５】
前記レイアウトデータは、ツリー構造を有するデータとされ、各ツリーに前記ＧＵＩの部品が対応づけられており、部品毎に識別番号が割り当てられ、前記レイアウトデータの変更が必要である場合、前記レイアウトデータ生成変更部が、前記識別番号を含むレイアウトデータ変更コマンドを出力するようにすることができる。
【００１６】
本技術の一側面は、レイアウトデータ生成変更部が、他の機器において表示されるＧＵＩ画面のレイアウトデータを、開発用ＧＵＩ画面の操作入力に基づいて生成し、キャプチャ部が、前記生成されたレイアウトデータに基づいて表示された前記他の機器のＧＵＩ画面をキャプチャし、前記レイアウトデータ生成変更部が、前記キャプチャされた前記他の機器のＧＵＩ画面を第１のレイヤー画面とし、前記第１のレイヤー画面におけるＧＵＩの部品の配置に対応して編集用ＧＵＩ部品が配置された画面を第２のレイヤー画面を生成し、前記開発用ＧＵＩ画面の一部に、前記第１のレイヤー画面および前記第２のレイヤー画面を重畳した重畳画面を表示するステップを含む情報処理方法である。
【００１７】
本技術の一側面は、コンピュータを、他の機器において表示されるＧＵＩ画面のレイアウトデータを、開発用ＧＵＩ画面の操作入力に基づいて生成するレイアウトデータ生成変更部と、前記生成されたレイアウトデータに基づいて表示された前記他の機器のＧＵＩ画面をキャプチャするキャプチャ部とを備え、前記レイアウトデータ生成変更部は、前記キャプチャされた前記他の機器のＧＵＩ画面を第１のレイヤー画面とし、前記第１のレイヤー画面におけるＧＵＩの部品の配置に対応して編集用ＧＵＩ部品が配置された画面を第２のレイヤー画面を生成し、前記開発用ＧＵＩ画面の一部に、前記第１のレイヤー画面および前記第２のレイヤー画面を重畳した重畳画面を表示する情報処理装置として機能させるプログラムである。
【００１８】
本技術の一側面においては、他の機器において表示されるＧＵＩ画面のレイアウトデータが、開発用ＧＵＩ画面の操作入力に基づいて生成され、前記生成されたレイアウトデータに基づいて表示された前記他の機器のＧＵＩ画面がキャプチャされ、前記キャプチャされた前記他の機器のＧＵＩ画面を第１のレイヤー画面とし、前記第１のレイヤー画面におけるＧＵＩの部品の配置に対応して編集用ＧＵＩ部品が配置された画面を第２のレイヤー画面を生成し、前記開発用ＧＵＩ画面の一部に、前記第１のレイヤー画面および前記第２のレイヤー画面を重畳した重畳画面が表示される。
【発明の効果】
【００１９】
本技術によれば、画面のレイアウト作成に伴うプログラム開発の負担を軽減できる。
【図面の簡単な説明】
【００２０】
【図１】本技術を用いた画面レイアウト開発システムの構成例を示す図である。
【図２】図１の開発機に実装されるプログラムなどのソフトウェアの機能的構成例を示すブロック図である。
【図３】レイアウトデータ開発用のＧＵＩ画面の表示例を示す図である。
【図４】本技術を用いたレイアウトデータの生成を説明する図である。
【図５】開発ツールのＧＵＩ画面の実機画面表示部に表示されたＧＵＩ画面の構成を説明する図である。
【図６】開発ツールのＧＵＩ画面の実機画面表示部に表示されたＧＵＩ画面の構成を説明する図である。
【図７】開発ツールのＧＵＩ画面の操作に伴う表示の変化を説明する図である。
【図８】画面レイアウト作成変更処理の例を説明するフローチャートである。
【図９】本技術を用いた画面レイアウト開発システムの別の構成例を示す図である。
【図１０】開発機に実装されるプログラムなどのソフトウェアの別の機能的構成例を示すブロック図である。
【図１１】パーソナルコンピュータの構成例を示すブロック図である。
【発明を実施するための形態】
【００２１】
以下、図面を参照して、ここで開示する技術の実施の形態について説明する。
【００２２】
図１は、本技術を用いた画面レイアウト開発システムの構成例を示す図である。この画面レイアウトシステムにおいては、例えば、デザイナーが実機２２のＧＵＩ画面の画面デザインを作成し、デザイナーにより作成された画面デザインの図を見ながら、開発者が開発機２１を操作してレイアウトデータを生成する。
【００２３】
実機２２は、例えば、スマートフォンとして構成され、モバイル機器をターゲットとして開発されたオペレーティングシステム（ＯＳ）が実装されており、また、そのＯＳに対応するＧＵＩライブラリが実装されている。デザイナーは、例えば、スマートフォンによるビデオ通話アプリケーションを操作するためのＧＵＩ画面をデザインする。
【００２４】
開発機２１は、例えば、汎用のパーソナルコンピュータなどとして構成され、汎用のオペレーティングシステム（ＯＳ）が実装されており、また、そのＯＳに対応するＧＵＩライブラリが実装されている。開発機２１には、後述するように、アプリケーションプログラムとしての開発ツールが実装されており、開発者は、開発ツールを用いてレイアウトデータを生成する。
【００２５】
なお、以下においては、実機２２に実装されているＯＳおよびＧＵＩライブラリを、適宜、実機ＯＳおよび実機ライブラリと称し、開発機２１に実装されているＯＳおよびＧＵＩライブラリを、適宜、開発機ＯＳおよび開発機ライブラリと称することにする。
【００２６】
図２は、図１の開発機２１に実装されるプログラムなどのソフトウェアの機能的構成例を示すブロック図である。同図に示されるように、開発機２１には、開発機ＯＳ４１が実装されている。また、開発機ＯＳ４１に対応するＧＵＩライブラリである開発機ライブラリ４２が実装されている。
【００２７】
この例では、開発機ＯＳ４１上で実行されるアプリケーションプログラムとして、開発ツール５１、キャプチャモジュール５２、およびエミュレータ５３が示されている。なお、開発ツール５１、キャプチャモジュール５２、およびエミュレータ５３は、それぞれ開発機ＯＳ４１に対応するＡＰＩ（Application Program Interface）を有するものとされるが、必要に応じて他のＯＳに対応するＡＰＩが設けられるようにしてもよい。
【００２８】
開発ツール５１は、開発者からの操作入力を受け付け、レイアウトデータを生成する。例えば、開発ツール５１を構成するプログラムが実行されると、開発機２１のディスプレイにレイアウトデータ開発用のＧＵＩ画面が表示される。レイアウトデータ開発用のＧＵＩ画面には、例えば、実機２２のディスプレイを模擬した実機画面表示部が設けられる。開発者が図示せぬポインティングデバイスを操作して、実機２２で表示させるＧＵＩ画面の部品などを実機画面表示部内に適宜配置することで、その配置に対応する画面のレイアウトデータが自動的に生成されるようになされている。
【００２９】
図３は、レイアウトデータ開発用のＧＵＩ画面の表示例を示す図である。同図に示されるレイアウトデータ開発用のＧＵＩ画面１００においては、実機２２のディスプレイを模擬した実機画面表示部１０１が設けられている。また、実機画面表示部１０１の左上側に、ツリー構造を有するレイアウトデータが表示されるレイアウトデータ表示部１０２が設けられている。
【００３０】
このように、開発者は、レイアウトデータ開発用のＧＵＩ画面の各部品を操作するなどして実機２２に表示されるＧＵＩ画面のレイアウトを設計し、設計したレイアウトに対応するレイアウトデータを生成する。
【００３１】
なお、レイアウトデータは、上述したように、ツリー構造を有するデータとされ、開発ツール５１とエミュレータ５３により共有されるようになされている。
【００３２】
また、開発ツール５１は、レイアウトデータに対応する画面の中で、ＧＵＩの部品を変更したり、部品の配置を変更したりする場合、変更コマンドを出力してレイアウトデータを変更することができるようになされている。
【００３３】
キャプチャモジュール５２は、後述するエミュレータ５３が表示するＧＵＩ画面をキャプチャし、キャプチャ結果を開発ツール５１に供給するようになされている。
【００３４】
エミュレータ５３は、実機２２と同様の画面を表示させるためのアプリケーションプログラムとされる。エミュレータ５３を構成するプログラムが実行されると、実機ＯＳ６１が実行される。すなわち、エミュレータ５３により提供されるＡＰＩを用いて開発機ＯＳ４１上で実機ＯＳ６１が実行される。また、エミュレータ５３によって実機ＯＳ６１が実行されることにより、実機ＯＳ６１に対応するＧＵＩライブラリである実機ライブラリ６２が、開発機ＯＳ４１を介して利用可能となる。
【００３５】
エミュレータ５３は、開発ツール５１により生成されたレイアウトデータまたは変更コマンドに基づいて、実機ＯＳ６１と実機ライブラリ６２を用いてＧＵＩ画面を表示するようになされている。従って、開発機２１に実装されたエミュレータ５３により表示されるＧＵＩ画面は、実機２２と同じＯＳおよび同じＧＵＩライブラリを用いて表示されるものなので、実機２２において表示されるＧＵＩ画面と同じ画面となる。
【００３６】
すなわち、図４に示されるように、開発ツール５１からレイアウトデータがエミュレータ５３に供給される。そして、エミュレータ５３によりＧＵＩ画面が表示される。キャプチャモジュール５２は、エミュレータ５３が表示したＧＵＩ画面をキャプチャし、キャプチャ結果を開発ツール５１に供給する。これにより、開発ツールにより表示されるレイアウトデータ開発用のＧＵＩ画面１００の実機画面表示部１０１に、キャプチャモジュール５２がキャプチャしたＧＵＩ画面が表示されることになる。
【００３７】
開発者は、開発ツール５１により表示されるＧＵＩ画面１００の実機画面表示部１０１に表示されたＧＵＩ画面（すなわち、キャプチャモジュール５２によるキャプチャ結果）をみて、ＧＵＩの部品を変更したり、部品の配置を変更したりするなどの操作を行う。例えば、エミュレータ５３が表示したＧＵＩ画面がデザイナーの作成した画面デザインと異なっている場合、開発者は、実機画面表示部１０１に表示されたＧＵＩ画面に配置された各部品を変更したり、部品の配置を変更したりするなどの操作を行う。
【００３８】
これにより、開発ツール５１から変更コマンドが出力される。そして、エミュレータ５３と共有されているレイアウトデータの一部が変更され、エミュレータ５３により表示されるＧＵＩ画面の中の部品が変更されたり、部品の配置が変更される。すなわち、エミュレータ５３が、開発ツール５１から出力された変更コマンドに対応して変更されたレイアウトデータに基づいて、ＧＵＩ画面を再表示する。
【００３９】
なお、上述したように、レイアウトデータは、ツリー構造を有するデータとして開発ツール５１と、エミュレータ５３とにより共有されている。レイアウトデータにおいては、各ツリーにＧＵＩの部品が対応づけられており、部品毎に識別番号が割り当てられている。開発ツール５１から出力された変更コマンドは、変更すべき部品の識別番号を含むコマンドとされ、エミュレータ５３は、開発ツール５１から出力された変更コマンドがどの部品を変更するものであるかを認識することができる。従って、開発ツール５１と、エミュレータ５３とにより、常に、変更後の最新のレイアウトデータが共有されていることになる。
【００４０】
キャプチャモジュール５２は、エミュレータ５３が再表示したＧＵＩ画面を再度キャプチャし、キャプチャ結果を開発ツール５１に再度供給する。これにより、開発ツールにより表示されるレイアウトデータ開発用のＧＵＩ画面１００の実機画面表示部１０１に、キャプチャモジュール５２が再度キャプチャしたＧＵＩ画面が表示されることになる。
【００４１】
このような操作が繰り返されることにより、実機２２に表示させるＧＵＩ画面のレイアウトデータが完成する。
【００４２】
図５と図６は、開発ツール５１により表示されるＧＵＩ画面１００の実機画面表示部１０１に表示されたＧＵＩ画面の構成を説明する図である。
【００４３】
例えば、開発ツール５１により表示されるＧＵＩ画面１００の実機画面表示部１０１に図５に示されるような画面が表示されているとする。この例では、「Ｉｎｔｅｒｎｅｔ」と表示された部品、「Ｍａｉｌ」と表示された部品、「Ｐｈｏｔｏ」と表示された部品、「Ｍｕｓｉｃ」と表示された部品、「Ｍｏｖｉｅ」と表示された部品が配置されている。また、各文字列の部品の図中左側に各文字列に対応する記号の部品が配置されている。さらに、「Ｂａｃｋ」、「Ｅｎｔｅｒ」、「Ｏｐｔｉｏｎ」と表示されたボタンの部品が配置されている。
【００４４】
図５に示されるような画面が、実機画面表示部１０１に表示されている場合、実際には、図６に示されるように、編集レイヤー１２２とキャプチャレイヤー１２１により画面が構成されている。
【００４５】
キャプチャレイヤー１２１は、キャプチャモジュール５２が、エミュレータ５３が表示したＧＵＩ画面をキャプチャして得られたものであり、いわば単なる画像にすぎない。これに対して、編集レイヤー１２２は、エミュレータ５３が表示したＧＵＩ画面に配置された各部品に対応して、透明の編集用部品が配置されたユーザインタフェースとされる。
【００４６】
例えば、仮にキャプチャレイヤー１２１に表示されているＧＵＩの部品を、図示せぬポインティングデバイスによりドラッグアンドドロップしても、その操作は受け付けられない。上述したように、キャプチャレイヤー１２１は、いわば単なる画像にすぎないからである。
【００４７】
一方、編集レイヤー１２２には、図６に示されるように透明の編集用部品が配置されている。同図の例では、編集レイヤー１２２の画面の最上部に編集用部品１３１−１と編集用部品１３１−２が配置されている。編集用部品１３１−２は、キャプチャレイヤー１２１において、「Ｉｎｔｅｒｎｅｔ」と表示された部品が表示されている位置に対応して配置されている。編集用部品１３１−１は、キャプチャレイヤー１２１において、「Ｉｎｔｅｒｎｅｔ」の文字列に対応する記号の部品が表示されている位置に対応して配置されている。同様に、図６においては、編集用部品１３２−１と編集用部品１３２−２、・・・編集用部品１３５−１と編集用部品１３５−２が配置されている。
【００４８】
また、同図には、編集レイヤー１２２の画面の最下部に編集用部品１４１乃至編集用部品１４３が配置されている。同図に示されるように、編集用部品１４１乃至編集用部品１４３は、キャプチャレイヤー１２１において、「Ｂａｃｋ」、「Ｅｎｔｅｒ」、「Ｏｐｔｉｏｎ」と表示されたボタンが表示されている位置にそれぞれ対応して配置されている。
【００４９】
編集レイヤー１２２は、例えば、開発ツール５１により、レイアウトデータに基づいて生成される。例えば、編集レイヤー１２２に表示されている編集用部品を、図示せぬポインティングデバイスによりドラッグアンドドロップすると、当該部品が移動される。その結果、当該部品を移動させるための変更コマンドが出力され、レイアウトデータが変更されるのである。
【００５０】
いま、例えば、キャプチャレイヤー１２１において「Ｍａｉｌ」と表示された部品を移動させる操作を考える。この場合、開発者は、実機画面表示部１０１に表示されている画面の中の「Ｍａｉｌ」と表示された部品の表示位置をポインティングデバイスによりクリックする。これにより、図７Ａに示されるように、編集用部品１３２−２が矩形の枠として表示される。
【００５１】
開発者は、図７Ｂに示されるように、編集レイヤー１２２の編集用部品１３２−２をポインティングデバイスによりドラッグして図中右側に移動させてドロップする。これにより、「Ｍａｉｌ」と表示された部品の配置を所定の距離だけ右側に移動させるように、レイアウトデータを変更する変更コマンドが出力される。そして、エミュレータ５３が変更後のレイアウトデータに基づいてＧＵＩ画面を再表示する。
【００５２】
キャプチャモジュール５２は、エミュレータ５３が再表示したＧＵＩ画面を再度キャプチャし、キャプチャ結果を開発ツール５１に再度供給する。これにより、ＧＵＩ画面１００の実機画面表示部１０１に、キャプチャモジュール５２が再度キャプチャしたＧＵＩ画面が表示される。すなわち、図７Ｃに示されるように、キャプチャレイヤー１２１の表示が変更され、「Ｍａｉｌ」と表示された部品が編集用部品１３２−２をドロップした位置に配置されるように修正される。
【００５３】
従来、例えば、開発環境で作成したレイアウトデータを実行環境で確認するためには、画面設計書に基づいて画面のレイアウトデータを作成した後、そのレイアウトデータをコンパイルして実装させるなどの必要があった。さらに、開発環境で作成したした際に意図した画面が、実行環境で表示できなかった場合、あらためてレイアウトを調整するなどの作業も必要となり、プログラム開発の負担が大きいものとなっていた。
【００５４】
これに対して本技術によれば、開発環境（開発機２１）で作成したレイアウトデータに基づいて実機２２によって表示されるＧＵＩ画面を、開発ツール５１のＧＵＩ画面１００の実機画面表示部１０１に表示させることができる。また、開発環境で作成したした際に意図した画面が、実行環境で表示できなかった場合でも、実機画面表示部１０１をポインティングデバイスなどで操作するだけで、簡単に修正することができる。
【００５５】
従って、本技術によれば、画面のレイアウト作成に伴うプログラム開発の負担を軽減することができる。
【００５６】
なお、以上においては、ＧＵＩの部品を移動する場合の例について説明したが、実機画面表示部１０１をポインティングデバイスなどで操作することで、部品の追加または削除、部品の属性の変更などの修正を行うことも可能である。
【００５７】
次に、図８のフローチャートを参照して、開発機２１による画面レイアウト生成変更処理の例について説明する。
【００５８】
ステップＳ２１において、開発ツール５１は、開発者からの操作入力を受け付ける。例えば、開発ツール５１を構成するプログラムが実行されると、開発機２１のディスプレイにレイアウトデータ開発用のＧＵＩ画面１００が表示され、ＧＵＩ画面１００を介した操作入力が受け付けられる。
【００５９】
ステップＳ２２において、開発ツール５１は、ステップＳ２１の処理で受け付けた操作入力に対応するレイアウトデータを生成する。なお、ここで生成されたレイアウトデータは、上述したように、エミュレータ５３と共有される。
【００６０】
ステップＳ２３において、エミュレータ５３は、ステップＳ２２で生成されたレイアウトデータに基づいて、実機２２の画面を表示する。
【００６１】
ステップＳ２４において、キャプチャモジュール５２は、ステップＳ２３の処理でエミュレータ５３が表示した画面をキャプチャする。
【００６２】
ステップＳ２５において、キャプチャモジュール５２は、ステップＳ２４の処理結果（キャプチャ結果）を開発ツール５１に供給する。
【００６３】
ステップＳ２６において、開発ツール５１は、キャプチャレイヤーと編集レイヤーを重畳表示する。このとき、例えば、図６を参照して上述したように、ステップＳ２５の処理で供給されたキャプチャ結果がキャプチャレイヤー１２１とされ、開発ツール５１により編集レイヤー１２２が生成され、両者が重畳されて表示される。
【００６４】
ステップＳ２７において、開発ツール５１は、部品の変更、配置の変更などが指令されたか否かを判定する。例えば、図７Ａと図７Ｂを参照して上述したような操作入力が受け付けられた場合、部品の変更、配置の変更などが指令されたと判定される。
【００６５】
ステップＳ２７において、部品の変更、配置の変更などが指令されたと判定された場合、処理は、ステップＳ２８に進む。
【００６６】
ステップＳ２８において、開発ツール５１は、ステップＳ２７の処理で指令されたと判定された変更に対応する変更コマンドを出力して、レイアウトデータを変更する。例えば、図７Ｂに示されるように、編集レイヤー１２２の編集用部品１３２−２をポインティングデバイスによりドラッグして図中右側に移動させてドロップしたとする。この場合、「Ｍａｉｌ」と表示された部品の配置を所定の距離だけ右側に移動させるように、レイアウトデータを変更する変更コマンドが出力される。
【００６７】
ステップＳ２８の処理の後、処理は、ステップＳ２３に戻り、エミュレータ５３が変更後のレイアウトデータに基づいて、実機２２の画面を再表示する。その後、ステップＳ２４乃至ステップＳ２６の処理で、エミュレータ５３が再表示したＧＵＩ画面が再度キャプチャされて開発ツール５１に再度供給され、キャプチャレイヤーと編集レイヤーが重畳表示される。例えば、図７Ｃに示されるように、キャプチャレイヤー１２１の表示が変更され、「Ｍａｉｌ」と表示された部品が編集用部品１３２−２をドロップした位置に配置されるように修正されてＧＵＩ画面１００が表示されることになる。
【００６８】
一方、ステップＳ２７において、部品の変更、配置の変更などが指令されなかったと判定された場合、処理は終了する。
【００６９】
このようにして、画面レイアウト生成変更処理が実行される。
【００７０】
なお、以上においては、開発機２１で生成されたレイアウトデータを、実機２２に実装する場合の例について説明したが、例えば、図９に示される場合、開発機２１とは別の開発機２３をさらに用いてレイアウトデータが生成されるようにしてもよい。
【００７１】
図９は、本技術を用いた画面レイアウト開発システムの別の構成例を示す図である。この画面レイアウトシステムにおいては、例えば、デザイナーが実機２２のＧＵＩ画面の画面デザインを、開発機２３を用いて作成し、デザイナーにより作成された画面デザインの図を見ながら、開発者が開発機２１を操作してレイアウトデータを生成する。開発機２３は、例えば、パーソナルコンピュータなどにより構成されるが、開発機２１とは異なるＯＳおよびＧＵＩライブラリが実装されている。
【００７２】
開発機２３には、開発機２１と同様に、開発ツール５１、キャプチャモジュール５２、エミュレータ５３が実装される。すなわち、図２を参照して上述した場合と同様に、開発機２３にも開発ツール５１、キャプチャモジュール５２、エミュレータ５３が実装されるが、開発機ＯＳ４１および開発機ライブラリ４２が、開発機２１とは異なるものとなる。
【００７３】
図９の例の場合、例えば、開発者が開発機２１を用いて生成したレイアウトデータを、デザイナーに送付する。そして、デザイナーが開発機２３を用いてレイアウトデータの修正を行う。
【００７４】
このようにすることで、デザイナー（開発機２３）も開発環境（開発機２１）で生成したレイアウトデータに基づいて実機２２によって表示されるＧＵＩ画面を、開発ツール５１のＧＵＩ画面１００の実機画面表示部１０１に表示させることができる。また、デザイナーが意図した画面が、実行環境（実機２２）で表示できなかった場合でも、実機画面表示部１０１をポインティングデバイスなどで操作するだけで、デザイナー自身が簡単に修正することができる。
【００７５】
また、以上においては、例えば、図２を参照して上述したように、開発機２１（または開発機２３）にエミュレータ５３が実装されていることを前提とした実施の形態について説明した。しかし、必ずしも開発機２１（または開発機２３）にエミュレータ５３が実装されている必要はない。
【００７６】
図１０は、開発機２１または開発機２３に実装されるプログラムなどのソフトウェアの別の機能的構成例を示すブロック図である。同図の例では、開発機２１または開発機２３にエミュレータ５３が実装されておらず、実機２２との通信が行われるようになされている。すなわち、図１０の例においては、開発機２１または開発機２３により生成されたレイアウトデータが直接実機２２に送信され、実機２２がレイアウトデータに基づいてＧＵＩ画面を表示する。そして、キャプチャモジュール５２は、実機２２が表示したＧＵＩ画面をキャプチャし、キャプチャ結果を開発ツール５１に供給するようになされている。
【００７７】
また、図１０の例においては、開発機２１または開発機２３においてレイアウトデータを変更するための操作が行われた場合、変更コマンドが実機２２に送信される。これにより、実機２２においてＧＵＩ画面が再表示され、キャプチャモジュール５２は、実機２２が表示したＧＵＩ画面を再度キャプチャし、キャプチャ結果を開発ツール５１に再度供給することになる。
【００７８】
このようにすることで、例えば、実機ＯＳ６１と実機ライブラリ６２を実装したエミュレータ５３の開発が遅れており、開発環境においてエミュレータ５３を使用できない場合であっても、レイアウトデータを簡単に生成することができる。
【００７９】
なお、上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば図１１に示されるような汎用のパーソナルコンピュータ７００などに、ネットワークや記録媒体からインストールされる。
【００８０】
図１１において、ＣＰＵ（Central Processing Unit）７０１は、ＲＯＭ（Read Only Memory）７０２に記憶されているプログラム、または記憶部７０８からＲＡＭ（Random Access Memory）７０３にロードされたプログラムに従って各種の処理を実行する。ＲＡＭ７０３にはまた、ＣＰＵ７０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【００８１】
ＣＰＵ７０１、ＲＯＭ７０２、およびＲＡＭ７０３は、バス７０４を介して相互に接続されている。このバス７０４にはまた、入出力インタフェース７０５も接続されている。
【００８２】
入出力インタフェース７０５には、キーボード、マウスなどよりなる入力部７０６、ＬＣＤ(Liquid Crystal display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部７０７、ハードディスクなどより構成される記憶部７０８、モデム、ＬＡＮカードなどのネットワークインタフェースカードなどより構成される通信部７０９が接続されている。通信部７０９は、インターネットを含むネットワークを介しての通信処理を行う。
【００８３】
入出力インタフェース７０５にはまた、必要に応じてドライブ７１０が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア７１１が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部７０８にインストールされる。
【００８４】
上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、インターネットなどのネットワークや、リムーバブルメディア７１１などからなる記録媒体からインストールされる。
【００８５】
なお、この記録媒体は、図１１に示される、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク（フロッピディスク（登録商標）を含む）、光ディスク（CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む）、光磁気ディスク（MD（Mini-Disk）（登録商標）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア７１１により構成されるものだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているＲＯＭ７０２や、記憶部７０８に含まれるハードディスクなどで構成されるものも含む。
【００８６】
なお、本明細書において上述した一連の処理は、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【００８７】
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【００８８】
なお、本技術は以下のような構成も取ることができる。
【００８９】
（１）  他の機器において表示されるＧＵＩ画面のレイアウトデータを、開発用ＧＵＩ画面の操作入力に基づいて生成するレイアウトデータ生成変更部と、
前記生成されたレイアウトデータに基づいて表示された前記他の機器のＧＵＩ画面をキャプチャするキャプチャ部とを備え、
前記レイアウトデータ生成変更部は、
前記キャプチャされた前記他の機器のＧＵＩ画面を第１のレイヤー画面とし、前記第１のレイヤー画面におけるＧＵＩの部品の配置に対応して編集用ＧＵＩ部品が配置された画面を第２のレイヤー画面を生成し、
前記開発用ＧＵＩ画面の一部に、前記第１のレイヤー画面および前記第２のレイヤー画面を重畳した重畳画面を表示する
情報処理装置。
（２）  前記情報処理装置のオペレーティングシステムとは異なる前記他の機器のオペレーティングシステムを前記情報処理装置のオペレーティングシステム上で実行するとともに、前記情報処理装置のＧＵＩライブラリとは異なる前記他の機器のＧＵＩライブラリを、前記情報処理装置のオペレーティングシステムを介して利用可能とするエミュレータをさらに備える
（１）に記載の情報処理装置。
（３）  前記レイアウトデータ生成変更部は、
前記開発用ＧＵＩ画面の一部に表示された重畳画面に対する操作入力が受け付けられた場合、
前記レイアウトデータを変更するレイアウトデータ変更コマンドを出力し、
前記キャプチャ部は、
前記変更されたレイアウトデータに基づいて表示された前記他の機器のＧＵＩ画面を再度キャプチャする
（１）または（２）に記載の情報処理装置。
（４）  前記レイアウトデータは、ツリー構造を有するデータとされ、各ツリーに前記ＧＵＩの部品が対応づけられており、部品毎に識別番号が割り当てられ、
前記レイアウトデータの変更が必要である場合、前記レイアウトデータ生成変更部が、前記識別番号を含むレイアウトデータ変更コマンドを出力する
（１）乃至（３）のいずれかに記載の情報処理装置。
（５）  レイアウトデータ生成変更部が、他の機器において表示されるＧＵＩ画面のレイアウトデータを、開発用ＧＵＩ画面の操作入力に基づいて生成し、
キャプチャ部が、前記生成されたレイアウトデータに基づいて表示された前記他の機器のＧＵＩ画面をキャプチャし、
前記レイアウトデータ生成変更部が、前記キャプチャされた前記他の機器のＧＵＩ画面を第１のレイヤー画面とし、前記第１のレイヤー画面におけるＧＵＩの部品の配置に対応して編集用ＧＵＩ部品が配置された画面を第２のレイヤー画面を生成し、前記開発用ＧＵＩ画面の一部に、前記第１のレイヤー画面および前記第２のレイヤー画面を重畳した重畳画面を表示するステップ
を含む情報処理方法。
（６）  コンピュータを、
他の機器において表示されるＧＵＩ画面のレイアウトデータを、開発用ＧＵＩ画面の操作入力に基づいて生成するレイアウトデータ生成変更部と、
前記生成されたレイアウトデータに基づいて表示された前記他の機器のＧＵＩ画面をキャプチャするキャプチャ部とを備え、
前記レイアウトデータ生成変更部は、
前記キャプチャされた前記他の機器のＧＵＩ画面を第１のレイヤー画面とし、前記第１のレイヤー画面におけるＧＵＩの部品の配置に対応して編集用ＧＵＩ部品が配置された画面を第２のレイヤー画面を生成し、
前記開発用ＧＵＩ画面の一部に、前記第１のレイヤー画面および前記第２のレイヤー画面を重畳した重畳画面を表示する情報処理装置として機能させる
プログラム。
（７）  （６）に記載のプログラムが記録されている記録媒体。
【符号の説明】
【００９０】
２１  開発機，  ２２  実機，  ２３  開発機，  ４１  開発機ＯＳ，  ４２  開発機ライブラリ，  ５１  開発ツール，  ５２  キャプチャモジュール，  ５３  エミュレータ，  ６１  実機ＯＳ，  ６２  実機ライブラリ
【図１】
2012256215.tif 000003
【図２】
2012256215.tif 000004
【図３】
2012256215.tif 000005
【図４】
2012256215.tif 000006
【図５】
2012256215.tif 000007
【図６】
2012256215.tif 000008
【図７】
2012256215.tif 000009
【図８】
2012256215.tif 000010
【図９】
2012256215.tif 000011
【図１０】
2012256215.tif 000012
【図１１】
2012256215.tif 000013