XtAddEventHandler(3Xt)

名前
XtAddEventHandler, XtAddRawEventHandler, XtRemoveEventHandler, XtRemoveRawEventHandler, XtInsertEventHandler, XtInsertRawEventHandler - イベントハンドラの追加・削除

書式
void XtAddEventHandler(w, event_mask, nonmaskable, proc, client_data)
      Widget w;
      EventMask event_mask;
      Boolean nonmaskable;
      XtEventHandler proc;
      XtPointer client_data;

void XtAddRawEventHandler(w, event_mask, nonmaskable, proc, client_data)
      Widget w;
      EventMask event_mask;
      Boolean nonmaskable;
      XtEventHandler proc;
      XtPointer client_data;

void XtRemoveEventHandler(w, event_mask, nonmaskable, proc, client_data)
      Widget w;
      EventMask event_mask;
      Boolean nonmaskable;
      XtEventHandler proc;
      XtPointer client_data;

void XtRemoveRawEventHandler(w, event_mask, nonmaskable, proc, client_data)
      Widget w;
      EventMask event_mask;
      Boolean nonmaskable;
      XtEventHandler proc;
      XtPointer client_data;

void XtInsertEventHandler(w, event_mask, nonmaskable, proc, client_data, position)
      Widget w;
      EventMask event_mask;
      Boolean nonmaskable;
      XtEventHandler proc;
      XtPointer client_data;
      XtListPosition position;

void XtInsertRawEventHandler(w, event_mask, nonmaskable, proc, client_data, position)
      Widget w;
      EventMask event_mask;
      Boolean nonmaskable;
      XtEventHandler proc;
      XtPointer client_data;
      XtListPosition position;

typedef enum { XtListHead, XtListTail } XtListPosition;

引き数

client_data
    クライアントのイベントハンドラに渡す追加的なデータを指定。

event_mask
    この手続きの呼び出し・登録抹消に対するイベントマスクを指定。

nonmaskable
    マスクできないイベント )に対し、この手続きを呼び出すか削除するか指定する真偽値を指定。

proc
    追加または削除する手続きを指定。

w   このイベントハンドラが登録されるウィジェットを指定。

position
    イベントハンドラが、前に登録された他のハンドラに対していつ呼ばれるかを 指定。

説明
関数 は、指定したウィジェット上でマスクにマッチするイベントが発生したときに 呼び出される手続きを、ディスパッチの機構に登録する。 この手続きが既に同じ client_data で登録されていた場合、現在あるマスク は指定されたマスクとの論理和になる。 ウィジェットがリアライズされていれば、 は必要に応じて を呼ぶ。

関数 は、 とほぼ同じである。ただし、ウィジェットのマスクを変化させず、イベントに 対して を起こさない点が異なる。 他の raw でないイベントハンドラがそのウィジェットに登録されているため に、ウィジェットには既にマスクビットがセットされているかも知れない点に 注意すること。

関数 は、指定した手続きが指定したイベントを受け取るのを停止させる。 この手続きは raw なイベントハンドラなので、ウィジェットのマスクは変化 させず、 の呼び出しを起こすこともない。

は、追加の引き数 position を指定した と同じである。 position が ならば、イベントハンドラは、以前に同じウィジェットに対して登録されたど のイベントハンドラよりも前に呼ばれる位置に登録される。 position が ならば、イベントハンドラは、以前に登録されたどのイベントハンドラよりも 後に呼び出される位置に登録される。この手続きが既に同じ client_data 値で登録されていた場合、指定したマスクは現在のマスク に加えられ、この手続きはリスト内で再配置される。

は とほぼ同じである。ただし、ウィジェットのイベントマスクを変更せず、指定 したイベントに対して を起こさない点が異なる。この手続きが同じ client_data で登録され ている場合、指定したマスクは現在のマスクに加えられ、この手続きはリスト 中で再配置される。

関連項目
XtAppNextEvent(3Xt), XtBuildEventMask(3Xt)
X Toolkit Intrinsics - C Language Interface
Xlib - C Language X Interface