| java.lang.Object org.eclipse.ui.navigator.CommonDropAdapterAssistant
All known Subclasses: org.eclipse.ui.navigator.resources.ResourceDropAdapterAssistant, org.eclipse.ui.internal.navigator.dnd.SkeletonCommonDropAssistant,
CommonDropAdapterAssistant | abstract public class CommonDropAdapterAssistant (Code) | |
Used by the
org.eclipse.ui.navigator.navigatorContent/navigatorContent/commonDropAdapter
extension point to carry out pluggable drop operations.
Each
CommonDropAdapterAssistant is contained by single content
extension. The opportunity for each assistant to handle the drop operation is
determined by the possibleChildren expression of the
org.eclipse.ui.navigator.navigatorContent/navigatorContent extension;
whenever every element in the drag set matches the possibleChildren
expression of an extension, it is eligible to handle the drop operation. This
initial set is further culled using the possibleDropTargets
expression of the commonDropAdapter using the current drop target.
If drag operations originate outside of Eclipse, then the set of eligible
drop adapters is determined based on the drop target (using the
possibleDropTargets expression). Each assistant can then indicate
whether
CommonDropAdapterAssistant.isSupportedType(TransferData) the incoming type is supported .
Whenever a match is found, the assistant will be given an opportunity to
first
CommonDropAdapterAssistant.validateDrop(Object,int,TransferData) , and then if the
assistant returns true, the assist must
CommonDropAdapterAssistant.handleDrop(CommonDropAdapter,DropTargetEvent,Object) . If
multiple assistants match the drop target, then the potential assistants are
ordered based on priority and their override relationships and given an
opportunity to validate the drop operation in turn. The first one to validate
will have the opportunty to carry out the drop.
Clients may handle DND operations that begin and end in the current viewer by
overriding the following methods:
If a user originates a drag operation to another viewer that cannot handle
one of the available drag transfer types, drop assistants may handle the drop
operation for the target viewer. Clients must override :
Clients may implement this interface.
See Also: INavigatorDnDService See Also: INavigatorDnDService.findCommonDropAdapterAssistants(ObjectTransferData) since: 3.2 |
Method Summary | |
protected void | doInit() Override to perform any one-time initialization. | protected INavigatorContentService | getContentService() | final protected Shell | getShell() | abstract public IStatus | handleDrop(CommonDropAdapter aDropAdapter, DropTargetEvent aDropTargetEvent, Object aTarget) Carry out the DND operation. | public IStatus | handlePluginTransferDrop(IStructuredSelection aDragSelection, Object aDropTarget) Handle the drop operation for the target viewer.
The default behavior of this method is to return Status.CANCEL_STATUS.
Parameters: aDragSelection - The selection dragged from the viewer. Parameters: aDropTarget - The target of the drop operation. | final public void | init(INavigatorContentService aContentService) Perform any necessary initialization using the
INavigatorContentService . | public boolean | isSupportedType(TransferData aTransferType) Clients may extend the supported transfer types beyond the default
LocalSelectionTransfer.getTransfer and
org.eclipse.ui.part.PluginTransfer.getInstance transfer types. | abstract public IStatus | validateDrop(Object target, int operation, TransferData transferType) Validates dropping on the given object. | public IStatus | validatePluginTransferDrop(IStructuredSelection aDragSelection, Object aDropTarget) 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.
Parameters: aDragSelection - The selection dragged from the viewer. Parameters: aDropTarget - The target of the drop operation. |
doInit | protected void doInit()(Code) | | Override to perform any one-time initialization.
|
handleDrop | abstract public IStatus handleDrop(CommonDropAdapter aDropAdapter, DropTargetEvent aDropTargetEvent, Object aTarget)(Code) | | Carry out the DND operation.
Parameters: aDropAdapter - The Drop Adapter contains information that has already beenparsed from the drop event. Parameters: aDropTargetEvent - The drop target event. Parameters: aTarget - The object being dragged onto A status indicating whether the drop completed OK. |
handlePluginTransferDrop | public IStatus handlePluginTransferDrop(IStructuredSelection aDragSelection, Object aDropTarget)(Code) | | Handle the drop operation for the target viewer.
The default behavior of this method is to return Status.CANCEL_STATUS.
Parameters: aDragSelection - The selection dragged from the viewer. Parameters: aDropTarget - The target of the drop operation. OK if the drop operation succeeded. |
isSupportedType | public boolean isSupportedType(TransferData aTransferType)(Code) | | Clients may extend the supported transfer types beyond the default
LocalSelectionTransfer.getTransfer and
org.eclipse.ui.part.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.
Parameters: aTransferType - The transfer data from the drop operation True if the given TransferData can be understood by thisassistant. |
validateDrop | abstract public IStatus validateDrop(Object target, int operation, TransferData transferType)(Code) | | 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) .
Parameters: target - the object that the mouse is currently hovering over, ornull if the mouse is hovering over empty space Parameters: operation - the current drag operation (copy, move, etc.) Parameters: transferType - the current transfer type A status indicating whether the drop is valid. |
validatePluginTransferDrop | public IStatus validatePluginTransferDrop(IStructuredSelection aDragSelection, Object aDropTarget)(Code) | | 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.
Parameters: aDragSelection - The selection dragged from the viewer. Parameters: aDropTarget - The target of the drop operation. OK if the plugin transfer can be handled by this assistant. |
|
|