IF/Prologバージョン3.4.6では、IF/PrologからX11.4 toolkit intrinsicsへの完全なインタフェ−スを使用できます。これにより、Cを全く使わずにIF/Prologだけを使ってXのアプリケ−ションを開発することができます。
IF/Prologでは特別にX11 toolkitのProlog言語バインディング(Prolog版)が実現されています。この章では、Prolog言語バインディングとC言語バインディングの違いを中心に説明します。
'X Toolkit Intrinsics'とそのC言語バインディングに関する基礎的な知識が必要になります。
IF/Prolog言語バインディングによって、ある特定のwidget set中のすべてのwidgetsが使えます。X11.4のAthena widgetsはすでに含まれています。
Xlib関数の大部分は、直接使用することはできません。直接使用することは、拡張機能として新しいwidgetsを構築するのに限られています。この例としては、新たに構築された'ドロー'(draw)widgetがあります。これによって、ほとんどすべてのXlib draw関数をtoolkitコンテクスト内で使用できます。しかし重要なXlib関数のいくつか、たとえばウインドウを積み重ねる順序を指示したり、スクリ−ンの大きさをリクエストするのに影響を与える関数は、特別な述語を通して直接使うことができます。
toolkitを使う場合にPrologのデ−タ型を使用できます。Cで使われているデ−タ型は、明確的にPrologに適していません。このため多くの場合、デ−タ型の変換を行わなければなりません。
基本的なToolkit概念の概要
Prolog言語バインディングの一般的特徴
Prolog言語バインディングによるXtプログラムの例題
このマニュアルで使用している引数の役割名
widgetの生成と操作
コ−ルバックとアクションの使用
イベントのディスパッチングとMainLoopの制御
イベントソ−スの追加とバックグラウンド動作
ポップアップWidgets (Popup Widgets)
アプリケ−ションリソ−スの取得
質問述語
Miscellaneous
xtSync/1
xtKeysymToKeycode/3
xtKeysymToKeycodeList/4
xtGetActionKeysym/2
xtGetMutilClickTime/2,xtSetMultiClickTime/2
xtGetEventComponents/1, xtGetEventComponent/1
Opaque Widgetクラスとシェルクラス
Up
read on...