IF Computer > IF/Prolog > Manuals > IF/Prolog V4.1 マニュアル > IF/Prolog Interfaces > Athena インタフェースマニュアル > X11.4 Toolkit によるプログラミング > widgetの生成と操作 > xtInitialize/5

xtInitialize/5

IF/Prolog by Siemens
MINERVA superseeded IF/Prolog. Please see http://www.ifcomputer.co.jp/MINERVA for details.

We discontinued to sell IF/Prolog Dec 31. 2003. For current customers, we continue to provide professional support for IF/Prolog until Dec 31, 2008.

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度目の呼び出しは、同一のパラメ−タでのみ行える

document: http://www.ifcomputer.co.jp/IFProlog/Manuals/v4.1/advanced_feature/athena/xtprog/widgets/xtini/print_de.html
published 2009/1/5 update 1995/11/6 (c) 1996-2006 IF Computer Japan
IF Computer 5-28-2 Sendagi, Bunkyo-ku Tel +81-3-5814-3352 start (AT) ifcomputer.com
Customer Support Tokyo 113-0022 Japan   http://www.ifcomputer.com
Back> managed with ubiCMS