Xtoolkit側では、リソ−ス値はXtSetValues()のようなXtル−チンによって取り扱われた時に特別な型(XtArgVal)にキャスト(変換)されます。IF/Prologからリソ−スを設定する場合にも同様の変換が必要になります。PrologからXtoolkitへの変換を行うコンバ−タは、IF/PrologのTERMを入力として受け取り、変換したリソ−ス値をXtArgValとして返します。...
移動
次へ 前へ
上へ 最上
参考
PrologからToolkitへの変換
文字列変換の使用
ToolkitからPrologへの変換
イフコンピュータ > IF/Prolog > マニュアル > IF/Prolog V4.1 マニュアル > IF/Prolog Interfaces > Athena インタフェースマニュアル > X11.3 IF/Prologの拡張 > IF/Prolog-X11.3へのWidgetsの追加 > ファイル > コンバ−タ > PrologからToolkitへの変換

PrologからToolkitへの変換

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.

Xtoolkit側では、リソ−ス値はXtSetValues()のようなXtル−チンによって取り扱われた時に特別な型(XtArgVal)にキャスト(変換)されます。IF/Prologからリソ−スを設定する場合にも同様の変換が必要になります。PrologからXtoolkitへの変換を行うコンバ−タは、IF/PrologのTERMを入力として受け取り、変換したリソ−ス値をXtArgValとして返します。

void FromPrologToToolkitConverter(term, arg_val) TERM term; XtArgVal *arg_val;

コンバ−タが呼び出された時点で、termのProlog型はリソ−ステ−ブルIFXtResourceTable[]を参照して決定されます(対応するリソ−スの4番目の項目)。以下のうちのいずれかになります。

    ArgInteger Prologの整数 ArgFloat Prologの倍精度浮動小数 ArgList  Prologのリスト ArgAny Prologの項

変換手続きでは、引き渡されたProlog表現に対応するリソ−ス値を計算してそれをXtArgVal()にキャストし、それを出力パラメ−タarg_valに渡さなければなりません。

リソ−スの計算は、PrologからCへの変換、メモリの割り当て、Xlib関数の呼び出しによるXリソ−スの作成などのアクションから成っています。

変換が失敗した場合には、グロ−バル変数IFXtErrorがエラ−を表示する文字列、通常は "illegal__resources"に設定されなければなりません。変換ル−チンがすでに呼び出された後にIFXtErrorが設定された場合には、そのエラ−文字列とともに例外処理が引き起こされます。

例題:型"Dimension"のリソ−スに対するコンバ−タ

void IFXtPTCvtDimension(value, arg_val) TERM value; XtArgVal *arg_val; { *arg_val = (XtArgVal) IntPC(value); }

続く..
IF/Prolog by Siemens
言語
English
Japanese
German
サーバー
USA
Japan
サイトマップ
索引
目次
全体目次
全体索引
印刷向き
imode
PDA
探索
document: http://www.ifcomputer.co.jp/IFProlog/Manuals/v4.1/advanced_feature/athena/xext/adwidget/files/convert/ptotconv/home_jp.html
published 2008/10/6 update 1995/11/6 (c) 1996-2006 IF Computer Japan
IF Computer 〒113-0022 Tel 03-5814-3352 start (AT) ifcomputer.com
Customer Support 東京都文京区千駄木5-28-2   http://www.ifcomputer.co.jp
冒頭へ managed with ubiCMS