/** * Clients may extend the supported transfer types beyond the default * {@link LocalSelectionTransfer#getTransfer()} and * {@link 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 * <b>visible</b> and <b>active</b> descriptors that are <b>enabled</b> * for the drop target of the current operation. * * @param aTransferType * The transfer data from the drop operation * @return True if the given TransferData can be understood by this * assistant. */ public boolean isSupportedType(TransferData aTransferType) { return LocalSelectionTransfer.getTransfer().isSupportedType( aTransferType); }
public void dragLeave(DropTargetEvent event) { super.dragLeave(event); if (LocalSelectionTransfer.getTransfer().isSupportedType( event.currentDataType)) { event.data = NavigatorPluginDropAction .createTransferData(contentService); } }
public void dragFinished(final DragSourceEvent event, final IStructuredSelection selection) { if (LocalSelectionTransfer.getTransfer() .isSupportedType(event.dataType)) LocalSelectionTransfer.getTransfer().setSelection(selection); } }
public void dragFinished(DragSourceEvent event) { if (LocalSelectionTransfer.getTransfer().isSupportedType( event.dataType)) LocalSelectionTransfer.getTransfer().setSelection(null); }
public boolean setDragData(final DragSourceEvent event, final IStructuredSelection selection) { if (selection == null || selection.isEmpty()) return false; if (LocalSelectionTransfer.getTransfer() .isSupportedType(event.dataType)) { LocalSelectionTransfer.getTransfer().setSelection(selection); return true; } if (FileTransfer.getInstance().isSupportedType(event.dataType)) { final List<String> files = new ArrayList<String>(); for (Object selected : selection.toList()) if (selected instanceof FileNode) { File file = ((FileNode) selected).getObject(); if (file != null && file.exists()) files.add(file.getAbsolutePath()); } event.data = files.toArray(new String[files.size()]); return !files.isEmpty(); } return false; }
/** * Set the drag data to represent the local selection of IU's if possible. * Fallback to using a text description of each IU. */ public void dragSetData(DragSourceEvent event) { IInstallableUnit[] ius = getSelectedIUs(); if (ius == null || ius.length == 0) { return; } // use local selection transfer if possible if (LocalSelectionTransfer.getTransfer().isSupportedType(event.dataType)) { event.data = LocalSelectionTransfer.getTransfer().getSelection(); return; } // resort to a text transfer if (!TextTransfer.getInstance().isSupportedType(event.dataType)) { return; } // Get a text description of each IU and set as the drag data final StringBuffer buffer = new StringBuffer(); for (int i = 0; i < ius.length; i++) { buffer.append(ius[i].toString()); buffer.append('\n'); } event.data = buffer.toString(); }
public void dragSetData(DragSourceEvent event) { IStructuredSelection selection = (IStructuredSelection) provider .getSelection(); if (selection.isEmpty()) return; if (LocalSelectionTransfer.getTransfer().isSupportedType( event.dataType)) { LocalSelectionTransfer.getTransfer().setSelection(selection); return; } if (FileTransfer.getInstance().isSupportedType(event.dataType)) { List<String> files = new ArrayList<String>(); for (Object selected : selection.toList()) if (selected instanceof StagingEntry) { StagingEntry entry = (StagingEntry) selected; File file = new File( entry.getRepository().getWorkTree(), entry.getPath()); if (file.exists()) files.add(file.getAbsolutePath()); } if (!files.isEmpty()) { event.data = files.toArray(new String[files.size()]); return; } } } }
@Override public boolean validateDrop(Object target, int operation, TransferData transferType) { if (LocalSelectionTransfer.getTransfer().isSupportedType(transferType)) { if (fDropType == DROP_TYPE_EXPRESSION){ return validateExpressionDrop(target); } else if (fDropType == DROP_TYPE_VARIABLE){ return validateVariableDrop(target); } else if (fDropType == DROP_TYPE_WATCH_ADAPTABLE_ELEMENT){ return validateWatchAdaptableDrop(target); } } else if (TextTransfer.getInstance().isSupportedType(transferType)) { return validateTextDrop(target); } return false; }
public void dragEnter(DropTargetEvent event) { super.dragEnter(event); for (int i = 0; i < event.dataTypes.length; i++) { if (LocalSelectionTransfer.getTransfer().isSupportedType( event.dataTypes[i])) { event.currentDataType = event.dataTypes[i]; return; } } for (int i = 0; i < event.dataTypes.length; i++) { if (FileTransfer.getInstance().isSupportedType(event.dataTypes[i])) { event.currentDataType = event.dataTypes[i]; event.detail = DND.DROP_COPY; return; } } for (int i = 0; i < event.dataTypes.length; i++) { if (PluginTransfer.getInstance() .isSupportedType(event.dataTypes[i])) { event.currentDataType = event.dataTypes[i]; return; } } event.detail = DND.DROP_NONE; }
@Override public boolean performDrop(Object data) { if (LocalSelectionTransfer.getTransfer().isSupportedType(fCurrentTransferType)) { IStructuredSelection selection = (IStructuredSelection) LocalSelectionTransfer.getTransfer().getSelection(); if (fDropType == DROP_TYPE_EXPRESSION){ return performExpressionDrop(selection); } else if (fDropType == DROP_TYPE_VARIABLE || fDropType == DROP_TYPE_WATCH_ADAPTABLE_ELEMENT){ return performVariableOrWatchAdaptableDrop(selection); } } else if (TextTransfer.getInstance().isSupportedType(fCurrentTransferType)) { if (data != null) { return performTextDrop((String)data); } } return false; }
public CommonDropAdapterAssistant[] findCommonDropAdapterAssistants( Object aDropTarget, TransferData aTransferType) { // TODO Make sure descriptors are sorted by priority CommonDropAdapterDescriptor[] descriptors = CommonDropDescriptorManager .getInstance().findCommonDropAdapterAssistants(aDropTarget, contentService); if (descriptors.length == 0) { return NO_ASSISTANTS; } if (LocalSelectionTransfer.getTransfer().isSupportedType(aTransferType) && LocalSelectionTransfer.getTransfer().getSelection() instanceof IStructuredSelection) { return getAssistantsBySelection(descriptors, (IStructuredSelection) LocalSelectionTransfer.getTransfer().getSelection()); } return getAssistantsByTransferData(descriptors, aTransferType); }
if (LocalSelectionTransfer.getTransfer().isSupportedType(event.dataTypes[i])) { if (isExpressionDrop()){ event.currentDataType = event.dataTypes[i];
@Override public IStatus validateDrop(Object target, int operation, TransferData transferType) { // We don't currently support COPY or LINK if (operation != DND.DROP_MOVE) { return Status.CANCEL_STATUS; } IWorkingSet targetWorkingSet = Adapters.adapt(target, IWorkingSet.class); if (targetWorkingSet == null) { return Status.CANCEL_STATUS; } if (!LocalSelectionTransfer.getTransfer().isSupportedType(transferType)) { return Status.CANCEL_STATUS; } // Verify that we have at least one project not already in the target ISelection sel = LocalSelectionTransfer.getTransfer().getSelection(); if (!sel.isEmpty() && sel instanceof IStructuredSelection) { for (Object item : ((IStructuredSelection) sel).toArray()) { IProject project = Adapters.adapt(item, IProject.class); if (project != null && !workingSetContains(targetWorkingSet, project)) { return Status.OK_STATUS; } } } return Status.CANCEL_STATUS; }
IResource[] resources = null; TransferData currentTransfer = aDropAdapter.getCurrentTransfer(); if (LocalSelectionTransfer.getTransfer().isSupportedType( currentTransfer)) { resources = getSelectedResources();
.isSupportedType(event.dataType)) { event.data = selection;
if (LocalSelectionTransfer.getTransfer().isSupportedType(transferType)) { IResource[] selectedResources = getSelectedResources();
if (LocalSelectionTransfer.getTransfer().isSupportedType(transferType)) { IResource[] selectedResources = getSelectedResources();