Package org.eclipse.ui.navigator
Class CommonDropAdapter
- java.lang.Object
-
- org.eclipse.swt.dnd.DropTargetAdapter
-
- org.eclipse.jface.viewers.ViewerDropAdapter
-
- org.eclipse.ui.part.PluginDropAdapter
-
- org.eclipse.ui.navigator.CommonDropAdapter
-
- All Implemented Interfaces:
EventListener,DropTargetListener,SWTEventListener
public final class CommonDropAdapter extends PluginDropAdapter
Provides an implementation ofPluginDropAdapterwhich uses the extensions provided by the associatedINavigatorContentService.Clients should not need to create an instance of this class unless they are creating their own custom viewer. Otherwise,
CommonViewerconfigures its drop adapter automatically.- Since:
- 3.2
- See Also:
INavigatorDnDService,CommonDragAdapter,CommonDragAdapterAssistant,CommonDropAdapterAssistant,CommonViewer
-
-
Field Summary
-
Fields inherited from class org.eclipse.ui.part.PluginDropAdapter
ATT_CLASS
-
Fields inherited from class org.eclipse.jface.viewers.ViewerDropAdapter
LOCATION_AFTER, LOCATION_BEFORE, LOCATION_NONE, LOCATION_ON
-
-
Constructor Summary
Constructors Constructor Description CommonDropAdapter(INavigatorContentService aContentService, StructuredViewer aStructuredViewer)Create a DropAdapter that handles a drop based on the given content service and selection provider.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddragEnter(DropTargetEvent event)This implementation ofdragEnterpermits the default operation defined inevent.detailto be performed on the current data type defined inevent.currentDataType.voiddragLeave(DropTargetEvent event)This implementation ofdragLeavedoes nothing.RectanglegetBounds(Item item)Returns the bounds of the given SWT tree or table item.intgetCurrentLocation()Returns a constant describing the position of the mouse relative to the target (before, on, or after the target.intgetCurrentOperation()Returns the current operation.ObjectgetCurrentTarget()Returns the target object currently under the mouse.TransferDatagetCurrentTransfer()Returns the current transfer.Transfer[]getSupportedDropTransfers()voidoverrideOperation(int operation)Overrides the current operation for a drop that happens immediately after the current validateDrop.booleanperformDrop(Object data)Performs any work associated with the drop.booleanvalidateDrop(Object aDropTarget, int theDropOperation, TransferData theTransferData)ThePluginDropAdapterimplementation of thisViewerDropAdaptermethod is used to notify the action that some aspect of the drop operation has changed.-
Methods inherited from class org.eclipse.ui.part.PluginDropAdapter
drop, getPluginAdapter
-
Methods inherited from class org.eclipse.jface.viewers.ViewerDropAdapter
clearState, determineLocation, determineTarget, dragOperationChanged, dragOver, dropAccept, getCurrentEvent, getFeedbackEnabled, getSelectedObject, getThreshold, getViewer, handleException, setExpandEnabled, setFeedbackEnabled, setScrollEnabled, setScrollExpandEnabled, setSelectionFeedbackEnabled
-
-
-
-
Constructor Detail
-
CommonDropAdapter
public CommonDropAdapter(INavigatorContentService aContentService, StructuredViewer aStructuredViewer)
Create a DropAdapter that handles a drop based on the given content service and selection provider.- Parameters:
aContentService- The content service this Drop Adapter is associated withaStructuredViewer- The viewer this DropAdapter is associated with.
-
-
Method Detail
-
getSupportedDropTransfers
public Transfer[] getSupportedDropTransfers()
- Returns:
- An array of Transfers allowed by the CommonDropAdapter. Includes
LocalSelectionTransfer.getTransfer(),FileTransfer.getInstance(),PluginTransfer.getInstance(). - See Also:
LocalSelectionTransfer,FileTransfer,PluginTransfer
-
dragEnter
public void dragEnter(DropTargetEvent event)
Description copied from class:DropTargetAdapterThis implementation ofdragEnterpermits the default operation defined inevent.detailto be performed on the current data type defined inevent.currentDataType. For additional information seeDropTargetListener.dragEnter.- Specified by:
dragEnterin interfaceDropTargetListener- Overrides:
dragEnterin classViewerDropAdapter- Parameters:
event- the information associated with the drag enter event- See Also:
DropTargetEvent
-
dragLeave
public void dragLeave(DropTargetEvent event)
Description copied from class:DropTargetAdapterThis implementation ofdragLeavedoes nothing. For additional information seeDropTargetListener.dragOperationChanged.- Specified by:
dragLeavein interfaceDropTargetListener- Overrides:
dragLeavein classDropTargetAdapter- Parameters:
event- the information associated with the drag leave event- See Also:
DropTargetEvent
-
performDrop
public boolean performDrop(Object data)
Description copied from class:ViewerDropAdapterPerforms any work associated with the drop.Subclasses must implement this method to provide drop behavior.
- Overrides:
performDropin classPluginDropAdapter- Parameters:
data- the drop data- Returns:
trueif the drop was successful, andfalseotherwise- See Also:
ViewerDropAdapter.performDrop(java.lang.Object)
-
validateDrop
public boolean validateDrop(Object aDropTarget, int theDropOperation, TransferData theTransferData)
Description copied from class:PluginDropAdapterThePluginDropAdapterimplementation of thisViewerDropAdaptermethod is used to notify the action that some aspect of the drop operation has changed. Subclasses may override.- Overrides:
validateDropin classPluginDropAdapter- Parameters:
aDropTarget- the object that the mouse is currently hovering over, ornullif the mouse is hovering over empty spacetheDropOperation- the current drag operation (copy, move, etc.)theTransferData- the current transfer type- Returns:
trueif the drop is valid, andfalseotherwise
-
getBounds
public Rectangle getBounds(Item item)
Description copied from class:ViewerDropAdapterReturns the bounds of the given SWT tree or table item.- Overrides:
getBoundsin classViewerDropAdapter- Parameters:
item- the SWT Item- Returns:
- the bounds, or
nullif it is not a known type of item
-
getCurrentLocation
public int getCurrentLocation()
Description copied from class:ViewerDropAdapterReturns a constant describing the position of the mouse relative to the target (before, on, or after the target.- Overrides:
getCurrentLocationin classViewerDropAdapter- Returns:
- one of the
LOCATION_*constants defined in this type
-
getCurrentOperation
public int getCurrentOperation()
Description copied from class:ViewerDropAdapterReturns the current operation.- Overrides:
getCurrentOperationin classViewerDropAdapter- Returns:
- a
DROP_*constant from classDND - See Also:
DND.DROP_COPY,DND.DROP_MOVE,DND.DROP_LINK,DND.DROP_NONE
-
overrideOperation
public void overrideOperation(int operation)
Description copied from class:ViewerDropAdapterOverrides the current operation for a drop that happens immediately after the current validateDrop. This maybe called only from within aViewerDropAdapter.validateDrop(Object, int, TransferData)method- Overrides:
overrideOperationin classViewerDropAdapter- Parameters:
operation- the operation to be used for the drop.- Since:
- 3.4
- See Also:
ViewerDropAdapter.overrideOperation(int)
-
getCurrentTarget
public Object getCurrentTarget()
Description copied from class:ViewerDropAdapterReturns the target object currently under the mouse.- Overrides:
getCurrentTargetin classViewerDropAdapter- Returns:
- the current target object
-
getCurrentTransfer
public TransferData getCurrentTransfer()
Description copied from class:PluginDropAdapterReturns the current transfer.- Overrides:
getCurrentTransferin classPluginDropAdapter
-
-