MINERVA superseeded IF/Prolog.
Please see
http://www.ifcomputer.co.jp/MINERVA
for details.
We discontinued to sell IF/Prolog Dec 31. 2003.
Dedicated technical support for IF/Prolog ended Dec 31 2008.
This site is maintained as a community service only.
xmInitialize(?ShellName, +ToolkitName,
+ApplicationClass, +OptionList, +ArgvList)
intrinsicsのXtInitialize()と同様の働きをします。
toolkitの内部が初期化され、デフォルトのアプリケ−ションコンテクストがつくられ、ディスプレイ文字列NULLかArgvListで与えられたディスプレイを使って、サ−バとコネクトします。こうしてtopLevelShellWidgetClassの実体がつくられます。このwidgetは、これ以後つくられるwidgetの親として使うことができます。
ShellNameには特定のwidget名(アトム)を指定してもいいし、あるいはシステムが生成した名前(widget_n)を使うことができます。xmInitializeは、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.3 intrinsics マニュアルを参照して下さい)。
Value noArgとの組み合わせでのみ使われます。その文字列値は、コマンド行から読み込まれたのと同様に扱われます。
xmInitialize/5が2度目に呼び出されると、シェルwidgetを除くすべてのwidgetが破壊されます。これは、同一のパラメ−タでxmInitialize/5を再度呼び出すことが必要となる、プログラムの対話型デバッギングの際に便利です。
?- xmInitialize(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 xmInitialize/5の2度目の呼び出しは、同一のパラメ−タでのみ行える
|