xtInitialize(?ShellName, +ToolkitName, +ApplicationClass, +OptionList, +ArgvList)
intrinsicsのXtInitialize()と同様の働きをします。
toolkitの内部が初期化され、デフォルトのアプリケ−ションコンテクストがつくられ、ディスプレイ文字NULLやArgvListに与えられたディスプレイを使って、サ−バへの結合が行われます。こうしてtopLevelShellWidgetClassの実体がつくられます。このwidgetは、これ以後つくられるwidgetの親として使うことができます。 ShellNameには特定のwidget名(アトム)を指定してもいいし、あるいはシステムが生成した名前('class'_n)を使うことができます。xtInitializeは、widgetのポインタを返しません。IF/Prologではwidgetに対するすべての参照は、widget名を通して行わなければなりません。よって、これ以後のすべてのPrologからの参照には、ShellNameを使って下さい。通常ToolkitNameは、Prolog名と同一です。これは、デフォルトファイルとコマンド行からリソ−スを指定するのに使われます。 OptionListは、ユ−ザ独自のコマンド行解析アルゴリズムを指定することができます。バックグラウンド色(-bg 'color')のようなリソ−ス値は、ArgvListから得ることができます。これらはtoolkitのリソ−スデ−タベ−スに追加され、widgetの生成時にそこから引き出されます。
OptionListはリストから成るリストで、3 〜4個のアトムから成っています。
OptionList = [ [ArgvName, ResourceName, ArgKind, Value], ...]
ArgvName ArgvList中の文字列(アトム) ResourceName 設定すべきリソ−ス名です(アプリケーションなしの)。 ArgKind オプションの型です。noArg, isArg, stickyArg, sepArg, skipArg, skipLineのいずれかになります。(X11.4 intrinsics マニュアルを参照して下さい) Value noArgとの組み合わせでのみ使われます。その文字列値は、コマンド行から読み込まれたのと同様に扱われます。
xtInitialize/5が2度目に呼び出されると、シェルwidgetを除くすべてのwidgetが破壊されます。これは、同一のパラメ−タでxtInitialize/5がさらに呼び出された場合、プログラムの対話型デバッギングに有用です。
?- xtInitialize(Toplevel, Toplevel, demo, [], []). Toplevel = applicationShell_1 yes ?-_
widget_name_already_used 使用したWidgetNameがすでに使われている illegal_first_parameter ShellNameが変数、あるいはアトムでない atom_expected ToolkitNameがアトムでない list_expected OptionList、あるいはArgvListがリストでない illegal_argv_list ArgvListがアトムから成っていない illegal_option_list OptionListが正しい要素から成っていない illegal_reinitialize xtInitialize/5の2度目の呼び出しは、同一のパラメ−タでのみ行える