Package org.eclipse.gef.dnd

# Class TemplateTransferDragSourceListener

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

All Implemented Interfaces:
  `EventListener`, `TransferDragSourceListener`, `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
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

Modifier and Type
Method
Description
`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 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 Details

### 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 Details

### 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 Object getTemplate()
A helper method that returns `null` or the template Object from the currently selected EditPart.

Returns:
  the template