XmClipboardStartCopy(3X)

XmClipboardStartCopy --A clipboard function that sets up a storage and data structure

As shipped in IRIX 6.5.22. Unchanged since IRIX 6.5.

NAME
     XmClipboardStartCopy --A clipboard function that sets up a storage and data
     structure

SYNOPSIS
     #include <Xm/Xm.h>
     #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;
          XmCutPasteProccallback;
          long      * item_id;


VERSION
     This page documents version 1.2 of the Motif library.

DESCRIPTION
     XmClipboardStartCopy  sets  up storage and data structures to receive clip-
     board data.  An application calls this function during a cut or copy opera-
     tion.  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  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  XmClip-
     boardCopy to the clipboard functions, along with a widget ID and a callback
     function  address that is passed in XmClipboardStartCopy.  The widget ID is
     needed for communications between the clipboard functions in  the  applica-
     tion 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 via XmClipboardCopyByName.  The callback function is also  called
     if  the  data  item  is  removed from the clipboard, and the actual data is
     therefore no longer needed.


     display     Specifies a pointer to the Display structure that was  returned
                 in a previous call to XOpenDisplay or XtDisplay.

     window      Specifies  a  widget's  window  ID that relates the application
                 window to the clipboard.  The widget's window  ID  can  be  ob-
                 tained by using 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, for example,  in  a
                 clipboard viewer.  An example of a label is the name of the ap-
                 plication 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 request-
                 ing 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  mes-
                 sage 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 applica-
                 tion uses this number in calls to XmClipboardCopy, XmClipboard-
                 EndCopy, and XmClipboardCancelCopy.


     For more information on passing data by name, see  XmClipboardCopy(3X)  and
     XmClipboardCopyByName(3X).

     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;
       int       *data_id;
       int       *private;
       int       *reason;


     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,    which   is   either   XmCR_CLIP-
                 BOARD_DATA_DELETE or XmCR_CLIPBOARD_DATA_REQUEST.


RETURN VALUE
     ClipboardSuccess
                 The function is successful.

     ClipboardLocked
                 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 INFORMATION
     XmClipboardCancelCopy(3X), XmClipboardCopy(3X), XmClipboardCopyByName(3X),
     XmClipboardEndCopy(3X), XmClipboardEndRetrieve(3X), XmClipboardInquire-
     Count(3X), XmClipboardInquireFormat(3X), XmClipboardInquireLength(3X), Xm-
     ClipboardInquirePendingItems(3X), XmClipboardLock(3X), XmClipboardRegister-
     Format(3X), XmClipboardRetrieve(3X), XmClipboardStartRetrieve(3X), XmClip-
     boardUndoCopy(3X), XmClipboardUnlock(3X), and XmClipboardWithdrawFor-
     mat(3X).

                                                        XmClipboardStartCopy(3X)