XtInitialize(3XM) — NEWS-OS Programmer’s Manual
名称
XtInitialize — ツールキットを初期化し、トップレベルシェルを返す関数
形式
#include <Xm/Xm.h> Widget XtInitialize (shell_name, application_class, options, num_options, argc, argv )
Stringshell_name ;
Stringapplication_class ;
XrmOptionDescRec options ;
Cardinalnum_options ;
Cardinal∗ argc ;
Stringargv ;
解説
Xt Intrinsics は、他の Xt intrinsic 関数の呼び出しを行なう前に初期化されなければなりません。 XtInitialize は、ディスプレイサーバとのコネクションを確立し、アプリケーションを呼び出したコマンドラインをパース (解析) し、リソースデータベースをロードし、アプリケーションの widget の親として動作するためにシェル widget を生成します。
アプリケーションを呼び出したコマンドラインを XtInitialize に渡すことによって、関数は、ユーザが、アプリケーションに対する (フォントや色のような) 特定のリソースを実行時に指定可能にするために、コマンドラインをパース (解析) することができます。。 XtInitialize は、コマンドラインを検索し、それらのオプションを削除します。 アプリケーションの残りの部分は、残りのオプションのみを参照します。
XtInitialize ほど便利ではありませんが、Xt Intrinsics の初期化に使用できる関数が他にもいくつかあります。 しかし、これは使用したいシェルの型をユーザが決定することができるため、より柔軟性があります。 関数 XtToolkitInitialize はツールキットのみを初期化します。 ディスプレイのオープンあるいはアプリケーションシェルの生成は行いません。 これらの作業は、XtOpenDisplay と XtAppCreateShell を使用して、自分で行わなければなりません。
XtInitialize は、環境変数 LANG の値に基づくデフォルトファイルのローカライズをサポートしています。 ユーザは、環境変数 LANG を使用することによって言語を指定することができます。 この値のエレメントは、固有のリソースファイルへのパスを設定するために使用されます。 以下の置換がパスの設定に使用されます :
•%N はアプリケーションの class_name に置き換えられます。
•%L は環境変数 LANG の値に置き換えられます。
•%l は環境変数 LANG の言語部分に置き換えられます。
•%t は環境変数 LANG の領域部分に置き換えられます。
•%c は環境変数 LANG のコードセットに置き換えられます。
•%% は % に置き換えられます。
環境変数 LANG が定義されていないか、あるいはその一部がなければ、それを参照する % エレメントは NULL に置き換えられます。
パスはコロンによって区切られたエレメントの列を含んでいます。 各エレメントは、ファイル名を示し、ファイル名はそれらの内の一つが成功するまで左から右へと検索されます。 検索を行う前に、置換が行われます。
注意: ファイル中の複数個の隣り合ったスラッシュを一つのスラッシュに置き換える X/Open の規約を使用しています。
XtInitialize 関数は、以下のソースからリソース中にマージすることによってリソースデータベースをロードします。
•ローカルホスト上のアプリケーション特有の class リソース。
•ローカルホスト上のアプリケーション特有の user リソース。
•サーバ上のリソースプロパティあるいはローカルホスト上のユーザプリファレンスリソースファイル。
•ローカルホスト上のホストごとのユーザ環境リソースファイル。
•アプリケーションのコマンドライン (argv)。
アプリケーション特有のクラスリソースファイルをロードするために、XtInitialize は次のパスで適切な検索を行います。
•/usr/lib/X11/%L/app-defaults/%N:/usr/lib/X11/app-defaults/%N
環境変数 LANG が定義されていなければ (あるいは、LANG を使用した最初のパスの検索が失敗した場合は)、検索は、現在の言語を指定しない位置がデフォルトになります (/usr/lib/X11/app_defaults/%N)。
ユーザのアプリケーションのリソースファイルをロードするために、XtInitialize は以下のステップを実行します。
•ファイルを検索するために環境変数 XAPPLRESLANGPATH を使用します。 XAPPLRESLANGDIR に対して使用可能な値は、以下のものです。 ./%N:$HOME/app-defaults/%L/%N:$HOME/app-defaults/%N:$HOME/%L/%N:$HOME/%N
•これが失敗した場合、あるいは、XAPPLPRESLANGPATH が定義されておらず、XAPPLRESDIR が定義されていれば、パスとして以下のものを使用します。 XAPPLRESDIR%L/%N:XAPPLRESDIR%N
•それ以外の場合は、以下のものを使用します。 $HOME/%L/%N:$HOME/%N
XAPPLRESLANGPATH の検索が成功せず、また、LANG が定義されていなければ、検索は、XtInitialize の R3 の仕様 (実際には XtDisplayInitialize の中で記述されている) によって使用される場合と等価であるということに注意してください。
XtInitialize に対するパラメータは、以下のように定義されます。
shell_name通常「 main 」のような一般名であるアプリケーションのシェル widget のインスタンスの名称を指定します。 この名称は、このシェル widget に固有に属しているリソースを検索するために、Xt Intrinsics によって使用されます。 アプリケーション名は、-name というコマンドライン引数、あるいは、それが存在しなければ argv[0] の最後のコンポーネントから得られます。
application_class
通常アプリケーションのすべてのインスタンスに対する一般名であるアプリケーションのクラス名を指定します。 規約によって、クラス名はアプリケーションの最初の文字の大文字と小文字を反転することによって形成されます。 クラス名は、リソースデータベースを初期化するために使用されるファイルを配置するために使用されます。
optionsアプリケーション特有のリソースに対してコマンドラインをパース (解析) する方法を指定します。 オプションの引数は、XrmParseCommand にパラメータとして渡されます。
num_optionsオプションリストのエントリ数を指定します。
argcコマンドラインのパラメータ数へのポインタを指定します。
argvコマンドラインのパラメータを指定します。
リターン値
トップレベルシェルの widget ID を返します。 シェルのクラスは ApplicationShellWidgetClass です。
関連事項
NEWS-OSRelease 4.2.1R