Overview

 
Package  Use  Tree  Deprecated  Index  Help 
Eclipse Platform
Release 3.0
 PREV CLASS   NEXT CLASS FRAMES    NO FRAMES  
SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD


 

org.eclipse.jface.viewers
Class ViewerDropAdapter

java.lang.Object
  extended byorg.eclipse.swt.dnd.DropTargetAdapter
      extended byorg.eclipse.jface.viewers.ViewerDropAdapter

All Implemented Interfaces:
DropTargetListener, EventListener, org.eclipse.swt.internal.SWTEventListener

Direct Known Subclasses:
PluginDropAdapter


public abstract class ViewerDropAdapter
extends DropTargetAdapter

This adapter class provides generic drag-and-drop support for a viewer.

Subclasses must implement the following methods:

The setFeedbackEnabled method can be called to turn on and off visual insertion feedback (on by default).


Field Summary
static int LOCATION_AFTER
          Constant describing the position of the cursor relative to the target object.
static int LOCATION_BEFORE
          Constant describing the position of the cursor relative to the target object.
static int LOCATION_NONE
          Constant describing the position of the cursor relative to the target object.
static int LOCATION_ON
          Constant describing the position of the cursor relative to the target object.
 
Constructor Summary
protected ViewerDropAdapter(Viewer viewer)
          Creates a new drop adapter for the given viewer.
 
Method Summary
protected  int determineLocation(DropTargetEvent event)
          Returns the position of the given event's coordinates relative to its target.
protected  Object determineTarget(DropTargetEvent event)
          Returns the target item of the given drop event.
 void dragEnter(DropTargetEvent event)
          This implementation of dragEnter permits the default operation defined in event.detailto be performed on the current data type defined in event.currentDataType.
 void dragOperationChanged(DropTargetEvent event)
          This implementation of dragOperationChanged permits the default operation defined in event.detailto be performed on the current data type defined in event.currentDataType.
 void dragOver(DropTargetEvent event)
          This implementation of dragOver permits the default operation defined in event.detailto be performed on the current data type defined in event.currentDataType.
 void drop(DropTargetEvent event)
          This implementation of drop does nothing.
 void dropAccept(DropTargetEvent event)
          This implementation of dropAccept permits the default operation defined in event.detailto be performed on the current data type defined in event.currentDataType.
protected  Rectangle getBounds(Item item)
          Returns the bounds of the given SWT tree or table item.
protected  int getCurrentLocation()
          Returns a constant describing the position of the mouse relative to the target (before, on, or after the target.
protected  int getCurrentOperation()
          Returns the current operation.
protected  Object getCurrentTarget()
          Returns the target object currently under the mouse.
 boolean getFeedbackEnabled()
          Returns whether visible insertion feedback should be presented to the user.
protected  Object getSelectedObject()
          Returns the object currently selected by the viewer.
protected  Viewer getViewer()
          Returns the viewer to which this drop support has been added.
protected  void handleException(Throwable exception, DropTargetEvent event)
          Deprecated. this method should not be used. Exception handling has been removed from DropTargetAdapter methods overridden by this class. Handles any exception that occurs during callback, including rethrowing behavior.

[Issue: Implementation prints stack trace and eats exception to avoid crashing VA/J. Consider conditionalizing the implementation to do one thing in VAJ and something more reasonable in other operating environments. ]

abstract  boolean performDrop(Object data)
          Performs any work associated with the drop.
 void setFeedbackEnabled(boolean value)
          Sets whether visible insertion feedback should be presented to the user.
 void setScrollExpandEnabled(boolean value)
          Sets whether auto scrolling and expanding should be provided during dragging.
abstract  boolean validateDrop(Object target, int operation, TransferData transferType)
          Validates dropping on the given object.
 
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
 

 

Field Detail

 

 

LOCATION_BEFORE

public static final int LOCATION_BEFORE

Constant describing the position of the cursor relative to the target object. This means the mouse is positioned slightly before the target.

See Also:
getCurrentLocation(), Constant Field Values


 

 

LOCATION_AFTER

public static final int LOCATION_AFTER

Constant describing the position of the cursor relative to the target object. This means the mouse is positioned slightly after the target.

See Also:
getCurrentLocation(), Constant Field Values


 

 

LOCATION_ON

public static final int LOCATION_ON

Constant describing the position of the cursor relative to the target object. This means the mouse is positioned directly on the target.

See Also:
getCurrentLocation(), Constant Field Values


 

 

LOCATION_NONE

public static final int LOCATION_NONE

Constant describing the position of the cursor relative to the target object. This means the mouse is not positioned over or near any valid target.

See Also:
getCurrentLocation(), Constant Field Values
Constructor Detail

 

 

ViewerDropAdapter

protected ViewerDropAdapter(Viewer viewer)

Creates a new drop adapter for the given viewer.

Parameters:
viewer - the viewer
Method Detail

 

 

determineLocation

protected int determineLocation(DropTargetEvent event)

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.

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


 

 

determineTarget

protected Object determineTarget(DropTargetEvent event)

Returns the target item of the given drop event.

Parameters:
event - the event
Returns:
The target of the drop, may be null.


 

 

dragEnter

public void dragEnter(DropTargetEvent event)

Description copied from class: DropTargetAdapter
This implementation of dragEnter permits the default operation defined in event.detailto be performed on the current data type defined in event.currentDataType. For additional information see DropTargetListener.dragEnter.

Specified by:
dragEnter in interface DropTargetListener
Overrides:
dragEnter in class DropTargetAdapter


 

 

dragOperationChanged

public void dragOperationChanged(DropTargetEvent event)

Description copied from class: DropTargetAdapter
This implementation of dragOperationChanged permits the default operation defined in event.detailto be performed on the current data type defined in event.currentDataType. For additional information see DropTargetListener.dragOperationChanged.

Specified by:
dragOperationChanged in interface DropTargetListener
Overrides:
dragOperationChanged in class DropTargetAdapter


 

 

dragOver

public void dragOver(DropTargetEvent event)

Description copied from class: DropTargetAdapter
This implementation of dragOver permits the default operation defined in event.detailto be performed on the current data type defined in event.currentDataType. For additional information see DropTargetListener.dragOver.

Specified by:
dragOver in interface DropTargetListener
Overrides:
dragOver in class DropTargetAdapter


 

 

drop

public void drop(DropTargetEvent event)

Description copied from class: DropTargetAdapter
This implementation of drop does nothing. For additional information see DropTargetListener.drop.

Specified by:
drop in interface DropTargetListener
Overrides:
drop in class DropTargetAdapter


 

 

dropAccept

public void dropAccept(DropTargetEvent event)

Description copied from class: DropTargetAdapter
This implementation of dropAccept permits the default operation defined in event.detailto be performed on the current data type defined in event.currentDataType. For additional information see DropTargetListener.dropAccept.

Specified by:
dropAccept in interface DropTargetListener
Overrides:
dropAccept in class DropTargetAdapter


 

 

getBounds

protected Rectangle getBounds(Item item)

Returns the bounds of the given SWT tree or table item.

Parameters:
item - the SWT Item
Returns:
the bounds, or null if it is not a known type of item


 

 

getCurrentLocation

protected int getCurrentLocation()

Returns a constant describing the position of the mouse relative to the target (before, on, or after the target.

Returns:
one of the LOCATION_* constants defined in this type


 

 

getCurrentOperation

protected int getCurrentOperation()

Returns the current operation.

Returns:
a DROP_* constant from class DND
See Also:
DND.DROP_COPY, DND.DROP_MOVE, DND.DROP_LINK, DND.DROP_NONE


 

 

getCurrentTarget

protected Object getCurrentTarget()

Returns the target object currently under the mouse.

Returns:
the current target object


 

 

getFeedbackEnabled

public boolean getFeedbackEnabled()

Returns whether visible insertion feedback should be presented to the user.

Typical insertion feedback is the horizontal insertion bars that appear between adjacent items while dragging.

Returns:
true if visual feedback is desired, and false if not


 

 

getSelectedObject

protected Object getSelectedObject()

Returns the object currently selected by the viewer.

Returns:
the selected object, or null if either no object or multiple objects are selected


 

 

getViewer

protected Viewer getViewer()

Returns the viewer to which this drop support has been added.


 

 

handleException

protected void handleException(Throwable exception,
                               DropTargetEvent event)

Deprecated. this method should not be used. Exception handling has been removed from DropTargetAdapter methods overridden by this class. Handles any exception that occurs during callback, including rethrowing behavior.

[Issue: Implementation prints stack trace and eats exception to avoid crashing VA/J. Consider conditionalizing the implementation to do one thing in VAJ and something more reasonable in other operating environments. ]

Parameters:
exception - the exception
event - the event


 

 

performDrop

public abstract boolean performDrop(Object data)

Performs any work associated with the drop.

Subclasses must implement this method to provide drop behavior.

Parameters:
data - the drop data
Returns:
true if the drop was successful, and false otherwise


 

 

setFeedbackEnabled

public void setFeedbackEnabled(boolean value)

Sets whether visible insertion feedback should be presented to the user.

Typical insertion feedback is the horizontal insertion bars that appear between adjacent items while dragging.

Parameters:
value - true if visual feedback is desired, and false if not


 

 

setScrollExpandEnabled

public void setScrollExpandEnabled(boolean value)

Sets whether auto scrolling and expanding should be provided during dragging.

Parameters:
value - true if scrolling and expanding is desired, and false if not
Since:
2.0


 

 

validateDrop

public abstract boolean validateDrop(Object target,
                                     int operation,
                                     TransferData transferType)

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.

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.)
transferType - the current transfer type
Returns:
true if the drop is valid, and false otherwise


 

Overview

 
Package  Use  Tree  Deprecated  Index  Help 
Eclipse Platform
Release 3.0
 PREV CLASS   NEXT CLASS FRAMES    NO FRAMES  
SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD


Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.