[ Previous |
Next |
Contents |
Glossary |
Home |
Search ]
Motif 2.1 Widget Writer's Guide
XmeClipboardSource
A toolkit function that places data on the clipboard
Format
#include <Xm/Xm.h>
Boolean XmeClipboardSourceWidget
widgetXtEnum opTime
time
DESCRIPTION
XmeClipboardSource places widget data on the clipboard, using the Motif
clipboard interface. If there is an owner of CLIPBOARD_MANAGER,
calling XmeClipboardSource produces undefined results.
This reference page uses the term "the conversion routines associated with
widget widget." Whenever you see that term, it means that
XmeClipboardSource is making the following sequence of calls:
Calls the application's XmNconvertCallback procedures, if any.
Calls the source widget's convertProc trait method. (convertProc is
one of the trait methods of the XmQTtransfer trait.) However, if any
XmNconvertCallback procedure returns XmCONVERT_DONE or XmCONVERT_REFUSE, then
XmePrimarySource will not call convertProc.
If the selection member is CLIPBOARD and the
target member is _MOTIF_CLIPBOARD_TARGETS or
_MOTIF_DEFERRED_CLIPBOARD_TARGETS, then XmeClipboardSource sets the value of
the parm member of the XmConvertCallbackStruct to the value of the
op argument.
XmeClipboardSource makes the following sequence of calls:
XmeClipboardSource asks the conversion routines associated with widget
widget to convert the CLIPBOARD selection to
_MOTIF_CLIPBOARD_TARGETS.
For each returned target, XmeClipboardSource asks the conversion routines
associated with widget widget to convert the CLIPBOARD
selection to that target. XmeClipboardSource then calls XmClipboardCopy to
copy the converted data to the clipboard.
XmeClipboardSource asks the conversion routines associated with widget
widget to convert the CLIPBOARD selection to
_MOTIF_DEFERRED_CLIPBOARD_TARGETS.
If any of the conversion routines associated with widget widget
return a target, XmeClipboardSource asks the widget to convert the
CLIPBOARD selection to the _MOTIF_SNAPSHOT target. The responding
conversion routine is expected to save a snapshot of the data and to return a
distinguisher atom that uniquely identifies the snapshot.
XmeClipboardSource places each deferred target on the clipboard by name,
using XmClipboardCopy.
If the op argument is XmMOVE and the data is successfully
transferred, XmeClipboardSource asks the conversion routines associated with
widget widget to convert the CLIPBOARD selection to the
DELETE target.
In addition, XmeClipboardSource establishes a callback that is
automatically called whenever a request is made to convert data to a deferred
target. This callback is responsible for converting snapshot data to a
particular target. Here is the sequence of calls that the callback
makes:
The callback asks the conversion routines associated with widget
widget to convert the snapshot data to that target, using as the
selection the distinguisher atom returned from the _MOTIF_SNAPSHOT
conversion.
The callback copies the converted data to the clipboard, using
XmClipboardCopyByName.
When the snapshot data is no longer needed, the callback asks each of the
conversion routines associated with widget widget to convert the
snapshot to the DONE target, using the distinguisher atom as the
selection.
The widget responding to _MOTIF_SNAPSHOT must own the snapshot atom.
The _MOTIF_SNAPSHOT target takes an optional parameter which should be used
to distinguish the current selection. If the parameter is NULL, the
conversion routine must allocate a distinguisher atom and assign it to the
selection member of the XmConvertCallbackStruct.
widgetSpecifies the widget that is the source for the data.
opSpecifies the transfer operation. Possible values are XmMOVE, XmCOPY, and
XmLINK.
timeSpecifies the time of the transfer. This is usually the timestamp from the
event passed to an action routine. You should call
XtLastTimeStampProcessed to generate the time value. If you
set time to CurrentTime or 0, UTM will automatically change the call
to XtLastTimeStampProcessed.
RETURN
This function returns False if the clipboard is locked or if no
data is placed on the clipboard. Otherwise, it returns True.
RELATED
XmQTtransfer(3), XmTransferDone(3),
XmTransferValue(3), XmeClipboardSink(3),
XmeConvertMerge(3), XmeDragSource(3),
XmeDropSink(3), XmeGetEncodingAtom(3),
XmePrimarySink(3), XmePrimarySource(3),
XmeSecondarySink(3), XmeSecondarySource(3),
XmeSecondaryTransfer(3), XmeStandardConvert(3),
XmeStandardTargets(3), and XmeTransferAddDoneProc(3).
[ Previous |
Next |
Contents |
Glossary |
Home |
Search ]