org.eclipse.gef.dnd

## Class DelegatingDragAdapter

- java.lang.Object
- - org.eclipse.jface.util.DelegatingDragAdapter
  - - org.eclipse.gef.dnd.DelegatingDragAdapter

All Implemented Interfaces:
  java.util.EventListener, DragSourceListener, SWTEventListener

    public class DelegatingDragAdapter
    extends DelegatingDragAdapter

A DragSourceListener that maintains and delegates to a set of `TransferDragSourceListener`s. Each TransferDragSourceListener can then be implemented as if it were the DragSource's only DragSourceListener.

When a native Drag is started, a subset of all `TransferDragSourceListeners` is generated and stored in a list of active listeners. This subset is calculated by forwarding `DragSourceListener.dragStart(DragSourceEvent)` to every listener, and inspecting changes to the `doit` field. The `DragSource`'s set of supported Transfer types ( `DragSource.setTransfer(Transfer[])`) is updated to reflect the Transfer types corresponding to the active listener subset.

If and when `DelegatingDragAdapter.dragSetData(DragSourceEvent)` is called, a single `TransferDragSourceListener` is chosen, and only it is allowed to set the drag data. The chosen listener is the first listener in the subset of active listeners whose Transfer supports ( `Transfer.isSupportedType(TransferData)`) the dataType on the `DragSourceEvent`.

### Constructor Summary

Constructors
Constructor and Description
`DelegatingDragAdapter()`

### Method Summary

Methods
`void` `addDragSourceListener(TransferDragSourceListener listener)` Deprecated.
`Transfer[]` `getTransferTypes()` Deprecated. call getTransfers() instead.
`void` `removeDragSourceListener(TransferDragSourceListener listener)` Deprecated.

### Methods inherited from class org.eclipse.jface.util.DelegatingDragAdapter

`addDragSourceListener, dragFinished, dragSetData, dragStart, getTransfers, isEmpty, removeDragSourceListener`

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

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

### Constructor Detail

#### DelegatingDragAdapter

    public DelegatingDragAdapter()

### Method Detail

#### addDragSourceListener

    public void addDragSourceListener(TransferDragSourceListener listener)

Deprecated.
Adds the given TransferDragSourceListener. The set of Transfer types is updated to reflect the change.

Parameters:
  `listener` - the new listener

#### getTransferTypes

    public Transfer[] getTransferTypes()

Deprecated. call getTransfers() instead.
Combines the `Transfer`s from every TransferDragSourceListener.

Returns:
  the combined `Transfer`s

#### removeDragSourceListener

    public void removeDragSourceListener(TransferDragSourceListener listener)

Deprecated.
Adds the given TransferDragSourceListener. The set of Transfer types is updated to reflect the change.

Parameters:
  `listener` - the listener being removed