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.
ToolkitからPrologへの変換は、xtGetValues/2を使用する場合にのみ必要となります。この述語は、各リソースに対する変換手続きを呼び出す手続きとして実現されています。これらのコンバータは、リソース名とその値が必要とされるwidgetを取得します。リソース値は、コンバータがXtのルーチンXtGetValues()を呼び出すことによってwidgetから直接取り出されます。そして、必要とされるProlog表現への変換が行なわれ、その結果が返されます。
void FromToolkitToPrologConverter(name, widget, value_ptr)
char *name;
Widget widget;
TERM *value_ptr;
Prolog表現への変換では扱い易くするために、整数定数をアトムに置き換えることがあります。
例題: 型"Boolean"のリソースに対するコンバータ
void IFXtTPCvtBoolean(name, widget, value_ptr)
char *name;
Widget widget;
TERM *value_ptr;
{
Arg arg 1 ;
Boolean bool;
IFXtCvtError = NULL;
XtSetArg(arg 0 , name, &bool );
XtGetValues(widget, arg, 1 );
*value_ptr = (bool ? StrAt("true") : StrAt("false"));
}
|