XtCreateSelectionRequest(3Xt)

名前
XtCreateSelectionRequest, XtSendSelectionRequest, XtCancelSelectionRequest - MULTIPLE target を用いて、複数のセレクション変換リクエストを1つのリクエストにまとめる

書式
void XtCreateSelectionRequest(requestor, selection)
      Widget requestor;
      Atom selection;

void XtSendSelectionRequest(requestor, selection, time)
      Widget requestor;
      Atom selection;
      Time time;

void XtCancelSelectionRequest(requestor, selection)
      Widget requestor;
      Atom selection;

引き数

requestor
    リクエストを出すウィジェットを指定。Core クラスあるいはそのサブクラス でなければならない。

selection
    必要な特定のセレクションを指定。

time
    リクエストを出す際に使うタイムスタンプを指定。

説明
が呼ばれたとき、これに続いて行われた に対して指定されたリクエスタやセレクションを使った と の呼び出しは、複数の対象を持つ1つのセレクション変換リクエストにまとめ られる。このリクエストは実際には、 を呼ぶことで作られる。

が前の の呼び出しに一致する requestor と selection の値を使って呼 ばれたとき、セレクション変換リクエストは実際にはセレクションの所有者に 送られる。 1つの対象となるリクエストがキューに入れられた場合には、このリクエスト が実行される。複数のリクエストがキューに入れられた場合には、これらのリ クエストは、指定したタイムスタンプを用いて対象が MULTIPLE である 1 つ のリクエストにまとめられる。変換が行われるとき、それぞれの と に対応するコールバックは、順番に呼び出される。

マルチスレッドのアプリケーションは、 を呼ぶ前にアプリケーションコンテクストをロックしなければならず、 を呼んだ後にはロックを解除しなければならない。これはリクエストを組み立 てたスレッドが、同じウィジェットとセレクションを指定して別のリクエスト を組み立てた他のスレッドの干渉から安全であることを保証するためである。

が呼ばれたとき、最後に が呼ばれて以降キューに入ったリクエストは全て消される。これ以降の の呼び出しが延期されることはない。

関連項目
X Toolkit Intrinsics - C Language Interface
Xlib - C Language X Interface