Eclipse Remote Application Platform

## org.eclipse.swt.dnd
Interface DragSourceListener

All Known Implementing Classes:
  DragSourceAdapter, DragSourceEffect

    public interface DragSourceListener

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.

Since:
  1.3

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 Remote Application Platform

Copyright (c) EclipseSource and others 2002, 2014. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0