Class ResourceDropAdapterAssistant
- java.lang.Object
-
- org.eclipse.ui.navigator.CommonDropAdapterAssistant
-
- org.eclipse.ui.navigator.resources.ResourceDropAdapterAssistant
-
public class ResourceDropAdapterAssistant extends CommonDropAdapterAssistant
Clients may reference this class in the dropAssistant element of a org.eclipse.ui.navigator.navigatorContent extension point.Clients may not extend or instantiate this class for any purpose. Clients may have no direct dependencies on the contract of this class.
- Since:
- 3.2
-
-
Constructor Summary
Constructors Constructor Description ResourceDropAdapterAssistant()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description IStatus
handleDrop(CommonDropAdapter aDropAdapter, DropTargetEvent aDropTargetEvent, Object aTarget)
Carry out the DND operation.IStatus
handlePluginTransferDrop(IStructuredSelection aDragSelection, Object aDropTarget)
Handle the drop operation for the target viewer.boolean
isSupportedType(TransferData aTransferType)
Clients may extend the supported transfer types beyond the defaultLocalSelectionTransfer.getTransfer()
andPluginTransfer.getInstance()
transfer types.IStatus
validateDrop(Object target, int aDropOperation, TransferData transferType)
Validates dropping on the given object.IStatus
validatePluginTransferDrop(IStructuredSelection aDragSelection, Object aDropTarget)
Return true if the client can handle the drop onto the target viewer of the drop operation.-
Methods inherited from class org.eclipse.ui.navigator.CommonDropAdapterAssistant
doInit, getCommonDropAdapter, getContentService, getCurrentEvent, getShell, init, setCommonDropAdapter
-
-
-
-
Method Detail
-
isSupportedType
public boolean isSupportedType(TransferData aTransferType)
Description copied from class:CommonDropAdapterAssistant
Clients may extend the supported transfer types beyond the defaultLocalSelectionTransfer.getTransfer()
andPluginTransfer.getInstance()
transfer types. When a transfer type other than one of these is encountered, the DND Service will query the visible and active descriptors that are enabled for the drop target of the current operation.- Overrides:
isSupportedType
in classCommonDropAdapterAssistant
- Parameters:
aTransferType
- The transfer data from the drop operation- Returns:
- True if the given TransferData can be understood by this assistant.
-
validateDrop
public IStatus validateDrop(Object target, int aDropOperation, TransferData transferType)
Description copied from class:CommonDropAdapterAssistant
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. If clients return true, then they will be allowed to handle the drop in
CommonDropAdapterAssistant.handleDrop(CommonDropAdapter, DropTargetEvent, Object)
.- Specified by:
validateDrop
in classCommonDropAdapterAssistant
- Parameters:
target
- the object that the mouse is currently hovering over, ornull
if the mouse is hovering over empty spaceaDropOperation
- the current drag operation (copy, move, etc.)transferType
- the current transfer type- Returns:
- A status indicating whether the drop is valid.
-
handleDrop
public IStatus handleDrop(CommonDropAdapter aDropAdapter, DropTargetEvent aDropTargetEvent, Object aTarget)
Description copied from class:CommonDropAdapterAssistant
Carry out the DND operation.Note: Contrary to the SWT
DropTargetListener
specification, you must make sure that the aDropTargetEvent.detail is not set to DND.DROP_MOVE unless actual work is required in theDragSourceListener.dragFinished(org.eclipse.swt.dnd.DragSourceEvent)
to complete the operation (for example removing the moved file). In particular for the LocalSelectionTransfer case, DND.DROP_MOVE cannot be used as it will cause incorrect behavior in some existing drag handlers. In case of move operations where no action is required on the source side (e.g. LocalSelectionTransfer) you must set aDropTargetEvent.detail to DND.DROP_NONE to signal this to the drag source. Even though the SWT specification says this is canceling the drop, it is not really doing so, it is only preventing the DND.DROP_MOVE from being passed through to the dragFinished() method.- Specified by:
handleDrop
in classCommonDropAdapterAssistant
- Parameters:
aDropAdapter
- The Drop Adapter contains information that has already been parsed from the drop event.aDropTargetEvent
- The drop target event.aTarget
- The object being dragged onto- Returns:
- A status indicating whether the drop completed OK.
-
validatePluginTransferDrop
public IStatus validatePluginTransferDrop(IStructuredSelection aDragSelection, Object aDropTarget)
Description copied from class:CommonDropAdapterAssistant
Return true if the client can handle the drop onto the target viewer of the drop operation.The default behavior of this method is to return Status.CANCEL_STATUS.
- Overrides:
validatePluginTransferDrop
in classCommonDropAdapterAssistant
- Parameters:
aDragSelection
- The selection dragged from the viewer.aDropTarget
- The target of the drop operation.- Returns:
- OK if the plugin transfer can be handled by this assistant.
-
handlePluginTransferDrop
public IStatus handlePluginTransferDrop(IStructuredSelection aDragSelection, Object aDropTarget)
Description copied from class:CommonDropAdapterAssistant
Handle the drop operation for the target viewer.The default behavior of this method is to return Status.CANCEL_STATUS.
- Overrides:
handlePluginTransferDrop
in classCommonDropAdapterAssistant
- Parameters:
aDragSelection
- The selection dragged from the viewer.aDropTarget
- The target of the drop operation.- Returns:
- OK if the drop operation succeeded.
-
-