Eclipse Platform Release 3.7

## org.eclipse.swt.dnd
Interface DragSourceListener

All Superinterfaces:
  EventListener, org.eclipse.swt.internal.SWTEventListener

All Known Subinterfaces:
  TransferDragSourceListener

All Known Implementing Classes:
  CommonDragAdapter, DelegatingDragAdapter, DragSourceAdapter, DragSourceEffect, NavigatorDragAdapter, TableDragSourceEffect, TreeDragSourceEffect

    public interface DragSourceListener

extends org.eclipse.swt.internal.SWTEventListener

The `DragSourceListener` class provides event notification to the application for DragSource events.

When the user drops data on a `DropTarget`, the application which defines the `DragSource` must provide the dropped data by implementing `dragSetData`. In the dragSetData, the application must support all the data types that were specified in the DragSource#setTransfer method.

After the drop has completed successfully or has been aborted, the application which defines the `DragSource` is required to take the appropriate cleanup action. In the case of a successful move operation, the application must remove the data that was transferred.

Method Summary
`void` `dragFinished(DragSourceEvent event)` The drop has successfully completed(mouse up over a valid target) or has been terminated (such as hitting the ESC key).
`void` `dragSetData(DragSourceEvent event)` The data is required from the drag source.
`void` `dragStart(DragSourceEvent event)` The user has begun the actions required to drag the widget.

Method Detail

### dragStart

    void dragStart(DragSourceEvent event)

  The user has begun the actions required to drag the widget. This event gives the application the chance to decide if a drag should be started.

  The following fields in the DragSourceEvent apply:

  - (in)widget
  - (in)time
  - (in,out)doit

  Parameters:
    `event` - the information associated with the drag start event
  See Also:
    `DragSourceEvent`

### dragSetData

    void dragSetData(DragSourceEvent event)

  The data is required from the drag source.

  The following fields in the DragSourceEvent apply:

  - (in)widget
  - (in)time
  - (in)dataType - the type of data requested.
  - (out)data - the application inserts the actual data here (must match the dataType)
  - (out)doit - set this to cancel the drag

  Parameters:
    `event` - the information associated with the drag set data event
  See Also:
    `DragSourceEvent`

### dragFinished

    void dragFinished(DragSourceEvent event)

  The drop has successfully completed(mouse up over a valid target) or has been terminated (such as hitting the ESC key). Perform cleanup such as removing data from the source side on a successful move operation.

  The following fields in the DragSourceEvent apply:

  - (in)widget
  - (in)time
  - (in)doit
  - (in)detail

  Parameters:
    `event` - the information associated with the drag finished event
  See Also:
    `DragSourceEvent`

Eclipse Platform Release 3.7

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2011. All rights reserved.