# Class TreeDropTargetEffect

java.lang.Object
org.eclipse.swt.dnd.DropTargetAdapter
org.eclipse.swt.dnd.DropTargetEffect
org.eclipse.swt.dnd.TreeDropTargetEffect

All Implemented Interfaces:
  `EventListener, DropTargetListener`

public class TreeDropTargetEffect extends DropTargetEffect
This class provides a default drag under effect (eg. select, insert, scroll and expand) when a drag occurs over a `Tree`.

Classes that wish to provide their own drag under effect for a `Tree` can extend the `TreeDropTargetEffect` class and override any applicable methods in `TreeDropTargetEffect` to display their own drag under effect.

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

The feedback value is either one of the FEEDBACK constants defined in class `DND` which is applicable to instances of this class, or it must be built by bitwise OR'ing together (that is, using the `int` "|" operator) two or more of those `DND` effect constants.

Feedback:
  FEEDBACK_SELECT, FEEDBACK_INSERT_BEFORE, FEEDBACK_INSERT_AFTER, FEEDBACK_EXPAND, FEEDBACK_SCROLL

Note: Only one of the styles FEEDBACK_SELECT, FEEDBACK_INSERT_BEFORE or FEEDBACK_INSERT_AFTER may be specified.

Since:
  3.3
See Also:
  - `DropTargetAdapter`
  - `DropTargetEvent`
  - Sample code and further information

## Constructor Summary

Constructors
Constructor
Description
`TreeDropTargetEffect(Tree tree)`
Creates a new `TreeDropTargetEffect` to handle the drag under effect on the specified `Tree`.

## Method Summary

Modifier and Type
Method
Description
`void`
`dragEnter(DropTargetEvent event)`
This implementation of `dragEnter` provides a default drag under effect for the feedback specified in `event.feedback`.
`void`
`dragLeave(DropTargetEvent event)`
This implementation of `dragLeave` provides a default drag under effect for the feedback specified in `event.feedback`.
`void`
`dragOver(DropTargetEvent event)`
This implementation of `dragOver` provides a default drag under effect for the feedback specified in `event.feedback`.

### Methods inherited from class DropTargetEffect

`getControl, getItem`

### Methods inherited from class DropTargetAdapter

`dragOperationChanged, drop, dropAccept`

### Methods inherited from class Object

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

## Constructor Details

### TreeDropTargetEffect

public TreeDropTargetEffect(Tree tree)
Creates a new `TreeDropTargetEffect` to handle the drag under effect on the specified `Tree`.

Parameters:
  `tree` - the `Tree` over which the user positions the cursor to drop the data

## Method Details

### dragEnter

public void dragEnter(DropTargetEvent event)
This implementation of `dragEnter` provides a default drag under effect for the feedback specified in `event.feedback`. For additional information see `DropTargetAdapter.dragEnter`. Subclasses that override this method should call `super.dragEnter(event)` to get the default drag under effect implementation.

Specified by:
  `dragEnter` in interface `DropTargetListener`
Overrides:
  `dragEnter` in class `DropTargetAdapter`
Parameters:
  `event` - the information associated with the drag enter event
See Also:
  - `DropTargetAdapter`
  - `DropTargetEvent`

### dragLeave

public void dragLeave(DropTargetEvent event)
This implementation of `dragLeave` provides a default drag under effect for the feedback specified in `event.feedback`. For additional information see `DropTargetAdapter.dragLeave`. Subclasses that override this method should call `super.dragLeave(event)` to get the default drag under effect implementation.

Specified by:
  `dragLeave` in interface `DropTargetListener`
Overrides:
  `dragLeave` in class `DropTargetAdapter`
Parameters:
  `event` - the information associated with the drag leave event
See Also:
  - `DropTargetAdapter`
  - `DropTargetEvent`

### dragOver

public void dragOver(DropTargetEvent event)
This implementation of `dragOver` provides a default drag under effect for the feedback specified in `event.feedback`. For additional information see `DropTargetAdapter.dragOver`. Subclasses that override this method should call `super.dragOver(event)` to get the default drag under effect implementation.

Specified by:
  `dragOver` in interface `DropTargetListener`
Overrides:
  `dragOver` in class `DropTargetAdapter`
Parameters:
  `event` - the information associated with the drag over event
See Also:
  - `DropTargetAdapter`
  - `DropTargetEvent`
  - `DND.FEEDBACK_SELECT`
  - `DND.FEEDBACK_INSERT_BEFORE`
  - `DND.FEEDBACK_INSERT_AFTER`
  - `DND.FEEDBACK_SCROLL`