JPH0833834B2 - 表示パネル生成方法 - Google Patents
表示パネル生成方法Info
- Publication number
- JPH0833834B2 JPH0833834B2 JP1010095A JP1009589A JPH0833834B2 JP H0833834 B2 JPH0833834 B2 JP H0833834B2 JP 1010095 A JP1010095 A JP 1010095A JP 1009589 A JP1009589 A JP 1009589A JP H0833834 B2 JPH0833834 B2 JP H0833834B2
- Authority
- JP
- Japan
- Prior art keywords
- panel
- display
- tag
- list
- help
- 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 - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Digital Computer Display Output (AREA)
Description
【発明の詳細な説明】 A.産業上の利用分野 本発明は、複数のプログラムのための情報を記述し、
検索し、変更し、処理し、表示装置(ディスプレイ)へ
供給することに関し、具体的には、個々のアプリケーシ
ョン・プログラムを画面及びそれに関係する操作援助メ
ッセージに関連する定形的プログラミングから解放す
る、画面管理システムに関するものである。
検索し、変更し、処理し、表示装置(ディスプレイ)へ
供給することに関し、具体的には、個々のアプリケーシ
ョン・プログラムを画面及びそれに関係する操作援助メ
ッセージに関連する定形的プログラミングから解放す
る、画面管理システムに関するものである。
B.従来技術及びその問題点 新しい計算システムを開発する際、多くのプログラミ
ング・タスク、特にアプリケーション・プログラムに関
連するプログラミング・タスクを並行して進めなければ
ならない。新しい計算システムの発表時には、顧客のニ
ーズを満足させるのに十分なアプリケーション・プログ
ラムが使用可能であることが必要である。潜在的顧客
は、実際に、アプリケーション・プログラムが不足して
いるために使用することができない新しいシステムを購
入するのを好まない。したがって、計算システムの開発
中に種々のアプリケーション・プログラムを同時に開発
することが必要である。通常は、新システム用のアプリ
ケーション・プログラムは、同じ種類の前のプログラム
を書いたのと同じプログラミング・グループが書いてい
る。すなわち、特定のシステム用の各アプリケーション
・プログラムがそれぞれ異なるグループによって書かれ
る。従来は、そのために、各アプリケーション・プログ
ラムが異なる「外観」を有することになった。すなわ
ち、画面の様式が異なり、特定のクラスの情報に使用す
る色が異なり、コマンド行及びメッセージの位置が異な
り、一般に操作員に提示される外観が異なっていた。さ
らに、従来の手法は、各アプリケーション・プログラム
で表示機能を複写していたため、表示装置自体の外部で
非効率性及び複雑性が生じていた。たとえば、複数のプ
ログラムによって使用されるデータは、使用する各プロ
グラムが記憶する。そのため余分の記憶空間を要し、変
更が加えられたとき、各位置を更新する必要がある。
ング・タスク、特にアプリケーション・プログラムに関
連するプログラミング・タスクを並行して進めなければ
ならない。新しい計算システムの発表時には、顧客のニ
ーズを満足させるのに十分なアプリケーション・プログ
ラムが使用可能であることが必要である。潜在的顧客
は、実際に、アプリケーション・プログラムが不足して
いるために使用することができない新しいシステムを購
入するのを好まない。したがって、計算システムの開発
中に種々のアプリケーション・プログラムを同時に開発
することが必要である。通常は、新システム用のアプリ
ケーション・プログラムは、同じ種類の前のプログラム
を書いたのと同じプログラミング・グループが書いてい
る。すなわち、特定のシステム用の各アプリケーション
・プログラムがそれぞれ異なるグループによって書かれ
る。従来は、そのために、各アプリケーション・プログ
ラムが異なる「外観」を有することになった。すなわ
ち、画面の様式が異なり、特定のクラスの情報に使用す
る色が異なり、コマンド行及びメッセージの位置が異な
り、一般に操作員に提示される外観が異なっていた。さ
らに、従来の手法は、各アプリケーション・プログラム
で表示機能を複写していたため、表示装置自体の外部で
非効率性及び複雑性が生じていた。たとえば、複数のプ
ログラムによって使用されるデータは、使用する各プロ
グラムが記憶する。そのため余分の記憶空間を要し、変
更が加えられたとき、各位置を更新する必要がある。
新しい計算システム用に開発されたアプリケーション
・プログラム間で画面の統一性がないため、プログラム
をテストする際に問題が生じる。各アプリケーション
は、情報を表示装置に提供するためそれ自体のコードを
有するので、その目的及び機能が非常に冗長なものであ
ったとしても、各プログラムごとにこのコードをテスト
しなければならない。さらに、特定のフィールドに関し
て援助を求める操作員の要求等に応答して発生される操
作援助メッセージを、各アプリケーション・プログラム
ごとに個別に書き、テストしなければならない。
・プログラム間で画面の統一性がないため、プログラム
をテストする際に問題が生じる。各アプリケーション
は、情報を表示装置に提供するためそれ自体のコードを
有するので、その目的及び機能が非常に冗長なものであ
ったとしても、各プログラムごとにこのコードをテスト
しなければならない。さらに、特定のフィールドに関し
て援助を求める操作員の要求等に応答して発生される操
作援助メッセージを、各アプリケーション・プログラム
ごとに個別に書き、テストしなければならない。
開発及びテストに伴う困難は、問題の一部にすぎな
い。この問題は、趣味や家庭用にパーソナル・コンピュ
ータを使用するにすぎない人々にさえもよく知られてい
る。そのようなシステムでは、通常異なるソフトウェア
・ソースからの種々のアプリケーション・プログラムを
使用する。あるプログラムから別のプログラムに切り換
えるとき、画面様式も変える。しかし、アプリケーショ
ン・プログラムを同時に開発することが難しいため、同
じ販売業者から供給されたプログラムでもこの問題が存
在することがある。
い。この問題は、趣味や家庭用にパーソナル・コンピュ
ータを使用するにすぎない人々にさえもよく知られてい
る。そのようなシステムでは、通常異なるソフトウェア
・ソースからの種々のアプリケーション・プログラムを
使用する。あるプログラムから別のプログラムに切り換
えるとき、画面様式も変える。しかし、アプリケーショ
ン・プログラムを同時に開発することが難しいため、同
じ販売業者から供給されたプログラムでもこの問題が存
在することがある。
画面に統一性がないことは単なる不便以上のものがあ
る。この状態は、操作員の生産の低下、エラー率の拡
大、コンピュータ操作員の不満、さらに結局は、顧客の
不満を招く原因となる。
る。この状態は、操作員の生産の低下、エラー率の拡
大、コンピュータ操作員の不満、さらに結局は、顧客の
不満を招く原因となる。
従来技術は、アプリケーション・プログラム間の画面
の統一性の欠如よりも、同じシステム上に異なる表示装
置を収容することに関連する問題の方により関心を抱い
ていた。従来技術はまた、旧システムに新しい表示装置
を追加するときに生じる問題に対処してきた。
の統一性の欠如よりも、同じシステム上に異なる表示装
置を収容することに関連する問題の方により関心を抱い
ていた。従来技術はまた、旧システムに新しい表示装置
を追加するときに生じる問題に対処してきた。
従来技術の適例は、米国特許4586158号である。この
特許は、アプリケーション・プログラム間のインターフ
ェース及び表示画面上で情報の物理的提示を行なうマッ
ピング・サービスについて記載している。簡単に述べる
と、マッピング・サービスのプログラム論理は、アプリ
ケーション・プログラムの様式で表わされたデータを、
指定された一組の規則に基づいて別の様式に変換する。
複数のアプリケーション・プログラムに共通な表示デー
タをいかにして共用することができるかに関する示唆は
ない。このシステムは一組の所定の規則に従って記憶デ
ータを変更するもので、どのようにデータを指定すれば
再様式化する必要なく、すべての表示装置及び画面が均
一に使用できるようになるかについての示唆はない。
特許は、アプリケーション・プログラム間のインターフ
ェース及び表示画面上で情報の物理的提示を行なうマッ
ピング・サービスについて記載している。簡単に述べる
と、マッピング・サービスのプログラム論理は、アプリ
ケーション・プログラムの様式で表わされたデータを、
指定された一組の規則に基づいて別の様式に変換する。
複数のアプリケーション・プログラムに共通な表示デー
タをいかにして共用することができるかに関する示唆は
ない。このシステムは一組の所定の規則に従って記憶デ
ータを変更するもので、どのようにデータを指定すれば
再様式化する必要なく、すべての表示装置及び画面が均
一に使用できるようになるかについての示唆はない。
C.発明が解決しようとする問題点 本発明の主な目的は、複数のアプリケーション・プロ
グラムが表示パネルの構成要素としての複数の表示オブ
ジェクトを容易に共用できるような態様で、表示パネル
を生成する方法を提供することである。
グラムが表示パネルの構成要素としての複数の表示オブ
ジェクトを容易に共用できるような態様で、表示パネル
を生成する方法を提供することである。
本発明のもう1つの目的は、表示を構成する要素、す
なわちオブジェクトが、複数の表示装置及びアプリケー
ション・プログラムが使用できるように、一般的方法で
指定されるという、表示装置−アプリケーション・プロ
グラム・インターフェースを提供することである。
なわちオブジェクトが、複数の表示装置及びアプリケー
ション・プログラムが使用できるように、一般的方法で
指定されるという、表示装置−アプリケーション・プロ
グラム・インターフェースを提供することである。
本発明のもう1つの目的は、複数のアプリケーション
・プログラム及び表示装置に共通な操作員援助メッセー
ジの使用に対応できる表示装置/アプリケーション・プ
ログラム・インターフェースを提供することである。
・プログラム及び表示装置に共通な操作員援助メッセー
ジの使用に対応できる表示装置/アプリケーション・プ
ログラム・インターフェースを提供することである。
本発明のさらにもう1つの目的は、特定のパネルでの
オブジェクトの指定が、適当な操作員援助(ヘルプ)メ
ッセージの選択基準を提供するという、表示装置/アプ
リケーション・プログラム・インターフェースを提供す
ることである。
オブジェクトの指定が、適当な操作員援助(ヘルプ)メ
ッセージの選択基準を提供するという、表示装置/アプ
リケーション・プログラム・インターフェースを提供す
ることである。
上記及びその他の目的、特徴及び利点は、タグを使っ
てすべてのオブジェクト、たとえば、パネル、すなわち
パネル・タイトル、単一データ画面、命令行、データ入
力域、メニュー域またはコマンド行を参照するアプリケ
ーション・プログラム/表示装置インターフェースによ
って実現される。各タグは、タグ名及び1つまたは複数
の属性(アトリビュート)を含んでいる。
てすべてのオブジェクト、たとえば、パネル、すなわち
パネル・タイトル、単一データ画面、命令行、データ入
力域、メニュー域またはコマンド行を参照するアプリケ
ーション・プログラム/表示装置インターフェースによ
って実現される。各タグは、タグ名及び1つまたは複数
の属性(アトリビュート)を含んでいる。
D.問題点を解決するための手段 各パネル、すなわちデータの表示画面は、タイトル、
及び命令行、データ入力行、メニュー域、コマンド行等
のオブジェクトのタグの付いた記述によって定義され
る。これらのオブジェクトは、それぞれ、同じ構文で記
述された他のオブジェクトを含むことができる。パネル
定義は、原始ファイル中で統合されてパネル・グループ
を形成する。オブジェクトはすべてのパネルによって共
用されることが可能である。
及び命令行、データ入力行、メニュー域、コマンド行等
のオブジェクトのタグの付いた記述によって定義され
る。これらのオブジェクトは、それぞれ、同じ構文で記
述された他のオブジェクトを含むことができる。パネル
定義は、原始ファイル中で統合されてパネル・グループ
を形成する。オブジェクトはすべてのパネルによって共
用されることが可能である。
更に具体的に言えば、表示パネルを構成するための1
つ以上の表示オブジェクトの夫々に表示オブジェクト・
タグを関連させ、表示パネルについては可変タイトルを
指定する。表示オブジェクト・タグと可変タイトルとの
関連付けは、パネル・タグによって行う。そして、パネ
ル・タグ、可変タイトル、表示オブジェクト・タグ及び
表示オブジェクトを記憶装置に記憶する。表示パネルの
表示には、パネル・タグを指定すればよく、そのパネル
・タグに基づいて記憶装置をアクセスすることにより、
関連する可変タイトル及び表示オブジェクトを捜し出し
て、それ等を表示装置において表示する。
つ以上の表示オブジェクトの夫々に表示オブジェクト・
タグを関連させ、表示パネルについては可変タイトルを
指定する。表示オブジェクト・タグと可変タイトルとの
関連付けは、パネル・タグによって行う。そして、パネ
ル・タグ、可変タイトル、表示オブジェクト・タグ及び
表示オブジェクトを記憶装置に記憶する。表示パネルの
表示には、パネル・タグを指定すればよく、そのパネル
・タグに基づいて記憶装置をアクセスすることにより、
関連する可変タイトル及び表示オブジェクトを捜し出し
て、それ等を表示装置において表示する。
E.実施例 第1図に示す表示画面を定義し管理するため、画面本
位の高水準言語が使用される。いくつかのアプリケーシ
ョン・プログラムを使用するデータ処理システムでは、
システム・プログラムは、ブロック1に示される高水準
言語を使って特定のアプリケーション・プログラム用の
画面を定義する。次に、このプログラムをコンパイラ2
でコンパイルして、パネル・グループ・オブジェクト3
を作成する。アプリケーション・プログラム4は、変数
プール6にアクセスし装置サポート7とインターフェー
スするパネル・アプリケーション実行サポート5によっ
て、パネル・グループ・オブジェクトと対話する。表示
装置8は、装置サポート7の制御下で動作する。
位の高水準言語が使用される。いくつかのアプリケーシ
ョン・プログラムを使用するデータ処理システムでは、
システム・プログラムは、ブロック1に示される高水準
言語を使って特定のアプリケーション・プログラム用の
画面を定義する。次に、このプログラムをコンパイラ2
でコンパイルして、パネル・グループ・オブジェクト3
を作成する。アプリケーション・プログラム4は、変数
プール6にアクセスし装置サポート7とインターフェー
スするパネル・アプリケーション実行サポート5によっ
て、パネル・グループ・オブジェクトと対話する。表示
装置8は、装置サポート7の制御下で動作する。
「オブジェクト」は表示画面上に置かれる項目であ
り、タグを用いて指定される。このオブジェクトにつけ
られるタグを表示オブジェクト・タグと呼ぶ。各タグ
は、オブジェクトの性質をさらに詳しく定義する属性を
有することができる。ソースでまたは実行時にアプリケ
ーション・プログラムが参照する必要があるオブジェク
トは、名前属性を有する。多数のオブジェクトはまた、
タグの直後に関連テキストを有する。
り、タグを用いて指定される。このオブジェクトにつけ
られるタグを表示オブジェクト・タグと呼ぶ。各タグ
は、オブジェクトの性質をさらに詳しく定義する属性を
有することができる。ソースでまたは実行時にアプリケ
ーション・プログラムが参照する必要があるオブジェク
トは、名前属性を有する。多数のオブジェクトはまた、
タグの直後に関連テキストを有する。
タグの構文は以下の様式に従う。
: tagname attrl=attrlval attr2=attr2val attr3=attr3val ………… attrn=attrnval. オブジェクトと関連するテキスト。
この言語による基本オブジェクトは、:panelタグで記
述されるpanelである。各パネルは、そのテキスト、す
なわちタイトルと、その後に続くそのパネルを構成する
オブジェクトのタグ付きの記述からなる。そのようなオ
ブジェクトは、命令行、データ入力域、メニュー域及び
コマンド行を含んでいる。これらのオブジェクトは、す
べて同じ構文で記述された他のいくつかのオブジェクト
から構成されることがある。このように表示パネルを構
成するオブジェクトには、それぞれ表示オブジェクト・
タグが関連付けられ、各表示パネルにはタイトルが指定
されるが、このタイトルは他のものにも変更可能である
ので、可変タイトルである。そして、パネル・タグと可
変タイトルが関連付けられ、パネル・タグとそのパネル
を構成するオブジェクトの表示オブジェクト・タグが関
連付けられ、パネル・タグ、可変タイトル、表示オブジ
ェクトの定義、表示オブジェクト・タグは記憶装置に記
憶される。表示パネルの表示には、パネル・タグを指定
すればよく、そのパネル・タグに基づいて記憶装置をア
クセスすることにより、関連付けられた可変タイトル、
表示オブジェクト・タグ、そして表示オブジェクト・タ
グに関連付けられている表示オブジェクトを捜し出して
表示することができる。
述されるpanelである。各パネルは、そのテキスト、す
なわちタイトルと、その後に続くそのパネルを構成する
オブジェクトのタグ付きの記述からなる。そのようなオ
ブジェクトは、命令行、データ入力域、メニュー域及び
コマンド行を含んでいる。これらのオブジェクトは、す
べて同じ構文で記述された他のいくつかのオブジェクト
から構成されることがある。このように表示パネルを構
成するオブジェクトには、それぞれ表示オブジェクト・
タグが関連付けられ、各表示パネルにはタイトルが指定
されるが、このタイトルは他のものにも変更可能である
ので、可変タイトルである。そして、パネル・タグと可
変タイトルが関連付けられ、パネル・タグとそのパネル
を構成するオブジェクトの表示オブジェクト・タグが関
連付けられ、パネル・タグ、可変タイトル、表示オブジ
ェクトの定義、表示オブジェクト・タグは記憶装置に記
憶される。表示パネルの表示には、パネル・タグを指定
すればよく、そのパネル・タグに基づいて記憶装置をア
クセスすることにより、関連付けられた可変タイトル、
表示オブジェクト・タグ、そして表示オブジェクト・タ
グに関連付けられている表示オブジェクトを捜し出して
表示することができる。
パネル定義は、原始ファイル内でまとめられて「パネ
ル・グループ」を形成する。グループ内のすべてのパネ
ルは、パネル・グループで定義された他の名前付きオブ
ジェクトの定義を共用することができる。機能キー・リ
スト等のいくつかのパネル間で共用できるすべてのオブ
ジェクトは、以下に示すように、パネル・タグの適当な
属性についてその名前を指定することによって使用され
る。
ル・グループ」を形成する。グループ内のすべてのパネ
ルは、パネル・グループで定義された他の名前付きオブ
ジェクトの定義を共用することができる。機能キー・リ
スト等のいくつかのパネル間で共用できるすべてのオブ
ジェクトは、以下に示すように、パネル・タグの適当な
属性についてその名前を指定することによって使用され
る。
パネルに加えて、他のオブジェクトがパネル・グルー
プ中で宣言される。これらは、共用される特性のカプセ
ル化のようなことを行なうことにより、パネルの定義を
容易にする。
プ中で宣言される。これらは、共用される特性のカプセ
ル化のようなことを行なうことにより、パネルの定義を
容易にする。
「クラス」は、データをパネルに表示するための一組
の共通属性を定義するために、または制御のために使用
される。クラスは、このデータに適用できるデータ要約
の非常に簡単な手段を提供する。特性には以下のものが
ある。
の共通属性を定義するために、または制御のために使用
される。クラスは、このデータに適用できるデータ要約
の非常に簡単な手段を提供する。特性には以下のものが
ある。
−値の基本タイプ、すなわち、パック、2進等。
−このクラスの変数用の入力フィールドに対するシフト
特性。
特性。
−このクラスの値が表示装置上で占める文字位置の数。
−表示値から内部値へ及びその逆の変換。
−表示装置上で入力された値がある基準を満たすかにつ
いての検査、すなわち、範囲または特定の値の検査。
いての検査、すなわち、範囲または特定の値の検査。
「変数」は、このパネル・グループ内のアプリケーシ
ョンによって使用される実際のデータを定義する。変数
は、名前を付けられ、クラスを参照する。このパネル・
グループ中で宣言されたすべての変数は、アプリケーシ
ョン・プログラムが扱う、「変数プール」と呼ばれるデ
ータ構造に集められる。
ョンによって使用される実際のデータを定義する。変数
は、名前を付けられ、クラスを参照する。このパネル・
グループ中で宣言されたすべての変数は、アプリケーシ
ョン・プログラムが扱う、「変数プール」と呼ばれるデ
ータ構造に集められる。
「条件」は、パネルが表示されるときに他のオブジェ
クトを含めるかどうかに影響を与えるオブジェクトであ
る。条件は条件タグの「ミニ言語」属性で指定される。
その条件は、次にアプリケーション・プログラムの実行
中に評価されて、パネルに要素を含めるかどうかを制御
する。
クトを含めるかどうかに影響を与えるオブジェクトであ
る。条件は条件タグの「ミニ言語」属性で指定される。
その条件は、次にアプリケーション・プログラムの実行
中に評価されて、パネルに要素を含めるかどうかを制御
する。
「リスト・オブジェクト」は、数行の類似のデータ列
からなるオブジェクトをもたらす。アプリケーション実
行インターフェースにより、特定の行の内容を変数プー
ルからの一組の変数と交換することが可能になる。「リ
スト域」は、パネルで見られるオブジェクトで、この基
本データ・オブジェクトの表示特性を提供する。
からなるオブジェクトをもたらす。アプリケーション実
行インターフェースにより、特定の行の内容を変数プー
ルからの一組の変数と交換することが可能になる。「リ
スト域」は、パネルで見られるオブジェクトで、この基
本データ・オブジェクトの表示特性を提供する。
「真理値表」は、パネル・オブジェクト内の条件付き
項目の相互排除を制御するオブジェクトである。アプリ
ケーション・プログラム開発者は真理値表を使って、パ
ネル要素のどれが同じパネル上で決して共存しないかに
ついての情報をコンパイル時フォーマッタに提供する。
項目の相互排除を制御するオブジェクトである。アプリ
ケーション・プログラム開発者は真理値表を使って、パ
ネル要素のどれが同じパネル上で決して共存しないかに
ついての情報をコンパイル時フォーマッタに提供する。
「キー・リスト」は、キー、具体的には、機能キーを
押したときにそのパネル上で行なわれる活動を定義する
ため、パネル・オブジェクト間で共用することができ
る。
押したときにそのパネル上で行なわれる活動を定義する
ため、パネル・オブジェクト間で共用することができ
る。
実際の表示面にマップするオブジェクトにおける「パ
ネル」。パネルでは上記オブジェクトのすべてを直接ま
たは間接に使用する。
ネル」。パネルでは上記オブジェクトのすべてを直接ま
たは間接に使用する。
以下に、一組の対話パネルを記述するソースについて
の概要を示す。
の概要を示す。
パネル・グループ(:PNLGRP) プロローグ部分 クラス定義 (:CLASS) 変数定義 (:VAR) リスト定義 (:LISTDEF) 条件定義 (:COND) 真理値表定義 (:TT) 主要マッピング・リスト定義 (:KEYL) 本文部分 パネル定義 (:PANEL) 区域定義 (:MENU, :INFO, :DATA, :LIST) コマンド/オプション行定義 (:CMDLINE, :OPTLINE) 操作援助モジュール定義 (:HELP) ISILタグ付きテスト 第2図に、リスト・パネルのサンプルを示す。
このパネルを実施する際の最初のステップは、タグ言語
を使って画面を定義することである。下記のタグ・ソー
スが所期の画面を生成する。
を使って画面を定義することである。下記のタグ・ソー
スが所期の画面を生成する。
.* このパネル・グループは、操作援助モジュー .* ルEIHLPHLPに含まれた特別な第2レベルの .* 操作援助(help on help)を有し、情報探索 .* インデックスRHSS1にアクセスできるよ .* うにする。著作権ステートメントが、UIMア .* プリケーションがオープンされた後で表示さ .* れる最初のパネル上に表示される。このパネ .* ル・グループで見つからない操作援助モジュー .* ル名は、パネル・グループ・オブジェクト .* EXIHLPGRPを使うと解決される。
.* :PNLGRP SCHIDX=QHSS1. :IBMCOPYR PROD=5278SS1. :IMPORT PNLGRP=ex1hlpgrp NAME=:*:. .* .* このアプリケーションで使用されるすべての .* 変数についてクラスを定義する。クラスは基 .* 本的にユーザが定義するデータ・タイプであ .* る。クラスSTSCLは変換リストを使って内 .* 部的な1文字の状況値と4文字の表示値の間 .* でマップすることに留意されたい。また、 .* WIDTH属性はフィールドの外部長を指定する .* ことにも留意されたい。この外部長は、値 .* (数字クラスRECSCLに対する値等)を編集 .* するために必要な最大値よりも小さくてもよ .* いが、変換されたすべての外部値を収容する .* のに十分な大きさでなければならない。
.* :CLASS NAME=optcl BASETYPE=‘action'WIDTH=1. :ECLASS. :CLASS NAME=spidcl BASETYPE=‘char 6'. :ECLASS. :CLASS NAME=filecl BASETYPE=‘char 10'. :ECLASS. :CLASS NAME=nbrcl BASETYPE=‘bin 15'WIDTH=4. :ECLASS. :CLASS NAME=usercl BASETYPE=‘char 10'. :ECLASS. :CLASS NAME=ptycl BASETYPE=‘char 1'. :ECLASS. :CLASS NAME=recscl BASETYPE=‘bin 31'WIDTH=7. :ECLASS. :CLASS NAME=stscl BASETYPE=‘char 1'WIDTH=4. :TL. :TI VALUE=‘“1"'.HLD :TI VALUE=‘“2"'.RDY :TI VALUE=‘“3"'.OPN :TI VALUE=‘“4"'.CLO :TI VALUE=‘“5"'.WIR :TI VALUE=‘“6"'.*HLD :TI VALUE=‘“7"'.*CHG :TI VALUE=‘“8"'.*RLS :TI VALUE=‘“9"'.*CNL :ETL. :ECLASS. :CLASS NAME=copycl BASETYPE=‘“bin 15"'WIDTH=
3. :ECLASS. :CLASS NAME=formcl BASETYPE=‘char 16'. :ECLASS. :CLASS NAME=jobcl BASETYPE=‘char 10'. :ECLASS. :CLASS NAME=jnbrcl BASETYPE=‘char 6'. :ECLASS. :CLASS NAME=oqcl BASETYPE=‘char 10'. :ECLASS. :CLASS NAME=libcl BASETYPE=‘char 10'. :ECLASS. :CLASS NAME=pormcl BASETYPE=‘char 255'. :ECLASS. :CLASS NAME=qspmodcl BASETYPE=‘PTR'. :ECLASS. .* .* オープンされたアプリケーションによって使 .* 用される(Z変数以外の)すべての対話変数 .* を定義する。アプリケーション・プログラム .* 論理を単純化し、かつパネル表示以外のUI .* M機能に対する値を提供するために、パネル .* のどこにも現われない変数(JOBやJNB .* R等)を定義できることに留意されたい。
3. :ECLASS. :CLASS NAME=formcl BASETYPE=‘char 16'. :ECLASS. :CLASS NAME=jobcl BASETYPE=‘char 10'. :ECLASS. :CLASS NAME=jnbrcl BASETYPE=‘char 6'. :ECLASS. :CLASS NAME=oqcl BASETYPE=‘char 10'. :ECLASS. :CLASS NAME=libcl BASETYPE=‘char 10'. :ECLASS. :CLASS NAME=pormcl BASETYPE=‘char 255'. :ECLASS. :CLASS NAME=qspmodcl BASETYPE=‘PTR'. :ECLASS. .* .* オープンされたアプリケーションによって使 .* 用される(Z変数以外の)すべての対話変数 .* を定義する。アプリケーション・プログラム .* 論理を単純化し、かつパネル表示以外のUI .* M機能に対する値を提供するために、パネル .* のどこにも現われない変数(JOBやJNB .* R等)を定義できることに留意されたい。
.* :VAR NAME=opt CLASS=optcl. :VAR NAME=spid CLASS=spidcl. :VAR NAME=file CLASS=filecl. :VAR NAME=nbr CLASS=nbrcl. :VAR NAME=user CLASS=usercl. :VAR NAME=pty CLASS=ptycl. :VAR NAME=recs CLASS=recscl. :VAR NAME=sts CLASS=stscl. :VAR NAME=copy CLASS=copycl. :VAR NAME=form CLASS=formcl. :VAR NAME=job CLASS=jobcl. :VAR NAME=jnbr CLASS=jnbrcl. :VAR NAME=oq CLASS=oqcl. :VAR NAME=lib CLASS=libcl. :VAR NAME=parms CLASS=parmcl. :VAR NAME=qspmod CLASS=qspmodcl. .* .* 表示のテーブル部分に現われるすべてのフィー .* ルドと、活動リストの処理をサポートするた .* めに内部で使用されるだけのいくつかのフィー .* ルド(JOB及びJNBR)を含むリスト .* (OUTQLISTと呼ばれる)を定義する。
.* 変数名がVARS属性上に現われる順序は、 .* リストの内部構造を制御するが、リスト項目 .* がどのように表示され、あるいは別の方法で .* 処理されるかは限定しない。
.* :LISTDEF NAME=outqlist VARS=‘opt spid file nbr user pty recs sts copy form job jnbr'. .* .* すべての機能キーの割当てを定義する。パネ .* ル上で活動状態になるすべてのキー(ENTER .* 等の固有キーを含む)を指定しなければなら .* ない。キーは、パネルの下端及びオンライン .* 操作援助で提示される順に定義しなければな .* らない。パネルの下端で記述されるのは、変 .* 数可能テキストが指定されたキーだけである。
.* オンライン操作援助ではすべてのキーが記述 .* される。このパネル・グループ内のどのパネ .* ルも、キー・マッピング・リストとして .* OUTQKEYSを指定することにより、これらの .* キー割当てを参照することができる。
.* このパネル定義は2つの区域、すなわち情報 .* 域とリスト域を含む。これらの区域は、それ .* らが表示上に現われる順に(上から下に)宣 .* 言しなければならない。
.* .* PANELタグは、基本パネル属性とパネル・タ .* イトルを指定する。パネルに対する下端分離 .* 記号の省略時の値はSPACEであり、省略時 .* のメッセージ域は単一行である。
.* :PANEL NAME=wrkoutq HELP=‘wrkoutq/ workwithoutputq' KEYL=outqkeys TOPSEP=SPACE. 出力待ち行列を用いた作業 .* .* データ提示域は、パネルの上端にあるので、 .* この区域に対する上端分離記号(省略時の値 .* はSPACE、すなわち空白行である)は、パネ .* ル全体の上端分離記号である。この区域は画 .* 面移動可能ではなく、2行だけからなり、 .* (出力待ち行列及びライブラリ名を表示する .* ために使用される)2つの水平出力データ項 .* 目だけを含む。
.* :DATA DEPTH=2 LAYOUT=horiz HELP=‘wrkoutq/ outputq' :DATAI VAR=oq USAGE=out. Output queue :DATAI VAR=lib USAGE=out. Library :EDATA. .* .* リスト域は、表示の大部分を使用する。省略 .* 時には画面移動可能であり、単一列のレイア .* ウトで配列され、列ヘッダを最大3行(変換 .* 空間用に)まで拡張でき、単一の空白行で上 .* 方の区域から分離されている。
.* .* このリスト域は、OUTQLISTと呼ばれるリス .* トのビューを示す。DEPTH=‘*’と指定する
と、 .* この区域を使って他のパネル域が割り振られ .* た後で残っただけの行を表示することができ .* る。そうするのは、表示装置上でできるだけ .* 多くのリスト項目を示すためである。区域定 .* 義には交互のビュー列はないので、パネルが .* 表示されるとき、すべてのリスト列が示され .* る。
と、 .* この区域を使って他のパネル域が割り振られ .* た後で残っただけの行を表示することができ .* る。そうするのは、表示装置上でできるだけ .* 多くのリスト項目を示すためである。区域定 .* 義には交互のビュー列はないので、パネルが .* 表示されるとき、すべてのリスト列が示され .* る。
.* :LIST DEPTH=‘*'MAXHEAD=2 LISTDEF=outqlist ACTOR=uim PARMS=parms BOTSEP=SPACE. :TOPINST.Type options,press Enter. .* ワークステーション操作員のため、有効なリ .* スト活動を定義する。LISTACTタグで指定さ .* れた値のみが、リスト域に対する活動フィー .* ルド(この場合は、OPT)で許容される。活 .* 動は、リスト域の上端及びオンライン操作援 .* 助で提示される順に定義しなければならない。
.* リストの上端に記述されるのは変換可能テキ .* ストが指定された活動だけであるが、オンラ .* イン操作援助ではすべてのオプションが記述 .* される。
.* .* すべてのLISTACTタグのENTER属性と組み .* 合わせて、LISTタグでACTOR=UIMと指定す .* ると、UIMは、リストに入力されたすべての .* オプション値を処理することを提示する。
.* ENTER属性だけを指定するときは、操作員は .* そのオプション値の入力を求めるプロンプト .* を出すことができない。PROMPTが指定され .* るとそれを使ってプロンプトが出される。リ .* スト項目の更新を要求できる活動(オプショ .* ン2及び4など)には、出口プログラムも使 .* 用される。
.* .* 通常は、ENTERキーを押したとき、オプショ .* ンに対するENTER値が使用されるが、コマ .* ンド行が空白のときにプロンプト活動 .* (PROMPT)の使用を強制するオプション(オ .* プション2など)もある。重複属性で指定さ .* れた値は、活動ストリングが1つのソース行 .* には長すぎるとき(オプション2における .* ENTER及びPROMPTなど)、活動ストリング .* を構成するために連結されることに留意され .* たい。
.* .* 下の例では、リスト項目に対する変更を必要 .* とするあらゆるリスト活動に対して、EXIT .* 属性が指定される。EXIT属性で指定された .* プログラムは、活動が実行された後でUIM .* によって呼び出され、対応するリスト項目を .* (下側にあるスプール出力ファイルの状態に .* 合致するように)更新または削除させる。
.* :LISTACT OPTION=2 HELP=wrkoutq/change NOCMD= prompt ENTER=‘CMD ?CHGSPLFA FILE(&FILE) JOB(&JNBR/&USER/&JOB)’ ENTER= ‘SPLNBR(&NBR)&PARMS' PROMPT=‘CMD ?CHGSPLFA ?*FILE(&FILE) ?*JOB(&JNBR/&USER/&JOB)’ PROMPT= ‘?*SPLNBR(&NBR)?<COPIES (&COPY)’ PROMPT= ‘?<FORMTYPE(‘‘&FORM'')
& PARMS' USREXIT=‘CALL QSPMOD'. 2=Change :LISTACT OPTION=3 HELP=wrkoutq/hold ENTER=‘CMD HLDSPLE FILE(&FILE)JOB (&JNBR/&USER/&JOB)’ ENTER= ‘SPLNBR(&NBR)’ USREXIT=‘CALL QSPMOD'. 3=Hold :LISTACT OPTION=4 HELP=wrkoutq/cancel ENTER=‘CMD CNLSPLF FILE(&FILE)JOB (&JNBR/&USER/&JOB)’ ENTER= ‘SPLNBR(&NBR)’ USREXIT=‘CALL QSPMOD'. 4=Cancel :LISTACT OPTION=5 HELP=wrkoutq/display ENTER=‘CMD DSPSPLF FILE(&FILE)JOB (&JNBR/&USER/&JOB)’ ENTER= ‘SPLNBR(&NBR)’ 5=Display :LISTACT OPTION=6 HELP=wrkoutq/release ENTER=‘CMD RLSSPLF FILE(&FILE)JOB (&JNBR/&USER/&JOB)’ ENTER= ‘SPLNBR(&NBR)’ USREXIT=‘CALL QSPMOD'. 6=Release :LISTACT OPTION=8 HELP=‘wrkoutq/ displayattributes' ENTER=‘CMD DSPSPLFA FILE(&FILE)JOB (&JNBR/&USER/&JOB)’ ENTER= ‘SPLNBR(&NBR)’ USREXIT=‘CALL QSPMOD'. B=Display Attributes .* .* リストの列を定義する。各列に表示される変 .* 数は、その区域に対するリスト(この場合は、 .* OUTQLIST)に含まれていなければならない。
& PARMS' USREXIT=‘CALL QSPMOD'. 2=Change :LISTACT OPTION=3 HELP=wrkoutq/hold ENTER=‘CMD HLDSPLE FILE(&FILE)JOB (&JNBR/&USER/&JOB)’ ENTER= ‘SPLNBR(&NBR)’ USREXIT=‘CALL QSPMOD'. 3=Hold :LISTACT OPTION=4 HELP=wrkoutq/cancel ENTER=‘CMD CNLSPLF FILE(&FILE)JOB (&JNBR/&USER/&JOB)’ ENTER= ‘SPLNBR(&NBR)’ USREXIT=‘CALL QSPMOD'. 4=Cancel :LISTACT OPTION=5 HELP=wrkoutq/display ENTER=‘CMD DSPSPLF FILE(&FILE)JOB (&JNBR/&USER/&JOB)’ ENTER= ‘SPLNBR(&NBR)’ 5=Display :LISTACT OPTION=6 HELP=wrkoutq/release ENTER=‘CMD RLSSPLF FILE(&FILE)JOB (&JNBR/&USER/&JOB)’ ENTER= ‘SPLNBR(&NBR)’ USREXIT=‘CALL QSPMOD'. 6=Release :LISTACT OPTION=8 HELP=‘wrkoutq/ displayattributes' ENTER=‘CMD DSPSPLFA FILE(&FILE)JOB (&JNBR/&USER/&JOB)’ ENTER= ‘SPLNBR(&NBR)’ USREXIT=‘CALL QSPMOD'. B=Display Attributes .* .* リストの列を定義する。各列に表示される変 .* 数は、その区域に対するリスト(この場合は、 .* OUTQLIST)に含まれていなければならない。
.* LISTCOLタグで指定されたリスト値のみがパ .* ネルに表示される。リスト内のすべての変数 .* にはLISTCOLタグは不要である。列は .* LISTVIEWタグ上で、パネルに現われる順に .* (左から右へ)定義しなければならないが、 .* その順序は、LISTDEFタグ上で変数が現われ .* る順序と異なっていてもよい。
.* :LISTCOL VAR=opt USAGE=inout HELP=‘wrkoutq/ opt'MAXWIDTH=3. Opt :LISTCOL VAR=spid USAGE=out HELP=‘wrkoutq/ spid'MAXWIDTH=6. Sp-ID :LISTCOL VAR=file USAGE=out HELP=‘wrkoutq/ file'MAXWIDTH=10. File :LISTCOL VAR=nbr USAGE=out HELP=‘wrkoutq/ nbr'MAXWIDTH=4. Nbr :LISTCOL VAR=user USAGE=out HELP=‘wrkoutq/ user'MAXWIDTH=10. User :LISTCOL VAR=pty USAGE=out HELP=‘wrkoutq/ pty'MAXWIDTH=3. Pty :LISTCOL VAR=recs USAGE=out HELP=‘wrkoutq/ recs'MAXWIDTH=7. Rcd/Pag :LISTCOL VAR=sts USAGE=out HELP=‘wrkoutq/ sts'MAXWIDTH=4. Sts :LISTCOL VAR=copy USAGE=out HELP=‘wrkoutq/ copy'MAXWIDTH=4. Copy :LISTCOL VAR=form USAGE=out HELP=‘wrkoutq/ form'MAXWIDTH=9. Formtype :LISTVIEW COLS=‘opt spid file nbr user pty recs sts copy form'. .* .* リスト域は、コマンドを入力するため、また .* はある種の活動リスト・オプション用の追加 .* のパラメータを指定するために使用できるコ .* マンド行で終わる。
.* :ELIST. :CMDLINE SIZE=LONG. Parameters or command .* NOTE:BOTINST removed :EPANEL. 次に、第2図のパネルをサポートするために必要な操
作援助テキストの骨格を説明する。操作援助テキスト
は、EIHLPGRPと呼ばれるパネル・グループに記憶され
る。操作援助テキストは同じパネル・グループ・オブジ
ェクトに記憶することもできるが、作成され、供給され
る操作援助テキストは、ユーザの選択でシステムにロー
ドすることもロードせずにおくこともできるように、通
常、別個のパネル・グループ・オブジェクトに記憶すべ
きである。
作援助テキストの骨格を説明する。操作援助テキスト
は、EIHLPGRPと呼ばれるパネル・グループに記憶され
る。操作援助テキストは同じパネル・グループ・オブジ
ェクトに記憶することもできるが、作成され、供給され
る操作援助テキストは、ユーザの選択でシステムにロー
ドすることもロードせずにおくこともできるように、通
常、別個のパネル・グループ・オブジェクトに記憶すべ
きである。
.* .* このパネル・グループは援助テキスト「モ .* ジュール」のみを含む。操作援助モジュール .* は、一般にパネル定義で(タグを使って定義 .* された)特定の表示「オブジェクト」を記述 .* する。あるオブジェクト用の操作援助テキス .* ト・モジュールは、そのオブジェクトについ .* てワークステーション動作によって操作援助 .* が要求されるとき表示される。
.* .* 操作員の要求がはっきりとパネル上の特定オ .* ブジェクトに対するものでないときは、パネ .* ル定義で参照されたすべての操作援助モジュー .* ルが組み合わされて、単一の操作援助パネル .* で提示される。組み合わされた操作援助には、 .* 機能キーを使って、特定の表示オブジェクト .* に対する操作援助を表示するパネルでアクセ .* スすることもできる。
.* .* 操作援助モジュールからのテキストが、組み .* 合わされた操作援助でどんな順序で現われる .* かは、パネル定義におけるオブジェクトの階 .* 層によって決まる。(下記のような)操作援 .* 助テキスト・モジュール定義は、タグ・ソー .* ス中ではどんな順序で現われることもあるが、 .* ここでは、パネルWRKOUTQについて組み合 .* わされる順序で示してある。
.* :PNLGRP. .* .* :HELP NAME=‘wrkoutq/workwithoutputq'. :p.これはこのパネル用の主操作援助テキストである。H
ELPキーを押し、他の操作援助テキストを含まない区域
にカーソルを合わせたときに表示される。
ELPキーを押し、他の操作援助テキストを含まない区域
にカーソルを合わせたときに表示される。
:EHELP. .* .* :HELP NAME=‘wrkoutq/outputq'. :p.これは情報域用の操作援助テキストである。HELPキ
ーを押し、情報域を含む行(出力待ち行列とライブラリ
情報を含む行)にカーソを合わせたときに表示される。
ーを押し、情報域を含む行(出力待ち行列とライブラリ
情報を含む行)にカーソを合わせたときに表示される。
:EHELP. .* .* :HELP NAME=‘wrkoutq/change'. :p.これはオプション2用の操作援助テキストである。H
ELPキーを押し、他の操作援助テキストを含まない区域
にカーソルを合わせたときに表示される。
ELPキーを押し、他の操作援助テキストを含まない区域
にカーソルを合わせたときに表示される。
:EHELP. .* .* :HELP NAME=‘wrkoutq/hold'. :p.これはオプション3用の操作援助テキストである。H
ELPキーを押し、他の操作援助テキストを含まない区域
にカーソルを合わせたときに表示される。
ELPキーを押し、他の操作援助テキストを含まない区域
にカーソルを合わせたときに表示される。
:EHELP. .* .* :HELP NAME=‘wrkoutq/cancel'. :p.これはオプション4用の操作援助テキストである。H
ELPキーを押し、他の操作援助テキストを含まない区域
にカーソルを合わせたときに表示される。
ELPキーを押し、他の操作援助テキストを含まない区域
にカーソルを合わせたときに表示される。
:EHELP. .* .* :HELP NAME=‘wrkoutq/display'. :p.これはオプション5用の操作援助テキストである。H
ELPキーを押し、他の操作援助テキストを含まない区域
にカーソルを合わせたときに表示される。
ELPキーを押し、他の操作援助テキストを含まない区域
にカーソルを合わせたときに表示される。
:EHELP. .* .* :HELP NAME=‘wrkoutq/release'. :p.これはオプション6用の操作援助テキストである。H
ELPキーを押し、他の操作援助テキストを含まない区域
にカーソルを合わせたときに表示される。
ELPキーを押し、他の操作援助テキストを含まない区域
にカーソルを合わせたときに表示される。
:EHELP. .* .* :HELP NAME=‘wrkoutq/displayattributes'. :p.これはオプション8用の操作援助テキストである。H
ELPキーを押し、他の操作援助テキストを含まない区域
にカーソルを合わせたときに表示される。
ELPキーを押し、他の操作援助テキストを含まない区域
にカーソルを合わせたときに表示される。
:EHELP. .* .* :HELP NAME=‘wrkoutq/opt'. :p.これはOptフィールド用の操作援助テキストである。
HELPキーを押し、リストのOpt欄にカーソルを合わせた
ときに表示される。
HELPキーを押し、リストのOpt欄にカーソルを合わせた
ときに表示される。
:EHELP. .* .* :HELP NAME=‘wrkoutq/spid'. :p.これはSp-IDフィールド用の操作援助テキストであ
る。HELPキーを押し、リストのSp-ID欄にカーソルを合
わせたときに表示される。
る。HELPキーを押し、リストのSp-ID欄にカーソルを合
わせたときに表示される。
:EHELP. .* .* :HELP NAME=‘wrkoutq/file'. :p.これはファイル・フィールド用の操作援助テキスト
である。HELPキーを押し、リストのファイル欄にカーソ
ルを合わせたときに表示される。
である。HELPキーを押し、リストのファイル欄にカーソ
ルを合わせたときに表示される。
:EHELP. .* .* :HELP NAME=‘wrkoutq/nbr'. :p.これはNbrフィールド用の操作援助テキストである。
HELPキーを押し、リストのNbr欄にカーソルを合わせた
ときに表示される。
HELPキーを押し、リストのNbr欄にカーソルを合わせた
ときに表示される。
:EHELP. .* .* :HELP NAME=‘wrkoutq/user'. :p.これはユーザ・フィールド用の操作援助テキストで
ある。HELPキーを押し、リストのユーザ欄にカーソルを
合わせたときに表示される。
ある。HELPキーを押し、リストのユーザ欄にカーソルを
合わせたときに表示される。
:EHELP. .* .* :HELP NAME=‘wrkoutq/pty'. :p.これはPtyフィールド用の操作援助テキストである。
HELPキーを押し、リストのPty欄にカーソルを合わせた
ときに表示される。
HELPキーを押し、リストのPty欄にカーソルを合わせた
ときに表示される。
:EHELP. .* .* :HELP NAME=‘wrkoutq/recs'. :p.これはRcd/Pagフィールド用の操作援助テキストであ
る。HELPキーを押し、リストのRcd/Pag欄にカーソルを
合わせたときに表示される。
る。HELPキーを押し、リストのRcd/Pag欄にカーソルを
合わせたときに表示される。
:EHELP. .* .* :HELP NAME=‘wrkoutq/sts'. :p.これはStsフィールド用の操作援助テキストである。
HELPキーを押し、リストのSts欄にカーソルを合わせた
ときに表示される。
HELPキーを押し、リストのSts欄にカーソルを合わせた
ときに表示される。
:EHELP. .* .* :HELP NAME=‘wrkoutq/copy'. :p.これはコピー・フィールド用の操作援助テキストで
ある。HELPキーを押し、リストのコピー欄にカーソルを
合わせたときに表示される。
ある。HELPキーを押し、リストのコピー欄にカーソルを
合わせたときに表示される。
:EHELP. .* .* :HELP NAME=‘wrkoutq/form'. :p.これはFormtypeフィールド用の操作援助テキストで
ある。HELPキーを押し、リストのFormtype欄にカーソル
を合わせたときに表示される。
ある。HELPキーを押し、リストのFormtype欄にカーソル
を合わせたときに表示される。
:EHELP. .* .* :HELP NAME=enter. .pこれはENTERキー用の操作援助テキストである。HELP
キーを押し、機能キー定義域にカーソルを合わせたとき
に表示される。
キーを押し、機能キー定義域にカーソルを合わせたとき
に表示される。
:EHELP. .* .* :HELP NAME=rollup. .pこれはROLLUPキー用の操作援助テキストである。HELP
キーを押し、機能キー定義域にカーソルを合わせたとき
に表示される。
キーを押し、機能キー定義域にカーソルを合わせたとき
に表示される。
:EHELP. .* .* :HELP NAME=rolldown. .pこれはROLLDOWNキー用の操作援助テキストである。HE
LPキーを押し、機能キー定義域にカーソルを合わせたと
きに表示される。
LPキーを押し、機能キー定義域にカーソルを合わせたと
きに表示される。
:EHELP. .* .* :HELP NAME=help. .pこれはHELPキー用の操作援助テキストである。HELPキ
ーを押し、機能キー定義域にカーソルを合わせたときに
表示される。
ーを押し、機能キー定義域にカーソルを合わせたときに
表示される。
:EHELP. .* .* :HELP NAME=print. .pこれはPRINTキー用の操作援助テキストである。HELP
キーを押し、機能キー定義域にカーソルを合わせたとき
に表示される。
キーを押し、機能キー定義域にカーソルを合わせたとき
に表示される。
:EHELP. .* .* :HELP NAME=exit. .pこれはF3機能キー用の操作援助テキストである。HELP
キーを押し、機能キー定義域にカーソルを合わせたとき
に表示される。
キーを押し、機能キー定義域にカーソルを合わせたとき
に表示される。
:EHELP. .* .* :HELP NAME=prompt. .pこれはF4機能キー用の操作援助テキストである。HELP
キーを押し、機能キー定義域にカーソルを合わせたとき
に表示される。
キーを押し、機能キー定義域にカーソルを合わせたとき
に表示される。
:EHELP. .* .* :HELP NAME=refresh. .pこれはF5機能キー用の操作援助テキストである。HELP
キーを押し、機能キー定義域にカーソルを合わせたとき
に表示される。
キーを押し、機能キー定義域にカーソルを合わせたとき
に表示される。
:EHELP. .* .* :HELP NAME=wrkoutqd. .pこれはF6機能キー用の操作援助テキストである。HELP
キーを押し、機能キー定義域にカーソルを合わせたとき
に表示される。
キーを押し、機能キー定義域にカーソルを合わせたとき
に表示される。
:EHELP. .* .* :HELP NAME=previous. .pこれはF12機能キー用の操作援助テキストである。HEL
Pキーを押し、機能キー定義域にカーソルを合わせたと
きに表示される。
Pキーを押し、機能キー定義域にカーソルを合わせたと
きに表示される。
:EHELP. :EPNLGRP. 次に、前に定義したパネルをサポートするために必要
なコードを示す。最初に行なうべきことは、変数プール
と連絡するために使用される構造を構築することであ
る。プログラム中で参照される各対話変数に対して、空
間がプログラムによって割り振られなければならない。
この空間は、GETVAR動作で対話変数の検索された値をど
こに入れるか、及びPUTVAR動作で対話変数を更新するた
めの値をどこで得るかを指定するために使用される。
なコードを示す。最初に行なうべきことは、変数プール
と連絡するために使用される構造を構築することであ
る。プログラム中で参照される各対話変数に対して、空
間がプログラムによって割り振られなければならない。
この空間は、GETVAR動作で対話変数の検索された値をど
こに入れるか、及びPUTVAR動作で対話変数を更新するた
めの値をどこで得るかを指定するために使用される。
次のステップは、VARLSTマクロ及びVARLSTEマクロを
呼び出して、GETVAR機能及びPUTVAR機能が必要とする変
数リスト・データ構造を構築し、初期設定することであ
る。後のコーディングを簡単にするため、2つの異なる
構造を構築する。最初の構造は、INFO変数とだけ連結す
るために使用される。第2の構造は、LIST変数と連絡す
るために使用される。
呼び出して、GETVAR機能及びPUTVAR機能が必要とする変
数リスト・データ構造を構築し、初期設定することであ
る。後のコーディングを簡単にするため、2つの異なる
構造を構築する。最初の構造は、INFO変数とだけ連結す
るために使用される。第2の構造は、LIST変数と連絡す
るために使用される。
次に、INFO変数リスト・データ構造を構築し、初期設
定するために必要なコードを示す。
定するために必要なコードを示す。
次にLIST変数リスト・データ構造を構築し、初期設定
するために必要なコードを示す。
するために必要なコードを示す。
すべての宣言が完了した後、UIMを呼び出して新しい
アプリケーションを開始する。そうするためには、プロ
グラムはマクロOPENAPPの呼出しをコード化しなければ
ならない。
アプリケーションを開始する。そうするためには、プロ
グラムはマクロOPENAPPの呼出しをコード化しなければ
ならない。
OPENAPPマクロは、2つのパラメータ、すなわちPNLGR
P及びAPPIDを必要とする。オープンしたいパネル・グル
ープがEXAMPLE 1であるとする。OPENAPPマクロは、APPI
Dキーワードに対して指定された変数中にアプリケーシ
ョン識別子を返す。APPID値は、このプログラム全体に
渡って、すべての要求に対してどのオープン・アプリケ
ーションを使用すべきかをUIMに指令する場合に、使用
しなければならない。
P及びAPPIDを必要とする。オープンしたいパネル・グル
ープがEXAMPLE 1であるとする。OPENAPPマクロは、APPI
Dキーワードに対して指定された変数中にアプリケーシ
ョン識別子を返す。APPID値は、このプログラム全体に
渡って、すべての要求に対してどのオープン・アプリケ
ーションを使用すべきかをUIMに指令する場合に、使用
しなければならない。
アプリケーションがオープンされたので、そのアプリ
ケーションでパネルに現われる対話変数及び挿入リスト
項目を設定することができる。
ケーションでパネルに現われる対話変数及び挿入リスト
項目を設定することができる。
この例のパネルでは、パネルの上端の情報域に現われ
る変数が2つある。下記のコード・セグメントは、(パ
ネルが表示される前に)それらの変数に正しい値を与え
る方法を示す。
る変数が2つある。下記のコード・セグメントは、(パ
ネルが表示される前に)それらの変数に正しい値を与え
る方法を示す。
コードの次のセグメントは、サンプル・パネル上のリ
ストをどのようにすれば構築できるかを示す。ループ制
御は、リストに挿入するために使用できる項目の数に関
して条件付けられる。
ストをどのようにすれば構築できるかを示す。ループ制
御は、リストに挿入するために使用できる項目の数に関
して条件付けられる。
リストが完了した場合、ワークステーション操作員が
リストの終りを過ぎて画面移動しようとすると、リスト
の終りに達したことを示すメッセージが表示される。
リストの終りを過ぎて画面移動しようとすると、リスト
の終りに達したことを示すメッセージが表示される。
CONTENTS(*TOP)を使ってSETLSTAマクロを呼び出し
ていた場合、オペレータは、リスト内の項目の終りを越
えて画面移動することが許される。このことを実現する
ため、UIMはプログラムに戻って、さらに項目がリスト
中で要求されたことを示すことになる。この時点で、プ
ログラムはリストにさらに行を追加し、パネルを表示す
る。
ていた場合、オペレータは、リスト内の項目の終りを越
えて画面移動することが許される。このことを実現する
ため、UIMはプログラムに戻って、さらに項目がリスト
中で要求されたことを示すことになる。この時点で、プ
ログラムはリストにさらに行を追加し、パネルを表示す
る。
この例では、すべての項目がリストに追加されたもの
と仮定する。UIMはこのとき、パネルを提示するのに必
要なすべての情報を与えられているので、DSPPNLマクロ
を呼び出して、パネルをワークステーション操作員に表
示するだけでよい。この例では、画面移動、活動リスト
処理、操作移動表示、コマンドのプロンプティング及び
実行はすべてUIMによって処理される。制御権がプログ
ラムに戻るのは、操作員がPREVIOUS、EXITまたはREFRES
H(画面再生)の機能キーを押したとき、または操作員
がENTERキーを押し、かつ活動リスト項目または処理す
べきコマンドがないときだけである。
と仮定する。UIMはこのとき、パネルを提示するのに必
要なすべての情報を与えられているので、DSPPNLマクロ
を呼び出して、パネルをワークステーション操作員に表
示するだけでよい。この例では、画面移動、活動リスト
処理、操作移動表示、コマンドのプロンプティング及び
実行はすべてUIMによって処理される。制御権がプログ
ラムに戻るのは、操作員がPREVIOUS、EXITまたはREFRES
H(画面再生)の機能キーを押したとき、または操作員
がENTERキーを押し、かつ活動リスト項目または処理す
べきコマンドがないときだけである。
DSPPNLマクロのFUNCTIONパラメータは、表示を終了さ
せた、どの機能が要求されたかの指示を返す。このパラ
メータで指定されたプログラム変数は、プログラムのど
の機能(PREVIOUS、EXIT、REFRESH等)が要求されてい
るかを示す値に設定される。
せた、どの機能が要求されたかの指示を返す。このパラ
メータで指定されたプログラム変数は、プログラムのど
の機能(PREVIOUS、EXIT、REFRESH等)が要求されてい
るかを示す値に設定される。
パネルが表示され、制御権が呼出しプログラムに戻っ
た後、FUNCTIONパラメータに対して指定された変数を調
べて、何が原因で制御権がプログラムに戻ったかを知る
ことができる。
た後、FUNCTIONパラメータに対して指定された変数を調
べて、何が原因で制御権がプログラムに戻ったかを知る
ことができる。
この例のパネルから、通常のユーザは、リスト項目の
1つに対してCHGSPLFAコマンド(オプション2)を選択
して、リスト内のスプール出力ファイルの属性を変更す
ることができる。コマンドが実行された後、変更を反映
するようにリストを更新する必要がある。
1つに対してCHGSPLFAコマンド(オプション2)を選択
して、リスト内のスプール出力ファイルの属性を変更す
ることができる。コマンドが実行された後、変更を反映
するようにリストを更新する必要がある。
リスト項目を変更する場合、出口プログラムを呼び出
すことができる。出口プログラムの名前は、USREXITパ
ラメータと共にLISTACTタグ上に示される。下記コード
は、属性の変更を反映するためにEXITプログラムが実行
するコードである。UIMは、活動ルーチン及び出口プロ
グラムを呼び出す前に、リストを位置づけ、項目を読む
ので、この出口プログラムは、リストが既に適当な項目
に入れられ、対話変数が既にこのリスト項目に対する値
を含んでいると仮定する。
すことができる。出口プログラムの名前は、USREXITパ
ラメータと共にLISTACTタグ上に示される。下記コード
は、属性の変更を反映するためにEXITプログラムが実行
するコードである。UIMは、活動ルーチン及び出口プロ
グラムを呼び出す前に、リストを位置づけ、項目を読む
ので、この出口プログラムは、リストが既に適当な項目
に入れられ、対話変数が既にこのリスト項目に対する値
を含んでいると仮定する。
リストに対するすべての処理が終了した(ユーザがPR
EVIOUSキーを押した)後、アプリケーションをクローズ
しなければならない。アプリケーションをクローズする
のに必要なコードは、次の通りである。
EVIOUSキーを押した)後、アプリケーションをクローズ
しなければならない。アプリケーションをクローズする
のに必要なコードは、次の通りである。
プログラム命令によって実行される一連の機能動作を
示す第3a図ないし第3d図のプログラミング・データ流れ
図を参照すると、プログラムの動作は、ブロック500で
開始し、アプリケーション・プログラムがパネル・グル
ープをオープンする。アプリケーション・プログラム
に、どのパネル・セットを使用するのかを指示しなけれ
ばならない。言い換えると、処理すべきパネル・グルー
プの名前を示す。アプリケーションは、次にブロック50
1を経て主ループに入り、501で、変数プール内の変数の
値を設定する。変数は、その名前によって識別される一
組の値であり、アプリケーションが使用できるデータで
ある値を保持することができる。これらの値は、アプリ
ケーション・プログラム内のデータを参照し、このデー
タを変数プールに複写することによって設定される。
示す第3a図ないし第3d図のプログラミング・データ流れ
図を参照すると、プログラムの動作は、ブロック500で
開始し、アプリケーション・プログラムがパネル・グル
ープをオープンする。アプリケーション・プログラム
に、どのパネル・セットを使用するのかを指示しなけれ
ばならない。言い換えると、処理すべきパネル・グルー
プの名前を示す。アプリケーションは、次にブロック50
1を経て主ループに入り、501で、変数プール内の変数の
値を設定する。変数は、その名前によって識別される一
組の値であり、アプリケーションが使用できるデータで
ある値を保持することができる。これらの値は、アプリ
ケーション・プログラム内のデータを参照し、このデー
タを変数プールに複写することによって設定される。
ブロック502の表示パネル・サービスが、パネルの表
示を実際に行なう。次の判断ブロック505は、実際には
表示管理機能自体の中にある。このブロックの機能は、
要求の妥当性を検査し、要求されたパネルがパネル・グ
ループ内にあることを確認することである。
示を実際に行なう。次の判断ブロック505は、実際には
表示管理機能自体の中にある。このブロックの機能は、
要求の妥当性を検査し、要求されたパネルがパネル・グ
ループ内にあることを確認することである。
ブロック503で、アプリケーションは、ユーザが表示
上で変更した値を検索する。これは、変数プールにアク
セスしてこれらの値を引き出すことによって行なう。ブ
ロック504で行なわれる判断によってこの処理が繰り返
され、すべての変数が検索されるまで、プログラムはブ
ロック501に戻る。
上で変更した値を検索する。これは、変数プールにアク
セスしてこれらの値を引き出すことによって行なう。ブ
ロック504で行なわれる判断によってこの処理が繰り返
され、すべての変数が検索されるまで、プログラムはブ
ロック501に戻る。
アプリケーションが完了すると、ブロック504での判
断によってプログラムはブロック506に移り、506でアプ
リケーションはパネル・グループをクローズする。
断によってプログラムはブロック506に移り、506でアプ
リケーションはパネル・グループをクローズする。
プログラムの表示ブランチがブロック510から始ま
り、510でパネル上で使用される条件が検査される。こ
のステップは、問題のパネルに関して評価すべき条件を
集める。各パネルはそれぞれ固有の一組の条件を有す
る。パネル言語はその内部に、パネルから要素を排除す
るか、あるいは表示のために含めるために使用できる条
件を定義するための別の言語を有する。例には機能キー
定義が含まれているが、これらの定義を画面から排除し
て、機能キーを非動作状態に保持することもできる。排
除された機能キーに関係する操作援助テキストも表示さ
れない。したがって、あるオブジェクトが排除される
と、そのオブジェクトは何も残らない。
り、510でパネル上で使用される条件が検査される。こ
のステップは、問題のパネルに関して評価すべき条件を
集める。各パネルはそれぞれ固有の一組の条件を有す
る。パネル言語はその内部に、パネルから要素を排除す
るか、あるいは表示のために含めるために使用できる条
件を定義するための別の言語を有する。例には機能キー
定義が含まれているが、これらの定義を画面から排除し
て、機能キーを非動作状態に保持することもできる。排
除された機能キーに関係する操作援助テキストも表示さ
れない。したがって、あるオブジェクトが排除される
と、そのオブジェクトは何も残らない。
ブロック511で、変数フィールドならびにシステム・
オブジェクト内の値を参照して条件が評価される。後の
カテゴリに属する例は、システムの主メニュー上の項目
である。ユーザが、たとえば特定のフィールド内に書き
込むことができるクラスに属さない場合は、特定のメニ
ューを排除することが望ましい。
オブジェクト内の値を参照して条件が評価される。後の
カテゴリに属する例は、システムの主メニュー上の項目
である。ユーザが、たとえば特定のフィールド内に書き
込むことができるクラスに属さない場合は、特定のメニ
ューを排除することが望ましい。
ブロック512で、表示される実際の要素が調べられ、
ブロック513で、オブジェクトを表示するかどうかが判
定される。各オブジェクトは条件付けられていても、条
件付けられていなくてもよい。条件付けられていない場
合は、表示される。条件付けられている場合は、その条
件の値が検査され、それが真であれば、そのオブジェク
トは表示のために含まれる。
ブロック513で、オブジェクトを表示するかどうかが判
定される。各オブジェクトは条件付けられていても、条
件付けられていなくてもよい。条件付けられていない場
合は、表示される。条件付けられている場合は、その条
件の値が検査され、それが真であれば、そのオブジェク
トは表示のために含まれる。
ブロック514で、オブジェクトに表示装置上の適当な
位置が割り当てられる。コンパイル時に仮の位置が割り
当てられる。このブロックで確認されると、それが最終
位置になる。
位置が割り当てられる。コンパイル時に仮の位置が割り
当てられる。このブロックで確認されると、それが最終
位置になる。
ブロック515の動作で、各オブジェクトに適当な属性
が割り当てられる。強調表示、カラー等が、命令行等の
オブジェクト・タイプに従って表示にマップされる。
が割り当てられる。強調表示、カラー等が、命令行等の
オブジェクト・タイプに従って表示にマップされる。
516で、問題の特定オブジェクトに対して、変数値が
必要かどうかが判定される。メニュー項目等、ある種の
オブジェクトは変数値を有さず、したがって、検索を必
要としない。他のオブジェクト、たとえばデータ項目
は、変数プールを介して与えられる値を表示し、ブロッ
ク517で示すように、表示のためにオブジェクトを検索
するため、プールに対するアクセスを必要とする。変換
が必要な場合もこのブロックで実行される。たとえば、
値が2進形態で記憶されていることがあるが、表示のた
めにそれを10進数に変換しなければならない。
必要かどうかが判定される。メニュー項目等、ある種の
オブジェクトは変数値を有さず、したがって、検索を必
要としない。他のオブジェクト、たとえばデータ項目
は、変数プールを介して与えられる値を表示し、ブロッ
ク517で示すように、表示のためにオブジェクトを検索
するため、プールに対するアクセスを必要とする。変換
が必要な場合もこのブロックで実行される。たとえば、
値が2進形態で記憶されていることがあるが、表示のた
めにそれを10進数に変換しなければならない。
表示上のすべてのオブジェクトについてこの処理が完
了したとブロック518で判定された後、ブロック519で示
すように、作成されたオブジェクト/位置リストからデ
ータ・ストリームが構成される。すべてのオブジェクト
が調べられていない場合は、プログラムはブロック518
からブロック512の入口にループして戻り、すべてのオ
ブジェクトを調べる。
了したとブロック518で判定された後、ブロック519で示
すように、作成されたオブジェクト/位置リストからデ
ータ・ストリームが構成される。すべてのオブジェクト
が調べられていない場合は、プログラムはブロック518
からブロック512の入口にループして戻り、すべてのオ
ブジェクトを調べる。
したがって、A点で、実質的に表示される全オブジェ
クトとそれらの属性のリストである、新しいデータ構造
が確立されたことになる。ブロック520で、データ・ス
トリームが表示装置に送り出される。このデータ・スト
リームは、表示装置によって解釈され、ユーザに提示さ
れる。ブロック521で、ユーザは画面を見、適当な情報
を入力し、機能キーを押して、ブロック522で、入力デ
ータをデータ・ストリームの形でシステムに送り返す。
クトとそれらの属性のリストである、新しいデータ構造
が確立されたことになる。ブロック520で、データ・ス
トリームが表示装置に送り出される。このデータ・スト
リームは、表示装置によって解釈され、ユーザに提示さ
れる。ブロック521で、ユーザは画面を見、適当な情報
を入力し、機能キーを押して、ブロック522で、入力デ
ータをデータ・ストリームの形でシステムに送り返す。
このデータ・ストリームは前と同様に位置及び値から
成る。ブロック523での動作には、ブロック521で押され
た機能キーの検査が必要がある。その機能キーが更新す
べき変数に関係していた場合は、ブロック523でのテス
トの後、ブロック524に移り、そこで画面が特定のオブ
ジェクトと相関される。関係するオブジェクトが識別さ
れると、変数プール内のどの変数が必要かを知るため、
ブロック525でオブジェクトが調べられる。次にブロッ
ク526で、問題の特定の変数について妥当性検査が必要
かどうかを知るため、変数クラスが検査される。検査が
必要な場合は、ブロック527に入って、適当な検査が実
行される。
成る。ブロック523での動作には、ブロック521で押され
た機能キーの検査が必要がある。その機能キーが更新す
べき変数に関係していた場合は、ブロック523でのテス
トの後、ブロック524に移り、そこで画面が特定のオブ
ジェクトと相関される。関係するオブジェクトが識別さ
れると、変数プール内のどの変数が必要かを知るため、
ブロック525でオブジェクトが調べられる。次にブロッ
ク526で、問題の特定の変数について妥当性検査が必要
かどうかを知るため、変数クラスが検査される。検査が
必要な場合は、ブロック527に入って、適当な検査が実
行される。
ブロック528は検査の結果で動作する。検査が不合格
だった場合は、処理はブロック529に進み、入力された
値にエラーのタグが付けられる。エラーのタグを付けら
れたデータは、次にブロック530表示装置上に再び示さ
れ、ブロック531で、ワークステーション・ユーザは、
データを正しく入力し直す機会を与えられる。ユーザが
別のエラーを犯している可能性があるので、プログラム
はブロック522に戻り、新しいデータが正しいかどうか
確認するため、検査が繰り返される。
だった場合は、処理はブロック529に進み、入力された
値にエラーのタグが付けられる。エラーのタグを付けら
れたデータは、次にブロック530表示装置上に再び示さ
れ、ブロック531で、ワークステーション・ユーザは、
データを正しく入力し直す機会を与えられる。ユーザが
別のエラーを犯している可能性があるので、プログラム
はブロック522に戻り、新しいデータが正しいかどうか
確認するため、検査が繰り返される。
入力されたデータが妥当性検査に合格すると、ブロッ
ク532で、変数が更新され、プログラムはブロック523に
ループして戻り、すべての変数が更新されたかどうか検
査する。最後に、変数更新処理が完了し、ブロック523
でのテストで、考慮すべき変数が残っていないことが示
される。プログラムは次にブロック540に進み、どのよ
うな対話活動を行なうべきか判定するために機能キーが
調べられる。これは、機能キーを適当な対話活動にマッ
プすることによって実現される。
ク532で、変数が更新され、プログラムはブロック523に
ループして戻り、すべての変数が更新されたかどうか検
査する。最後に、変数更新処理が完了し、ブロック523
でのテストで、考慮すべき変数が残っていないことが示
される。プログラムは次にブロック540に進み、どのよ
うな対話活動を行なうべきか判定するために機能キーが
調べられる。これは、機能キーを適当な対話活動にマッ
プすることによって実現される。
対話活動がアプリケーションへの帰還を示唆する場合
は、ブロック541でのテストの後、ブロック542に移り、
そこで図のようにアプリケーションに戻る。他の対話活
動が示唆される場合は、その対話活動が操作援助である
かどうか知るために、ブロック543でテストが行なわれ
る。操作援助活動が要求されている場合、ブロック544
で、カーソル位置を判定し、それを特定のオブジェクト
に相関させることにより、どの操作援助が要求されたか
の判定を開始する。次に、ブロック544で識別された表
示オブジェクトを検査して、どのような種類のオブジェ
クトかを調べる。ブロック545のテストにより、評価さ
れるオブジェクトがコマンド行であったか否かが判定さ
れる。
は、ブロック541でのテストの後、ブロック542に移り、
そこで図のようにアプリケーションに戻る。他の対話活
動が示唆される場合は、その対話活動が操作援助である
かどうか知るために、ブロック543でテストが行なわれ
る。操作援助活動が要求されている場合、ブロック544
で、カーソル位置を判定し、それを特定のオブジェクト
に相関させることにより、どの操作援助が要求されたか
の判定を開始する。次に、ブロック544で識別された表
示オブジェクトを検査して、どのような種類のオブジェ
クトかを調べる。ブロック545のテストにより、評価さ
れるオブジェクトがコマンド行であったか否かが判定さ
れる。
このテストで、問題のオブジェクトがコマンド行であ
ることが示された場合、ブロック546で検査が行なわれ
て、コマンドが入力されたか否かが判定される。入力さ
れたコマンドがある場合は、ブロック547で、実行時サ
ポートが呼び出されて、そのコマンドに対する操作援助
メッセージが表示される。コマンドが入力されていない
場合は、ブロック548で、そのコマンド行がメニュー・
オプションを含んでいたかどうかが判定される。そうで
ある場合は、ブロック549で、そのメニュー項目を、ど
の操作援助メッセージを表示すべきかを判定するための
オブジェクトとして選ぶ。
ることが示された場合、ブロック546で検査が行なわれ
て、コマンドが入力されたか否かが判定される。入力さ
れたコマンドがある場合は、ブロック547で、実行時サ
ポートが呼び出されて、そのコマンドに対する操作援助
メッセージが表示される。コマンドが入力されていない
場合は、ブロック548で、そのコマンド行がメニュー・
オプションを含んでいたかどうかが判定される。そうで
ある場合は、ブロック549で、そのメニュー項目を、ど
の操作援助メッセージを表示すべきかを判定するための
オブジェクトとして選ぶ。
選択されたオブジェクトがコマンド行ではないとブロ
ック545で判定され、あるいはメニュー・オプションを
有するコマンド行でないとブロック548で判定された場
合は、ブロック550で、選択されたオブジェクトに対す
る操作援助が表示される。
ック545で判定され、あるいはメニュー・オプションを
有するコマンド行でないとブロック548で判定された場
合は、ブロック550で、選択されたオブジェクトに対す
る操作援助が表示される。
ブロック560で、条件付けられたオブジェクトを除く
パネル上のすべてのオブジェクトに対応する操作援助リ
ストが構成される。それに対して操作援助が表示される
リスト上の最初と最後の項目は、そのようにマークされ
る。通常の場合、それが、選択されたオブジェクトに対
応する唯一の項目となる。
パネル上のすべてのオブジェクトに対応する操作援助リ
ストが構成される。それに対して操作援助が表示される
リスト上の最初と最後の項目は、そのようにマークされ
る。通常の場合、それが、選択されたオブジェクトに対
応する唯一の項目となる。
ブロック561で、特定のユーザ・パネルに対する操作
援助パネルを取り出すために必要な操作援助パネルを表
示するため、操作援助アプリケーションが呼び出され
る。この時点で、ユーザが機能キーを押して拡張操作援
助を要求した場合、ブロック562からブロック563に移
り、そこで拡張操作援助がユーザに提示される。これは
一般に、識別されたすべての操作援助に関係するすべて
の操作援助メッセージである。ユーザは次に適当な処置
を取る。たとえば、ブロック564に示すように、ユーザ
は操作援助メッセージの使用が完了したことを示し、プ
ログラムはA点に戻る。
援助パネルを取り出すために必要な操作援助パネルを表
示するため、操作援助アプリケーションが呼び出され
る。この時点で、ユーザが機能キーを押して拡張操作援
助を要求した場合、ブロック562からブロック563に移
り、そこで拡張操作援助がユーザに提示される。これは
一般に、識別されたすべての操作援助に関係するすべて
の操作援助メッセージである。ユーザは次に適当な処置
を取る。たとえば、ブロック564に示すように、ユーザ
は操作援助メッセージの使用が完了したことを示し、プ
ログラムはA点に戻る。
次にブロック543に戻って、対話活動が操作援助でな
いことがテストで示された場合、ブロック570でテスト
を行なって、対話活動が画面上方送り、画面下方送り、
ビュー変更等、表示管理機能によって直接処理されるこ
とが可能なものかどうか調べる。そうである場合は、実
行時サポートがその機能を実行し、ブロック571で示す
ように、プログラムはB点に戻る。
いことがテストで示された場合、ブロック570でテスト
を行なって、対話活動が画面上方送り、画面下方送り、
ビュー変更等、表示管理機能によって直接処理されるこ
とが可能なものかどうか調べる。そうである場合は、実
行時サポートがその機能を実行し、ブロック571で示す
ように、プログラムはB点に戻る。
ブロック570でのテストで、表示管理機能によって直
接処理されることが可能な対話活動でないことが示され
た場合は、ブロック580で、コマンド要求であるかどう
か調べる。そうである場合は、ブロック581で、要求が
システムに渡され、プログラムはA点に戻る。そうでな
い場合は、ブロック582に入り、ユーザが空白状況を処
理するためにどのようにパネルをコード化したかに応じ
て、アプリケーションに戻り、またはパネルが再表示さ
れる。
接処理されることが可能な対話活動でないことが示され
た場合は、ブロック580で、コマンド要求であるかどう
か調べる。そうである場合は、ブロック581で、要求が
システムに渡され、プログラムはA点に戻る。そうでな
い場合は、ブロック582に入り、ユーザが空白状況を処
理するためにどのようにパネルをコード化したかに応じ
て、アプリケーションに戻り、またはパネルが再表示さ
れる。
F.効果 本発明によれば、複数のアプリケーション・プログラ
ムによって共用されるデータと表示装置の間の共通イン
ターフェースが提供される。
ムによって共用されるデータと表示装置の間の共通イン
ターフェースが提供される。
第1図は本発明の動作のブロック・ダイヤグラムであ
る。 第2図は、本発明を用いて開発され、管理されるリスト
画面の一例である。 第3a図ないし第3d図は、本発明のプログラミング態様の
ブロック・ダイヤグラムである。 1……パネル定義言語ソース、2……コンパイラ、3…
…パネル・グループ・オブジェクト、4……アプリケー
ション・プログラム、5……パネル・アプリケーション
実行サポート、6……変数プール、7……装置サポー
ト、8……表示装置。
る。 第2図は、本発明を用いて開発され、管理されるリスト
画面の一例である。 第3a図ないし第3d図は、本発明のプログラミング態様の
ブロック・ダイヤグラムである。 1……パネル定義言語ソース、2……コンパイラ、3…
…パネル・グループ・オブジェクト、4……アプリケー
ション・プログラム、5……パネル・アプリケーション
実行サポート、6……変数プール、7……装置サポー
ト、8……表示装置。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マイケル・アンドリユ・テンプル アメリカ合衆国ミネソタ州ロチエスター、 ノース・ウエスト・フイフス・プレス4018 番地 (72)発明者 デボン・ダニエル・スナイダー アメリア合衆国ミネソタ州ロチエスター、 ノース・ウエスト・エルトン・ヒルズ・コ ート982番地 (72)発明者 ジヨージ・デヴイド・テイムズ、ジユニア アメリカ合衆国ミネソタ州ロチエスター、 アパートメント13、ノース・ウエスト・ナ インテイース・アヴエニユー3910番地 (72)発明者 サミエル・ロバート・シイ アメリア合衆国ノース・カロライナ州カリ イ、グラスゴー・ロード102番地 (56)参考文献 特開 昭63−148397(JP,A) 特開 昭61−211732(JP,A) 日経エレクトロニクス、1984,1,30, 「パーソナル・コンピュータ操作性向上の 決め手となるマルチウインドウ化ソフト」 P.101〜118
Claims (1)
- 【請求項1】複数のアプリケーション・プログラムで使
用することができ、前記アプリケーション・プログラム
間において表示パネル定義の一貫性を提供し、前記表示
パネルが表示されている表示装置から独立したパネル定
義を提供するプログラム・インターフェースを用いて表
示パネルを生成する方法であって、表示装置、記憶手
段、及びプロセッサを有するデータ処理システムで使用
される前記方法が、 a)前記表示パネルの一部分として表示され、命令行、
データ入力域、メニュー域、コマンド行、およびメッセ
ージを含む1つ以上の表示オブジェクトを識別し、 各表示オブジェクトと表示オブジェクト・タグを関連付
け、 各表示パネルに可変タイトルを指定し、 前記可変タイトルとパネル・タグを関連付け、 前記パネル・タグと少なくとも1つの前記表示オブジェ
クト・タグとを関連付けることにより、前記プログラム
・インターフェース手段を用いて、パネル定義を提供す
るステップと、 b)前記パネル・タグ、前記可変タイトル、前記表示オ
ブジェクト・タグ及び前記表示オブジェクトの定義を前
記記憶手段に記憶するステップと、 c)前記記憶手段に記憶されている第1のアプリケーシ
ョン・プログラムにより前記プロセッサに前記パネル・
タグを提供するステップと、 d)前記プロセッサのために前記記憶手段にアクセス
し、前記記憶手段において、前記パネル・タグと関連付
けられた前記可変タイトル及び、前記パネル・タグと関
連付けられた前記表示オブジェクト・タグ及び、前記表
示オブジェクト・タグと関連付けられた前記表示オブジ
ェクトを捜し出すステップと、 e)少なくとも1つの表示装置において、前記関連付け
られた可変タイトルと前記関連付けられた表示オブジェ
クトを含む前記表示パネルを表示するステップと、 を含むことを特徴とする表示パネルを生成する方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16952488A | 1988-03-17 | 1988-03-17 | |
| US169524 | 1988-03-17 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02146633A JPH02146633A (ja) | 1990-06-05 |
| JPH0833834B2 true JPH0833834B2 (ja) | 1996-03-29 |
Family
ID=22616062
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1010095A Expired - Lifetime JPH0833834B2 (ja) | 1988-03-17 | 1989-01-20 | 表示パネル生成方法 |
Country Status (2)
| Country | Link |
|---|---|
| EP (1) | EP0333619A3 (ja) |
| JP (1) | JPH0833834B2 (ja) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5121478A (en) * | 1988-09-08 | 1992-06-09 | Xerox Corporation | Window system with independently replaceable window functionality |
| CA2025142A1 (en) * | 1989-09-28 | 1991-03-29 | John W. White | Portable and dynamic distributed applications architecture |
| US5416903A (en) * | 1991-08-19 | 1995-05-16 | International Business Machines Corporation | System and method for supporting multilingual translations of a windowed user interface |
| US6259446B1 (en) * | 1992-12-23 | 2001-07-10 | Object Technology Licensing Corporation | Menu state system |
| CN103699373B (zh) * | 2013-11-29 | 2017-11-21 | 小米科技有限责任公司 | 界面颜色显示方法、装置及系统 |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4899276A (en) * | 1984-08-14 | 1990-02-06 | International Business Machines Corporation | Field-directed screen help technique |
| JPS61211732A (ja) * | 1985-03-18 | 1986-09-19 | Nec Corp | 表示画面認識装置 |
| JPS63148397A (ja) * | 1986-12-11 | 1988-06-21 | 富士電機株式会社 | デイスプレイにおける情報表示方式 |
-
1989
- 1989-01-20 JP JP1010095A patent/JPH0833834B2/ja not_active Expired - Lifetime
- 1989-01-31 EP EP19890480020 patent/EP0333619A3/en not_active Withdrawn
Non-Patent Citations (1)
| Title |
|---|
| 日経エレクトロニクス、1984,1,30,「パーソナル・コンピュータ操作性向上の決め手となるマルチウインドウ化ソフト」P.101〜118 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH02146633A (ja) | 1990-06-05 |
| EP0333619A3 (en) | 1990-10-10 |
| EP0333619A2 (en) | 1989-09-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5179657A (en) | Panel definition language for computer display | |
| US6763498B2 (en) | Graphical environment for managing and developing applications | |
| US5535389A (en) | Business process objects with associated attributes such as version identifier | |
| US5432925A (en) | System for providing a uniform external interface for an object oriented computing system | |
| US6990652B1 (en) | System and method for determining methods and properties to be invoked on objects in a graphical program | |
| US8015542B1 (en) | System and method for creating a graphical program which invokes methods and properties of objects | |
| US5497491A (en) | System and method for importing and exporting data between an object oriented computing environment and an external computing environment | |
| JP3136035B2 (ja) | データベースシステム用インターフェースのための自動レイアウト・ジェネレータ及びその生成方法 | |
| US5428729A (en) | System and method for computer aided software engineering | |
| US5732263A (en) | Systems, methods and computer program products for generating and validating user defined object classes in an object oriented programming environment after build time | |
| US6064812A (en) | System and method for developing automation clients using a graphical data flow program | |
| US5041967A (en) | Methods and apparatus for dynamic menu generation in a menu driven computer system | |
| US5724569A (en) | Apparatus for evaluating database query performance having libraries containing information for modeling the various system components of multiple systems | |
| US6064816A (en) | System and method for performing class propagation and type checking in a graphical automation client | |
| US5832268A (en) | System and method for supporting complex objects in an object oriented computing environment | |
| US7089256B2 (en) | Universal data editor | |
| US5499365A (en) | System and method for controlling versions of objects in an object oriented computing environment | |
| EP0602263A1 (en) | User interface program generator | |
| US7743335B2 (en) | System and method for accessing registers of a hardware device in a graphical program | |
| WO1999014651A2 (en) | Method and system for database application software creation requiring minimal programming | |
| US20050060685A1 (en) | Program generator | |
| US5781905A (en) | Program generating method combining data item part with database manipulation part | |
| US6074431A (en) | Apparatus and method for automatically forming work object and recording medium recording work object forming program and capable of being read by computer | |
| JPH0833834B2 (ja) | 表示パネル生成方法 | |
| EP0378899A2 (en) | Operating environment for software using different data structures |