Package org.eclipse.swt.dnd

# Class TreeDragSourceEffect

java.lang.Object
org.eclipse.swt.dnd.DragSourceAdapter
org.eclipse.swt.dnd.DragSourceEffect
org.eclipse.swt.dnd.TreeDragSourceEffect

All Implemented Interfaces:
  `EventListener`, `DragSourceListener`, `SWTEventListener`

public class TreeDragSourceEffect extends DragSourceEffect
This class provides default implementations to display a source image when a drag is initiated from a `Tree`.

Classes that wish to provide their own source image for a `Tree` can extend `TreeDragSourceEffect` class and override the `TreeDragSourceEffect.dragStart` method and set the field `DragSourceEvent.image` with their own image.

Subclasses that override any methods of this class must call the corresponding `super` method to get the default drag under effect implementation.

Since:
  3.3
See Also:
  - `DragSourceEffect`
  - `DragSourceEvent`
  - Sample code and further information

## Constructor Summary

Constructors
Constructor
Description
`TreeDragSourceEffect(Tree tree)`
Creates a new `TreeDragSourceEffect` to handle drag effect from the specified `Tree`.

## Method Summary

Modifier and Type
Method
Description
`void`
`dragFinished(DragSourceEvent event)`
This implementation of `dragFinished` disposes the image that was created in `TreeDragSourceEffect.dragStart`.
`void`
`dragStart(DragSourceEvent event)`
This implementation of `dragStart` will create a default image that will be used during the drag.

### Methods inherited from class org.eclipse.swt.dnd.DragSourceEffect

`getControl`

### Methods inherited from class org.eclipse.swt.dnd.DragSourceAdapter

`dragSetData`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### TreeDragSourceEffect

public TreeDragSourceEffect(Tree tree)
Creates a new `TreeDragSourceEffect` to handle drag effect from the specified `Tree`.

Parameters:
  `tree` - the `Tree` that the user clicks on to initiate the drag

## Method Details

### dragFinished

public void dragFinished(DragSourceEvent event)
This implementation of `dragFinished` disposes the image that was created in `TreeDragSourceEffect.dragStart`. Subclasses that override this method should call `super.dragFinished(event)` to dispose the image in the default implementation.

Specified by:
  `dragFinished` in interface `DragSourceListener`
Overrides:
  `dragFinished` in class `DragSourceAdapter`
Parameters:
  `event` - the information associated with the drag finished event
See Also:
  - `DragSourceEvent`

### dragStart

public void dragStart(DragSourceEvent event)
This implementation of `dragStart` will create a default image that will be used during the drag. The image should be disposed when the drag is completed in the `TreeDragSourceEffect.dragFinished` method. Subclasses that override this method should call `super.dragStart(event)` to use the image from the default implementation.

Specified by:
  `dragStart` in interface `DragSourceListener`
Overrides:
  `dragStart` in class `DragSourceAdapter`
Parameters:
  `event` - the information associated with the drag start event
See Also:
  - `DragSourceEvent`