述語xmGetCallbackComponents/1によって、OSF/Motifコールバックに引き渡されたコールバック構造体のコンポーネントにアクセスできます。これは、構造体のコンポーネントのProlog表現への変換により行なわれます。
上述の述語によって後でアクセスできるように、コールバック構造体は内部に保存されていなければなりません。これは、ファイル$PROROOT/motif11/mcallbacks.cにある手続きIFXmCopyCallbackStruct()によって実現されています。コピー時にメモリが割り当てられる場合には、メモリを解放するために手続きIFXmFreeCallbackStruct()も必要になります。
呼び出し側widgetのwidgetクラスと理由に応じたコールバック構造体のコンポーネントの正当性に関する情報を、構造体IFXmCallbackComponentsに付加しなければなりません。この場合も、コンポーネント型からProlog表現への変換手続きとコールバック構造体中でのそのコンポーネントのバイトオフセット(マクロboffsetを使用)を指定する必要があります。コンポーネント型に適合する変換手続きがない場合には、既存の手続きをコピー、変更することによって新しい手続きを追加しなければなりません。
| 冒頭へ |
|