(57)【要約】【課題】画面作成のコストを削減することができる画面作成表示システムを提供すること【解決手段】本発明にかかる画面作成表示システム１は、画面の構成要素を表示する部品クラスを有する部品クラスライブラリ３００と、コンバータ１００と、ジェネレータ２００を備える。コンバータ１００は、クラスが含む付加情報を取得する付加情報取得手段と、付加情報を対応付けたプロパティの型を取得するプロパティ情報取得手段と、プロパティの型に基づき、部品クラスを選択し、当該部品クラスを示す部品クラス情報を生成する部品クラス選択手段と、付加情報に基づき、画面の構成を示すレイアウト情報を生成する画面レイアウト編集手段を有する。ジェネレータは、コンバータから部品クラス情報およびレイアウト情報を取得する画面情報取得手段と、部品クラス情報およびレイアウト情報に基づき、部品クラスを使用し、画面を出力するインスタンス実行手段を有する。【選択図】図１
2010128839.tif 000002
【特許請求の範囲】
【請求項１】
画面の構成要素を表示する処理を実行する複数の部品クラスを有する部品クラスライブラリと、コンバータと、ジェネレータを備え、
前記コンバータは、クラスに含まれる付加情報を取得する付加情報取得手段と、
前記クラスに含まれる付加情報が対応付けられたプロパティの型を取得するプロパティ情報取得手段と、
取得したプロパティの型に基づいて、前記部品クラスライブラリから画面の表示に使用する部品クラスを選択し、当該部品クラスを示す部品クラス情報を生成する部品クラス選択手段と、
取得した付加情報に基づいて、前記画面の構成を示すレイアウト情報を生成する画面レイアウト編集手段を有し、
前記ジェネレータは、前記コンバータから前記部品クラス情報および前記レイアウト情報を取得する画面情報取得手段と、
取得した部品クラス情報およびレイアウト情報に基づいて、前記部品クラスを使用して、前記画面を出力するインスタンス実行手段を有する画面生成表示システム。  
【請求項２】
前記画面は、前記プロパティのそれぞれに対応するオブジェクトが配置される請求項１に記載の画面生成表示システム。
【請求項３】
前記部品クラス選択手段は、前記プロパティの型がクラスである場合は、当該プロパティに対応するオブジェクトを入れ子の構成で表示するように前記部品クラス情報を生成する請求項２に記載の画面作成表示システム。
【請求項４】
前記部品クラス選択手段は、前記プロパティの型がクラスである場合は、当該プロパティに対応するオブジェクトをダイアログによって表示するように前記部品クラス情報を生成する請求項２に記載の画面作成表示システム。
【請求項５】
前記部品クラス選択手段は、当該プロパティに対応するオブジェクトを表として表示するように前記部品クラス情報を生成する請求項３又は４に記載の画面作成表示システム。
【請求項６】
前記表は、前記プロパティの型が配列型である場合は、要素の追加及び削除をするとこができる請求項５に記載の画面作成表示システム。
【請求項７】
前記付加情報は、前記プロパティに対応するオブジェクトの表示形式を示す表示タイプを含み、
前記部品クラス選択手段は、当該表示タイプに基づいて、前記部品クラス情報を生成する請求項３乃至６のいずれかに記載の画面作成表示システム。
【請求項８】
前記付加情報は、依存するプロパティを示す依存プロパティ情報を含み、
前記インスタンス実行手段は、前記依存するプロパティのフィールドの値が変更された場合に、当該付加情報が対応付けられたプロパティのフィールドの値を、対応するオブジェクトに表示する請求項２乃至７のいずれかに記載の画面作成表示システム。
【請求項９】
前記クラスは、前記オブジェクトの表示に関する情報を返す表示制御メソッドを有し、
前記インスタンス実行手段は、当該表示制御メソッドの戻り値に基づいて、当該オブジェクトを表示する請求項２乃至８のいずれかに記載の画面作成表示システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画面作成表示システムに関する。
【背景技術】
【０００２】
ＧＵＩ（Graphical User Interface）を有するＯＳ（Operating System）において動作するアプリケーションプログラム（以下、単に「アプリケーション」とする）は、データの表示やデータ入力のために、複数種類の画面を表示することができる。これらの画面は、表示するオブジェクトの種類や配置、表示する文字の内容や配置などが、画面のそれぞれで異なるため、画面を個別に作成しなければならず、また、画面において入出力されるデータとアプリケーションとの対応付けを個別に行わなければならない。そのため、画面作成およびその品質確保には多くのコストが必要となっている。
【０００３】
また、このようなコストを削減するために、リストや表などのデータの入出力のための定型要素の部品化が行われているが、これらの部品自体を表示する処理や部品と入出力されるデータとのハンドリングは作りこむ必要があり、画面作成のコストを劇的に削減するには至っていない。
さらに、画面を表示する処理と、画面に入出力するデータは別々に設計され、別々のコンポーネントとして作成されることが多く、データのコンポーネントが変更された場合に、それに合わせて複数の画面を修正する必要が生じたり、修正漏れが発生したりするなど、データと画面との整合性が崩れてしまうという問題が生じていた。
【０００４】
ところで、特許文献１では、全てのアプリケーションに共通するクラスを定義することで、新規アプリケーションの開発労力を軽減する技術が開示されている。特許文献１に開示されている画像形成装置は、全てのアプリケーションおよびメニュー画面に共通する共通メニュー画面のクラスからインスタンスを生成する操作フロー制御部と、操作フロー制御部がインスタンスを生成するときに参照する操作フローインスタンス生成情報を備える。操作フロー制御部は、遷移先画面の画面レイアウトに関する情報を、操作フローインスタンス生成情報から取得して、共通メニュー画面のクラスをインスタンス化して遷移先画面を表示する。
【０００５】
しかし、特許文献１では、一部の画面の仕様が変更されただけでも、それをサポートするために、共通メニュー画面のクラスを変更しなければならない。そのため、他の画面に影響を与えてしまうこととなり、影響を調査するためのリグレッションテストが必要となるなど、品質確保のためのコストがかかってしまう。
【特許文献１】特開２００５−１１７５４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
背景技術として説明したように、画面の作成においては、コストがかかってしまうという問題がある。
【０００７】
本発明の目的は、上述したような課題を解決するためになされたものであり、画面の作成において、画面作成のコストを削減することができる画面作成表示システムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明にかかる画面作成表示システムは、画面の構成要素を表示する処理を実行する複数の部品クラスを有する部品クラスライブラリと、コンバータと、ジェネレータを備え、前記コンバータは、クラスに含まれる付加情報を取得する付加情報取得手段と、前記クラスに含まれる付加情報が対応付けられたプロパティの型を取得するプロパティ情報取得手段と、取得したプロパティの型に基づいて、前記部品クラスライブラリから画面の表示に使用する部品クラスを選択し、当該部品クラスを示す部品クラス情報を生成する部品クラス選択手段と、取得した付加情報に基づいて、前記画面の構成を示すレイアウト情報を生成する画面レイアウト編集手段を有し、前記ジェネレータは、前記コンバータから前記部品クラス情報および前記レイアウト情報を取得する画面情報取得手段と、取得した部品クラス情報およびレイアウト情報に基づいて、前記部品クラスを使用して、前記画面を出力するインスタンス実行手段を有するものである。これにより、画面作成のコストを削減することができる。
【０００９】
また、前記画面は、前記プロパティのそれぞれに対応するオブジェクトが配置されるようにしてもよい。
【００１０】
さらに、前記部品クラス選択手段は、前記プロパティの型がクラスである場合は、当該プロパティに対応するオブジェクトを入れ子の構成で表示するように前記部品クラス情報を生成してもよい。
【００１１】
さらにまた、前記部品クラス選択手段は、前記プロパティの型がクラスである場合は、当該プロパティに対応するオブジェクトをダイアログによって表示するように前記部品クラス情報を生成してもよい。
【００１２】
他方、前記部品クラス選択手段は、当該プロパティに対応するオブジェクトを表として表示するように前記部品クラス情報を生成してもよい。
【００１３】
また、前記表は、前記プロパティの型が配列型である場合は、要素の追加及び削除をするとこができるようにしてもよい。
【００１４】
ここで、前記付加情報は、前記プロパティに対応するオブジェクトの表示形式を示す表示タイプを含み、前記部品クラス選択手段は、当該表示タイプに基づいて、前記部品クラス情報を生成するようにしてもよい。
【００１５】
他方、前記付加情報は、依存するプロパティを示す依存プロパティ情報を含み、前記インスタンス実行手段は、前記依存するプロパティのフィールドの値が変更された場合に、当該付加情報が対応付けられたプロパティのフィールドの値を、対応するオブジェクトに表示するようにしてもよい。
【００１６】
さらに、前記クラスは、前記オブジェクトの表示に関する情報を返す表示制御メソッドを有し、前記インスタンス実行手段は、当該表示制御メソッドの戻り値に基づいて、当該オブジェクトを表示するようにしてもよい。
【発明の効果】
【００１７】
本発明により、画面作成のコストを削減することができる画面作成表示システムを提供することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態について、図面を参照しながら説明する。
ここで、本発明の実施の形態の説明において使用する用語を説明する。
クラスとは、オブジェクト指向プログラミングにおいて、データおよびメソッドなどをまとめた構造を定義したものをいう。
インスタンスとは、クラスの構造に対応する記憶領域が割り当てられた実体をいう。
フィールドとは、クラスに含まれる変数などのデータをいう。
メソッドとは、一連の処理を定義したものである。
プロパティとは、クラスのフィールドにアクセスするメソッドである。
属性とは、クラス、プロパティもしくはメソッドに対する情報であり、コンパイルのときに生成されるプログラムに格納される情報である。属性は、属性クラスとしても機能する。
【００１９】
オブジェクトとは、チェックボックス、テキストボックスまたはコンボボックスなどの画面を構成する要素である。
なお、実施の形態では、本発明をオブジェクト指向言語であるＭｉｃｒｏｓｏｆｔ（登録商標）の.ＮＥＴ Ｆｒａｍｅｗｏｒｋ（登録商標）によるプログラミング環境において実施した例を示す。
【００２０】
発明の実施の形態１．
本発明の実施の形態１にかかる画面作成表示システムについて説明する。
図１は、本発明の実施の形態にかかる画面作成表示システムを示すブロック図である。
画面作成表示システム１は、画面作成部１０、コンパイル部２０、記憶部３０および入力表示部４０を備える。
【００２１】
画面作成部１０は、コンパイル部２０によって生成されたプログラムを実行して、表示する画面を作成する。そして、画面作成部１０は、作成した画面を入力表示部４０に出力する処理を行う。画面作成部１０は、ＣＰＵ（Central Processing Unit）およびメモリなど（図示せず）を有し、ＯＳ（Operating System）１１および.ＮＥＴ Ｆｒａｍｅｗｏｒｋ（登録商標）クラスライブラリ１２などが動作可能である。
コンパイル部２０は、ソースコードをコンパイルして画面を表示するプログラムを生成する。コンパイル部２０は、ＣＰＵ（Central Processing Unit）およびメモリなど（図示せず）を有し、ＯＳ（Operating System）２１、コンパイラ２２および.ＮＥＴ Ｆｒａｍｅｗｏｒｋ（登録商標）クラスライブラリ２３などが動作可能である。
【００２２】
記憶部３０は、コンバータ１００、ジェネレータ２００および部品クラスライブラリ３００を格納する。記憶部３０は、例えば、メモリ、ＨＤＤ（Hard Disk Drive）またはＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの記憶装置を含む。
入力表示部４０は、画面作成部１０から出力された画面を表示する処理を行う。また、ユーザにより入力された入力データを、画面作成部１０に入力する処理を行う。入力表示部４０は、例えば、ＣＲＴ（Cathode Ray Tube）、プラズマディスプレイまたは液晶ディスプレイなどの表示装置、およびマウスやキーボードなどの入力装置を有する。
【００２３】
コンバータ１００は、ソースコードに記述されたクラスの構成に基づいて、部品クラス情報およびレイアウト情報を生成する。コンバータ１００は、部品クラスライブラリのうち画面の表示に使用する部品クラスを示す部品クラス情報を生成する。コンバータ１００は、クラスをウィンドウとし、クラスに含まれるプロパティもしくはメソッドのそれぞれをウィンドウに含まれるオブジェクトとした画面となるように、部品クラス情報を生成する。なお、コンバータ１００は、真理値、数値および文字列などのプロパティの型に基づいて、チェックボックス、テキストボックスまたはコンボボックスなどオブジェクトの種類を決定する。
【００２４】
また、コンバータ１００は、付加情報に基づいて、表示する画面の構成を示すレイアウト情報を生成する。ここで、付加情報は、画面に表示するウィンドウもしくはオブジェクトの表示名、表示順序、表示タイプ（縦方向に並べて表示、横方向に並べて表示、表として表示など）および入力制約などの情報である。なお、コンバータ１００は、付加情報が対応付けられたクラス、プロパティもしくはメソッドを、ウィンドウまたはオブジェクトなどの画面を構成する要素とする。
【００２５】
ジェネレータ２００は、コンバータ１００が生成した部品クラス情報およびレイアウト情報に基づいて、部品クラスライブラリ３００を使用して、入力表示部４０に画面を出力する処理を行う
部品クラスライブラリ３００は、表示する画面に含まれるオブジェクトなどの画面の構成要素を表示する処理を行う。また、部品クラスライブラリ３００は、入力表示部４０からのオブジェクトへの入力を処理する。部品クラスライブラリは、例えば、.ＮＥＴ Ｆｒａｍｅｗｏｒｋ（登録商標）クラスライブラリに含まれるオブジェクトを表示するクラスを継承して作成したものであってもよい。
【００２６】
ここで、コンバータ１００、ジェネレータ２００および部品クラスライブラリ３００は、記憶部３０にＤＬＬ（Dynamic Link Library）として格納されている。コンパイル部２０がソースコードをコンパイルするとき、もしくは画面作成部１０が画面を表示するときに、画面作成部１０もしくはコンパイル部２０にロードされて処理を実行する。
なお、コンバータ１００、ジェネレータ２００および部品クラスライブラリ３００は、ＤＬＬとして用意せずに、それらの処理をコンパイルするソースコードに含めておき、コンパイル部２０によって生成するプログラムに含めるようにしてもよい。
【００２７】
ここで、画面作成表示システムの構成は、上述の構成要素に相当する機能が含まれていれば、どのような構成であってもよい。
例えば、画面作成部１０、コンパイル部２０、記憶部３０および入力表示部４０は、ＰＣ（Personal computer）もしくはサーバなどの複数の情報処理装置のそれぞれに分散して備えるようにしてもよく、１つの情報処理装置にまとめて備えるようにしてもよい。
【００２８】
続いて、本発明の実施の形態１にかかる画面作成表示システムの処理について、図２を用いて説明する。
図２は、本発明の実施の形態１にかかる画面作成表示システムの詳細を示す図である。
まず、コンパイル部２０は、コンパイラ２２によって、ソースコード４１０のコンパイルを行い、画面を表示するプログラム４２０を生成する。
コンバータ１００のプロパティ情報取得手段１１０は、コンパイルのときに、ソースコード４１０に記述されたプロパティの型を取得する。
また、コンバータ１００の付加情報取得手段１２０は、コンパイルのときに、ソースコード４１０に記述された付加情報を取得する。コンバータ１１０が取得したプロパティの型および付加情報は、プログラム４２０に含まれる。
【００２９】
ここで、コンパイル部２０における処理を具体的に説明する。本実施の形態では、ソースコード４１０として、図３に示すソースコードのコンパイルを行う。また、図３に示すソースコードのクラスの概念図を図４（a）に示す。
図３に示すソースコードの６行目から２２行目に示すＲｅｃｔａｎｇｌｅクラスにおいて、６行目、１４行目、１７行目および２０行目に、属性の引数として指定されている情報が付加情報である。このように付加情報は、クラス、プロパティおよびメソッドに対応付けられる。
図３の６行目の属性は、第１引数が表示名、第３引数が表示タイプを示す。
図３の１４行目の属性は、第１引数が表示名、第３引数が表示順、第４引数が入力制約を示す。
図３の１７行目および２０行目の属性は、第１引数が表示名、第３引数が表示順を示す。
【００３０】
図３に示すソースコードの２４行目から３８行目に示すＲｅｃｔＳｉｚｅクラスにおいて、２４行目、３２行目および３６行目に、属性の引数として指定されている情報が付加情報である。
図３の２４行目の属性は、第１引数が表示名、第３引数が表示タイプを示す。
図３の３２行目および３６行目の属性は、第１引数が表示名、第３引数が入力制約を示す。
なお、付加情報の詳細については、後に詳述する。また、第２引数は、最終的に表示した画面において、プロパティ・メソッドに対応するオブジェクトに、マウスポインタが重なったときに表示するメッセージを指定することができる。
【００３１】
ここで、図３のソースコードに示される"ＵＩＳｔａｃｋ"、"ＵＩＳｔｒｉｎｇ"、"ＵＩＰａｎｅｌＩｔｅｍ"、"ＵＩＭｅｔｈｏｄ"および"ＵＩＤｅｃｉｍａｌ"の属性は、クラスとして機能する（以下、属性クラスとする）。
プロパティ情報取得手段１１０は、属性クラスのコンストラクタにおける処理において、.ＮＥＴ  Ｆｒｅａｍｅｗｏｒｋ（登録商標）ライブラリ２３を使用することにより、対応するプロパティの型を取得することで実現する。
付加情報取得手段１２０は、付加情報を属性クラスのコンストラクタへの引数として取得することで実現する。
このようにして取得したプロパティの型および付加情報を含んだ属性クラスのインスタンスは、シリアライズされて生成するプログラム４２０に格納される。
このように、本実施の形態では、属性クラスがコンバータ１００として機能する。
【００３２】
次に、画面作成部１１は、生成されたプログラム４２０を実行して、画面の表示データを作成し、作成した画面を入力表示部４０に表示する。
ここでの処理を図５に示すシーケンス図を用いて説明する。
まず、プログラム４２０は、画面作成部１１によって実行されると、ジェネレータのインスタンスを生成する（Ｓ７０１）。
次に、プログラム４２０は、図３および図４に示すＲｃｔａｎｇｌｅクラスのインスタンスを生成する（Ｓ７０２）。
次に、ジェネレータ２００は、Ｒｃｔａｎｇｌｅクラスのインスタンスを取得する（Ｓ７０３）。
【００３３】
次に、ジェネレータ２００の画面情報取得手段２１０は、コンバータ１００の部品クラス情報およびレイアウト情報を取得するメソッドを呼び出す（Ｓ７０４）。
ジェネレータ２００によりメソッドが呼び出されると、コンバータ１００は、ソースコードに記述されたクラスの構成に基づいて、部品クラス情報およびレイアウト情報を生成する（Ｓ７０５）。
ここで、ステップＳ７０４、Ｓ７０５における処理について詳細に説明する。
まず、ジェネレータ２００によりメソッドが呼び出されると、コンバータ１００の部品クラス選択手段１３０は、コンバータ１００が有するプロパティの型に基づいて、このプロパティに対応するオブジェクトを決定する。そして、決定したオブジェクトの表示に使用する部品クラスを選択し、この部品クラスを示す部品クラス情報を生成する。
【００３４】
具体的には、図４に示すＲｅｃｔａｎｇｌｅクラスのプロパティ"Ｎａｍｅ"のように、型が文字列である場合は、対応するオブジェクトとしてテキストボックスを決定する。
また、プロパティ"Ｓｉｚｅ"のように、型がクラスである場合は、この型であるＲｅｃｔＳｉｚｅクラスに含まれるプロパティに対応するオブジェクトを入れ子の構成で表示するようにオブジェクトを決定する。
メソッド"Ｓｅｔ"は、対応するオブジェクトとしてコマンドボタンを決定する。
【００３５】
ＲｅｃｔＳｉｚｅクラスのプロパティ"Ｈｅｉｇｈｔ"および"Ｗｉｄｔｈ"のように、型が数値である場合は、対応するオブジェクトとしてテキストボックスを決定する。
なお、プロパティの型およびメソッドに対応するオブジェクトは、自由に定義することができ、本実施の形態に例示したものに限られない。
【００３６】
さらに、コンバータ１００の画面レイアウト編集手段１４０は、コンバータ１００が有する付加情報に基づいて、レイアウト情報を生成する。
具体的には、図４に示すＲｅｃｔａｎｇｌｅクラスのように、付加情報の表示名が"四角"、タイプが"ＳｔａｃｋＬａｙｏｕｔ．ＬＯＮＧ"である場合は、ウィンドウに"四角"を表示し、ウィンドウに含まれるオブジェクトのそれぞれを縦に並べて表示するようにレイアウト情報を生成する。
また、それぞれのオブジェクトに、付加情報の表示名において指定された表示名を表示するようにレイアウト情報を生成する。
さらに、それぞれのオブジェクトは、付加情報の表示順において指定された順序によって、上から順番に縦に並べて表示するようにレイアウト情報を生成する。
【００３７】
ＲｅｃｔＳｉｚｅクラスは、タイプが"ＳｔａｃｋＬａｙｏｕｔ．ＬＯＮＧ"であるため、入れ子の構成で表示されるオブジェクトのそれぞれを縦に並べて表示するようにレイアウト情報を生成する。
また、付加情報では、プロパティ"Ｎａｍe"のように、オブジェクトへの入力を不可とする入力制約や、プロパティ"Ｈｅｉｇｈｔ"および"Ｗｉｄｔｈ"のように、オブジェクトへ入力を制限する入力制約をレイアウト情報に含めることもできる。
【００３８】
ここで、さらに具体的には、本実施の形態では、前述のとおり、属性クラスがコンバータ１００として機能するため、ステップＳ７０４およびＳ７０５の処理は、ジェネレータ２００が、属性クラスの部品クラス情報およびレイアウト情報を取得するメソッドを呼び出すことにより行われる。つまり、クラス、プロパティおよびメソッドのそれぞれに対応する属性クラスのメソッドを呼び出すことで、部品クラス情報およびレイアウト情報を取得する。
なお、部品クラス選択手段１３０および画面レイアウト編集手段１４０における処理を、属性クラスのコンストラクタで実行するようにして、コンパイルしたときに、部品クラス情報およびレイアウト情報が生成されるようにしてもよい。
【００３９】
ジェネレータ２００の画面情報取得手段２１０は、このようにして生成された部品クラス情報およびレイアウト情報を取得する（Ｓ７０６）。
次に、ジェネレータ２００のインスタンス実行手段２２０は、部品クラスライブラリのうちの部品クラス情報が示す部品クラスのインスタンスを生成し、生成したインスタンスを取得する（Ｓ７０７，Ｓ７０８）。
そして、ジェネレータ２００のインスタンス実行手段２２０は、インスタンスを生成した部品クラスのメソッドを実行する（Ｓ７０９）。例えば、インスタンス実行手段２２０は、レイアウト情報に基づいて、引数を指定するなどして、部品クラスのコンストラクタ、メソッドなどを実行する。
ステップＳ７０９により、部品クラスのメソッドは、入力表示部４０に図４（ｂ）に示す画面を表示する（Ｓ７１０）。
【００４０】
このようにして、表示された画面において、プロパティに対応したフィールドに格納されるデータが、このプロパティに対応するオブジェクトに表示される。例えば、図４（ａ-１）のプロパティ"Ｎａｍe"に対応する図３に示すフィールド"ｎａｍｅ"に格納されている値が"Ｓａｍｐｌｅ"である場合は、図４（ｂ）のように、対応するテキストボックス"名称"にその値が表示される。
【００４１】
また、入力表示部４０からプロパティに対応したオブジェクトに値が入力されると、このプロパティに対応するフィールドに値が設定される。例えば、図４（ａ-２）のプロパティ"Ｈｅｉｇｈｔ"および"Ｗｉｄｔｈ"に対応するテキストボックス"高さ"および"幅"に値が入力されると、対応する図３に示すフィールド"ｈｅｉｇｈｔ"および"ｗｉｄｔｈ"に入力された値が格納される。この処理は、部品クラスがオブジェクトに入力された値をＲｅｃｔＳｉｚｅクラスのプロパティによって、それぞれにフィールドに反映することで行うことができる。
【００４２】
発明の実施の形態２．
本発明の実施の形態２にかかる画面作成表示システムについて説明する。
なお、画面作成表示システムの構成および処理は、実施の形態１と同様であるため、説明を省略する。
図６に本発明の実施の形態２にかかるクラスの概念図および生成される画面を示す。
図６（ａ-１）（ａ-２）に示すクラスが記述されたソースコード４１０に基づいて、画面を生成した場合には、図６（ｂ）に示す画面が作成され、表示される。
図６に示すプロパティ"Ｓｉｚｅ"のように、付加情報の表示タイプが"Ｇｒｉｄ"である場合は、コンバータ１００の部品クラス選択手段１３０は、プロパティ"Ｓｉｚｅ"に対応するオブジェクトを表として表示するように、部品クラス情報を生成する。
【００４３】
また、このときに図６に示すように、プロパティ"Ｓｉｚｅ"の型が配列もしくはコレクションである場合は、要素の追加・削除をすることができる表となるようにすることができる。例えば、プロパティの型が配列もしくはコレクションである場合に、要素の追加・削除をすることができる表を表示する部品クラスを選択してもよい。また、付加情報によって追加・削除のありなしを指定できるようにして、この付加情報に基づいて生成されたレイアウト情報で示された引数を、表を表示する部品クラスに指定によって、追加・削除することができる表のオブジェクトに切り替えを行うことができるようにしてもよい。
【００４４】
発明の実施の形態３．
本発明の実施の形態３にかかる画面作成表示システムについて説明する。
なお、画面作成表示システムの構成および処理は、実施の形態１と同様であるため、説明を省略する。
図７に本発明の実施の形態３にかかるクラスの概念図および生成される画面を示す。
図７（ａ-１）（ａ-２）に示すクラスが記述されたソースコード４１０に基づいて、画面を生成した場合には、図７（ｂ）に示す画面が作成され、表示される。
図７に示すプロパティ"Ｃｏｎｆｉｒｍ"のように、付加情報のタイプが"Ｄｉａｌｏｇ"である場合は、コンバータ１００の部品クラス選択手段１３０は、プロパティ"Ｃｏｎｆｉｒｍ"に対応するオブジェクトをダイアログとして表示するように、部品クラス情報を生成する。
【００４５】
発明の実施の形態４．
本発明の実施の形態４にかかる画面作成表示システムについて説明する。
なお、画面作成表示システムの構成および処理は、実施の形態１と同様であるため、説明を省略する。
図８に本発明の実施の形態４にかかるクラスの概念図および生成される画面を示す。
図８（ａ）に示すクラスが記述されたソースコード４１０に基づいて、画面を生成した場合には、図８（ｂ-１）に示す画面が作成され、表示される。なお、図８（ｂ−１）に示す値は、ユーザにより入力表示部４０において入力されたものとする。
【００４６】
本実施の形態においては、図８（ａ）に示すように、付加情報には、依存するプロパティを示す依存プロパティを指定することができる。依存プロパティには、依存するプロパティの名称を指定する。ジェネレータ２００は、依存するプロパティに対応するフィールドの値が変更された場合に、依存プロパティを指定しているプロパティに対応するフィールドの値を取得して、取得した値によりオブジェクトを表示する。
これにより、プロパティに対応するフィールドの値が、特定のプロパティのフィールドの値の変更に伴って変わる場合に、変更後のフィールドの値を取得して、表示することができる。
【００４７】
ここで、図８（ａ）に示すプロパティ"Ｎｕｍ２"に対応するフィールドの値は、プロパティ"Ｎｕｍ１"に対応するフィールドの値を２倍した値となるものとする。また、プロパティ"Ｎｕｍ２"の依存プロパティとして、プロパティ"Ｎｕｍ１"が指定されている。
図８（ｂ−１）に示す画面の状態において、図８（ｂ−２）に示すように、プロパティ"Ｎｕｍ１"に対応するオブジェクトの値に"２"が入力されると、このオブジェクトに対応する部品クラスは、プロパティ"Ｎｕｍ１"のフィールドの値が２に変更する。それに伴って、プロパティ"Ｎｕｍ２"のフィールドの値は、"２"を２倍した値である"４"に変更される。
【００４８】
ジェネレータ２００は、依存プロパティのフィールドの値が変更されると、プロパティ"Ｎｕｍ２"のフィールドの値を取得して、対応するオブジェクトを取得した値により表示する。これにより、画面の表示は、図８（ｂ−３）となる。この処理は、例えば、ジェネレータ２００のメソッドの一つに実装しておき、このメソッドをプロパティ"Ｎｕｍ１"に対応するオブジェクトの値が変更されたときに、呼び出されるイベントとして部品クラスに登録しておくことで実現することができる。
【００４９】
発明の実施の形態５．
本発明の実施の形態５にかかる画面作成表示システムについて説明する。
なお、画面作成表示システムの構成および処理は、実施の形態１と同様であるため、説明を省略する。
図９に本発明の実施の形態３にかかるソースコードを示す。また、図１０に、図９に示すソースコードに記述されたクラスの概念図および生成される画面を示す。
図１０（ａ）に示すクラスが記述されたソースコード４１０に基づいて、画面を生成した場合には、図１０（ｂ-１）もしくは図１０（ｂ-２）に示す画面が作成され、表示される。
【００５０】
本実施の形態のソースコード４１０に記述されたクラスは、表示制御メソッドを有する。
ジェネレータ２００は、部品クラスライブラリ３００を使用して、オブジェクトを表示するときに、表示制御メソッドの戻り値に従って、対応するオブジェクトの表示・非表示を切り替える。
図９に示すソースコードの２６行目のメソッド"ＧｅｔＶｉｓｉｂｌｅＦｏｒＮａｍｅ"および３２行目のメソッド"ＧｅｔＶｉｓｉｂｌｅＦｏｒＳｅｔ"が、表示制御メソッドである。表示制御メソッド"ＧｅｔＶｉｓｉｂｌｅＦｏｒＮａｍｅ"は、プロパティ"Ｎａｍｅ"に対応するオブジェクトの表示・非表示を示す情報を返す。表示制御メソッド"ＧｅｔＶｉｓｉｂｌｅＦｏｒＳｅｔ"は、メソッド"Ｓｅｔ"に対応するオブジェクトの表示・非表示を示す情報を返す。
【００５１】
まず、ジェネレータ２００は、それぞれの表示制御メソッドが"ｆａｌｓｅ"を返す場合は、プロパティ"Ｎａｍｅ"およびメソッド"Ｓｅｔ"に対応するオブジェクトを非表示として、図１０（ｂ-１）に示す画面を表示する。
次に、入力表示部４０によって、チェックボックスがチェックされた場合、チェックボックスに対応する部品クラスは、図９に示すプロパティ"ＩｓＮａｍｅＶｉｓｉｂｌｅ"および"ＩｓＳｅｔＶｉｓｉｂｌｅ"によって、これらのプロパティに対応するフィールドを"ｔｕｒｅ"に設定する。
【００５２】
また、チェックボックスがチェックされたことにより、部品クラスは、対応するプロパティ"Ｉｎｐｕｔ"のフィールドの値を変更する。そのため、ジェネレータ２００は、依存プロパティを"Ｉｎｐｕｔ"としているプロパティ"Ｎａｍｅ"およびメソッド"Ｓｅｔ"に対応するオブジェクトの表示する処理を行う。
このときに、ジェネレータ２００は、表示制御メソッドを呼び出し、戻り値が"ｔｕｒｅ"となっているため、プロパティ"Ｎａｍｅ"およびメソッド"Ｓｅｔ"に対応するオブジェクトを表示する。
表示制御メソッドを用意することで、このようにして、プロパティに対応するメソッドの表示・非表示を制御することができる。
【００５３】
また、表示・非表示を制御する表示制御メソッドの他に、選択肢取得用の表示制御メソッドを設けることもできる。例えば、コンボボックスに表示する項目を、戻り値によって返す表示制御メソッドを設けることもできる。また、コンバータ１００の部品クラス選択手段１３０は、本来はテキストボックスで表示する型のプロパティであっても、このプロパティに対応する選択肢取得用の表示制御メソッドが存在する場合には、テキストボックスでなくコンボボックスを表示するように部品クラス情報を生成するようにすることもできる。
【００５４】
以上に説明した、本発明の実施の形態によれば、フィールドなどのデータと付加情報を記述したクラスを定義するだけで、画面を作成することができるため、画面を表示する処理の作成が画面作成のコストを削減することができる。
また、データに対応するプロパティを、画面を構成する要素としているため、画面の修正および変更などにより、データと画面との整合性が崩れることもなくなる。
さらに、画面をクラスの構成に基づいて、自動的に生成しているため、レイアウトが統一された画面を作成、表示することができる。
その他に、異なるアプリケーション、装置もしくはシステムから送信されてきたデータであっても、型さえ認識することができれば画面を作成して表示し、画面を介してデータの入出力を行うことができる。また、このとき送信されるデータには、表示する処理のための情報を含む必要がないため、送信するデータ量が少なくて済み、通信負荷も軽減することができる。
【００５５】
以上に説明した本発明にかかる画面作成表示システムは、上述の実施の形態の機能を実現するプログラムを記憶した記憶媒体をシステムもしくは装置に供給し、システムあるいは装置の有するコンピュータ又はＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）がこのプログラムを実行することによって、構成することが可能である。
また、このプログラムは様々な種類の記憶媒体に格納することが可能であり、また、通信媒体を介して伝達されることが可能である。ここで、記憶媒体には、例えば、フレキシブルディスク、ハードディスク、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）、ＤＶＤ（Digital Versatile Disk）、ＢＤ（Blu-ray Disk）、ＲＯＭ（Read Only Memory）カートリッジ、バッテリバックアップ付きＲＡＭ（Random Access Memory）メモリカートリッジ、フラッシュメモリカートリッジ、不揮発性ＲＡＭカートリッジを含む。また、通信媒体には、電話回線の有線通信媒体、マイクロ波回線の無線通信媒体を含み、インターネット（登録商標）も含まれる。
【００５６】
また、コンピュータが上述の実施の形態の機能を実現するプログラムを実行することにより、上述の実施の形態の機能が実現されるだけではなく、このプログラムの指示に基づき、コンピュータ上で稼動しているＯＳ（Operating System）もしくはアプリケーションソフトと共同して上述の実施の形態の機能が実現される場合も、発明の実施の形態に含まれる。
さらに、このプログラムの処理の全てもしくは一部がコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットにより行われて上述の実施の形態の機能が実現される場合も、発明の実施の形態に含まれる。
【図面の簡単な説明】
【００５７】
【図１】本発明の実施の形態１にかかる画面作成表示システムを示すブロック図である。
【図２】本発明の実施の形態１にかかる画面作成表示システムの詳細を示す図である。
【図３】本発明の実施の形態１にかかるソースコードを示す図である。
【図４】本発明の実施の形態１にかかるクラスの概念図および表示画面を示す図である。
【図５】本発明の実施の形態１にかかる画面作成表示処理のシーケンス図である。
【図６】本発明の実施の形態２にかかるクラスの概念図および表示画面を示す図である。
【図７】本発明の実施の形態３にかかるクラスの概念図および表示画面を示す図である。
【図８】本発明の実施の形態４にかかるクラスの概念図および表示画面を示す図である。
【図９】本発明の実施の形態５にかかるソースコードを示す図である。
【図１０】本発明の実施の形態５にかかるクラスの概念図および表示画面を示す図である。
【符号の説明】
【００５８】
１    画面作成表示システム
１０    画面作成部
１１、２１    ＯＳ
１２、１３    .ＮＥＴ  Ｆｒｅａｍｅｗｏｒｋ（登録商標）クラスライブラリ
２０    コンパイル部
２２    コンパイラ
３０    記憶部
４０    入力表示部
１００    コンバータ
１１０    プロパティ情報取得手段
１２０    付加情報取得手段
１３０    部品クラス選択手段
１４０    画面レイアウト編集手段
２１０    画面情報取得手段
２２０    インスタンス実行手段
３００    部品クラスライブラリ
４１０    ソースコード
４２０    プログラム
【図１】
2010128839.tif 000003
【図２】
2010128839.tif 000004
【図３】
2010128839.tif 000005
【図４】
2010128839.tif 000006
【図５】
2010128839.tif 000007
【図６】
2010128839.tif 000008
【図７】
2010128839.tif 000009
【図８】
2010128839.tif 000010
【図９】
2010128839.tif 000011
【図１０】
2010128839.tif 000012