HP OpenVMS Systems Documentation |
[ 前のページ ] [ 次のページ ] [ 目次 ] [ 索引 ]
この章では,DECがMotifユーザ・インターフェイス言語(UIL)に追加した拡張機能について説明します。 特に,ネストしたコンパウンド・ストリング,UIL コンパイラの新しいコマンド行修飾子,そしてWMLバイナリ・データベースの使用方法について説明します。
さらに,付録 AではUIL組み込み表を列記しています( このUIL組み込み表にはDECが提供する追加ルーチンが含まれています) 。このUIL組み込み表は,ユーザが自分のUIL仕様がMotifツールキットと矛盾していないかどうかをチェックするために使用することができます。 このチェックはコンパイル中に行われます。
ネストしたコンパウンド・ストリングにより,コンパウンド・ストリングを表示する方向に対応づけて, 指定したコンパウンド・ストリングを他のコンパウンド・ ストリング内にネストすることができます。一方のコンパウンド・ ストリング・セグメントを右から左に読み,もう一方のコンパウンド・ ストリングは左から右に読む必要がある場合は,NESTED_COMPOUND_ STRING関数を使用します。
NESTED_COMPOUND_STRING関数の結果は,方向をネストしたコンパウンド・ ストリングです。NESTED_COMPOUND_STRINGは次に示す値の1つを取ります。
NESTED_COMPOUND_STRING関数の構文は次のとおりです。
NESTED_COMPOUND_STRING(nested_string_expression...)
ここでは次のように仮定しています。
nested_string_expression :== {nested_string_expression nested_string_expression ... 【1】 |RTOL (nested_string_expression) 【2】 |LTOR (nested_string_expression) 【3】 |string_expression [SEPARATE=Boolean_expression]}; 【4】
コンパイラは,文字列式のそれぞれについて上記の4つのタイプのいずれかであるかどうかを調べるために評価を行い, 次にすべての文字列式を, ネストした方向設定で1つのコンパウンド・ストリングに連結します。
ネストしたコンパウンド・ストリングのUILコードの例を次に示します。
(RTOL ("Hello" LTOR ("123", separate=TRUE) "World" ))
この例のコンパウンド・ストリングは,エンド・ユーザには次のように表示されます。
123 olleH dlroW
UILコンパイラは,省略時の値としてMotifバージョン1.1.1とDXmのウィジェットを使用します。 ただし,別のコンパイラ・コマンド修飾子を使用すれば, これ以外のバージョンやこれ以外のウィジェットを使用することもできます。 これ以降の節では,OpenVMS,UNIXおよびWindows NTオペレーティング・ システム上のUILコンパイラの使用方法について説明します。
OpenVMSシステム上のUILコンパイラのコマンド修飾子を,表 3-1 に示します。
修飾子 | 省略時の値 | 説明 |
---|---|---|
/MOTIF | /XUI /VERSION=V2 | MotifおよびDECが拡張したウィジェット・ データベースを使用する。 |
/WIDGET_META_ DESCRIPTION=filespec | UILソースを処理するときにウィジェット・
メタ記述(WMD)ファイルの使用を選択する。UIL
には標準OSF/Motifウィジェット・セット,およびDECが拡張したウィジェット・
セットの2つのWMDファイルが付いている。標準OSF/Motif
ウィジェット・セットを使用したい場合には,この修飾子には次のファイル指定を使用する。
DECW$SYSTEM_DEFAULTS:DECW$UIL_OSF_MOTIF_1_1.WMD | |
DECが拡張したウィジェット・
セットを使用したい場合には,/MOTIF修飾子を使用するか,
またはこの修飾子を次に示すファイル指定に使用する。この2つの方法とも,
生じる結果は同じである。
DECW$SYSTEM_DEFAULTS:DECW$UIL_DXM_MOTIF.WMD(システム管理者に,使用可能な追加のWMDファイルがあるかどうかを尋ねてください。) この修飾子は/MOTIF修飾子とのみ一緒に使用し,/XUI修飾子と使用してはならない。 この修飾子の使用方法の詳細については,第3.3節を参照。 | ||
/[NO]LIST | 会話型モードの/NOLIST バッチ・モードの/LIST | コンパイラがリスト・ファイルを作成するように指示する。 リスト・ファイルは現在の省略時のディレクトリ内に作成され, 入力ファイルと同じファイル名になるが.LIS というファイル拡張子が付けられる。/LIST修飾子にファイル指定を加えると, コンパイラはその指定を使用してリスト・ファイルの名前を付ける。 |
/[NO]MACHINE_CODE | /MACHINE_CODE | ほとんどの高級言語コンパイラに指定できる/MACHINE_CODE ( または同値の)修飾子のように機能する。 UILコマンド行で/LISと/MACHINE_CODEの両方を指定すると,コンパイラはUID ファイルに書き込んだレコードの記述をリスト・ファイルに書く。 これは,コンパイラが高級言語から生成した機械語コードをリストに置くのと似た働きである。 このリストの主な目的はUILコンパイラ内のエラーを隔離することにある。 |
/[NO]OUTPUT | /OUTPUT | コンパイラがユーザ・
インターフェイス定義(UID)ファイルを作成するよう指示する。省略時の設定では,/OUTPUT
は現在の省略時のディレクトリに入力ファイルと同じ名前でUID
という拡張子を持つUIDファイルを作成する。/OUTPUT修飾子にファイル名を指定すると,
コンパイラはその指定を使用してUIDファイルの名前を付ける。
/NOOUTPUT修飾子を使用している場合,またはコンパイラがエラーまたは重大エラーのカテゴリに入る診断メッセージを発行した場合には, UIDファイルは作成されない。UILモジュールが構文的に正しいかどうかだけをチェックしたい場合には,/NOOUTPUT 修飾子を使用することができる。 |
/[NO]WARNINGS | /WARNINGS | UILコンパイラが警告メッセージまたは情報メッセージ, あるいはその両方を出力しないように指示する。 |
UNIXおよびWindows NTオペレーティング・システムでは,次に示すOSF /Motif UILコンパイラから選択することができます。
uil [修飾子]ファイル名
これらのコンパイラのコマンド修飾子を,表 3-2 に示します。
修飾子 | 省略時の値 | 説明 |
---|---|---|
-s | ローカライズされたコンパウンド・ ストリングを生成するとき,現在のロケールを使用するようにコンパイラに指示する。 | |
-wmdfilename | UILソースを処理するときに使用するウィジェット・
メタ記述(WMD)ファイルを選択する。2つのWMD
ファイル,すなわち標準OSF/Motifウィジェット・セットおよびDEC
が拡張したウィジェット・セットが提供されている。標準OSF/Motifウィジェット・
セットを使用したい場合には,次のファイルを-wmdフラグに指定する。
このファイルの位置は使用しているオペレーティング・システムによって異なる。
motif.wmd | |
DECが拡張したウィジェット・
セットを使用したい場合には,次に示すファイル名を-wmd
修飾子とともに使用することができる。このファイルの位置は使用しているオペレーティング・
システムによって異なる。
dxm-motif.wmd(システム管理者に,使用可能な追加のWMDファイルがあるかどうかを確認してください) 。 | ||
- ofilename | a.uid | コンパイラがユーザ・
インターフェイス定義(UID)ファイルを作成するように指示する。
省略時の設定では,UILはa.uidという名前のUIDファイルを作成する。
コンパイラがエラーまたは重大エラーのカテゴリに入る診断メッセージを発行した場合には,UID ファイルは作成されない。 |
-vfilename | リストは作成されない | コンパイラがリスト・ファイルを作成するように指示する。-v オプションが付いていない場合には,コンパイラはリストを作成しない。 |
-m | 機械コードは作成されない | コンパイラがUIDファイルに追加したレコードの記述をリスト・ ファイルに置くように指示する。これはエラーの隔離に役立つ。 |
-w | 警告メッセージが生成される | コンパイラにすべての警告メッセージおよび情報メッセージを出力しないように指示する。 エラー・メッセージおよび重大エラー・ メッセージが生成される。 |
-I[pathname] | /usr/include | -Iオプションの後に絶対ディレクトリ指定を指定すると,コンパイラはスラッシュ(/)
で始まらない名前のインクルード・ファイルを次の順序で検索する。
-Iのみを指定すると,コンパイラはメイン・ファイルのあるディレクトリのみを検索し, 標準ディレクトリ(/usr/include)内のインクルード・ファイルは検索しない。 |
MotifのDEC提供のバージョンでは,ウィジェット・メタ記述(WMD)と呼ばれるバイナリ・ フォームのウィジェット・メタ言語をサポートしています。WML は,UILコンパイラとともに使用するウィジェットやその他の属性を説明するWMD ファイルを生成します。DECは,各オペレーティング・システム上に2 つのWMLソース・ファイルを提供しています。ユーザはこれらのファイルを自分のサブディレクトリに複写して修正することができるため, ユーザ定義をしなくても独自のウィジェットを名前だけで参照することができます。
これ以降の節では,OpenVMS,UNIXおよびWIndows NTの各オペレーティング・ システムに提供されるウィジェット・メタ記述(WMD)サポートについて説明します。 ウィジェット・メタ記述(WMD)の詳細については,『OSF/Motifプログラマーズ・ ガイド』を参照してください。
DECはOpenVMSオペレーティング・システムでWMLデータベースをサポートするために, 次のファイルを提供しています。
新しいウィジェットを追加する場合やウィジェット特性を変更する場合には,2 つあるWMLファイルの1つを複写することから開始します。DECのウィジェットを使用している場合には,DECW$DXM_MOTIF.WML を使用します。アプリケーションがOSF ウィジェット・セットのみを必要としている場合には,OSF WML ファイルを使用します。
さらに,DECでは次のファイルを提供しています(これらのファイルは上記の2 つのWMLファイルに対応するものです)。
追加ウィジェットのためのUILサポートを追加できるようにするために, DECは次のファイルを提供しています。
上記のファイルのいずれかを,自分のWMLファイルのテンプレートとして使用する。
処理方法は次のとおりです。
@DECW$EXAMPLES:UILWMDCREATE filename.WML
このコマンド・プロシージャには次の3つの主要機能がある。
このコマンド・プロシージャを実行すると,UILコンパイラが内部データベースの代わりに使用するWMD ファイルが作成される。
その他に2つのファイル,すなわちMMファイルとSDMLファイルが作成される。 これらのファイルは文書整形ファイルである。MMファイルはtroff MM マクロ・フォーマット・ファイルであり,SDMLファイルはVAX Document ファイルである。MMファイルはULTRIXシステム上で, またSDMLファイルはOpenVMSシステム上で使用して,ユーザ独自のウィジェット・ セットの組み込み表を作成することができる。
UIL/MOTIF/WIDGET_META_LANGUAGE=filename.WMD filename.UIL
DECはUNIXおよびWindows NTオペレーティング・システムでWMLデータベースをサポートするために, 次のファイルを提供しています。
新しいウィジェットを追加する場合やウィジェット特性を変更する場合には,2 つあるWMLファイルの1つを複写することから開始します。DECのウィジェットを使用している場合には,dxm-motif.wml を使用します。アプリケーションがOSF/Motif ウィジェット・セットのみを必要としている場合には,motif.wml ファイルを使用します。
さらに,DECでは次のファイルを提供しています(これらのファイルは2つのWML ファイルに対応するものです)。
追加ウィジェットのためのUILサポートを追加できるようにするためにDEC はUNIXおよびWindows NTシステム用に次のファイルを提供しています。
上記のファイルのいずれかを,自分のWMLファイルのテンプレートとして使用する。
処理方法は次のとおりです。
uilwmdcreate filename
make allコマンドを実行してmakefileを作成する。このmakefileには次の3 つの主要機能がある。
このスクリプト・ファイルを実行すると,UILコンパイラが内部データベースの代わりに使用するwmd ファイルが作成される。
その他にMMファイルが作成される。MMファイルはtroff MMマクロ・フォーマット・ ファイルである。MMファイルをUNIXシステム上で使用して, ユーザ独自のウィジェット・セットの組み込み表の複写を作成することができる。
uil -d filenamenew.wmd filename.uil -o filename.uid