JPH0683594A - ウィズィウィグ式エディターとコンパイラーとを統合したグラフィカル・ユーザ・インターフェース - Google Patents

ウィズィウィグ式エディターとコンパイラーとを統合したグラフィカル・ユーザ・インターフェース

Info

Publication number
JPH0683594A
JPH0683594A JP5025803A JP2580393A JPH0683594A JP H0683594 A JPH0683594 A JP H0683594A JP 5025803 A JP5025803 A JP 5025803A JP 2580393 A JP2580393 A JP 2580393A JP H0683594 A JPH0683594 A JP H0683594A
Authority
JP
Japan
Prior art keywords
file
user interface
graphical user
panel
tag
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.)
Pending
Application number
JP5025803A
Other languages
English (en)
Inventor
John David Montgomery
ジョン・デービッド・モンゴメリー
Scott Anthony Sylvester
スコット・アンソニー・シルベスター
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH0683594A publication Critical patent/JPH0683594A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】 グラフィカル・ユーザ・インターフェースを
ユーザ変更可能にする。 【構成】 グラフィカル・ユーザ・インターフェース・
パネル・ファイルを定義し、生成し、ないしは編集する
方法。この方法は、第1のステップとして、グラフィカ
ル・ユーザ・インターフェース・ソース・コード・ファ
イルをオープンするステップを含んでいる。また、アプ
リケーション・プログラム・インターフェースを介して
グラフィカル・ユーザ・インターフェース・プログラム
・ファイルをコールする。続いて、グラフィカル・ユー
ザ・インターフェース・ソース・コード・ファイルをコ
ンパイルして、グラフィカル・ユーザ・インターフェー
ス・オブジェクト・コード・ファイルを形成する。そし
て、コンパイルして得られたそのグラフィカル・ユーザ
・インターフェース・オブジェクト・コード・ファイル
を、パネル・バイナリ・インターフェース・ファイルに
格納する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、グラフィカル・ユーザ
・インターフェースを定義し、生成し、編集するため
の、エンドユーザ用ツールに関するものである。より詳
しくは、本発明は、ユーザ変更されたグラフィカル・ユ
ーザ・インターフェースをコンパイルする方法に関する
ものである。この方法は、第1のステップとして、グラ
フィカル・ユーザ・インターフェース・ソース・コード
・ファイルを、例えば定義し、生成し、ないしは編集す
るために、オープンするステップを含んでいる。続い
て、そのグラフィカル・ユーザ・インターフェース・ソ
ース・コード・ファイルをコンパイルして、グラフィカ
ル・ユーザ・インターフェース・オブジェクト・コード
・ファイルを形成する。そして、コンパイルして得られ
たそのグラフィカル・ユーザ・インターフェース・オブ
ジェクト・コード・ファイルを、パネル・バイナリ・イ
ンターフェース・ファイルに格納する。
【0002】
【従来の技術】ユーザ・インターフェースは、コンピュ
ータの各部分のうちで最も良く目に見える部分である。
また、ユーザ・インターフェースは、アプリケーション
・ソフトウェアとエンドユーザとをつなぐリンクであ
る。歴史的には、ユーザ・インターフェースといえば、
かつては、英数字を入力する方式のユーザ・インターフ
ェースのことであった。
【0003】これに対して、グラフィカル・ユーザ・イ
ンターフェースは、図形オブジェクトを使用するユーザ
・インターフェースであり、英数字式ユーザ・インター
フェースに取って代わるものとして、ないしは、英数字
式ユーザ・インターフェースを補完するものとして用い
られている。そして、それによって、グラフィカル・ユ
ーザ・インターフェースは、エンドユーザや、アプリケ
ーション・プログラマーの生産性を向上させている。
【0004】グラフィカル・ユーザ・インターフェース
では、図形画像を用いて、現実世界の対象物(オブジェ
クト)を表わすようにしている。「従来例」と記入して
ある図1は、グラフィカル・ユーザ・インターフェース
のパネルを示した図である。この図1において、グラフ
ィカル・ユーザ・インターフェース(1)は、複数の図
形画像11、21、31を含んでいる。これら図形画像
11、21、31はアイコンとも呼ばれ、ディスプレイ
の画面サイズよりも小さい。そのため、グラフィカル・
ユーザ・インターフェースのパネル1では、1つの物理
ディスプレイ装置の画面(1)上に、テキストのウィン
ドウ41と、画像のウィンドウ(11、21、31)と
の、複数の「ウィンドウ」を同時にディスプレイするこ
とができるようになっている。
【0005】グラフィカル・ユーザ・インターフェース
は、図形を利用した入力(以下、単に「図形入力」とい
う)と、英数字による入力(以下、単に「英数字入力」
という)との、両方に対応できる能力を備えている。図
形入力の具体的な手段としては、例えば、「ポイント・
アンド・クリック」デバイスや、マウスや、タッチ・パ
ネルや、「ライト・ペン」等々がある。また、英数字入
力の具体的な手段としては、例えばキーボードによる入
力等がある。
【0006】グラフィカル・ユーザ・インターフェース
は、キーボードによる英数字入力と比べて、より直感に
即したものであり、また使用法の習得がより容易で、使
用法自体もより簡単である。そして、これらのことによ
ってエンドユーザの生産性を向上させている。
【0007】
【発明が解決しようとする課題】グラフィカル・ユーザ
・インターフェースは、エンドユーザの間で広く受け容
れられており、また、使用法も容易なものであるが、に
もかかわらず、幾つかの問題がなお付随している。最も
大きな問題は、グラフィカル・ユーザ・インターフェー
スは、それをプログラミングする作業が複雑であるこ
と、即ち、グラフィカル・ユーザ・インターフェースを
定義すること、生成すること、それに編集することが、
困難だということにある。実際に、グラフィカル・ユー
ザ・インターフェースをプログラミングするためには、
長期に亙る学習によって習得した高度の技量が必要であ
る。
【0008】従ってエンドユーザが、グラフィカル・ユ
ーザ・インターフェースを定義し、生成し、ないしは編
集することができるようにする、グラフィカル・ユーザ
・インターフェース・エディターが求められている。こ
のように、エンドユーザが、グラフィカル・ユーザ・イ
ンターフェースを定義し、生成し、ないしは編集するこ
とができるようにするためには、ウィズィウィグ(WY
SIWYG:What-You-See-Is-What-You-Get)式エディ
ター及びテキスト・エディターの一方又は両方を交換可
能に利用することのできる能力と、結果として得られた
(即ち、編集を加えた、或いは生成した)グラフィカル
・ユーザ・インターフェースのパネルを、コンパイルし
てセーブしておくことができる能力とが、エンドユーザ
に与えられていなければならない。このように、グラフ
ィカル・ユーザ・インターフェースのパネルを定義し、
生成し、ないしは修正する能力は、従来例においては欠
如していた。その原因は、従来例に係るグラフィカル・
ユーザ・インターフェース・エディターは、テキスト・
エディターによって手操作の更新が行なわれてしまう
と、ソース・ファイルの完全性を維持することができな
かったことにある。
【0009】本発明の主要な目的の1つは、エンドユー
ザが、グラフィカル・ユーザ・インターフェースを定義
し、生成し、ないしは編集することができるようにし
た、グラフィカル・ユーザ・インターフェース・エディ
ターを提供することにある。
【0010】本発明の更なる目的は、ユーザ・フレンド
リーなグラフィカル・ユーザ・インターフェース・エデ
ィターを提供することにあり、即ち、ウィズィウィグ
(WYSIWYG:What-You-See-Is-What-You-Get)式
エディター、及び/または、テキスト・エディターを
(いずれも同じように)利用するようにした、グラフィ
カル・ユーザ・インターフェース・エディターを提供す
ることにある。
【0011】本発明の更なる目的は、結果として得られ
た(即ち、編集を加えた、或いは生成した)グラフィカ
ル・ユーザ・インターフェースのパネルをコンパイルし
てセーブしておくことができる能力を、エンドユーザに
付与することにある。
【0012】本発明の更なる目的は、編集後のグラフィ
カル・ユーザ・インターフェースのパネルに対応した編
集後のソース・コードをセーブしておくことのできる能
力をエンドユーザに付与することにある。こうすること
によって、エンドユーザの能力が強化され、グラフィカ
ル・ユーザ・インターフェース・ファイルに対して更に
変更ないし編集を加えることも、また更には、グラフィ
カル・ユーザ・インターフェース・ファイルをコピーす
ることも可能になる。
【0013】
【課題を解決するための手段】以上の目的並びにその他
の目的は、本発明の方法によって達成する。本発明は、
グラフィカル・ユーザ・インターフェースを定義し、生
成し、編集するための、エンドユーザ用ツールを提供す
るものである。
【0014】本発明は、ユーザ変更されたグラフィカル
・ユーザ・インターフェースをコンパイルする方法に関
するものである。この方法は、第1のステップとして、
グラフィカル・ユーザ・インターフェース・ソース・コ
ード・ファイルを、例えば定義し、生成し、ないしは編
集するために、オープンするステップを含んでいる。続
いて、そのグラフィカル・ユーザ・インターフェース・
ソース・コード・ファイルをコンパイルして、グラフィ
カル・ユーザ・インターフェース・オブジェクト・コー
ド・ファイルを形成する。そして、コンパイルして得ら
れたそのグラフィカル・ユーザ・インターフェース・オ
ブジェクト・コード・ファイルを、パネル・バイナリ・
インターフェース・ファイルに格納する。
【0015】本発明の方法では、先ず最初に、グラフィ
カル・ユーザ・インターフェース・ソース・コード・フ
ァイルをオープンする。続いて、そのグラフィカル・ユ
ーザ・インターフェース・ソース・コード・ファイルを
コンパイルして、グラフィカル・ユーザ・インターフェ
ース・オブジェクト・コード・ファイルを形成する。そ
して、コンパイルして得られたそのグラフィカル・ユー
ザ・インターフェース・オブジェクト・コード・ファイ
ルを、パネル・バイナリ・インターフェース・ファイル
に格納する。
【0016】
【実施例】本発明の方法においては、ユーザ・インター
フェース(UI)のパネルを生成及び維持するために、
パネル定義言語(タグ言語)を含んでいるウィズィウィ
グ(WYSIWYG)式エディター、ないしはテキスト
・エディターを使用するようにしている。
【0017】システムの全体像 図2及び図3に示すように、グラフィカル・ユーザ・イ
ンターフェース・エディター(GUIE)とユーザ・イ
ンターフェース・コンパイラー(UIC)との間に、ソ
フトウェア・インターフェースが確立されており、これ
らGUIEとUICとは、プロセス・コールではなく、
アプリケーション・プログラム・インターフェースによ
って結合されている。プロセス・コールに代えてアプリ
ケーション・プログラム・インターフェースを使用する
ことによって、オーバーヘッドを軽減しているのであ
る。
【0018】エンドユーザは、グラフィカル・ユーザ・
インターフェース・エディター(GUIE)ないしテキ
スト・エディターを使用して、コンパイル可能で格納可
能なGUIソース・ファイルを生成することができる。
GUIソース・ファイルは、グラフィカル・ユーザ・イ
ンターフェース(GUI)のパネルを定義するタグ言語
を収容している。タグ言語ファイルは、GUIEへの唯
一の入力であり、また、GUIEからの唯一の出力であ
る。このタグ言語ファイルを、GUIEによって生成
し、テキスト・エディターで変更を加え、再びGUIE
の中へ読み込み、そして、ユーザ・インターフェース・
コンパイラー(UIC)の中でコンパイルすることがで
きるようにしてある。この種の変更はいずれも、(GU
IEとUICとの間のソフトウェア・リンクによって)
保存され、GUIEによって生成されたタグ言語ファイ
ルの中に収容される。これによって、ソース・ファイル
がどのように編集されようと、そのソース・ファイルの
完全性が維持される。このプロセスは、必要に応じて何
度でも反復して実行することができるため、ユーザが行
なう、パネルを生成したり、パネルに変更を加える作業
に、最大限の融通性が与えられことになる。
【0019】このシステムの構成要素には、ユーザ・イ
ンターフェース・エディター(UIE)、パネル定義言
語を含んでいる構築時ツール、パネル言語コンパイラー
/リンカー、それに、実行時サポート・パッケージが含
まれている。構築時ツールはウィズィウィグ(WYSI
WIG)式パネル生成用エディターを含んでいる。この
ウィズィウィグ式パネル生成用エディターは、アイコン
で表示されたパネル・オブジェクトをユーザが直接、操
作できるようにすることによって、高速のパネル生成作
業を可能にしている。これによって、アプリケーション
の構築者、即ちエンドユーザを、パネルのレイアウト作
業において支援することができ、エンドユーザが、パネ
ルのフォーマッティングに関する、こまごまとした作業
に手間を取られることなく、パネルのレイアウト作業に
集中できるようにすることが可能になっている。
【0020】パネル定義言語とは、パネル定義を生成す
る際の方式のことである。本実施例においては、パネル
定義言語は、タグ言語としてある。
【0021】パネル言語コンパイラー/リンカーは、パ
ネル定義ファイルを対象とした読取りと書込みとを行な
うツールであり、それらを行なうことによって、パネル
定義ファイルを生成したり、パネル定義ファイルに対し
てテキスト・エディターを用いて更新を加えた際に、そ
の変更後のパネル定義ファイルを再びウィズィウィグ式
ツールの中へ読み込めるようにしている。このパネル言
語コンパイラー/リンカーの機能の仕方は、ウィズィウ
ィグ式パネル生成用エディターとパネル定義言語とを統
合し、パネル定義言語ファイルを、パネル・テキストの
分解及び分離が可能な中間ファイルの集合へ変換すると
いうものである。このコンパイル及びリンクの機能は、
様々なグラフィカル・ユーザ・インターフェースのプラ
ットフォームをサポートできるようにするための、かな
めの機能である。即ち、パネル言語リンカーは、プラッ
トフォーム依存性を持たない中間ファイルのグループを
結合して、それらを、特定プラットフォーム向け実行時
パネル定義にするものである。
【0022】実行時サポートの方式としては、UIディ
スプレイ・ノードの各々に1つずつUIサーバーのコピ
ーをロードするようにした、クライアント・サーバー・
アーキテクチャを採用している。また、複数のアプリケ
ーション・プログラムが夫々のUIサポートのサービス
要求を、局所的UIサーバー、即ち遠隔UIサーバーか
ら、単一の高機能のアプリケーション・プログラム・イ
ンターフェース(API)を介して、同時に発すること
ができるようにしてある。UI動作パラメータ(例え
ば、宛先UIサーバーのサーバー名や、パネル・ライブ
ラリーのライブラリー名等)は、そのUIクライアント
・アプリケーションを装備しているノードと同じノード
に装備したUI制御ブロックの中に収容してある。この
ようにUI制御ブロックを装備してあるため、そのクラ
イアント・アプリケーションに変更を加えることなく、
クライアント・アプリケーションのUIパラメータに対
して実行時変更を加えることができるようになってい
る。
【0023】UI実行時オブジェクト集合には、パネル
(ウィンドウ)とメッセージ・ボックスとが含まれてお
り、更に、例えばリスト・ボックスやエントリー・ボッ
クス等の、パネルの中に配置することのできるコントロ
ール類も全て含まれている。それらオブジェクトの各々
は、1つないし複数の属性(例えば、ディスプレイ特
性、テキスト、エントリー特性、それに、ユーザ・デー
タ等)によって特徴付けられている。
【0024】パネル・アクションUI要求は、クライア
ント・アプリケーションが、あらゆるオブジェクトを対
象としたデータ交換アクション(例えば、データの設
定、照会、更新等のアクション)や、パネル上に存在し
ているオブジェクトを対象とした即時制御アクション
(例えば、ロック/アンロック、隠蔽化/顕在化等のア
クション)を実行できるようにするために、用意してあ
るものである。
【0025】ユーザ・インターフェース・アプリケーシ
ョン・プログラム・インターフェース(UI−API)
は、連結グループ機能である、連結/切断の機能を備え
ている。この機能を備えるようにしたのは、クライアン
ト・アプリケーションが2つ以上のUIサーバーのディ
スプレイ・サービスを同時に利用できるようにするため
に、クライアント・アプリケーションが、先ず最初に、
宛先UIサーバーとの間に固有のセッションを確立する
ようにしてあるからである。
【0026】このUI−APIは更に、ディスプレイ・
グループ機能である、ゲット・パネル機能(パネルを取
り出させる機能)、ディスプレイ・パネル機能(パネル
をディスプレイさせる機能)、パネル・アクション機
能、それにディスプレイ・メッセージ・ボックス機能
(メッセージ・ボックスをディスプレイさせる機能)を
備えている。UI−APIが、このディスプレイ・グル
ープ機能を備えているために、UIサーバーがパネルを
メモリー中にロードすることを、アプリケーションが要
求できるようになっており、また更に、アプリケーショ
ンが、オブジェクトに対してデータ交換ないし即時制御
アクションを実行すること、パネルをディスプレイさせ
ること、それに、メッセージ・サービスをディスプレイ
させることを行なえるようになっている。
【0027】このUI−APIは更に、ユーザ出口ルー
チン・グループ機能を備えている。この機能は、ユーザ
出口ルーチンを設定し、また、ユーザ出口ルーチン事象
に処理を加えることのできる機能である。ユーザ出口ル
ーチンは、ユーザがパネル・アクションを開始したとき
に、そのことがアプリケーション・プログラムに即座に
通知されるようにするものである。その要求(ユーザの
そのパネル・アクションによる要求)によって、ユーザ
出口ルーチンが、パネルないしコントロール・オブジェ
クトのレベルで設定される。こうしてユーザ出口ルーチ
ンを利用することにより、そのアプリケーションのうち
のUI部分を、モジュラー式(即ち、ユニット式)に構
築することができ、それによってコードの再使用可能性
を可及的に増大させることができる。
【0028】本発明の方法においては、タグ言語のソー
ス・コード・ファイルを用いてグラフィカル・ユーザ・
インターフェース(GUI)のパネルを定義するように
している。図4及び図5は、ウィズィウィグ式エディタ
ーが生成するソース・コードのタグ言語ファイル(即
ち、.PDFファイル)の一例を示したものである。これら
の図において、コロン(:)で始まってピリオド(.)
で終わる各エントリが、夫々1つのタグに相当してい
る。
【0029】夫々のタグ・ファイル(即ち、.PDFファイ
ル)どうしは、連係リスト(linkedlist )の形で、内
部的に互いに連結されている。連係リストの一例を示す
と、例えば次の表Iのようになる。
【表1】
【0030】上の表Iを見れば分かるように、先ず、Wi
ndowdef によって、1つのウィンドウを Panel A(パネ
ルA)として定義しており、そのサイズを50×50、
そのロケーションを(0、0)としている。このウィン
ドウを定義しているタグ・ファイルは、Panel A であ
る。この連係リストの第2番目のアイテムは、この連係
リストのアドレス2に存在している。このアイテムは、
チェックボックス(Checkbox)であり、そのサイズを2
×7、そのロケーションを(10、10)とし、そして
そのタグ・ファイルを、Option A(オプションA)とし
ている。この連係リストの第3番目のアイテムは、アド
レス3に存在している。このアイテムもまた、チェック
ボックス(Checkbox)であり、そのサイズを2×7、そ
のロケーションを(20、10)とし、そして、Option
B(オプションB)というテキスト・ファイルによって
定義してある。この連係リストの中の、次のアイテムは
Ewindowdef である。
【0031】エンドユーザは、この、タグ言語のソース
・コード・ファイルに対して、グラフィカル・ウィズィ
ウィグ・エディター及びテキスト・エディターの一方又
は両方を交換可能に使用して、編集を加えることができ
る。本発明の方法においては、結果として得られた(即
ち、編集を加えた、或いは生成した)GUIパネルを、
コンパイルしてセーブするようにしており、それによっ
てソース・コードのGUIパネル・ファイルと、オブジ
ェクト・コードのGUIファイルとの両方を得るように
している。またこれによって、GUIソース・コード・
ファイルの完全性を、テキスト・エディターによって手
操作の更新が行なわれた後までも、維持できるようにし
ている。
【0032】ユーザ・インターフェース・コンパイラー
/リンカー ユーザ・インターフェース・コンパイラーは、パネルを
定義しているタグファイルをコンパイルすることによっ
て、PBI(パネル・バイナリ中間)ファイルを生成す
るものである。その擬似コードの一例を示すと、例えば
次のようになる。コンパイラーは、ファイルからの読取
りを行なう。コンパイラーは、夫々のタグを解析した上
で、タグ・メソッドをコールして、オブジェクト・リス
トを構築させる。コンパイラーは、構築されたオブジェ
クト・リストを、PBIファイルに書込む。
【0033】タグ言語で表わされるパネルを生成し、定
義し、また、そのパネルに対して編集を加え、変更を加
え、その後にソース・コードのタグ・ファイルをコンパ
イルしてオブジェクト・コードとし、そして、それらソ
ース・コードとオブジェクト・コードとの両方をセーブ
するという能力は、GUIEとUICとを、それらの間
のソフトウェア・リンクを介して完全に統合することに
よって、可能となったものである。
【0034】このようにソフトウェア・リンクを用いて
いるため、タグ言語ファイルがGUIEの中へ読込まれ
たときには、このソフトウェア・リンクがUICを呼出
す。呼出されたUICは、ソース・タグをバイナリ表示
に変換し、その変換したバイナリ表示をファイルに書込
む。続いて、GUIEが、そのバイナリ・ファイルをメ
モリの中のデータ構造体の中へ読込み、その読込んだ内
容を使用して、ユーザが行なうあらゆるパネル更新操作
を追跡する。ユーザが所望の全ての変更を完了したなら
ば、UIEが、そのバイナリ表示のデータ構造体からソ
ース・タグを生成し、その生成したソース・タグを、ユ
ーザ指定されたファイルの中へ書込む。
【0035】以上のようにして得られたシステムは、テ
キストと図形画像とを共にサポートするシステムであっ
て、しかも、使用法の習得が容易で使用法自体も簡単な
クライアント・サーバー式のグラフィカル・ユーザ・イ
ンターフェース機能を提供するシステムとなっている。
このシステムは、あるアプリケーション・プログラムの
全ライフ・サイクルに亙って、GUIと、ユーザ・イン
ターフェース・アプリケーションのパネル及びソフトウ
ェアとを開発及び保守するための、生産性の高い環境を
提供するものとなっている。また、この本発明のグラフ
ィカル・ユーザ・インターフェース・システムは、非同
期の、事象駆動形のプログラミングをサポートする、グ
ラフィカル・ユーザ・インターフェースとなっている。
【0036】グラフィカル・ユーザ・インターフェース
・ソース・コード・ファイル及びグラフィカル・ユーザ
・インターフェース・エディター グラフィカル・ユーザ・インターフェース・エディター
(GUIE)は、ウィンドウ、メッセージ・ボックス、
及びコントロールを、アイコンで表示することのでき
る、視覚的インターフェースである。ユーザは先ず、マ
ウスや、タッチ・パネルや、カーソル・キー等を使用し
て、ウィンドウやメッセージ・ボックスの中へ、コント
ロールを移動させる。こうしてコントロールを移動させ
たならば、移動させたコントロールに属性を付与する。
この、属性を付与するアクションの結果として、パネル
定義ファイル(.PDFファイル)の定義、生成、ないしは
変更が生ずる。更には、エンドユーザは、このユーザ・
インターフェース・エディターを使用して、テキスト・
エディターを用いて構築された、.PDFファイルの中に格
納されているソース・タグをディスプレイさせたり、そ
のソース・タグに対して変更を加えたりすることもでき
る。ユーザは、任意のテキスト・エディターを使用し
て、ウィンドウ、メッセージ・ボックス、それにコント
ロールを構築することができる。例えば、エンドユーザ
は、ウィンドウを生成したければ「:windowdef」と、ま
た、メッセージ・ボックスを生成したければ「:messag
e」と、夫々タイピングして打ち込めば良い。この方法
によって、ユーザは、ユーザ・インターフェース・エデ
ィターか或いはテキスト・エディターを用いてパネル定
義ファイル(.PDFファイル)に格納されている任意のソ
ース・タグを、テキスト・エディターを使うことによ
り、ディスプレイ上に表示させたり、そのソース・タグ
に対して変更を加えたりすることができる。
【0037】次のステップは、例えばウィンドウやメッ
セージ・ボックス等を収容しているそのパネル定義ファ
イル(.PDFファイル)を、セーブするステップである。
この「セーブ」のアクションを実行すると、自動的に、
そのときセーブしようとしているウィンドウないしメッ
セージ・ボックスをソース・タグに変換し、そのソース
・タグには、UIツールがウィンドウないしメッセージ
・ボックスを生成する際に必要とする定義が含まれてい
る。
【0038】ユーザ・インターフェース・エディターま
たはテキスト・エディターを用いて構築されたパネル定
義ファイル(.PDFファイル)を、ユーザが後にオープン
したときには、その「オープン」のアクションが実行さ
れることによって、そのパネル定義ファイル(.PDFファ
イル)に格納されていたソース・タグが、コンパイルさ
れて、ウィンドウないしメッセージ・ボックスとして、
ディスプレイ上に表示される。
【0039】パネルを定義するには、タグを用いて定義
する。タグとは、何らかのデータ集合に付随させる1つ
ないし複数の文字であり、そのデータ集合に関する(例
えばそのデータ集合の識別情報等をはじめとする)様々
な情報を包含させたものである。タグのうちには、言語
オブジェクトのオブジェクト名を表わす字句単位を成し
ているものもある。その例を挙げるならば、変数名、配
列名、レコード名、ラベル名、それにプロシージャー名
等である。また、タグのうちには、ファイルの中のデー
タに関する様々な状態を明示する一組のビットないし文
字であるものもある。この種のビットないし文字は、し
ばしば、そのファイルのヘッダー・レコードの中で使用
されており、例えば、ファイル、フィールド、パラグラ
フ、或いはその他のオブジェクト等の、種々のデータ構
造体に対して付された、名や、略号とされている。
【0040】1つの「タグ」は、そのタグに固有のタグ
名と、様々な種類の必要なパラメータないしオプション
のパラメータとから構成されている。また、ユーザは、
ウィンドウ定義タグ、ないしはメッセージ・ボックス定
義タグの中に、コントロール・タグをタイピングして打
ち込むことによって、ウィンドウ、ないしはメッセージ
・ボックスの中に、コントロールを追加することができ
る。タグ・タイプには、以下のものがある。 コンパイラー・タグ:コンパイラー・タグは、コンパイ
ラーに対して情報を明示ないし指定するタグである。こ
の情報は、コンパイラーを制御するために使用される情
報であることもあれば、また、その他のタグが参照すべ
き情報を明示ないし指定するために使用される情報であ
ることもある。このコンパイラー・タグに含まれるの
は、ヘルプ・テキスト定義タグ、ヘルプ・テキスト・タ
グ、ラベル定義タグ、資源定義タグ、テキスト・ストリ
ング定義タグ、それに、ユーザ・インターフェース定義
ファイル識別子等である。 メッセージ・ボックス及びウィンドウ定義タグ:メッセ
ージ・ボックス及びウィンドウ定義タグは、あるメッセ
ージ・ボックスまたはあるウィンドウの始まりと終りと
を明示するタグである。 レイアウト・タグ:レイアウト・タグは、ウィンドウ定
義の中のコントロールのための、列と行の配列について
の情報をはじめとするレイアウト関係の様々な情報を明
示ないし指定するタグである。このレイアウト・タグに
含まれるのは、列タグ、部タグ、ライン・モード・タ
グ、ウィンドウ倍率タグ、スペース・タグ、それに、サ
ブアイテム・タグ等である。 コントロール・タグ:コントロール・タグには、ウィン
ドウ定義の中に表示する実際の内容を指定するものもあ
り、また、メッセージ・ボックスの中に表示するコント
ロールを指定するものもある。ウィンドウ定義関係のコ
ントロール・タグには、チェック・ボックス、列見出
し、列見出しグループ、コンビネーション・ボックス、
ドロップ・ダウン・コンビネーション・ボックス、ドロ
ップ・ダウン・リスト、エントリー・フィールド、グル
ープ、アイコン、リスト、リスト・アイテム、メニュー
・アイテム・グループ、メニュー・アイテム、出力フィ
ールド、ファンクション・キー・エリア・プッシュ・ボ
タン、プッシュ・ボタン、ラジオ・ボタン、それに、ス
タティック・テキスト等のタグがある。また、メッセー
ジ・ボックス定義関係のコントロール・タグには、メッ
セージボックス・プッシュ・ボタンや、メッセージ・テ
キスト等のタグがある。
【0041】ウィンドウないしメッセージ・ボックスを
定義するには、一連の複数のタグによって定義する。1
つのタグは、そのタグに固有のタグ名に、必要なパラメ
ータないしオプションのパラメータを付加したもので構
成される。1つのタグの構造は、次のようなものとな
る。 :tagname parameter=value parameter=value parameter=value (:タグ名 パラメータ=値 パラメータ=値 パラメータ=値)
【0042】パネル定義ファイル(.PDFファイル)と、
この.PDFファイルを構成している複数のタグとは、以下
の諸特性を備えたものとしている。先ず第1に、新たな
タグは、改行した新たな行から始まる。第2に、空行は
無視される。第3に、タグ及びパラメータは大文字小文
字を区別しない。第4に、1つのタグは先頭のコロンを
もって始まる。第5に、タグ行(タグを記載してある
行)は、その次の行へと連続することができ、従って、
パネル定義ファイル(.PDFファイル)の複数行に亙って
存在することができる。第6に、タグ行に存在する前置
きのスペースは無視され、これは、ソース行が引用符付
きストリングの途中で分割されている場合にも適用され
る。第7に、タグ行は常にピリオドをもって終了する。
【0043】ブロック・タグは、一対で使用するタグで
ある。ブロック・タグを使用するのは、通常、その他の
一連のタグから成るタグ集合体を括るためである。一対
のブロック・タグのうちの終了タグは、開始タグと同じ
形に、ただし、開始タグの頭にフォワード・スラッシュ
を付加した形で定義する。例えば、あるブロックにおい
て、その先頭タグが「WINDOWDEF 」であったならば(即
ち、それがウィンドウ定義用のブロックであったな
ら)、そのブロックの終了タグは「/WINDOWDEF」とす
る。
【0044】既に存在しているウィンドウないしメッセ
ージ・ボックスは、.PDFファイルの中に格納されている
複数のソース・タグによって構成されている。その.PDF
ファイルを「オープン」したときには、その.PDFファイ
ルの中に存在しているソース・タグが、コンパイルされ
て、ウィンドウないしメッセージ・ボックスとしてディ
スプレイ上に表示される。また、「セーブ」のアクショ
ンを実行すると、それによって、ソース・タグが、.PDF
ファイルに書込まれる。.PDFファイルは、パネル全体に
対応したエントリーと、そのパネルの中の各オブジェク
トに対応したエントリーと、それらエントリーを、より
大きなオブジェクトの中にネストされたサブオブジェク
トの各々に対応させて連結する連係リストとを含んでい
る必要がある。この連係リストは、その中の各エントリ
ーが、この連係リストの中の次のエントリーを包含した
フィールドを備えているようにしてある。
【0045】従来のグラフィカル・ユーザ・インターフ
ェース・エディターに付随していた問題の1つに、変更
を施したファイルをコンパイルしてセーブしたならば、
ソース・ファイルのレベルでは、それまでに施した変更
の内容が失われてしまうということがあった。
【0046】本発明に係る、ユーザ・インターフェース
・エディター(UIE)とユーザ・インターフェース・
コンパイラー(UIC)との間のインターフェースを使
用しているときには、エンドユーザがソース・ファイル
を生成する。エンドユーザが生成したソース・ファイル
は、グラフィカル・ユーザ・インターフェースのパネル
(GUIパネル)を定義したタグ言語を収容している。
このようなソース・ファイルは、UIEを使用すること
によっても得られ、或いは、テキスト・エディターでタ
グを編集することによっても得られる。
【0047】タグ言語ファイルは、UIEへの唯一の入
力であり、またUIEの唯一の出力でもある。UIEに
よってタグ言語ファイルが生成されたならば、そのタグ
言語ファイルに対してテキスト・エディターで変更を加
え、その後に、そのタグ言語ファイルを再びUIEの中
へ読込むようにすることができる。こうして施した変更
の内容は、その全てが、UIEが生成したそのタグ言語
ファイルの中に収容されて保存される。そして、これに
よって、元のソース・ファイルにいかなる編集が加えら
れたかにかかわらず、ソース・ファイルの完全性が維持
されるようになっている。また、このプロセスは必要に
応じて何度でも反復して実行することができるため、ユ
ーザが行なうパネルを生成する作業や、パネルに変更を
加える作業に、最大限の融通性が付与されている。この
ように最大限の融通性を付与することが可能となってい
るのは、UIEとUICとを完全に統合したことと、U
ICをコールするのに、プロセス・コールではなく、ア
プリケーション・プログラム・インターフェースとして
コールするようにしたこととによるものである。タグ言
語ファイルがUIEの中へ読込まれたならば、UIEは
以下の機能を実行してUICを呼出す。TAGファイル
(タグ・ファイル)をオープンする。(その中に2つ以
上のパネル定義ファイルが収容されていたならば)その
名によってパネルを選択する。パネル・バイナリ中間フ
ァイルからの読取りを行なう。
【0048】以上の擬似コードによって、ユーザ・イン
ターフェース・コンパイラー(UIC)が呼出される。
呼出されたユーザ・インターフェース・コンパイラー
(UIC)は、ソース・タグをバイナリ表示に変換し、
その変換したバイナリ表示をファイルに書込む。続いて
ユーザ・インターフェース・エディター(UIE)が、
そのバイナリ・ファイルを、メモリの中のデータ構造体
の中へ読込み、その読込んだ内容を使用して、ユーザが
行なうあらゆるパネル更新操作を追跡する。ユーザが所
望の全ての変更を完了したならば、UIEが、そのバイ
ナリ表示のデータ構造体からソース・タグを生成し、そ
の生成したソース・タグを、ユーザ指定されたファイル
の中へ書込む。
【0049】グラフィカル・ユーザ・インターフェース
・ソース・コード・ファイルをコンパイルしてグラフィ
カル・ユーザ・インターフェース・オブジェクト・コー
ド・ファイルを得ることについて 図7〜図9は、様々なファイル・タイプと本発明の夫々
のステップの関係を詳細に示した図であり、図6は、そ
れら図7〜図9の並べ方を示した図である。図7におい
て、先ず、パネル定義ファイル(.PDFファイル)が、エ
ンドユーザによって生成される。エンドユーザは、グラ
フィカル・ユーザ・インターフェース・エディターまた
はテキスト・エディターを使用して、この.PDFファイル
を生成する。続いてユーザ・インターフェース・コンパ
イラー(UIコンパイラー)が、その.PDFファイルを、
パネル・バイナリ中間ファイル(.PBIファイル)へ変換
する。続いてユーザ・インターフェース・リンカーがコ
ールされる。ユーザ・インターフェース・リンカーは、
パネル定義情報を収容するための、様々な種類のファイ
ルを生成する。生成されるそれらファイルには、以下の
ファイル・タイプのものが含まれている。 .BIN:.PBIファイルの各々に対して、.BINファイルを1
つずつ生成する。.BINファイルは、パネルを構築するた
めのバイナリ命令を収容するファイルである。 .PDI:.PDIファイル(パネル定義中間ファイル)を1つ
生成する。.PDIファイルは.PDFファイルの中に定義され
ている.BINファイル及び資源ファイルの各々に対応した
「組込みステートメント」を収容するファイルである。 .H:.Hファイルを1つ生成する。.Hファイルは、そのパ
ネルの中に定義されている、あらゆるコントロール、テ
キスト・ストリング、ヘルプ・パネル、等々に対応した
#DEFINEステートメントを収容するファイルである。ま
た、.HファイルはUI構成要素と共に使用されるアプリ
ケーションの中に収容される。 .PMI:.PMIファイル(パネル・マシン・リーダブル情報
ファイル)を、1つ生成する。.PMIファイルは、マシン
・リーダブルなファイルであり、あらゆるパネルにおけ
る、あらゆるテキストを収容するファイルである。 .PHI:.PHIファイル(パネル・ヘルプ中間ファイル)を
1つ生成する。.PHIファイルは、あらゆるヘルプ・パネ
ルにおける、あらゆるヘルプ・パネル・テキストを収容
するファイルである。 .DEF:暫定ファイルである.DEFファイル(定義ファイ
ル)を2つ生成する。これらの.DEFファイルは、後の構
築プロセスにおけるステップで使用するファイルであ
る。
【0050】図8について説明すると、.DEFファイルと
STUBファイルとが、リンカーによってリンクされ、ま
た、.BINファイルの出力と.PDIファイルと.Hファイルと
がコンパイルされて、.PDLファイル(パネル定義ライブ
ラリー・ファイル)が生成されている。図9について説
明すると、.DEFファイルとSTUBファイルとが、リンカー
によってリンクされ、また、.PMIファイルの出力と.Hフ
ァイルとがコンパイルされて、.PMLファイル(パネル・
メッセージ・ライブラリー・ファイル)が生成されてい
る。続いて、結果として得られた出力が、適当なファイ
ルに格納される。
【0051】
【発明の効果】以上から分かるように、本発明によって
提供されるグラフィカル・ユーザ・インターフェース・
エディターは、エンドユーザが、グラフィカル・ユーザ
・インターフェースを定義し、生成し、ないしは編集す
ることを、可能にするものである。しかもこれは、ユー
ザ・フレンドリーなグラフィカル・ユーザ・インターフ
ェース・エディターによって達成しており、即ち、ウィ
ズィウィグ(WYSIWYG)式エディター及びテキス
ト・エディターの一方又は両方を交換可能に利用するよ
うにした、グラフィカル・ユーザ・インターフェース・
エディターによって達成している。
【0052】本発明のグラフィカル・ユーザ・インター
フェース・エディターによれば、結果として得られた
(即ち、編集を加えた、或いは生成した)GUIパネル
をコンパイルしてセーブしておくことができる能力がエ
ンドユーザに付与され、更に、編集後のGUIパネルに
対応した編集後のソース・コードをセーブする能力もエ
ンドユーザに付与される。これによって、エンドユーザ
の能力が強化され、グラフィカル・ユーザ・インターフ
ェース・ファイルに対して更に変更を加えることも、ま
た更には、グラフィカル・ユーザ・インターフェース・
ファイルをコピーすることも可能になっている。
【図面の簡単な説明】
【図1】従来例に係るグラフィカル・ユーザ・インター
フェースを示した図である。
【図2】本発明に係るグラフィカル・ユーザ・インター
フェース・エディターの全体像を示したフローチャート
である。
【図3】本発明に係るグラフィカル・ユーザ・インター
フェース・エディターにおける複数のモジュールとそれ
らモジュールの間の関係を示した図である。
【図4】ユーザ・アクセス可能なタグ・ファイル(.PDF
ファイル)の一部を示したリストであり、図5へ続く図
表である。
【図5】ユーザ・アクセス可能なタグ・ファイル(.PDF
ファイル)の一部を示したリストであり、図4から続く
図表である。
【図6】図7〜図9の並べ方を示した図である。
【図7】本発明に係るモジュールとプロセスの関係を示
した模式図の一部であり、図8及び図9と組合せる図で
ある。
【図8】本発明に係るモジュールとプロセスの関係を示
した模式図の一部であり、図7及び図9と組合せる図で
ある。
【図9】本発明に係るモジュールとプロセスの関係を示
した模式図の一部であり、図7及び図8と組合せる図で
ある。
【符号の説明】
1 グラフィカル・ユーザ・インターフェースのパネル 11、21、31 図形画像
───────────────────────────────────────────────────── フロントページの続き (72)発明者 スコット・アンソニー・シルベスター アメリカ合衆国13760、ニューヨーク州 エンディコット、ボスウェル・ヒル 125 番地

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 グラフィカル・ユーザ・インターフェー
    ス・パネル・ファイルを、定義すること、生成するこ
    と、または編集することのうちの、1つないし2つ以上
    を行なう方法において、 a) グラフィカル・ユーザ・インターフェース・ソー
    ス・コード・ファイルをオープンするステップと、 b) 前記グラフィカル・ユーザ・インターフェース・
    ソース・コード・ファイルをコンパイルして、グラフィ
    カル・ユーザ・インターフェース・オブジェクト・コー
    ド・ファイルを形成するステップと、 c) コンパイルして得られた前記グラフィカル・ユー
    ザ・インターフェース・オブジェクト・コード・ファイ
    ルをパネル・バイナリ中間ファイルに格納するステップ
    と、を含んでいることを特徴とする方法。
  2. 【請求項2】 前記グラフィカル・ユーザ・インターフ
    ェース・ソース・コード・ファイルを、グラフィカル・
    ユーザ・インターフェース・エディターにおいてオープ
    ンするようにしたこと、を特徴とする請求項1記載の方
    法。
  3. 【請求項3】 グラフィカル・ユーザ・インターフェー
    ス定義用タグファイルを収容しているグラフィカル・ユ
    ーザ・インターフェース・ソース・コード・ファイルを
    オープンするようにしたこと、を特徴とする請求項1記
    載の方法。
  4. 【請求項4】 前記タグ・ファイルがパネルを記述して
    いるファイルであること、を特徴とする請求項3記載の
    方法。
  5. 【請求項5】 前記タグ・ファイルがグラフィカル・ユ
    ーザ・インターフェース・パネルの中のオブジェクトを
    記述しているファイルであること、を特徴とする請求項
    3記載の方法。
  6. 【請求項6】 前記グラフィカル・ユーザ・インターフ
    ェース・ソース・コード・ファイルがユーザ定義された
    パネル定義ファイルであること、を特徴とする請求項3
    記載の方法。
  7. 【請求項7】 アプリケーション・プログラム・インタ
    ーフェースを介してユーザ・インターフェース・コンパ
    イラーをコールするステップを含んでいること、を特徴
    とする請求項1記載の方法。
  8. 【請求項8】 グラフィカル・ユーザ・インターフェー
    ス・パネル・ファイルを、定義すること、生成するこ
    と、または編集することのうちの、1つないし2つ以上
    を行なう方法において、 a) パネルを記述しているソース・コード・タグ・フ
    ァイルの連係リストを収容しているグラフィカル・ユー
    ザ・インターフェース・ソース・コード・ファイルを、
    グラフィカル・ユーザ・インターフェース・エディター
    においてオープンするステップと、 b) アプリケーション・プログラム・インターフェー
    スを介してユーザ・インターフェース・コンパイラーを
    コールするステップと、 c) 前記ユーザ・インターフェース・コンパイラーに
    おいて前記グラフィカル・ユーザ・インターフェース・
    ソース・コード・ファイルをコンパイルして、グラフィ
    カル・ユーザ・インターフェース・オブジェクト・コー
    ド・ファイルを形成するステップと、 d) コンパイルして得られた前記グラフィカル・ユー
    ザ・インターフェース・オブジェクト・コード・ファイ
    ルをパネル・バイナリ中間ファイルに格納するステップ
    と、を含んでいることを特徴とする方法。
JP5025803A 1992-04-07 1993-02-15 ウィズィウィグ式エディターとコンパイラーとを統合したグラフィカル・ユーザ・インターフェース Pending JPH0683594A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US86476792A 1992-04-07 1992-04-07
US864767 1992-04-07

Publications (1)

Publication Number Publication Date
JPH0683594A true JPH0683594A (ja) 1994-03-25

Family

ID=25344029

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5025803A Pending JPH0683594A (ja) 1992-04-07 1993-02-15 ウィズィウィグ式エディターとコンパイラーとを統合したグラフィカル・ユーザ・インターフェース

Country Status (2)

Country Link
EP (1) EP0564790A2 (ja)
JP (1) JPH0683594A (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000072184A2 (en) * 1999-05-24 2000-11-30 Matsushita Mobile Communication Development Corp. Of U.S. A platform independent system of specifying an embedded user interface
GB2350911B (en) 1999-06-10 2004-06-09 Ibm Form data files generator
US7657554B2 (en) * 2004-11-05 2010-02-02 Microsoft Corporation Method and system for managing user interface messages
IN2013MU02887A (ja) 2013-09-05 2015-07-03 Tata Consultancy Services Ltd
CN115904353B (zh) * 2023-03-02 2023-06-23 上海合见工业软件集团有限公司 一种用户界面的目标源文件的生成方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04111077A (ja) * 1990-08-30 1992-04-13 Nec Ic Microcomput Syst Ltd グラフィック処理の動作実現ツール

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04111077A (ja) * 1990-08-30 1992-04-13 Nec Ic Microcomput Syst Ltd グラフィック処理の動作実現ツール

Also Published As

Publication number Publication date
EP0564790A2 (en) 1993-10-13
EP0564790A3 (ja) 1994-01-19

Similar Documents

Publication Publication Date Title
US5347629A (en) Graphical user interface including updating of multiple panels using what you see is what you get (WYSIWYG) editor
US5347627A (en) Graphical user interface including dynamic sizing and spacing
US6466240B1 (en) Method for visually writing programs or scripts that transform structured text presented as a tree
CN100440194C (zh) 使用dhtml和xslt编写任意xml文档
US5710926A (en) Developers tool for object-oriented programming
CA2819008C (en) Method and system for displaying selectable autocompletion suggestions and annotations in mapping tool
US8386919B2 (en) System for displaying an annotated programming file
US5398312A (en) Method of creating, defining, or editing a graphical user interface panel file
JP2008512794A (ja) オブジェクト処理グラフアプリケーション開発システム
JP2006107478A (ja) ワークフローを設計するための拡張可能フレームワーク
US7409642B2 (en) Method and system for applying user interface elements to data
Atkinson et al. Harmonizing textual and graphical visualizations of domain specific models
JPH064280A (ja) ウィズィウィグ式エディターでオブジェクトをユーザ制御する機能を備えたグラフィカル・ユーザ・インターフェース
JPH0683594A (ja) ウィズィウィグ式エディターとコンパイラーとを統合したグラフィカル・ユーザ・インターフェース
Topley Core Swing: advanced programming
CN114879957A (zh) 一种利用可扩展标签语言编辑Eclipse界面及调用工具的方法
Noble et al. Functional languages and graphical user interfaces: a review and a case study
Barzdins et al. An MDE-based graphical tool building framework
JP3988900B2 (ja) 文書処理装置およびそのプログラム記憶媒体
LEHRHUBER Pdf support for qualitative research in the cloud
Baumgartner Domain-Driven Design Refactoring Tool
JP2001134423A (ja) 対話型既存システムを利用する新システムの画面情報出力方法
Neuendorffer ADEW A Multimedia Interface Builder for Andrew
Bertot et al. The ctcoq experience
Rogers The GRClass visual programming system