XmClipboardStartCopy(library call) XmClipboardStartCopy(library call)
NAME
XmClipboardStartCopy -- A clipboard function that sets up a storage
and data structure
SYNOPSIS
#include <Xm/CutPaste.h>
int XmClipboardStartCopy (
display, window, clip_label, timestamp, widget, callback, item_id)
Display
* display;
Window
window;
XmString
clip_label;
Time
timestamp;
Widget
widget;
XmCutPasteProc
callback;
long
* item_id;
(
void)
DESCRIPTION
XmClipboardStartCopy sets up storage and data structures to receive
clipboard data. An application calls this function during a cut or
copy operation. The data item that these structures receive then
becomes the next data item in the clipboard.
Copying a large piece of data to the clipboard can take a long time.
It is possible that, once the data is copied, no application will
ever request that data. The Motif Toolkit provides a mechanism so
that an application does not need to actually pass data to the
clipboard until the data has been requested by some application.
Instead, the application passes format and length information in
XmClipboardCopy to the clipboard functions, along with a widget ID
and a callback function address that is passed in
XmClipboardStartCopy. The widget ID is necessary for communications
between the clipboard functions in the application that owns the data
and the clipboard functions in the application that requests the
data.
The callback functions are responsible for copying the actual data to
the clipboard through
XmClipboardCopyByName. The callback function is
also called if the data item is removed from the clipboard and the
actual data is no longer needed.
display Specifies a pointer to the
Display structure that was
returned in a previous call to
XOpenDisplay or
XtDisplay.
window Specifies the window ID of a widget that relates the
application window to the clipboard. The widget's window ID
can be obtained through
XtWindow. The same application
instance should pass the same window ID to each of the
clipboard functions that it calls.
clip_label Specifies the label to be associated with the data item.
This argument is used to identify the data item, as in a
clipboard viewer. An example of a label is the name of the
application that places the data in the clipboard.
timestamp Specifies the time of the event that triggered the copy. A
valid timestamp must be supplied; it is not sufficient to
use
CurrentTime.
widget Specifies the ID of the widget that receives messages
requesting data previously passed by name. This argument
must be present in order to pass data by name. Any valid
widget ID in your application can be used for this purpose
and all the message handling is taken care of by the cut
and paste functions.
callback Specifies the address of the callback function that is
called when the clipboard needs data that was originally
passed by name. This is also the callback to receive the
delete message for items that were originally passed by
name. This argument must be present in order to pass data
by name.
item_id Specifies the number assigned to this data item. The
application uses this number in calls to
XmClipboardCopy,
XmClipboardEndCopy, and
XmClipboardCancelCopy.
For more information on passing data by name, see
XmClipboardCopy(3) and
XmClipboardCopyByName(3).
The
widget and
callback arguments must be present in order to pass
data by name. The callback format is as follows:
void (*
callback) (
widget, data_id, private, reason)
Widget
widget;
long *
data_id;
long *
private;
int *
reason;
(
void)
widget Specifies the ID of the widget passed to this function.
data_id Specifies the identifying number returned by
XmClipboardCopy, which identifies the pass-by-name data.
private Specifies the private information passed to
XmClipboardCopy.
reason Specifies the reason.
XmCR_CLIPBOARD_DATA_DELETE or
XmCR_CLIPBOARD_DATA_REQUEST are the possible values.
RETURN
XmClipboardSuccess The function was successful.
XmClipboardLocked The function failed because the clipboard was locked by
another application. The application can continue to call
the function again with the same parameters until the lock
goes away. This gives the application the opportunity to
ask if the user wants to keep trying or to give up on the
operation.
RELATED
XmClipboardCancelCopy(3),
XmClipboardCopy(3),
XmClipboardCopyByName(3),
XmClipboardEndCopy(3),
XmClipboardEndRetrieve(3),
XmClipboardInquireCount(3),
XmClipboardInquireFormat(3),
XmClipboardInquireLength(3),
XmClipboardInquirePendingItems(3),
XmClipboardLock(3),
XmClipboardRegisterFormat(3),
XmClipboardRetrieve(3),
XmClipboardStartRetrieve(3),
XmClipboardUndoCopy(3),
XmClipboardUnlock(3), and
XmClipboardWithdrawFormat(3).
XmClipboardStartCopy(library call)