JP2010128839A - 画面作成表示システム - Google Patents
画面作成表示システム Download PDFInfo
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【解決手段】本発明にかかる画面作成表示システム1は、画面の構成要素を表示する部品クラスを有する部品クラスライブラリ300と、コンバータ100と、ジェネレータ200を備える。コンバータ100は、クラスが含む付加情報を取得する付加情報取得手段と、付加情報を対応付けたプロパティの型を取得するプロパティ情報取得手段と、プロパティの型に基づき、部品クラスを選択し、当該部品クラスを示す部品クラス情報を生成する部品クラス選択手段と、付加情報に基づき、画面の構成を示すレイアウト情報を生成する画面レイアウト編集手段を有する。ジェネレータは、コンバータから部品クラス情報およびレイアウト情報を取得する画面情報取得手段と、部品クラス情報およびレイアウト情報に基づき、部品クラスを使用し、画面を出力するインスタンス実行手段を有する。
【選択図】図1
Description
さらに、画面を表示する処理と、画面に入出力するデータは別々に設計され、別々のコンポーネントとして作成されることが多く、データのコンポーネントが変更された場合に、それに合わせて複数の画面を修正する必要が生じたり、修正漏れが発生したりするなど、データと画面との整合性が崩れてしまうという問題が生じていた。
ここで、本発明の実施の形態の説明において使用する用語を説明する。
クラスとは、オブジェクト指向プログラミングにおいて、データおよびメソッドなどをまとめた構造を定義したものをいう。
インスタンスとは、クラスの構造に対応する記憶領域が割り当てられた実体をいう。
フィールドとは、クラスに含まれる変数などのデータをいう。
メソッドとは、一連の処理を定義したものである。
プロパティとは、クラスのフィールドにアクセスするメソッドである。
属性とは、クラス、プロパティもしくはメソッドに対する情報であり、コンパイルのときに生成されるプログラムに格納される情報である。属性は、属性クラスとしても機能する。
なお、実施の形態では、本発明をオブジェクト指向言語であるMicrosoft(登録商標)の.NET Framework(登録商標)によるプログラミング環境において実施した例を示す。
本発明の実施の形態1にかかる画面作成表示システムについて説明する。
図1は、本発明の実施の形態にかかる画面作成表示システムを示すブロック図である。
画面作成表示システム1は、画面作成部10、コンパイル部20、記憶部30および入力表示部40を備える。
コンパイル部20は、ソースコードをコンパイルして画面を表示するプログラムを生成する。コンパイル部20は、CPU(Central Processing Unit)およびメモリなど(図示せず)を有し、OS(Operating System)21、コンパイラ22および.NET Framework(登録商標)クラスライブラリ23などが動作可能である。
入力表示部40は、画面作成部10から出力された画面を表示する処理を行う。また、ユーザにより入力された入力データを、画面作成部10に入力する処理を行う。入力表示部40は、例えば、CRT(Cathode Ray Tube)、プラズマディスプレイまたは液晶ディスプレイなどの表示装置、およびマウスやキーボードなどの入力装置を有する。
部品クラスライブラリ300は、表示する画面に含まれるオブジェクトなどの画面の構成要素を表示する処理を行う。また、部品クラスライブラリ300は、入力表示部40からのオブジェクトへの入力を処理する。部品クラスライブラリは、例えば、.NET Framework(登録商標)クラスライブラリに含まれるオブジェクトを表示するクラスを継承して作成したものであってもよい。
なお、コンバータ100、ジェネレータ200および部品クラスライブラリ300は、DLLとして用意せずに、それらの処理をコンパイルするソースコードに含めておき、コンパイル部20によって生成するプログラムに含めるようにしてもよい。
例えば、画面作成部10、コンパイル部20、記憶部30および入力表示部40は、PC(Personal computer)もしくはサーバなどの複数の情報処理装置のそれぞれに分散して備えるようにしてもよく、1つの情報処理装置にまとめて備えるようにしてもよい。
図2は、本発明の実施の形態1にかかる画面作成表示システムの詳細を示す図である。
まず、コンパイル部20は、コンパイラ22によって、ソースコード410のコンパイルを行い、画面を表示するプログラム420を生成する。
コンバータ100のプロパティ情報取得手段110は、コンパイルのときに、ソースコード410に記述されたプロパティの型を取得する。
また、コンバータ100の付加情報取得手段120は、コンパイルのときに、ソースコード410に記述された付加情報を取得する。コンバータ110が取得したプロパティの型および付加情報は、プログラム420に含まれる。
図3に示すソースコードの6行目から22行目に示すRectangleクラスにおいて、6行目、14行目、17行目および20行目に、属性の引数として指定されている情報が付加情報である。このように付加情報は、クラス、プロパティおよびメソッドに対応付けられる。
図3の6行目の属性は、第1引数が表示名、第3引数が表示タイプを示す。
図3の14行目の属性は、第1引数が表示名、第3引数が表示順、第4引数が入力制約を示す。
図3の17行目および20行目の属性は、第1引数が表示名、第3引数が表示順を示す。
図3の24行目の属性は、第1引数が表示名、第3引数が表示タイプを示す。
図3の32行目および36行目の属性は、第1引数が表示名、第3引数が入力制約を示す。
なお、付加情報の詳細については、後に詳述する。また、第2引数は、最終的に表示した画面において、プロパティ・メソッドに対応するオブジェクトに、マウスポインタが重なったときに表示するメッセージを指定することができる。
プロパティ情報取得手段110は、属性クラスのコンストラクタにおける処理において、.NET Freamework(登録商標)ライブラリ23を使用することにより、対応するプロパティの型を取得することで実現する。
付加情報取得手段120は、付加情報を属性クラスのコンストラクタへの引数として取得することで実現する。
このようにして取得したプロパティの型および付加情報を含んだ属性クラスのインスタンスは、シリアライズされて生成するプログラム420に格納される。
このように、本実施の形態では、属性クラスがコンバータ100として機能する。
ここでの処理を図5に示すシーケンス図を用いて説明する。
まず、プログラム420は、画面作成部11によって実行されると、ジェネレータのインスタンスを生成する(S701)。
次に、プログラム420は、図3および図4に示すRctangleクラスのインスタンスを生成する(S702)。
次に、ジェネレータ200は、Rctangleクラスのインスタンスを取得する(S703)。
ジェネレータ200によりメソッドが呼び出されると、コンバータ100は、ソースコードに記述されたクラスの構成に基づいて、部品クラス情報およびレイアウト情報を生成する(S705)。
ここで、ステップS704、S705における処理について詳細に説明する。
まず、ジェネレータ200によりメソッドが呼び出されると、コンバータ100の部品クラス選択手段130は、コンバータ100が有するプロパティの型に基づいて、このプロパティに対応するオブジェクトを決定する。そして、決定したオブジェクトの表示に使用する部品クラスを選択し、この部品クラスを示す部品クラス情報を生成する。
また、プロパティ"Size"のように、型がクラスである場合は、この型であるRectSizeクラスに含まれるプロパティに対応するオブジェクトを入れ子の構成で表示するようにオブジェクトを決定する。
メソッド"Set"は、対応するオブジェクトとしてコマンドボタンを決定する。
なお、プロパティの型およびメソッドに対応するオブジェクトは、自由に定義することができ、本実施の形態に例示したものに限られない。
具体的には、図4に示すRectangleクラスのように、付加情報の表示名が"四角"、タイプが"StackLayout.LONG"である場合は、ウィンドウに"四角"を表示し、ウィンドウに含まれるオブジェクトのそれぞれを縦に並べて表示するようにレイアウト情報を生成する。
また、それぞれのオブジェクトに、付加情報の表示名において指定された表示名を表示するようにレイアウト情報を生成する。
さらに、それぞれのオブジェクトは、付加情報の表示順において指定された順序によって、上から順番に縦に並べて表示するようにレイアウト情報を生成する。
また、付加情報では、プロパティ"Name"のように、オブジェクトへの入力を不可とする入力制約や、プロパティ"Height"および"Width"のように、オブジェクトへ入力を制限する入力制約をレイアウト情報に含めることもできる。
なお、部品クラス選択手段130および画面レイアウト編集手段140における処理を、属性クラスのコンストラクタで実行するようにして、コンパイルしたときに、部品クラス情報およびレイアウト情報が生成されるようにしてもよい。
次に、ジェネレータ200のインスタンス実行手段220は、部品クラスライブラリのうちの部品クラス情報が示す部品クラスのインスタンスを生成し、生成したインスタンスを取得する(S707,S708)。
そして、ジェネレータ200のインスタンス実行手段220は、インスタンスを生成した部品クラスのメソッドを実行する(S709)。例えば、インスタンス実行手段220は、レイアウト情報に基づいて、引数を指定するなどして、部品クラスのコンストラクタ、メソッドなどを実行する。
ステップS709により、部品クラスのメソッドは、入力表示部40に図4(b)に示す画面を表示する(S710)。
本発明の実施の形態2にかかる画面作成表示システムについて説明する。
なお、画面作成表示システムの構成および処理は、実施の形態1と同様であるため、説明を省略する。
図6に本発明の実施の形態2にかかるクラスの概念図および生成される画面を示す。
図6(a-1)(a-2)に示すクラスが記述されたソースコード410に基づいて、画面を生成した場合には、図6(b)に示す画面が作成され、表示される。
図6に示すプロパティ"Size"のように、付加情報の表示タイプが"Grid"である場合は、コンバータ100の部品クラス選択手段130は、プロパティ"Size"に対応するオブジェクトを表として表示するように、部品クラス情報を生成する。
本発明の実施の形態3にかかる画面作成表示システムについて説明する。
なお、画面作成表示システムの構成および処理は、実施の形態1と同様であるため、説明を省略する。
図7に本発明の実施の形態3にかかるクラスの概念図および生成される画面を示す。
図7(a-1)(a-2)に示すクラスが記述されたソースコード410に基づいて、画面を生成した場合には、図7(b)に示す画面が作成され、表示される。
図7に示すプロパティ"Confirm"のように、付加情報のタイプが"Dialog"である場合は、コンバータ100の部品クラス選択手段130は、プロパティ"Confirm"に対応するオブジェクトをダイアログとして表示するように、部品クラス情報を生成する。
本発明の実施の形態4にかかる画面作成表示システムについて説明する。
なお、画面作成表示システムの構成および処理は、実施の形態1と同様であるため、説明を省略する。
図8に本発明の実施の形態4にかかるクラスの概念図および生成される画面を示す。
図8(a)に示すクラスが記述されたソースコード410に基づいて、画面を生成した場合には、図8(b-1)に示す画面が作成され、表示される。なお、図8(b−1)に示す値は、ユーザにより入力表示部40において入力されたものとする。
これにより、プロパティに対応するフィールドの値が、特定のプロパティのフィールドの値の変更に伴って変わる場合に、変更後のフィールドの値を取得して、表示することができる。
図8(b−1)に示す画面の状態において、図8(b−2)に示すように、プロパティ"Num1"に対応するオブジェクトの値に"2"が入力されると、このオブジェクトに対応する部品クラスは、プロパティ"Num1"のフィールドの値が2に変更する。それに伴って、プロパティ"Num2"のフィールドの値は、"2"を2倍した値である"4"に変更される。
本発明の実施の形態5にかかる画面作成表示システムについて説明する。
なお、画面作成表示システムの構成および処理は、実施の形態1と同様であるため、説明を省略する。
図9に本発明の実施の形態3にかかるソースコードを示す。また、図10に、図9に示すソースコードに記述されたクラスの概念図および生成される画面を示す。
図10(a)に示すクラスが記述されたソースコード410に基づいて、画面を生成した場合には、図10(b-1)もしくは図10(b-2)に示す画面が作成され、表示される。
ジェネレータ200は、部品クラスライブラリ300を使用して、オブジェクトを表示するときに、表示制御メソッドの戻り値に従って、対応するオブジェクトの表示・非表示を切り替える。
図9に示すソースコードの26行目のメソッド"GetVisibleForName"および32行目のメソッド"GetVisibleForSet"が、表示制御メソッドである。表示制御メソッド"GetVisibleForName"は、プロパティ"Name"に対応するオブジェクトの表示・非表示を示す情報を返す。表示制御メソッド"GetVisibleForSet"は、メソッド"Set"に対応するオブジェクトの表示・非表示を示す情報を返す。
次に、入力表示部40によって、チェックボックスがチェックされた場合、チェックボックスに対応する部品クラスは、図9に示すプロパティ"IsNameVisible"および"IsSetVisible"によって、これらのプロパティに対応するフィールドを"ture"に設定する。
このときに、ジェネレータ200は、表示制御メソッドを呼び出し、戻り値が"ture"となっているため、プロパティ"Name"およびメソッド"Set"に対応するオブジェクトを表示する。
表示制御メソッドを用意することで、このようにして、プロパティに対応するメソッドの表示・非表示を制御することができる。
また、データに対応するプロパティを、画面を構成する要素としているため、画面の修正および変更などにより、データと画面との整合性が崩れることもなくなる。
さらに、画面をクラスの構成に基づいて、自動的に生成しているため、レイアウトが統一された画面を作成、表示することができる。
その他に、異なるアプリケーション、装置もしくはシステムから送信されてきたデータであっても、型さえ認識することができれば画面を作成して表示し、画面を介してデータの入出力を行うことができる。また、このとき送信されるデータには、表示する処理のための情報を含む必要がないため、送信するデータ量が少なくて済み、通信負荷も軽減することができる。
また、このプログラムは様々な種類の記憶媒体に格納することが可能であり、また、通信媒体を介して伝達されることが可能である。ここで、記憶媒体には、例えば、フレキシブルディスク、ハードディスク、磁気ディスク、光磁気ディスク、CD−ROM(Compact Disk Read Only Memory)、DVD(Digital Versatile Disk)、BD(Blu-ray Disk)、ROM(Read Only Memory)カートリッジ、バッテリバックアップ付きRAM(Random Access Memory)メモリカートリッジ、フラッシュメモリカートリッジ、不揮発性RAMカートリッジを含む。また、通信媒体には、電話回線の有線通信媒体、マイクロ波回線の無線通信媒体を含み、インターネット(登録商標)も含まれる。
さらに、このプログラムの処理の全てもしくは一部がコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットにより行われて上述の実施の形態の機能が実現される場合も、発明の実施の形態に含まれる。
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に記載の画面作成表示システム。
- 前記部品クラス選択手段は、前記プロパティの型がクラスである場合は、当該プロパティに対応するオブジェクトをダイアログによって表示するように前記部品クラス情報を生成する請求項2に記載の画面作成表示システム。
- 前記部品クラス選択手段は、当該プロパティに対応するオブジェクトを表として表示するように前記部品クラス情報を生成する請求項3又は4に記載の画面作成表示システム。
- 前記表は、前記プロパティの型が配列型である場合は、要素の追加及び削除をするとこができる請求項5に記載の画面作成表示システム。
- 前記付加情報は、前記プロパティに対応するオブジェクトの表示形式を示す表示タイプを含み、
前記部品クラス選択手段は、当該表示タイプに基づいて、前記部品クラス情報を生成する請求項3乃至6のいずれかに記載の画面作成表示システム。 - 前記付加情報は、依存するプロパティを示す依存プロパティ情報を含み、
前記インスタンス実行手段は、前記依存するプロパティのフィールドの値が変更された場合に、当該付加情報が対応付けられたプロパティのフィールドの値を、対応するオブジェクトに表示する請求項2乃至7のいずれかに記載の画面作成表示システム。 - 前記クラスは、前記オブジェクトの表示に関する情報を返す表示制御メソッドを有し、
前記インスタンス実行手段は、当該表示制御メソッドの戻り値に基づいて、当該オブジェクトを表示する請求項2乃至8のいずれかに記載の画面作成表示システム。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109218509B (zh) * | 2017-07-04 | 2021-03-02 | 北京小米移动软件有限公司 | 息屏显示方法、装置及计算机可读存储介质 |
Citations (4)
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 | カスタマイズ可能な情報処理装置 |
-
2008
- 2008-11-28 JP JP2008303531A patent/JP5171574B2/ja active Active
Patent Citations (4)
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 |