JP2010128839A - 画面作成表示システム - Google Patents

画面作成表示システム Download PDF

Info

Publication number
JP2010128839A
JP2010128839A JP2008303531A JP2008303531A JP2010128839A JP 2010128839 A JP2010128839 A JP 2010128839A JP 2008303531 A JP2008303531 A JP 2008303531A JP 2008303531 A JP2008303531 A JP 2008303531A JP 2010128839 A JP2010128839 A JP 2010128839A
Authority
JP
Japan
Prior art keywords
screen
class
property
information
display
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008303531A
Other languages
English (en)
Other versions
JP5171574B2 (ja
Inventor
Hideaki Koyama
英聡 小山
Hiroko Makita
浩子 蒔田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Azbil Corp
Original Assignee
Azbil Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Azbil Corp filed Critical Azbil Corp
Priority to JP2008303531A priority Critical patent/JP5171574B2/ja
Publication of JP2010128839A publication Critical patent/JP2010128839A/ja
Application granted granted Critical
Publication of JP5171574B2 publication Critical patent/JP5171574B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】画面作成のコストを削減することができる画面作成表示システムを提供すること
【解決手段】本発明にかかる画面作成表示システム1は、画面の構成要素を表示する部品クラスを有する部品クラスライブラリ300と、コンバータ100と、ジェネレータ200を備える。コンバータ100は、クラスが含む付加情報を取得する付加情報取得手段と、付加情報を対応付けたプロパティの型を取得するプロパティ情報取得手段と、プロパティの型に基づき、部品クラスを選択し、当該部品クラスを示す部品クラス情報を生成する部品クラス選択手段と、付加情報に基づき、画面の構成を示すレイアウト情報を生成する画面レイアウト編集手段を有する。ジェネレータは、コンバータから部品クラス情報およびレイアウト情報を取得する画面情報取得手段と、部品クラス情報およびレイアウト情報に基づき、部品クラスを使用し、画面を出力するインスタンス実行手段を有する。
【選択図】図1

Description

本発明は、画面作成表示システムに関する。
GUI(Graphical User Interface)を有するOS(Operating System)において動作するアプリケーションプログラム(以下、単に「アプリケーション」とする)は、データの表示やデータ入力のために、複数種類の画面を表示することができる。これらの画面は、表示するオブジェクトの種類や配置、表示する文字の内容や配置などが、画面のそれぞれで異なるため、画面を個別に作成しなければならず、また、画面において入出力されるデータとアプリケーションとの対応付けを個別に行わなければならない。そのため、画面作成およびその品質確保には多くのコストが必要となっている。
また、このようなコストを削減するために、リストや表などのデータの入出力のための定型要素の部品化が行われているが、これらの部品自体を表示する処理や部品と入出力されるデータとのハンドリングは作りこむ必要があり、画面作成のコストを劇的に削減するには至っていない。
さらに、画面を表示する処理と、画面に入出力するデータは別々に設計され、別々のコンポーネントとして作成されることが多く、データのコンポーネントが変更された場合に、それに合わせて複数の画面を修正する必要が生じたり、修正漏れが発生したりするなど、データと画面との整合性が崩れてしまうという問題が生じていた。
ところで、特許文献1では、全てのアプリケーションに共通するクラスを定義することで、新規アプリケーションの開発労力を軽減する技術が開示されている。特許文献1に開示されている画像形成装置は、全てのアプリケーションおよびメニュー画面に共通する共通メニュー画面のクラスからインスタンスを生成する操作フロー制御部と、操作フロー制御部がインスタンスを生成するときに参照する操作フローインスタンス生成情報を備える。操作フロー制御部は、遷移先画面の画面レイアウトに関する情報を、操作フローインスタンス生成情報から取得して、共通メニュー画面のクラスをインスタンス化して遷移先画面を表示する。
しかし、特許文献1では、一部の画面の仕様が変更されただけでも、それをサポートするために、共通メニュー画面のクラスを変更しなければならない。そのため、他の画面に影響を与えてしまうこととなり、影響を調査するためのリグレッションテストが必要となるなど、品質確保のためのコストがかかってしまう。
特開2005−117544号公報
背景技術として説明したように、画面の作成においては、コストがかかってしまうという問題がある。
本発明の目的は、上述したような課題を解決するためになされたものであり、画面の作成において、画面作成のコストを削減することができる画面作成表示システムを提供することにある。
本発明にかかる画面作成表示システムは、画面の構成要素を表示する処理を実行する複数の部品クラスを有する部品クラスライブラリと、コンバータと、ジェネレータを備え、前記コンバータは、クラスに含まれる付加情報を取得する付加情報取得手段と、前記クラスに含まれる付加情報が対応付けられたプロパティの型を取得するプロパティ情報取得手段と、取得したプロパティの型に基づいて、前記部品クラスライブラリから画面の表示に使用する部品クラスを選択し、当該部品クラスを示す部品クラス情報を生成する部品クラス選択手段と、取得した付加情報に基づいて、前記画面の構成を示すレイアウト情報を生成する画面レイアウト編集手段を有し、前記ジェネレータは、前記コンバータから前記部品クラス情報および前記レイアウト情報を取得する画面情報取得手段と、取得した部品クラス情報およびレイアウト情報に基づいて、前記部品クラスを使用して、前記画面を出力するインスタンス実行手段を有するものである。これにより、画面作成のコストを削減することができる。
また、前記画面は、前記プロパティのそれぞれに対応するオブジェクトが配置されるようにしてもよい。
さらに、前記部品クラス選択手段は、前記プロパティの型がクラスである場合は、当該プロパティに対応するオブジェクトを入れ子の構成で表示するように前記部品クラス情報を生成してもよい。
さらにまた、前記部品クラス選択手段は、前記プロパティの型がクラスである場合は、当該プロパティに対応するオブジェクトをダイアログによって表示するように前記部品クラス情報を生成してもよい。
他方、前記部品クラス選択手段は、当該プロパティに対応するオブジェクトを表として表示するように前記部品クラス情報を生成してもよい。
また、前記表は、前記プロパティの型が配列型である場合は、要素の追加及び削除をするとこができるようにしてもよい。
ここで、前記付加情報は、前記プロパティに対応するオブジェクトの表示形式を示す表示タイプを含み、前記部品クラス選択手段は、当該表示タイプに基づいて、前記部品クラス情報を生成するようにしてもよい。
他方、前記付加情報は、依存するプロパティを示す依存プロパティ情報を含み、前記インスタンス実行手段は、前記依存するプロパティのフィールドの値が変更された場合に、当該付加情報が対応付けられたプロパティのフィールドの値を、対応するオブジェクトに表示するようにしてもよい。
さらに、前記クラスは、前記オブジェクトの表示に関する情報を返す表示制御メソッドを有し、前記インスタンス実行手段は、当該表示制御メソッドの戻り値に基づいて、当該オブジェクトを表示するようにしてもよい。
本発明により、画面作成のコストを削減することができる画面作成表示システムを提供することができる。
以下、本発明の実施の形態について、図面を参照しながら説明する。
ここで、本発明の実施の形態の説明において使用する用語を説明する。
クラスとは、オブジェクト指向プログラミングにおいて、データおよびメソッドなどをまとめた構造を定義したものをいう。
インスタンスとは、クラスの構造に対応する記憶領域が割り当てられた実体をいう。
フィールドとは、クラスに含まれる変数などのデータをいう。
メソッドとは、一連の処理を定義したものである。
プロパティとは、クラスのフィールドにアクセスするメソッドである。
属性とは、クラス、プロパティもしくはメソッドに対する情報であり、コンパイルのときに生成されるプログラムに格納される情報である。属性は、属性クラスとしても機能する。
オブジェクトとは、チェックボックス、テキストボックスまたはコンボボックスなどの画面を構成する要素である。
なお、実施の形態では、本発明をオブジェクト指向言語であるMicrosoft(登録商標)の.NET Framework(登録商標)によるプログラミング環境において実施した例を示す。
発明の実施の形態1.
本発明の実施の形態1にかかる画面作成表示システムについて説明する。
図1は、本発明の実施の形態にかかる画面作成表示システムを示すブロック図である。
画面作成表示システム1は、画面作成部10、コンパイル部20、記憶部30および入力表示部40を備える。
画面作成部10は、コンパイル部20によって生成されたプログラムを実行して、表示する画面を作成する。そして、画面作成部10は、作成した画面を入力表示部40に出力する処理を行う。画面作成部10は、CPU(Central Processing Unit)およびメモリなど(図示せず)を有し、OS(Operating System)11および.NET Framework(登録商標)クラスライブラリ12などが動作可能である。
コンパイル部20は、ソースコードをコンパイルして画面を表示するプログラムを生成する。コンパイル部20は、CPU(Central Processing Unit)およびメモリなど(図示せず)を有し、OS(Operating System)21、コンパイラ22および.NET Framework(登録商標)クラスライブラリ23などが動作可能である。
記憶部30は、コンバータ100、ジェネレータ200および部品クラスライブラリ300を格納する。記憶部30は、例えば、メモリ、HDD(Hard Disk Drive)またはCD−ROM(Compact Disk Read Only Memory)などの記憶装置を含む。
入力表示部40は、画面作成部10から出力された画面を表示する処理を行う。また、ユーザにより入力された入力データを、画面作成部10に入力する処理を行う。入力表示部40は、例えば、CRT(Cathode Ray Tube)、プラズマディスプレイまたは液晶ディスプレイなどの表示装置、およびマウスやキーボードなどの入力装置を有する。
コンバータ100は、ソースコードに記述されたクラスの構成に基づいて、部品クラス情報およびレイアウト情報を生成する。コンバータ100は、部品クラスライブラリのうち画面の表示に使用する部品クラスを示す部品クラス情報を生成する。コンバータ100は、クラスをウィンドウとし、クラスに含まれるプロパティもしくはメソッドのそれぞれをウィンドウに含まれるオブジェクトとした画面となるように、部品クラス情報を生成する。なお、コンバータ100は、真理値、数値および文字列などのプロパティの型に基づいて、チェックボックス、テキストボックスまたはコンボボックスなどオブジェクトの種類を決定する。
また、コンバータ100は、付加情報に基づいて、表示する画面の構成を示すレイアウト情報を生成する。ここで、付加情報は、画面に表示するウィンドウもしくはオブジェクトの表示名、表示順序、表示タイプ(縦方向に並べて表示、横方向に並べて表示、表として表示など)および入力制約などの情報である。なお、コンバータ100は、付加情報が対応付けられたクラス、プロパティもしくはメソッドを、ウィンドウまたはオブジェクトなどの画面を構成する要素とする。
ジェネレータ200は、コンバータ100が生成した部品クラス情報およびレイアウト情報に基づいて、部品クラスライブラリ300を使用して、入力表示部40に画面を出力する処理を行う
部品クラスライブラリ300は、表示する画面に含まれるオブジェクトなどの画面の構成要素を表示する処理を行う。また、部品クラスライブラリ300は、入力表示部40からのオブジェクトへの入力を処理する。部品クラスライブラリは、例えば、.NET Framework(登録商標)クラスライブラリに含まれるオブジェクトを表示するクラスを継承して作成したものであってもよい。
ここで、コンバータ100、ジェネレータ200および部品クラスライブラリ300は、記憶部30にDLL(Dynamic Link Library)として格納されている。コンパイル部20がソースコードをコンパイルするとき、もしくは画面作成部10が画面を表示するときに、画面作成部10もしくはコンパイル部20にロードされて処理を実行する。
なお、コンバータ100、ジェネレータ200および部品クラスライブラリ300は、DLLとして用意せずに、それらの処理をコンパイルするソースコードに含めておき、コンパイル部20によって生成するプログラムに含めるようにしてもよい。
ここで、画面作成表示システムの構成は、上述の構成要素に相当する機能が含まれていれば、どのような構成であってもよい。
例えば、画面作成部10、コンパイル部20、記憶部30および入力表示部40は、PC(Personal computer)もしくはサーバなどの複数の情報処理装置のそれぞれに分散して備えるようにしてもよく、1つの情報処理装置にまとめて備えるようにしてもよい。
続いて、本発明の実施の形態1にかかる画面作成表示システムの処理について、図2を用いて説明する。
図2は、本発明の実施の形態1にかかる画面作成表示システムの詳細を示す図である。
まず、コンパイル部20は、コンパイラ22によって、ソースコード410のコンパイルを行い、画面を表示するプログラム420を生成する。
コンバータ100のプロパティ情報取得手段110は、コンパイルのときに、ソースコード410に記述されたプロパティの型を取得する。
また、コンバータ100の付加情報取得手段120は、コンパイルのときに、ソースコード410に記述された付加情報を取得する。コンバータ110が取得したプロパティの型および付加情報は、プログラム420に含まれる。
ここで、コンパイル部20における処理を具体的に説明する。本実施の形態では、ソースコード410として、図3に示すソースコードのコンパイルを行う。また、図3に示すソースコードのクラスの概念図を図4(a)に示す。
図3に示すソースコードの6行目から22行目に示すRectangleクラスにおいて、6行目、14行目、17行目および20行目に、属性の引数として指定されている情報が付加情報である。このように付加情報は、クラス、プロパティおよびメソッドに対応付けられる。
図3の6行目の属性は、第1引数が表示名、第3引数が表示タイプを示す。
図3の14行目の属性は、第1引数が表示名、第3引数が表示順、第4引数が入力制約を示す。
図3の17行目および20行目の属性は、第1引数が表示名、第3引数が表示順を示す。
図3に示すソースコードの24行目から38行目に示すRectSizeクラスにおいて、24行目、32行目および36行目に、属性の引数として指定されている情報が付加情報である。
図3の24行目の属性は、第1引数が表示名、第3引数が表示タイプを示す。
図3の32行目および36行目の属性は、第1引数が表示名、第3引数が入力制約を示す。
なお、付加情報の詳細については、後に詳述する。また、第2引数は、最終的に表示した画面において、プロパティ・メソッドに対応するオブジェクトに、マウスポインタが重なったときに表示するメッセージを指定することができる。
ここで、図3のソースコードに示される"UIStack"、"UIString"、"UIPanelItem"、"UIMethod"および"UIDecimal"の属性は、クラスとして機能する(以下、属性クラスとする)。
プロパティ情報取得手段110は、属性クラスのコンストラクタにおける処理において、.NET Freamework(登録商標)ライブラリ23を使用することにより、対応するプロパティの型を取得することで実現する。
付加情報取得手段120は、付加情報を属性クラスのコンストラクタへの引数として取得することで実現する。
このようにして取得したプロパティの型および付加情報を含んだ属性クラスのインスタンスは、シリアライズされて生成するプログラム420に格納される。
このように、本実施の形態では、属性クラスがコンバータ100として機能する。
次に、画面作成部11は、生成されたプログラム420を実行して、画面の表示データを作成し、作成した画面を入力表示部40に表示する。
ここでの処理を図5に示すシーケンス図を用いて説明する。
まず、プログラム420は、画面作成部11によって実行されると、ジェネレータのインスタンスを生成する(S701)。
次に、プログラム420は、図3および図4に示すRctangleクラスのインスタンスを生成する(S702)。
次に、ジェネレータ200は、Rctangleクラスのインスタンスを取得する(S703)。
次に、ジェネレータ200の画面情報取得手段210は、コンバータ100の部品クラス情報およびレイアウト情報を取得するメソッドを呼び出す(S704)。
ジェネレータ200によりメソッドが呼び出されると、コンバータ100は、ソースコードに記述されたクラスの構成に基づいて、部品クラス情報およびレイアウト情報を生成する(S705)。
ここで、ステップS704、S705における処理について詳細に説明する。
まず、ジェネレータ200によりメソッドが呼び出されると、コンバータ100の部品クラス選択手段130は、コンバータ100が有するプロパティの型に基づいて、このプロパティに対応するオブジェクトを決定する。そして、決定したオブジェクトの表示に使用する部品クラスを選択し、この部品クラスを示す部品クラス情報を生成する。
具体的には、図4に示すRectangleクラスのプロパティ"Name"のように、型が文字列である場合は、対応するオブジェクトとしてテキストボックスを決定する。
また、プロパティ"Size"のように、型がクラスである場合は、この型であるRectSizeクラスに含まれるプロパティに対応するオブジェクトを入れ子の構成で表示するようにオブジェクトを決定する。
メソッド"Set"は、対応するオブジェクトとしてコマンドボタンを決定する。
RectSizeクラスのプロパティ"Height"および"Width"のように、型が数値である場合は、対応するオブジェクトとしてテキストボックスを決定する。
なお、プロパティの型およびメソッドに対応するオブジェクトは、自由に定義することができ、本実施の形態に例示したものに限られない。
さらに、コンバータ100の画面レイアウト編集手段140は、コンバータ100が有する付加情報に基づいて、レイアウト情報を生成する。
具体的には、図4に示すRectangleクラスのように、付加情報の表示名が"四角"、タイプが"StackLayout.LONG"である場合は、ウィンドウに"四角"を表示し、ウィンドウに含まれるオブジェクトのそれぞれを縦に並べて表示するようにレイアウト情報を生成する。
また、それぞれのオブジェクトに、付加情報の表示名において指定された表示名を表示するようにレイアウト情報を生成する。
さらに、それぞれのオブジェクトは、付加情報の表示順において指定された順序によって、上から順番に縦に並べて表示するようにレイアウト情報を生成する。
RectSizeクラスは、タイプが"StackLayout.LONG"であるため、入れ子の構成で表示されるオブジェクトのそれぞれを縦に並べて表示するようにレイアウト情報を生成する。
また、付加情報では、プロパティ"Name"のように、オブジェクトへの入力を不可とする入力制約や、プロパティ"Height"および"Width"のように、オブジェクトへ入力を制限する入力制約をレイアウト情報に含めることもできる。
ここで、さらに具体的には、本実施の形態では、前述のとおり、属性クラスがコンバータ100として機能するため、ステップS704およびS705の処理は、ジェネレータ200が、属性クラスの部品クラス情報およびレイアウト情報を取得するメソッドを呼び出すことにより行われる。つまり、クラス、プロパティおよびメソッドのそれぞれに対応する属性クラスのメソッドを呼び出すことで、部品クラス情報およびレイアウト情報を取得する。
なお、部品クラス選択手段130および画面レイアウト編集手段140における処理を、属性クラスのコンストラクタで実行するようにして、コンパイルしたときに、部品クラス情報およびレイアウト情報が生成されるようにしてもよい。
ジェネレータ200の画面情報取得手段210は、このようにして生成された部品クラス情報およびレイアウト情報を取得する(S706)。
次に、ジェネレータ200のインスタンス実行手段220は、部品クラスライブラリのうちの部品クラス情報が示す部品クラスのインスタンスを生成し、生成したインスタンスを取得する(S707,S708)。
そして、ジェネレータ200のインスタンス実行手段220は、インスタンスを生成した部品クラスのメソッドを実行する(S709)。例えば、インスタンス実行手段220は、レイアウト情報に基づいて、引数を指定するなどして、部品クラスのコンストラクタ、メソッドなどを実行する。
ステップS709により、部品クラスのメソッドは、入力表示部40に図4(b)に示す画面を表示する(S710)。
このようにして、表示された画面において、プロパティに対応したフィールドに格納されるデータが、このプロパティに対応するオブジェクトに表示される。例えば、図4(a-1)のプロパティ"Name"に対応する図3に示すフィールド"name"に格納されている値が"Sample"である場合は、図4(b)のように、対応するテキストボックス"名称"にその値が表示される。
また、入力表示部40からプロパティに対応したオブジェクトに値が入力されると、このプロパティに対応するフィールドに値が設定される。例えば、図4(a-2)のプロパティ"Height"および"Width"に対応するテキストボックス"高さ"および"幅"に値が入力されると、対応する図3に示すフィールド"height"および"width"に入力された値が格納される。この処理は、部品クラスがオブジェクトに入力された値をRectSizeクラスのプロパティによって、それぞれにフィールドに反映することで行うことができる。
発明の実施の形態2.
本発明の実施の形態2にかかる画面作成表示システムについて説明する。
なお、画面作成表示システムの構成および処理は、実施の形態1と同様であるため、説明を省略する。
図6に本発明の実施の形態2にかかるクラスの概念図および生成される画面を示す。
図6(a-1)(a-2)に示すクラスが記述されたソースコード410に基づいて、画面を生成した場合には、図6(b)に示す画面が作成され、表示される。
図6に示すプロパティ"Size"のように、付加情報の表示タイプが"Grid"である場合は、コンバータ100の部品クラス選択手段130は、プロパティ"Size"に対応するオブジェクトを表として表示するように、部品クラス情報を生成する。
また、このときに図6に示すように、プロパティ"Size"の型が配列もしくはコレクションである場合は、要素の追加・削除をすることができる表となるようにすることができる。例えば、プロパティの型が配列もしくはコレクションである場合に、要素の追加・削除をすることができる表を表示する部品クラスを選択してもよい。また、付加情報によって追加・削除のありなしを指定できるようにして、この付加情報に基づいて生成されたレイアウト情報で示された引数を、表を表示する部品クラスに指定によって、追加・削除することができる表のオブジェクトに切り替えを行うことができるようにしてもよい。
発明の実施の形態3.
本発明の実施の形態3にかかる画面作成表示システムについて説明する。
なお、画面作成表示システムの構成および処理は、実施の形態1と同様であるため、説明を省略する。
図7に本発明の実施の形態3にかかるクラスの概念図および生成される画面を示す。
図7(a-1)(a-2)に示すクラスが記述されたソースコード410に基づいて、画面を生成した場合には、図7(b)に示す画面が作成され、表示される。
図7に示すプロパティ"Confirm"のように、付加情報のタイプが"Dialog"である場合は、コンバータ100の部品クラス選択手段130は、プロパティ"Confirm"に対応するオブジェクトをダイアログとして表示するように、部品クラス情報を生成する。
発明の実施の形態4.
本発明の実施の形態4にかかる画面作成表示システムについて説明する。
なお、画面作成表示システムの構成および処理は、実施の形態1と同様であるため、説明を省略する。
図8に本発明の実施の形態4にかかるクラスの概念図および生成される画面を示す。
図8(a)に示すクラスが記述されたソースコード410に基づいて、画面を生成した場合には、図8(b-1)に示す画面が作成され、表示される。なお、図8(b−1)に示す値は、ユーザにより入力表示部40において入力されたものとする。
本実施の形態においては、図8(a)に示すように、付加情報には、依存するプロパティを示す依存プロパティを指定することができる。依存プロパティには、依存するプロパティの名称を指定する。ジェネレータ200は、依存するプロパティに対応するフィールドの値が変更された場合に、依存プロパティを指定しているプロパティに対応するフィールドの値を取得して、取得した値によりオブジェクトを表示する。
これにより、プロパティに対応するフィールドの値が、特定のプロパティのフィールドの値の変更に伴って変わる場合に、変更後のフィールドの値を取得して、表示することができる。
ここで、図8(a)に示すプロパティ"Num2"に対応するフィールドの値は、プロパティ"Num1"に対応するフィールドの値を2倍した値となるものとする。また、プロパティ"Num2"の依存プロパティとして、プロパティ"Num1"が指定されている。
図8(b−1)に示す画面の状態において、図8(b−2)に示すように、プロパティ"Num1"に対応するオブジェクトの値に"2"が入力されると、このオブジェクトに対応する部品クラスは、プロパティ"Num1"のフィールドの値が2に変更する。それに伴って、プロパティ"Num2"のフィールドの値は、"2"を2倍した値である"4"に変更される。
ジェネレータ200は、依存プロパティのフィールドの値が変更されると、プロパティ"Num2"のフィールドの値を取得して、対応するオブジェクトを取得した値により表示する。これにより、画面の表示は、図8(b−3)となる。この処理は、例えば、ジェネレータ200のメソッドの一つに実装しておき、このメソッドをプロパティ"Num1"に対応するオブジェクトの値が変更されたときに、呼び出されるイベントとして部品クラスに登録しておくことで実現することができる。
発明の実施の形態5.
本発明の実施の形態5にかかる画面作成表示システムについて説明する。
なお、画面作成表示システムの構成および処理は、実施の形態1と同様であるため、説明を省略する。
図9に本発明の実施の形態3にかかるソースコードを示す。また、図10に、図9に示すソースコードに記述されたクラスの概念図および生成される画面を示す。
図10(a)に示すクラスが記述されたソースコード410に基づいて、画面を生成した場合には、図10(b-1)もしくは図10(b-2)に示す画面が作成され、表示される。
本実施の形態のソースコード410に記述されたクラスは、表示制御メソッドを有する。
ジェネレータ200は、部品クラスライブラリ300を使用して、オブジェクトを表示するときに、表示制御メソッドの戻り値に従って、対応するオブジェクトの表示・非表示を切り替える。
図9に示すソースコードの26行目のメソッド"GetVisibleForName"および32行目のメソッド"GetVisibleForSet"が、表示制御メソッドである。表示制御メソッド"GetVisibleForName"は、プロパティ"Name"に対応するオブジェクトの表示・非表示を示す情報を返す。表示制御メソッド"GetVisibleForSet"は、メソッド"Set"に対応するオブジェクトの表示・非表示を示す情報を返す。
まず、ジェネレータ200は、それぞれの表示制御メソッドが"false"を返す場合は、プロパティ"Name"およびメソッド"Set"に対応するオブジェクトを非表示として、図10(b-1)に示す画面を表示する。
次に、入力表示部40によって、チェックボックスがチェックされた場合、チェックボックスに対応する部品クラスは、図9に示すプロパティ"IsNameVisible"および"IsSetVisible"によって、これらのプロパティに対応するフィールドを"ture"に設定する。
また、チェックボックスがチェックされたことにより、部品クラスは、対応するプロパティ"Input"のフィールドの値を変更する。そのため、ジェネレータ200は、依存プロパティを"Input"としているプロパティ"Name"およびメソッド"Set"に対応するオブジェクトの表示する処理を行う。
このときに、ジェネレータ200は、表示制御メソッドを呼び出し、戻り値が"ture"となっているため、プロパティ"Name"およびメソッド"Set"に対応するオブジェクトを表示する。
表示制御メソッドを用意することで、このようにして、プロパティに対応するメソッドの表示・非表示を制御することができる。
また、表示・非表示を制御する表示制御メソッドの他に、選択肢取得用の表示制御メソッドを設けることもできる。例えば、コンボボックスに表示する項目を、戻り値によって返す表示制御メソッドを設けることもできる。また、コンバータ100の部品クラス選択手段130は、本来はテキストボックスで表示する型のプロパティであっても、このプロパティに対応する選択肢取得用の表示制御メソッドが存在する場合には、テキストボックスでなくコンボボックスを表示するように部品クラス情報を生成するようにすることもできる。
以上に説明した、本発明の実施の形態によれば、フィールドなどのデータと付加情報を記述したクラスを定義するだけで、画面を作成することができるため、画面を表示する処理の作成が画面作成のコストを削減することができる。
また、データに対応するプロパティを、画面を構成する要素としているため、画面の修正および変更などにより、データと画面との整合性が崩れることもなくなる。
さらに、画面をクラスの構成に基づいて、自動的に生成しているため、レイアウトが統一された画面を作成、表示することができる。
その他に、異なるアプリケーション、装置もしくはシステムから送信されてきたデータであっても、型さえ認識することができれば画面を作成して表示し、画面を介してデータの入出力を行うことができる。また、このとき送信されるデータには、表示する処理のための情報を含む必要がないため、送信するデータ量が少なくて済み、通信負荷も軽減することができる。
以上に説明した本発明にかかる画面作成表示システムは、上述の実施の形態の機能を実現するプログラムを記憶した記憶媒体をシステムもしくは装置に供給し、システムあるいは装置の有するコンピュータ又はCPU(Central Processing Unit)、MPU(Micro Processing Unit)がこのプログラムを実行することによって、構成することが可能である。
また、このプログラムは様々な種類の記憶媒体に格納することが可能であり、また、通信媒体を介して伝達されることが可能である。ここで、記憶媒体には、例えば、フレキシブルディスク、ハードディスク、磁気ディスク、光磁気ディスク、CD−ROM(Compact Disk Read Only Memory)、DVD(Digital Versatile Disk)、BD(Blu-ray Disk)、ROM(Read Only Memory)カートリッジ、バッテリバックアップ付きRAM(Random Access Memory)メモリカートリッジ、フラッシュメモリカートリッジ、不揮発性RAMカートリッジを含む。また、通信媒体には、電話回線の有線通信媒体、マイクロ波回線の無線通信媒体を含み、インターネット(登録商標)も含まれる。
また、コンピュータが上述の実施の形態の機能を実現するプログラムを実行することにより、上述の実施の形態の機能が実現されるだけではなく、このプログラムの指示に基づき、コンピュータ上で稼動しているOS(Operating System)もしくはアプリケーションソフトと共同して上述の実施の形態の機能が実現される場合も、発明の実施の形態に含まれる。
さらに、このプログラムの処理の全てもしくは一部がコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットにより行われて上述の実施の形態の機能が実現される場合も、発明の実施の形態に含まれる。
本発明の実施の形態1にかかる画面作成表示システムを示すブロック図である。 本発明の実施の形態1にかかる画面作成表示システムの詳細を示す図である。 本発明の実施の形態1にかかるソースコードを示す図である。 本発明の実施の形態1にかかるクラスの概念図および表示画面を示す図である。 本発明の実施の形態1にかかる画面作成表示処理のシーケンス図である。 本発明の実施の形態2にかかるクラスの概念図および表示画面を示す図である。 本発明の実施の形態3にかかるクラスの概念図および表示画面を示す図である。 本発明の実施の形態4にかかるクラスの概念図および表示画面を示す図である。 本発明の実施の形態5にかかるソースコードを示す図である。 本発明の実施の形態5にかかるクラスの概念図および表示画面を示す図である。
符号の説明
1 画面作成表示システム
10 画面作成部
11、21 OS
12、13 .NET Freamework(登録商標)クラスライブラリ
20 コンパイル部
22 コンパイラ
30 記憶部
40 入力表示部
100 コンバータ
110 プロパティ情報取得手段
120 付加情報取得手段
130 部品クラス選択手段
140 画面レイアウト編集手段
210 画面情報取得手段
220 インスタンス実行手段
300 部品クラスライブラリ
410 ソースコード
420 プログラム

Claims (9)

  1. 画面の構成要素を表示する処理を実行する複数の部品クラスを有する部品クラスライブラリと、コンバータと、ジェネレータを備え、
    前記コンバータは、クラスに含まれる付加情報を取得する付加情報取得手段と、
    前記クラスに含まれる付加情報が対応付けられたプロパティの型を取得するプロパティ情報取得手段と、
    取得したプロパティの型に基づいて、前記部品クラスライブラリから画面の表示に使用する部品クラスを選択し、当該部品クラスを示す部品クラス情報を生成する部品クラス選択手段と、
    取得した付加情報に基づいて、前記画面の構成を示すレイアウト情報を生成する画面レイアウト編集手段を有し、
    前記ジェネレータは、前記コンバータから前記部品クラス情報および前記レイアウト情報を取得する画面情報取得手段と、
    取得した部品クラス情報およびレイアウト情報に基づいて、前記部品クラスを使用して、前記画面を出力するインスタンス実行手段を有する画面生成表示システム。
  2. 前記画面は、前記プロパティのそれぞれに対応するオブジェクトが配置される請求項1に記載の画面生成表示システム。
  3. 前記部品クラス選択手段は、前記プロパティの型がクラスである場合は、当該プロパティに対応するオブジェクトを入れ子の構成で表示するように前記部品クラス情報を生成する請求項2に記載の画面作成表示システム。
  4. 前記部品クラス選択手段は、前記プロパティの型がクラスである場合は、当該プロパティに対応するオブジェクトをダイアログによって表示するように前記部品クラス情報を生成する請求項2に記載の画面作成表示システム。
  5. 前記部品クラス選択手段は、当該プロパティに対応するオブジェクトを表として表示するように前記部品クラス情報を生成する請求項3又は4に記載の画面作成表示システム。
  6. 前記表は、前記プロパティの型が配列型である場合は、要素の追加及び削除をするとこができる請求項5に記載の画面作成表示システム。
  7. 前記付加情報は、前記プロパティに対応するオブジェクトの表示形式を示す表示タイプを含み、
    前記部品クラス選択手段は、当該表示タイプに基づいて、前記部品クラス情報を生成する請求項3乃至6のいずれかに記載の画面作成表示システム。
  8. 前記付加情報は、依存するプロパティを示す依存プロパティ情報を含み、
    前記インスタンス実行手段は、前記依存するプロパティのフィールドの値が変更された場合に、当該付加情報が対応付けられたプロパティのフィールドの値を、対応するオブジェクトに表示する請求項2乃至7のいずれかに記載の画面作成表示システム。
  9. 前記クラスは、前記オブジェクトの表示に関する情報を返す表示制御メソッドを有し、
    前記インスタンス実行手段は、当該表示制御メソッドの戻り値に基づいて、当該オブジェクトを表示する請求項2乃至8のいずれかに記載の画面作成表示システム。
JP2008303531A 2008-11-28 2008-11-28 画面作成表示システム Active JP5171574B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008303531A JP5171574B2 (ja) 2008-11-28 2008-11-28 画面作成表示システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008303531A JP5171574B2 (ja) 2008-11-28 2008-11-28 画面作成表示システム

Publications (2)

Publication Number Publication Date
JP2010128839A true JP2010128839A (ja) 2010-06-10
JP5171574B2 JP5171574B2 (ja) 2013-03-27

Family

ID=42329179

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008303531A Active JP5171574B2 (ja) 2008-11-28 2008-11-28 画面作成表示システム

Country Status (1)

Country Link
JP (1) JP5171574B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109218509B (zh) * 2017-07-04 2021-03-02 北京小米移动软件有限公司 息屏显示方法、装置及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08234985A (ja) * 1994-12-16 1996-09-13 Internatl Business Mach Corp <Ibm> ビジュアル・アプリケーション・ビルダの枠組において代理オブジェクトを履行実行する方法およびシステム
JPH11102293A (ja) * 1997-09-29 1999-04-13 Mitsubishi Electric Corp プログラム自動生成方法
JP2002024020A (ja) * 2000-05-01 2002-01-25 Toshiba Corp 画面制御プログラム、動的表示情報取得プログラム、画面表示トランザクションプログラム、画面コンポーネントインタフェースプログラム、画面プログラム作成方法
JP2003216427A (ja) * 2002-01-28 2003-07-31 Hitachi Ltd カスタマイズ可能な情報処理装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08234985A (ja) * 1994-12-16 1996-09-13 Internatl Business Mach Corp <Ibm> ビジュアル・アプリケーション・ビルダの枠組において代理オブジェクトを履行実行する方法およびシステム
JPH11102293A (ja) * 1997-09-29 1999-04-13 Mitsubishi Electric Corp プログラム自動生成方法
JP2002024020A (ja) * 2000-05-01 2002-01-25 Toshiba Corp 画面制御プログラム、動的表示情報取得プログラム、画面表示トランザクションプログラム、画面コンポーネントインタフェースプログラム、画面プログラム作成方法
JP2003216427A (ja) * 2002-01-28 2003-07-31 Hitachi Ltd カスタマイズ可能な情報処理装置

Also Published As

Publication number Publication date
JP5171574B2 (ja) 2013-03-27

Similar Documents

Publication Publication Date Title
CN108351764B (zh) 数据处理方法和系统
JP5165886B2 (ja) コンポーネント化されたアプリケーション環境のための拡張可能なユーザ・インターフェース拡張方法、コンポーネント化されたアプリケーション環境データ処理システム、およびコンピュータ・プログラム
US20030098893A1 (en) Systems and methods for managing interaction with a presentation of a tree structure in a graphical user interface
JP5798552B2 (ja) スクリーンキャプチャに関する方法、システムおよびコンピュータ・プログラム
US8136043B2 (en) GUI generation apparatus and method for generating GUI
US20140047409A1 (en) Enterprise application development tool
JP2006209759A (ja) デジタル装置メニューエディタのための方法およびシステム
US20080270101A1 (en) Building Finite State Machine Model
CN112631580B (zh) 数据处理方法、装置及计算设备
US20110283252A1 (en) Change notification and information update based on uncompiled software development project
JP2013518321A (ja) パターンベースのユーザインターフェース
WO2013109858A1 (en) Design canvas
CA2686367A1 (en) Dynamic native editor code view facade
US20070061741A1 (en) Declaratively defined control actions
JP5171574B2 (ja) 画面作成表示システム
US11010021B2 (en) Context menu fragment management
JP5720531B2 (ja) ヘルプ作成支援装置、ヘルプ作成支援プログラムおよびヘルプ作成支援方法
CN113791783B (zh) 控件生成方法、装置、设备及存储介质
JP2020123175A (ja) コード管理システムおよびコード管理方法
JP2011186720A (ja) 情報処理装置,処理方法,処理プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体
US20130174119A1 (en) Computing device and method for automatically generating measuring programs
CN114780081A (zh) 动画展示方法、电子设备以及存储介质
JP2007080049A (ja) 組み込み用プログラム生成方法、組み込み用プログラム開発システム、及び情報テーブル部
JP2021009605A (ja) ソフトウェアの操作シナリオの生成を支援するプログラム、方法およびソフトウェアの操作シナリオの生成を支援する装置
JPWO2020158347A1 (ja) 情報処理装置、方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110928

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121120

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121129

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121218

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121225

R150 Certificate of patent or registration of utility model

Ref document number: 5171574

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150