[ Previous | Next | Contents | Glossary | Home | Search ]
Motif 2.1 Widget Writer's Guide


XmeDragSource

A toolkit function that starts a drag and drop operation

Format

#include <Xm/TransferP.h>
Widget XmeDragSourceWidget
widgetXtPointer location_dataXEvent
*eventArgList argsCardinal
arg_count

DESCRIPTION

XmeDragSource begins a drag and drop operation from the specified widget.

This routine first asks the widget to convert the _MOTIF_DROP selection to _MOTIF_EXPORT_TARGETS. The returned list of targets becomes the initial value of the DragContext's XmNexportTargets, and the number of targets becomes the initial value of the DragContext's XmNnumExportTargets.

The location_data argument contains information about the location of the elements being dragged. If these consist of the widget's current selection, the value is NULL. Otherwise, the type and interpretation of the value are specific to the widget class. The location_data argument becomes the value of the DragContext's XmNclientData and of the location_data member of the XmConvertCallbackStruct for subsequent conversions of the data being dragged.

XmeDragSource sets the DragContext's XmNconvertProc to a function that asks the widget to convert data.

This routine calls XmDragStart with the widget specified in widget, the event specified in event, and the arguments specified in args. It overrides any settings of XmNexportTargets, XmNnumExportTargets, XmNconvertProc, and XmNclientData in args.

Whenever this routine or a subsequent drop operation asks a widget to convert data, it makes the following sequence of calls:

  1. Calls the application's XmNconvertCallback procedures, if any.

  2. Calls the source widget's convertProc trait method. However, if any XmNconvertCallback procedure returns XmCONVERT_DONE or XmCONVERT_REFUSE, then XmePrimarySource will not call convertProc.

    widget
    Specifies the widget that is the source for the data.

    location_data
    Specifies the location of the elements being dragged. If these consist of the widget's current selection, the value is NULL. Otherwise, the type and interpretation of the value are specific to the widget class.

    event
    Specifies the event that began the drag operation.

    args
    Specifies arguments to be passed to XmDragStart.

    arg_count
    Specifies the number of arguments in args.

    RETURN

    This function returns the widget ID of the XmDragContext returned by XmDragStart.

    RELATED

    XmDragStart(3), XmQTtransfer(3), XmTransferDone(3), XmTransferValue(3), XmeClipboardSink(3), XmeClipboardSource(3), XmeConvertMerge(3), XmeDropSink(3), XmeGetEncodingAtom(3), XmePrimarySink(3), XmePrimarySource(3), XmeSecondarySink(3), XmeSecondarySource(3), XmeSecondaryTransfer(3), XmeStandardConvert(3), XmeStandardTargets(3), and XmeTransferAddDoneProc(3).


  3. [ Previous | Next | Contents | Glossary | Home | Search ]