org.eclipse.net4j.util.ui.dnd
Class DNDDropAdapter<TYPE>

java.lang.Object
  extended by org.eclipse.swt.dnd.DropTargetAdapter
      extended by org.eclipse.jface.viewers.ViewerDropAdapter
          extended by org.eclipse.net4j.util.ui.dnd.DNDDropAdapter<TYPE>
All Implemented Interfaces:
EventListener, DropTargetListener, org.eclipse.swt.internal.SWTEventListener

public abstract class DNDDropAdapter<TYPE>
extends ViewerDropAdapter

Author:
Eike Stepper

Field Summary
 
Fields inherited from class org.eclipse.jface.viewers.ViewerDropAdapter
LOCATION_AFTER, LOCATION_BEFORE, LOCATION_NONE, LOCATION_ON
 
Constructor Summary
protected DNDDropAdapter(Transfer[] transfers, StructuredViewer viewer)
           
 
Method Summary
protected  int determineLocation(DropTargetEvent event)
          Returns the position of the given event's coordinates relative to its target.
 Transfer[] getTransfers()
           
 StructuredViewer getViewer()
           
 boolean isDropBetweenEnabled()
           
 boolean performDrop(Object data)
          Performs any work associated with the drop.
protected abstract  boolean performDrop(TYPE data, Object target)
           
 void setDropBetweenEnabled(boolean dropBetweenEnabled)
           
 boolean validateDrop(Object target, int operation, TransferData type)
          Validates dropping on the given object.
protected abstract  boolean validateTarget(Object target, int operation)
           
 
Methods inherited from class org.eclipse.jface.viewers.ViewerDropAdapter
clearState, determineTarget, dragEnter, dragOperationChanged, dragOver, drop, dropAccept, getBounds, getCurrentEvent, getCurrentLocation, getCurrentOperation, getCurrentTarget, getFeedbackEnabled, getSelectedObject, handleException, overrideOperation, setExpandEnabled, setFeedbackEnabled, setScrollEnabled, setScrollExpandEnabled, setSelectionFeedbackEnabled
 
Methods inherited from class org.eclipse.swt.dnd.DropTargetAdapter
dragLeave
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DNDDropAdapter

protected DNDDropAdapter(Transfer[] transfers,
                         StructuredViewer viewer)
Since:
3.0
Method Detail

getTransfers

public Transfer[] getTransfers()
Since:
3.0

getViewer

public StructuredViewer getViewer()
Overrides:
getViewer in class ViewerDropAdapter
Returns:
the viewer to which this drop support has been added.

isDropBetweenEnabled

public boolean isDropBetweenEnabled()

setDropBetweenEnabled

public void setDropBetweenEnabled(boolean dropBetweenEnabled)

determineLocation

protected int determineLocation(DropTargetEvent event)
Description copied from class: org.eclipse.jface.viewers.ViewerDropAdapter
Returns the position of the given event's coordinates relative to its target. The position is determined to be before, after, or on the item, based on some threshold value.

Overrides:
determineLocation in class ViewerDropAdapter
Parameters:
event - the event
Returns:
one of the LOCATION_* constants defined in this class

performDrop

public boolean performDrop(Object data)
Description copied from class: org.eclipse.jface.viewers.ViewerDropAdapter
Performs any work associated with the drop.

Subclasses must implement this method to provide drop behavior.

Specified by:
performDrop in class ViewerDropAdapter
Parameters:
data - the drop data
Returns:
true if the drop was successful, and false otherwise

validateDrop

public boolean validateDrop(Object target,
                            int operation,
                            TransferData type)
Description copied from class: org.eclipse.jface.viewers.ViewerDropAdapter
Validates dropping on the given object. This method is called whenever some aspect of the drop operation changes.

Subclasses must implement this method to define which drops make sense.

Specified by:
validateDrop in class ViewerDropAdapter
Parameters:
target - the object that the mouse is currently hovering over, or null if the mouse is hovering over empty space
operation - the current drag operation (copy, move, etc.)
type - the current transfer type
Returns:
true if the drop is valid, and false otherwise

validateTarget

protected abstract boolean validateTarget(Object target,
                                          int operation)

performDrop

protected abstract boolean performDrop(TYPE data,
                                       Object target)


Copyright (c) 2004 - 2011 Eike Stepper (Berlin, Germany) and others.