org.eclipse.gef.dnd

## Class TemplateTransferDragSourceListener

- java.lang.Object
- - org.eclipse.gef.dnd.AbstractTransferDragSourceListener
  - - org.eclipse.gef.dnd.TemplateTransferDragSourceListener

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

    public class TemplateTransferDragSourceListener
    extends AbstractTransferDragSourceListener

Allows a single `PaletteTemplateEntry` to be dragged from an EditPartViewer. The PaletteTemplateEntry's template object is the data that is being transfered to the `DropTarget`.

Since:
  2.1

### Constructor Summary

Constructors
Constructor and Description
`TemplateTransferDragSourceListener(EditPartViewer viewer)` Constructs a new listener for the specified EditPartViewer.
`TemplateTransferDragSourceListener(EditPartViewer viewer, Transfer xfer)` Deprecated. Use the constructor without the transfer specified.

### Method Summary

Methods
`void` `dragFinished(DragSourceEvent event)`
`void` `dragSetData(DragSourceEvent event)` Get the template from the selected `PaletteTemplateEntry` and sets it as the event data to be dropped.
`void` `dragStart(DragSourceEvent event)` Cancels the drag if the selected item does not represent a PaletteTemplateEntry.
`protected java.lang.Object` `getTemplate()` A helper method that returns `null` or the template Object from the currently selected EditPart.

### Methods inherited from class org.eclipse.gef.dnd.AbstractTransferDragSourceListener

`getTransfer, getViewer, setTransfer, setViewer`

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

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

### Constructor Detail

#### TemplateTransferDragSourceListener

    public TemplateTransferDragSourceListener(EditPartViewer viewer,
                                      Transfer xfer)

Deprecated. Use the constructor without the transfer specified.

Parameters:
  `viewer` - viewer
  `xfer` - xfer

#### TemplateTransferDragSourceListener

    public TemplateTransferDragSourceListener(EditPartViewer viewer)

Constructs a new listener for the specified EditPartViewer. The provided Viewer should be one that is displaying a Palette. The TemplateTransferDragSourceListener will only be enabled when a single EditPart is selected, and the EditPart's model is a `PaletteTemplateEntry`.

Parameters:
  `viewer` - the EditPartViewer that is the drag source

### Method Detail

#### dragFinished

    public void dragFinished(DragSourceEvent event)

Specified by:
  `dragFinished` in interface `DragSourceListener`
Overrides:
  `dragFinished` in class `AbstractTransferDragSourceListener`
See Also:
  `AbstractTransferDragSourceListener.dragFinished(DragSourceEvent)`

#### dragSetData

    public void dragSetData(DragSourceEvent event)

Get the template from the selected `PaletteTemplateEntry` and sets it as the event data to be dropped.

Parameters:
  `event` - the DragSourceEvent

#### dragStart

    public void dragStart(DragSourceEvent event)

Cancels the drag if the selected item does not represent a PaletteTemplateEntry.

Specified by:
  `dragStart` in interface `DragSourceListener`
Overrides:
  `dragStart` in class `AbstractTransferDragSourceListener`
See Also:
  `DragSourceListener.dragStart(DragSourceEvent)`

#### getTemplate

    protected java.lang.Object getTemplate()

A helper method that returns `null` or the template Object from the currently selected EditPart.

Returns:
  the template