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 Details

    • ResourceDropAdapterAssistant

      public ResourceDropAdapterAssistant()
  • Method Details

    • isSupportedType

      public boolean isSupportedType(TransferData aTransferType)
      Description copied from class: CommonDropAdapterAssistant
      Clients may extend the supported transfer types beyond the default LocalSelectionTransfer.getTransfer() and PluginTransfer.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 class CommonDropAdapterAssistant
      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 class CommonDropAdapterAssistant
      Parameters:
      target - the object that the mouse is currently hovering over, or null if the mouse is hovering over empty space
      aDropOperation - 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 the DragSourceListener.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 class CommonDropAdapterAssistant
      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 class CommonDropAdapterAssistant
      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 class CommonDropAdapterAssistant
      Parameters:
      aDragSelection - The selection dragged from the viewer.
      aDropTarget - The target of the drop operation.
      Returns:
      OK if the drop operation succeeded.