JP4197095B2 - Guiプログラムの作成支援装置及び作成支援方法並びに作成支援プログラムを記録したコンピュータが読取可能な記録媒体 - Google Patents
Guiプログラムの作成支援装置及び作成支援方法並びに作成支援プログラムを記録したコンピュータが読取可能な記録媒体 Download PDFInfo
- Publication number
- JP4197095B2 JP4197095B2 JP2000607080A JP2000607080A JP4197095B2 JP 4197095 B2 JP4197095 B2 JP 4197095B2 JP 2000607080 A JP2000607080 A JP 2000607080A JP 2000607080 A JP2000607080 A JP 2000607080A JP 4197095 B2 JP4197095 B2 JP 4197095B2
- Authority
- JP
- Japan
- Prior art keywords
- file
- program
- name
- gui
- user
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Description
【0001】
本発明は、画像を利用したコンピュータ利用環境であるグラフィカルユーザインタフェース(Graphical User Interface;以下「GUI」という)プログラムの作成支援技術に関し、特に、GUIプログラムの生産性向上を図る技術に関する。
【背景技術】
【0002】
今日では、パーソナルコンピュータの普及により、コンピュータユーザが拡大している。このため、各種アプリケーションを利用するユーザの便宜を鑑み、画像を利用したコンピュータ利用環境であるGUIを備えることで、操作性を向上することが一般的になってきた。
GUIプログラムの作成は、その生産性向上を目的として、いわゆるGUIビルダにより行われる。GUIビルダでは、GUIを構成する部品(以下「GUI部品」という)をドラッグ&ドロップして画面に張り付けることで、GUI部品の生成及び属性設定が行われ、画面レイアウトに関する最小限のプログラムが自動生成される。一方、GUI部品に対する処理プログラムは、プログラマ等によりコーディングされる。なお、GUI部品は、オブジェクト指向言語でオブジェクトとして定義されているものを前提とする。
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかし、従来のGUIプログラムの作成手法では、画面レイアウトを行なってから、GUI部品に関する処理プログラムをコーディングするため、次のような問題が生じていた。即ち、処理プログラムはGUI部品と密接に関連するため、画面レイアウトの変更に伴いGUI部品を交換すると、処理プログラムも大幅に変更しなければならなかった。また、GUI部品には、代入及び表示等を行うために変数が割り付けられているが、この変数を変更するだけであっても、処理プログラムの変更が必要であった。従って、従来のGUIプログラムの作成手法では、生産性の向上には限界があった。
【0004】
そこで、本発明は従来の問題点を鑑み、GUI部品とその処理プログラムとの関連付けを自動的に行うことにより、GUI部品の変更に伴う処理プログラムの変更を不要とし、GUIプログラムの生産性向上を図る技術を提供することを目的とする。
【課題を解決するための手段】
【0005】
上記目的達成のため、コンピュータに、少なくとも1つの変数及びメソッドを含んだ処理プログラムをユーザに作成させ、該処理プログラムを固有のファイル名をつけてファイルに記録する機能と、各種GUI部品が配置されたGUIの画面レイアウトをユーザに作成させる機能と、前記記録されたファイルから処理プログラムのファイル名をユーザに指定させる機能と、前記ユーザにより指定されたファイル名に基づいてファイルから処理プログラムを読み込み、該処理プログラムから変数名及びメソッド名を抽出する機能と、前記ユーザにより作成されたGUIの画面レイアウトを構成する各GUI部品に対して、抽出された変数名及びメソッド名をユーザに指定させる機能と、前記ユーザにより指定された変数名及びメソッド名と前記GUI部品とを相互に特定可能な関連付けを記述した関連付けファイルを作成する機能と、前記関連付けファイルに基づいて、前記ファイルから読み込んだ処理プログラムに対して、該処理プログラムの変数名及びメソッド名に関連付けられたGUI部品のプロパティを参照及び更新する処理を挿入してプログラムを新たに生成する機能と、を実現させるためのGUIプログラムの作成支援プログラムを、コンピュータが読取可能な記録媒体に記録したことを特徴とする。
【0006】
ここで、「オブジェクト」とは、Java(商標名)、C++(商標名)等のオブジェクト指向言語で定義されているクラス等をいい、例えば、Button,BarMeter等が該当する。
【0007】
かかる構成によれば、GUIプログラムを作成する場合には、先ず、個々のGUI部品に対する処理プログラムがユーザにより作成され、その作成された処理プログラムが固有のファイル名をつけられファイルに記録される。次に、各種GUI部品が配置されたGUIの画面レイアウトがユーザにより作成される。そして、記録されたファイルから処理プログラムのファイル名がユーザにより指定され、指定されたファイル名に基づいてファイルから処理プログラムが読み込まれ、その処理プログラムから変数名及びメソッド名が抽出される。さらに、ユーザにより作成されたGUIの画面レイアウトを構成する各GUI部品に対して、抽出された変数名及びメソッド名がユーザにより指定され、その変数名及びメソッド名とGUI部品とを相互に特定可能な関連付けを記述した関連付けファイルが作成される。そして、その関連付けファイルに基づいて、ファイルから読み込んだ処理プログラムに対して、処理プログラムの変数名及びメソッド名に関連付けられたGUI部品のプロパティを参照及び更新する処理が挿入されてプログラムが新たに生成される。
【0008】
従って、処理プログラムを作成する際に、画面レイアウトを構成する個々のGUI部品との関連付けを意識する必要がなく、GUIプログラムの生産性を向上することができる。また、画面レイアウトを変更した場合には、処理プログラムにおける変数及びメソッドとGUI部品とを再度関連付ければ、処理内容が変更されたプログラムが生成される。このため、画面レイアウトを変更した場合であっても、GUI部品を追加しない限り処理プログラムを変更する必要がなく、この観点からも、GUIプログラムの生産性を向上することができる。
【0011】
また、処理プログラムにおける変数及びメソッドと画面レイアウトを構成するGUI部品との関連付けは、画面レイアウトの作成作業における一連の操作として所定の入力を行うだけでよく、操作を複雑にすることがない。さらに、画面レイアウトを変更する場合には、前述した一連の操作を行うことで、関連付けファイルが更新される。
【0012】
そして、処理プログラムに対して、処理プログラムの変数名及びメソッド名に関連付けられたGUI部品のプロパティを参照及び更新する処理が挿入されてプログラムが生成されるので、処理プログラムが変更されることはない。従って、個々のGUI部品に対する処理プログラムの変更等を行いたい場合には、処理プログラムを変更等するだけでよい。このため、実際にコンパイル対象となるプログラムを変更する必要がなく、例えば、GUI部品のプロパティを参照する処理の削除忘れによるバグの発生等を防止することができる。
ここで、「記録媒体」とは、各種情報を確実に記録でき、かつ、必要に応じて確実に取り出し可能なものをいい、磁気テープ、磁気ディスク、磁気ドラム、ICカード、CD−ROM等の可搬媒体が該当する。
かかる構成によれば、各機能を実現するためのGUIプログラムの作成支援プログラムが記録媒体に記録される。従って、かかる記録媒体があれば、一般的なコンピュータを利用して、本発明に係るGUIプログラムの作成支援装置を容易に構築することができる。
【0013】
この他には、前記関連付けファイルに基づいて、前記ユーザにより作成された画面レイアウトを構成するGUI部品の生成及び属性設定を行なう画面レイアウトプログラムを自動生成する機能をさらに含んだ構成としてもよい。
かかる構成によれば、処理プログラムと共に画面レイアウトプログラムも生成されるので、GUIプログラムの生産性をさらに向上することができる。
【0014】
また、前記画面レイアウトプログラムは、前記GUI部品が操作されたときに、前記関連付けファイルにおいて該GUI部品に関連付けられたメソッドを実行するイベント処理がさらに挿入された構成としてもよい。
かかる構成によれば、画面レイアウトプログラムにGUI部品のメソッド実行処理が挿入されるので、いわゆるイベントドリブンのインタフェースが自動的に実装される。
【0015】
第2の手段として、コンピュータが、少なくとも1つの変数及びメソッドを含んだ処理プログラムをユーザに作成させ、該処理プログラムを固有のファイル名をつけてファイルに記録する工程と、各種GUI部品が配置されたGUIの画面レイアウトをユーザに作成させる工程と、前記記録されたファイルから処理プログラムのファイル名をユーザに指定させる工程と、前記ユーザにより指定されたファイル名に基づいてファイルから処理プログラムを読み込み、該処理プログラムから変数名及びメソッド名を抽出する工程と、前記ユーザにより作成されたGUIの画面レイアウトを構成する各GUI部品に対して、抽出された変数名及びメソッド名をユーザに指定させる工程と、前記ユーザにより指定された変数名及びメソッド名と前記GUI部品とを相互に特定可能な関連付けを記述した関連付けファイルを作成する工程と、前記関連付けファイルに基づいて、前記ファイルから読み込んだ処理プログラムに対して、該処理プログラムの変数名及びメソッド名に関連付けられたGUI部品のプロパティを参照及び更新する処理を挿入してプログラムを新たに生成する工程と、を実行するGUIプログラムの作成支援方法を構成したことを特徴とする。
【0016】
かかる構成によれば、GUIプログラムを作成する場合には、先ず、個々のGUI部品に対する処理プログラムがユーザにより作成され、その作成された処理プログラムが固有のファイル名をつけられファイルに記録される。次に、各種GUI部品が配置されたGUIの画面レイアウトがユーザにより作成される。そして、記録されたファイルから処理プログラムのファイル名がユーザにより指定され、指定されたファイル名に基づいてファイルから処理プログラムが読み込まれ、その処理プログラムから変数名及びメソッド名が抽出される。さらに、ユーザにより作成されたGUIの画面レイアウトを構成する各GUI部品に対して、抽出された変数名及びメソッド名がユーザにより指定され、その変数名及びメソッド名とGUI部品とを相互に特定可能な関連付けを記述した関連付けファイルが作成される。そして、その関連付けファイルに基づいて、ファイルから読み込んだ処理プログラムに対して、処理プログラムの変数名及びメソッド名に関連付けられたGUI部品のプロパティを参照及び更新する処理が挿入されてプログラムが新たに生成される。
【0017】
従って、処理プログラムを作成する際に、画面レイアウトを構成する個々のGUI部品との関連付けを意識する必要がなく、GUIプログラムの生産性を向上することができる。また、画面レイアウトを変更した場合には、処理プログラムにおける変数及びメソッドとGUI部品とを再度関連付ければ、処理内容が変更されたプログラムが生成される。このため、画面レイアウトを変更した場合であっても、GUI部品を追加しない限り処理プログラムを変更する必要がなく、この観点からも、GUIプログラムの生産性を向上することができる。
また、処理プログラムにおける変数及びメソッドと画面レイアウトを構成するGUI部品との関連付けは、画面レイアウトの作成作業における一連の操作として所定の入力を行うだけでよく、操作を複雑にすることがない。さらに、画面レイアウトを変更する場合には、前述した一連の操作を行うことで、関連付けファイルが更新される。
そして、処理プログラムに対して、処理プログラムの変数名及びメソッド名に関連付けられたGUI部品のプロパティを参照及び更新する処理が挿入されてプログラムが生成されるので、処理プログラムが変更されることはない。従って、個々のGUI部品に対する処理プログラムの変更等を行いたい場合には、処理プログラムを変更等するだけでよい。このため、実際にコンパイル対象となるプログラムを変更する必要がなく、例えば、GUI部品のプロパティを参照する処理の削除忘れによるバグの発生等を防止することができる。
【0018】
第3の手段として、少なくとも1つの変数及びメソッドを含んだ処理プログラムをユーザに作成させ、該処理プログラムを固有のファイル名をつけてファイルに記録する手段と、各種GUI部品が配置されたGUIの画面レイアウトをユーザに作成させる手段と、前記記録されたファイルから処理プログラムのファイル名をユーザに指定させる手段と、前記ユーザにより指定されたファイル名に基づいてファイルから処理プログラムを読み込み、該処理プログラムから変数名及びメソッド名を抽出する手段と、前記ユーザにより作成されたGUIの画面レイアウトを構成する各GUI部品に対して、抽出された変数名及びメソッド名をユーザに指定させる手段と、前記ユーザにより指定された変数名及びメソッド名と前記GUI部品とを相互に特定可能な関連付けを記述した関連付けファイルを作成する手段と、前記関連付けファイルに基づいて、前記ファイルから読み込んだ処理プログラムに対して、該処理プログラムの変数名及びメソッド名に関連付けられたGUI部品のプロパティを参照及び更新する処理を挿入してプログラムを新たに生成する手段と、を含んでGUIプログラムの作成支援装置を構成した。
【0019】
かかる構成によれば、GUIプログラムを作成する場合には、先ず、個々のGUI部品に対する処理プログラムがユーザにより作成され、その作成された処理プログラムが固有のファイル名をつけられファイルに記録される。次に、各種GUI部品が配置されたGUIの画面レイアウトがユーザにより作成される。そして、記録されたファイルから処理プログラムのファイル名がユーザにより指定され、指定されたファイル名に基づいてファイルから処理プログラムが読み込まれ、その処理プログラムから変数名及びメソッド名が抽出される。さらに、ユーザにより作成されたGUIの画面レイアウトを構成する各GUI部品に対して、抽出された変数名及びメソッド名がユーザにより指定され、その変数名及びメソッド名とGUI部品とを相互に特定可能な関連付けを記述した関連付けファイルが作成される。そして、その関連付けファイルに基づいて、ファイルから読み込んだ処理プログラムに対して、処理プログラムの変数名及びメソッド名に関連付けられたGUI部品のプロパティを参照及び更新する処理が挿入されてプログラムが新たに生成される。
従って、処理プログラムを作成する際に、画面レイアウトを構成する個々のGUI部品との関連付けを意識する必要がなく、GUIプログラムの生産性を向上することができる。また、画面レイアウトを変更した場合には、処理プログラムにおける変数及びメソッドとGUI部品とを再度関連付ければ、処理内容が変更されたプログラムが生成される。このため、画面レイアウトを変更した場合であっても、GUI部品を追加しない限り処理プログラムを変更する必要がなく、この観点からも、GUIプログラムの生産性を向上することができる。
また、処理プログラムにおける変数及びメソッドと画面レイアウトを構成するGUI部品との関連付けは、画面レイアウトの作成作業における一連の操作として所定の入力を行うだけでよく、操作を複雑にすることがない。さらに、画面レイアウトを変更する場合には、前述した一連の操作を行うことで、関連付けファイルが更新される。
そして、処理プログラムに対して、処理プログラムの変数名及びメソッド名に関連付けられたGUI部品のプロパティを参照及び更新する処理が挿入されてプログラムが生成されるので、処理プログラムが変更されることはない。従って、個々のGUI部品に対する処理プログラムの変更等を行いたい場合には、処理プログラムを変更等するだけでよい。このため、実際にコンパイル対象となるプログラムを変更する必要がなく、例えば、GUI部品のプロパティを参照する処理の削除忘れによるバグの発生等を防止することができる。
【0020】
本発明をより詳細に説述するために、添付の図面に従ってこれを説明する。
【0021】
図1は、本発明に係るGUIプログラムの作成支援装置(以下「プログラム作成支援装置」という)のシステム構成を示す。なお、プログラム作成支援装置は、少なくとも、中央処理装置とメモリとを備え、メモリにロードされたプログラムにより各種処理を行うコンピュータ上に構築される。
【0022】
プログラム作成支援装置は、ファイル記憶装置10と、ソースプログラム作成モジュール20と、画面レイアウト作成モジュール30と、マッピングモジュール40と、ソースプログラム生成モジュール50と、を含んで構成される。
ファイル記憶装置10は、例えば、ハードディスクにより構成され、オリジナルソースプログラムファイル12,後述する定義体ファイル14,レイアウトプログラムファイル16及びソースプログラムファイル18を夫々保存する。
【0023】
ソースプログラム作成モジュール20は、例えば、プログラムエディタにより構成され、GUI部品に対する処理プログラムの作成及び編集を行う。そして、作成された処理プログラムは、ファイル記憶装置10にオリジナルソースプログラムファイル12として保存される。なお、ソースプログラム作成モジュール20は、ファイルに記録する機能,ファイルに記録する工程及びファイルに記録する手段として作用する。
【0024】
画面レイアウト作成モジュール30は、いわゆるGUIビルダに相当し、GUIを構成する画面レイアウトを作成する。即ち、画面上にGUI部品をドラッグ&ドロップすることで、GUI部品の生成及びその属性設定が行われ、画面レイアウトの作成が行われる。ここで、GUI部品の属性とは、例えば、GUI部品の配置位置,大きさ,色等の固有情報をいう。なお、画面レイアウト作成モジュール30は、画面レイアウトをユーザに作成させる機能,画面レイアウトをユーザに作成させる工程及び画面レイアウトをユーザに作成させる手段として作用する。
【0025】
マッピングモジュール40は、画面レイアウト作成モジュール30と協働し、GUI部品に対する処理プログラムと画面レイアウト中のGUI部品とを関連付ける。即ち、画面レイアウトの作成過程において、ユーザからの入力及びオリジナルソースプログラムファイル12に基づいて、処理プログラムとGUI部品との関連付けが行われる。そして、関連付けの結果が、ファイル記憶装置10に定義体ファイル14として保存される。なお、マッピングモジュール40は、ファイル名をユーザに指定させる機能,ファイル名をユーザに指定させる工程,ファイル名をユーザに指定させる手段,抽出する機能,抽出する工程,抽出する手段,変数名及びメソッド名をユーザに指定させる機能,変数名及びメソッド名をユーザに指定させる工程,変数名及びメソッド名をユーザに指定させる手段,関連付けファイルを作成する機能,関連付けファイルを作成する工程及び関連付けファイルを作成する手段として作用する。
【0026】
ここで、定義体は、図2に示すように、3つのフィールドから構成される。第1のフィールド60には、処理プログラムが記述されたオリジナルソースプログラムファイル12を特定するフルパス名が保持される。第2のフィールド62には、GUI部品名,クラス名,位置情報,大きさ情報,色情報,枠線情報,フォント情報及びメソッド名等のGUI部品固有の情報が保持される。第3のフィールド64には、GUI部品に割り付けられた変数名及びGUI部品名が保持される。
【0027】
ソースプログラム生成モジュール50は、オリジナルソースプログラムファイル12及び定義体ファイル14に基づいて、コンパイル対象となるレイアウトプログラム及びソースプログラムを自動生成する。そして、生成されたレイアウトプログラム及びソースプログラムが、ファイル記憶装置10にレイアウトプログラムファイル16及びソースプログラムファイル18として夫々保存される。ここで、注意しなければならないことは、オリジナルソースプログラムファイル12がそのまま残っていることである。即ち、ソースプログラム生成モジュール50により生成されるソースプログラムは、オリジナルソースプログラムのコピーに対して、GUI部品の参照・更新等の処理が埋め込まれるのである。ここで、ソースプログラム作成モジュール50は、プログラムを生成する機能,プログラムを生成する工程,プログラムを生成する手段及びレイアウトプログラムを自動生成する機能として作用する。
【0028】
なお、ソースプログラム作成モジュール20,画面レイアウト作成モジュール30及びソースプログラム生成モジュール50は、メニュー等を介したユーザの指示により、排他的かつ選択的に起動される。また、マッピングモジュール40は、画面レイアウト作成モジュール30の起動に伴い、自動的に起動される。
【0029】
次に、かかる構成からなるプログラム作成支援装置を利用したGUIプログラムの作成手法について、図3〜図11を参照しつつ説明する。なお、以下の説明では、オブジェクト指向言語であるJava(商標名)を用いて処理プログラムを記述するものとする。
【0030】
(1)GUI部品に対する処理プログラムを作成する。
ソースプログラム作成モジュール20を起動し、処理プログラムが記述されたオリジナルソースプログラムを作成する。具体的には、アプリケーションの仕様書に応じて、図3に示すような処理プログラムを記述し、これをオリジナルソースプログラムファイル12として保存する。なお、図3に示す処理プログラムの詳細に関しては、Javaの言語仕様書等を参照されたい。
【0031】
(2)GUI部品により構成される画面レイアウトを作成する。
画面レイアウト作成モジュール30を起動すると、マッピングモジュール40が起動され、図4に示すような、オリジナルソースプログラムファイル名を指定するファイル名入力画面70が表示される。ファイル名入力画面70は、ファイル名入力枠72と、「OK」ボタン74と、「参照」ボタン76と、を含んで構成される。オリジナルソースプログラムファイル名を指定する場合には、次のような2つの方法がある。第1の方法では、ファイル名入力枠72にオリジナルソースプログラムファイル名を直接入力した後、「OK」ボタン74を押すことでファイル名が指定される。また、第2の方法では、「参照」ボタン76を押してファイル一覧を表示させ、この中から所望するオリジナルソースプログラムファイルを選択する。すると、選択されたオリジナルソースプログラムファイル名がファイル名入力枠72に表示されるので、「OK」ボタン74を押すことでファイル名が指定される。なお、図4では、オリジナルソースプログラムファイルとして「MyTest.Java」を入力した様子を示している。ここで、かかる一連の処理が、ファイル名をユーザに指定させる機能,ファイル名をユーザに指定させる工程及びファイル名をユーザに指定させる手段に相当する。
【0032】
オリジナルソースプログラムファイル名が指定されると、ファイル記憶装置10からオリジナルソースプログラムファイル12が読み込まれ、変数名及びメソッド名が抽出される。そして、抽出された変数名及びメソッド名は、メモリ上にリストとして展開される。なお、図3に示す処理プログラムにおいては、変数名は「mydata」、メソッド名は「calc」となる。ここで、かかる一連の処理が、抽出する機能,抽出する工程及び抽出する手段に相当する。
【0033】
変数名及びメソッド名のリストが作成されると、画面レイアウトを行う画面が表示される。この画面上において、例えば、GUI部品としての「BarMeter」をドラッグ&ドロップにより配置すると、図5に示すような、GUI部品に任意の名前を付ける部品名入力画面80が表示される。部品名入力画面80は、部品名入力枠82と、「OK」ボタン84と、を含んで構成される。そして、部品名入力枠82に任意の名前(例えば、「bar 」)を直接入力した後、「OK」ボタン84を押すことでGUI部品に名前が付けられる。なお、GUI部品に対する名前は、任意の時点で変更できるようにしてもよい。
【0034】
GUI部品に名前が付けられると、図6に示すような、変数選択画面90が表示される。変数選択画面90には、先の処理により作成された変数名のリスト92が表示され、この中から、GUI部品に関連付ける変数を選択する。なお、リスト中の「cancel」は、例えば、GUI部品がアイコンを表示するだけの場合のように、変数を使用しない場合に選択される。
【0035】
変数が選択されると、図7に示すような、メソッド選択画面100が表示される。メソッド選択画面100には、先の処理により作成されたメソッド名のリスト102が表示され、この中から、GUI部品に対するメソッドを選択する。なお、リスト中の「cancel」は、例えば、GUI部品がアイコンを表示するだけの場合のように、メソッドが不要のときに選択される。
【0036】
ここで、各操作の結果としてのGUI部品に関する情報は、変数名をキーとしてテーブル形式でメモリ上で管理される。そして、必要に応じて、GUI部品の生成及び属性設定〜メソッドの選択を繰り返すと、メモリ上にGUI部品に関する情報が追加される。
その後、GUI部品に関する情報を、定義体としてファイルに保存するには、例えば、定義体生成処理を起動するメニューを選択する。すると、メモリ上のGUI部品に関する情報に基づいて、図8に示す定義体が作成され、ファイル記憶装置10に定義体ファイル14として保存される。なお、ここで保存された定義体ファイル14の名前は、メモリ上に保持される。ここで、かかる一連の処理が、関連付けファイルを作成する機能,関連付けファイルを作成する工程及び関連付けファイルを作成する手段に相当する。
【0037】
(3)ソースプログラム及びレイアウトプログラムを自動生成する。
ソースプログラム生成モジュール50を起動すると、図9に示すフローチャートの処理が開始され、コンパイル対象となるレイアウトプログラム及びソースプログラムが自動生成される。そして、生成されたレイアウトプログラム及びソースプログラムは、ファイル記憶装置10にレイアウトプログラムファイル16及びソースプログラムファイル18として保存される。以下、この処理の詳細について説明する。
【0038】
ステップ1(図では「S1」と略記する。以下同様)では、ファイル記憶装置10から定義体ファイル14が読み込まれる。なお、ここで読み込まれる定義体ファイル14は、メモリ上に保持されている定義体ファイル名により特定されるものであるが、所望の定義体ファイルを選択できる機能を実装してもよい。
ステップ2では、定義体ファイル14に基づいて、変数名をキーとしたGUI部品名のテーブルが作成される。図8に示す定義体ファイルの場合には、例えば、「mydata:bar」というテーブルが作成される。
【0039】
ステップ3では、GUI部品の生成及び属性設定を行うレイアウトプログラムの生成が行われる。即ち、定義体の第2のフィールド62に基づいて、図10に示すような、レイアウトプログラムが自動生成される。ここで、レイアウトプログラムの特徴として、画面レイアウトに関するプログラムだけでなく、「bar.addActionListener」で始まる実行イベントに対するメソッド「calc」が埋め込まれる。即ち、GUI部品を操作すると、このメソッド「calc」が実行されることとなる。
【0040】
ステップ4では、定義体ファイル14に保持されるソースプログラムファイル名に基づいて、オリジナルソースプログラムファイル12が読み込まれ、そのコピー(以下「コピーファイル」という)が作成される。
ステップ5では、定義体ファイル14に保持されるGUI部品名及びクラス名に基づいて、コピーファイルにGUI部品の宣言文(例えば、図11に示す「private BarMeter bar;」)が挿入される。
【0041】
ステップ6では、オリジナルソースプログラムファイル12のファイルカーソルを次のトークンに移動し、その内容を抽出する。即ち、図3に示すオリジナルソースプログラムファイル12にあっては、処理開始時に「class」が抽出され、以後の処理で「Mytest,{,・・・・」が順次抽出される。そして、抽出されたトークンの内容が、「tempA」に代入される。
【0042】
ステップ7では、tempA =NULL、即ち、ファイルの終わりか否かが判定される。そして、tempA =NULLであれば処理を終了し(Yes)、tempA ≠NULLであればステップ8へと進む(No)。
ステップ8では、tempA がテーブル上にあるか否かが判定される。即ち、現在解析を行なっているトークンが、変数の処理であるか否かの判定が行われる。そして、tempA がテーブル上にあればステップ9へと進み(Yes)、tempA がテーブル上になければステップ6へと進む(No)。
【0043】
ステップ9では、オリジナルソースプログラムファイル12のファイルカーソルを次のトークンに移動し、その内容を抽出する。そして、抽出されたトークンの内容が、「tempB 」に代入される。
ステップ10では、tempB =NULL、即ち、ファイルの終わりか否かが判定される。そして、tempB =NULLであれば処理を終了し(Yes)、tempB ≠NULLであればステップ11へと進む(No)。
【0044】
ステップ11では、tempB ="="、即ち、変数の次にあるトークンが代入演算子であるか否かが判定される。そして、tempB ="="であればステップ12へと進み(Yes)、tempB ≠"="であればステップ13へと進む(No)。なお、本実施形態では、Javaを前提としているので代入演算子は「=」であるが、他の言語の場合には、その言語仕様に従うことは言うまでもない。
【0045】
ステップ12では、ファイルカーソルを変数代入処理の終了位置まで進め、コピーファイルにおける変数代入処理の次の行に、変数の更新処理が挿入される。即ち、テーブルを参照することで、変数名(mydata)に対するGUI部品名(bar)が決定され、図11に示すような、「bar.update(mydata);」という更新処理APIが、変数代入処理の次の行に挿入される。
【0046】
ここで、GUI部品の種類にかかわらず、共通したAPI(Application Programming Interface)により、変数の更新等を行えるようにする工夫がなされている。即ち、共通したAPIとして、
更新処理: void update(Object o) 引数は更新値
型参照: String getDataType()
値参照: Object get()
を備えるべく、オブジェクト指向言語たるJavaの継承を用いて、次のようなインターフェースが備えられる。
Interface DataGUI [
public void update(Object o);
public String getDataType();
public Object get();
]
このようなインタフェースを利用することで、例えば、既存のGUI部品である「Button」に関して、次のようなクラス宣言によりAPIが追加される。
public DataGUIButton extends Button implements DataGUI [
・・・・・・・・・・・・・・・・
]
【0047】
ステップ13では、コピーファイルにおける変数代入処理の前の行に、変数の参照処理が挿入される。即ち、テーブルを参照することで、変数名(mydata)に対するGUI部品名(bar)が決定され、図11に示すような、「mydata=bar.get();」という参照処理APIが、変数代入処理の前の行に挿入される。
【0048】
以上説明したステップ1〜ステップ13の処理によれば、画面レイアウトの作成過程において作成された定義体ファイル14に基づいて、レイアウトプログラム及びコピーファイルが作成される。そして、作成されたコピーファイルには、変数代入処理の前後に、変数参照処理API及び変数更新処理APIが夫々挿入される。従って、GUIプログラムを作成する場合に、画面レイアウトにおけるGUI部品とその処理プログラムとの関連付けを意識する必要がなく、GUIプログラムの生産性を向上することができる。
【0049】
また、画面レイアウトを変更する場合には、画面レイアウト作成モジュール30を再起動し、GUI部品の交換又は属性等の変更を行う。すると、その変更内容を反映した定義体が作成され、ファイル記憶装置10に定義体ファイル14が上書きされる。その後、ソースプログラム生成モジュール50を起動すれば、定義体ファイル14に基づいて、レイアウトプログラムファイル16及びソースプログラムファイル18が再度生成される。この場合、画面レイアウトにGUI部品を追加しない限り、オリジナルソースプログラムファイル12には一切手を加える必要がないので、この観点からも、GUIプログラムの生産性を向上することができる。
【0050】
なお、以上説明した実施形態では、オブジェクト指向言語としてJavaを用いたが、他のオブジェクト指向言語であっても、本発明を適用できることは言うまでもない。
このような機能を実現するプログラムを、例えば、磁気テープ,磁気ディスク,磁気ドラム,ICカード,CD−ROM等の可搬記録媒体に記録しておけば、本発明に係るプログラム作成支援プログラムを市場に流通させることができる。そして、プログラム作成支援プログラムを取得した者は、例えば、一般的なコンピュータを利用して、本発明に係るプログラム作成支援装置を容易に構築することができる。
【発明の効果】
【0051】
以上説明したように、本発明に係るGUIプログラムの作成支援装置又は作成支援方法は、GUIプログラムの生産性が向上するので、極めて有用なものである。また、本発明に係るGUIプログラムの作成支援プログラムを記録した記録媒体は、一般的なコンピュータを利用してGUIプログラムの作成支援装置を容易に構築できるので、極めて有用なものである。
【図面の簡単な説明】
【0052】
【図1】 本発明に係るプログラム作成支援装置のシステム構成図である。
【図2】 定義体ファイルの説明図である。
【図3】 処理プログラムの一例を示す説明図である。
【図4】 ファイル名入力画面の説明図である。
【図5】 部品名入力画面の説明図である。
【図6】 変数選択画面の説明図である。
【図7】 メソッド選択画面の説明図である。
【図8】 定義体ファイルの一例を示す説明図である。
【図9】 ソースプログラムの生成処理を示すフローチャートである。
【図10】 レイアウトプログラムの一例を示す説明図である。
【図11】 生成されたソースプログラムの一例を示す説明図である。
Claims (5)
- コンピュータに、
少なくとも1つの変数及びメソッドを含んだ処理プログラムをユーザに作成させ、該処理プログラムを固有のファイル名をつけてファイルに記録する機能と、
各種GUI部品が配置されたGUIの画面レイアウトをユーザに作成させる機能と、
前記記録されたファイルから処理プログラムのファイル名をユーザに指定させる機能と、
前記ユーザにより指定されたファイル名に基づいてファイルから処理プログラムを読み込み、該処理プログラムから変数名及びメソッド名を抽出する機能と、
前記ユーザにより作成されたGUIの画面レイアウトを構成する各GUI部品に対して、抽出された変数名及びメソッド名をユーザに指定させる機能と、
前記ユーザにより指定された変数名及びメソッド名と前記GUI部品とを相互に特定可能な関連付けを記述した関連付けファイルを作成する機能と、
前記関連付けファイルに基づいて、前記ファイルから読み込んだ処理プログラムに対して、該処理プログラムの変数名及びメソッド名に関連付けられたGUI部品のプロパティを参照及び更新する処理を挿入してプログラムを新たに生成する機能と、
を実現させるためのGUIプログラムの作成支援プログラムを記録したコンピュータが読取可能な記録媒体。 - 前記関連付けファイルに基づいて、前記ユーザにより作成された画面レイアウトを構成する前記GUI部品の生成及び属性設定を行なう画面レイアウトプログラムを自動生成する機能をさらに含んだ構成である請求の範囲第1項記載のGUIプログラムの作成支援プログラムを記録したコンピュータが読取可能な記録媒体。
- 前記画面レイアウトプログラムは、前記GUI部品が操作されたときに、前記関連付けファイルにおいて該GUI部品に関連付けられたメソッドを実行するイベント処理がさらに挿入された構成である請求の範囲第2項記載のGUIプログラムの作成支援プログラムを記録したコンピュータが読取可能な記録媒体。
- コンピュータが、
少なくとも1つの変数及びメソッドを含んだ処理プログラムをユーザに作成させ、該処理プログラムを固有のファイル名をつけてファイルに記録する工程と、
各種GUI部品が配置されたGUIの画面レイアウトをユーザに作成させる工程と、
前記記録されたファイルから処理プログラムのファイル名をユーザに指定させる工程と、
前記ユーザにより指定されたファイル名に基づいてファイルから処理プログラムを読み込み、該処理プログラムから変数名及びメソッド名を抽出する工程と、
前記ユーザにより作成されたGUIの画面レイアウトを構成する各GUI部品に対して、抽出された変数名及びメソッド名をユーザに指定させる工程と、
前記ユーザにより指定された変数名及びメソッド名と前記GUI部品とを相互に特定可能な関連付けを記述した関連付けファイルを作成する工程と、
前記関連付けファイルに基づいて、前記ファイルから読み込んだ処理プログラムに対して、該処理プログラムの変数名及びメソッド名に関連付けられたGUI部品のプロパティを参照及び更新する処理を挿入してプログラムを新たに生成する工程と、
を実行することを特徴とするGUIプログラムの作成支援方法。 - 少なくとも1つの変数及びメソッドを含んだ処理プログラムをユーザに作成させ、該処理プログラムを固有のファイル名をつけてファイルに記録する手段と、
各種GUI部品が配置されたGUIの画面レイアウトをユーザに作成させる手段と、
前記記録されたファイルから処理プログラムのファイル名をユーザに指定させる手段と、
前記ユーザにより指定されたファイル名に基づいてファイルから処理プログラムを読み込み、該処理プログラムから変数名及びメソッド名を抽出する手段と、
前記ユーザにより作成されたGUIの画面レイアウトを構成する各GUI部品に対して 、抽出された変数名及びメソッド名をユーザに指定させる手段と、
前記ユーザにより指定された変数名及びメソッド名と前記GUI部品とを相互に特定可能な関連付けを記述した関連付けファイルを作成する手段と、
前記関連付けファイルに基づいて、前記ファイルから読み込んだ処理プログラムに対して、該処理プログラムの変数名及びメソッド名に関連付けられたGUI部品のプロパティを参照及び更新する処理を挿入してプログラムを新たに生成する手段と、
を含んで構成されたことを特徴とするGUIプログラムの作成支援装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP1999/001492 WO2000057271A1 (fr) | 1999-03-24 | 1999-03-24 | Appareil d'assistance a l'ecriture d'un programme d'interface utilisateur graphique, procede d'assistance associe et support d'enregistrement pour programme d'assistance a l'ecriture |
Publications (1)
Publication Number | Publication Date |
---|---|
JP4197095B2 true JP4197095B2 (ja) | 2008-12-17 |
Family
ID=14235282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000607080A Expired - Fee Related JP4197095B2 (ja) | 1999-03-24 | 1999-03-24 | Guiプログラムの作成支援装置及び作成支援方法並びに作成支援プログラムを記録したコンピュータが読取可能な記録媒体 |
Country Status (3)
Country | Link |
---|---|
US (2) | US20020080178A1 (ja) |
JP (1) | JP4197095B2 (ja) |
WO (1) | WO2000057271A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI703809B (zh) | 2015-02-10 | 2020-09-01 | 日商山洋電氣股份有限公司 | 馬達控制裝置 |
CN105897069B (zh) * | 2015-02-13 | 2021-09-14 | 山洋电气株式会社 | 电动机控制装置 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7013310B2 (en) * | 2002-01-03 | 2006-03-14 | Cashedge, Inc. | Method and apparatus for retrieving and processing data |
JP5010625B2 (ja) * | 2003-05-17 | 2012-08-29 | マイクロソフト コーポレーション | ユーザインターフェースプロパティをデータにより制御するためのプログラムを格納した記録媒体およびシステム |
US20040243973A1 (en) * | 2003-06-02 | 2004-12-02 | Kwong Man K. | Method and apparatus for generating a graphical user interface |
US8954869B2 (en) * | 2007-12-17 | 2015-02-10 | International Business Machines Corporation | Generating a front end graphical user interface for a plurality of text based commands |
US20090199205A1 (en) * | 2008-02-06 | 2009-08-06 | Honeywell International Inc. | Configurable graphics virtual machine based display system |
US20110314044A1 (en) * | 2010-06-18 | 2011-12-22 | Microsoft Corporation | Flexible content organization and retrieval |
JP5691516B2 (ja) * | 2010-12-28 | 2015-04-01 | 富士通株式会社 | 画面情報提供プログラムおよび画面情報提供方法 |
JP5852967B2 (ja) * | 2011-06-20 | 2016-02-03 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | Guiプログラム作成支援装置、guiプログラム作成支援方法、プログラム、及び集積回路 |
WO2019221314A1 (ko) * | 2018-05-16 | 2019-11-21 | 주식회사 유니온플레이스 | 컨텐츠 퍼블리싱 장치 및 컨텐츠 퍼블리싱 방법 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3660366B2 (ja) * | 1993-12-28 | 2005-06-15 | 富士通株式会社 | 図形を用いたプログラミングシステム |
JPH09134282A (ja) * | 1995-11-08 | 1997-05-20 | Hitachi Ltd | プログラム作成方法 |
US5812122A (en) * | 1995-12-13 | 1998-09-22 | Sun Microsystems, Inc. | Testing layout services for supporting complex text languages |
JPH1091412A (ja) * | 1996-07-25 | 1998-04-10 | Toshiba Corp | 表示部品選択装置及び表示部品選択方法 |
US6055369A (en) | 1997-05-06 | 2000-04-25 | Hitachi Software Engineering Co., Ltd. | Apparatus for visual programming with screen flow |
JPH1124904A (ja) | 1997-07-01 | 1999-01-29 | Mitsubishi Electric Corp | プログラム作成装置及びプログラム作成プログラムを記憶した記憶媒体 |
US6496203B1 (en) * | 1998-05-27 | 2002-12-17 | Microsoft Corporation | Standardized and application-independent graphical user interface components implemented with web technology |
-
1999
- 1999-03-24 JP JP2000607080A patent/JP4197095B2/ja not_active Expired - Fee Related
- 1999-03-24 WO PCT/JP1999/001492 patent/WO2000057271A1/ja active Application Filing
-
2001
- 2001-09-21 US US09/957,929 patent/US20020080178A1/en not_active Abandoned
- 2001-09-24 US US09/961,734 patent/US7337406B2/en not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI703809B (zh) | 2015-02-10 | 2020-09-01 | 日商山洋電氣股份有限公司 | 馬達控制裝置 |
CN105897069B (zh) * | 2015-02-13 | 2021-09-14 | 山洋电气株式会社 | 电动机控制装置 |
JP7049754B2 (ja) | 2015-02-13 | 2022-04-07 | 山洋電気株式会社 | モータ制御装置 |
Also Published As
Publication number | Publication date |
---|---|
US20020054100A1 (en) | 2002-05-09 |
US20020080178A1 (en) | 2002-06-27 |
US7337406B2 (en) | 2008-02-26 |
WO2000057271A1 (fr) | 2000-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4612069B2 (ja) | データを表現し操作する方法 | |
US8170901B2 (en) | Extensible framework for designing workflows | |
JP3793226B2 (ja) | アトミック・コマンド・システム | |
EP1435567A2 (en) | User interface element representation with simplified view | |
JP2007095090A (ja) | メニュー項目表示方法および装置 | |
US8136043B2 (en) | GUI generation apparatus and method for generating GUI | |
JP4197095B2 (ja) | Guiプログラムの作成支援装置及び作成支援方法並びに作成支援プログラムを記録したコンピュータが読取可能な記録媒体 | |
WO2014002293A1 (ja) | アプリケーション連携システム、アプリケーション連携方法及びアプリケーション連携プログラム | |
JP3227066B2 (ja) | プログラム部品を用いたプログラム生成方法 | |
JPH10240592A (ja) | ファイルの依存関係を示す装置及び方法 | |
CN112181483B (zh) | 等离子体控制系统软件开发平台及方法 | |
JP6836077B2 (ja) | 情報処理装置と、その処理方法及びプログラム | |
JP5322403B2 (ja) | ホームページ作成装置とそのホームページ作成プログラム及びホームページ作成方法 | |
JP3542293B2 (ja) | マルチメディアタイトル編集装置、マルチメディアタイトル編集方法、及びマルチメディアタイトル編集プログラムを記録した記録媒体 | |
JP3969926B2 (ja) | 帳票作成装置、帳票作成方法、および記憶媒体 | |
JP2001154834A (ja) | コンテンツ作成方法および装置、ならびに、記録媒体 | |
JP2022178985A (ja) | 情報処理装置、制御方法、プログラム | |
JP2005025263A (ja) | プログラミング支援装置及び方法並びにプログラミング支援プログラム | |
JP2005251128A (ja) | モデル編集システム、モデル編集方法およびモデル編集用プログラム | |
JP2008108185A (ja) | ファイル編集装置及びファイル編集プログラム | |
JP2007052678A (ja) | 階層構造表示装置、階層構造表示方法、プログラムおよび記録媒体 | |
JP2004355072A (ja) | 例外情報表示方法及び実施装置並びに処理プログラム | |
JP2004118289A (ja) | プログラムの動作属性作成支援装置及びその方法 | |
JP2000276341A (ja) | オブジェクト変更管理システム | |
JPH04190423A (ja) | 機能別ポインタを用いた情報管理支援装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060324 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061205 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070131 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070807 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071009 |
|
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: 20080924 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080924 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111010 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |