XmClipboardCopy(3XM) — NEWS-OS Programmer’s Manual
名称
XmClipboardCopy — 後でクリップボードにコピーするため、テンポラリ領域にデータ項目をコピーするクリップボード関数
形式
#include <Xm/Xm.h>
#include <Xm/CutPaste.h> int XmClipboardCopy (display, window, item_id, format_name, buffer, length, private_id, data_id)
Display∗ display;
Windowwindow;
longitem_id;
char∗ format_name;
char∗ buffer;
unsigned long length;
intprivate_id;
int∗ data_id;
解説
XmClipboardCopy は、データ項目をテンポラリ領域にコピーします。 XmClipboardEndCopy が呼び出されたとき、このデータ項目はテンポラリ領域からクリップボードデータ構造体に移されます。 XmClipboardEndCopy の呼び出しより前にさらに XmClipboardCopy を呼び出すと、同じデータ項目にさらにデータ項目フォーマットを付け加えるか、またはすでに存在するフォーマットにデータを付け足します。 フォーマットは ICCC マニュアルに target として記述されています。
注意: XmClipboardStartCopy の呼び出しが終わる前に XmClipboardCopy を呼び出さないでください。 XmClipboardStartCopy は XmClipboardCopy が必要とするテンポラリ領域を確保します。
引数 buffer が NULL のとき、データは名前によって渡されるものとみなされます。 名前で渡されたデータが後に別のアプリケーションから要求されたとき、そのデータを持っているアプリケーションはそのデータを要求するコールバックを受け取ります。 そのデータを持っているアプリケーションは、そのとき XmClipboardCopyByName 関数でクリップボードにデータを送らなければなりません。 名前で渡されたデータ項目がクリップボードから削除されたとき、そのデータを持っているアプリケーションはそのデータはもはや必要とされないというコールバックを受け取ります。
コールバック関数についての情報は、XmClipboardStartCopy の引数 callback についての記述を参照してください。
displayXOpenDisplay または XtDisplay の呼び出しで返された Display 構造体へのポインタを指定します。
windowアプリケーションウィンドウをクリップボードに関係づけるための widget のウィンドウ ID を指定します。 widget のウィンドウ ID は XtWindow を用いることにより得られます。 同じアプリケーションインスタンスは、呼び出す各クリップボード関数に対して同じウィンドウ ID を渡さなければなりません。
item_idこのデータ項目につけられた番号を指定します。 この番号は XmClipboardStartCopy の呼び出しで返されます。
format_nameデータをクリップボードに記録するためのフォーマットの名前を指定します。 フォーマットは ICCC マニュアルに target として記述されています。
bufferバッファを指定します。 ここからクリップボードがデータをコピーします。
lengthクリップボードにコピーされるデータの長さを指定します。
private_idアプリケーションがデータ項目とともに記録したいプライベートデータを指定します。
data_idこのデータ項目とフォーマットを一意に識別するためにデータ項目につけられた識別番号を指定します。 この引数は名前によって渡すデータに対してのみ必要とされます。
リターン値
ClipboardSuccess
関数の実行に成功しました。
ClipboardLocked
クリップボードが他のアプリケーションにロックされているため、関数の実行に失敗しました。 アプリケーションはロックが解除されるまで同じ引数で何度も関数を呼び続けることができます。 このことを利用して、アプリケーションはユーザに操作を試み続けるかあきらめるるかたずねることができます。
関連事項
XmClipboardCopyByName(3XM), XmClipboardEndCopy(3XM), XmClipboardStartCopy(3XM)
NEWS-OSRelease 4.1C