private IContainer getActualTarget(Object dropTarget) throws JavaModelException{ if (dropTarget instanceof IContainer) return (IContainer)dropTarget; else if (dropTarget instanceof IJavaElement) return getActualTarget(((IJavaElement)dropTarget).getCorrespondingResource()); return null; }
@Override public boolean validateDrop(Object target, int operation, TransferData transferType) { return determineOperation(target, operation, transferType, DND.DROP_MOVE | DND.DROP_LINK | DND.DROP_COPY) != DND.DROP_NONE; }
public FileTransferDropAdapter(StructuredViewer viewer) { super(viewer); setScrollEnabled(true); setExpandEnabled(true); setFeedbackEnabled(false); }
@Override public boolean performDrop(final Object data) { try { final int currentOperation= getCurrentOperation(); if (data == null || !(data instanceof String[]) || currentOperation != DND.DROP_COPY) return false; final IContainer target= getActualTarget(getCurrentTarget()); if (target == null) return false; // Run the import operation asynchronously. // Otherwise the drag source (e.g., Windows Explorer) will be blocked // while the operation executes. Fixes bug 35796. Display.getCurrent().asyncExec(new Runnable() { @Override public void run() { getShell().forceActive(); new CopyFilesAndFoldersOperation(getShell()).copyOrLinkFiles((String[])data, target, currentOperation); } }); return true; } catch (JavaModelException e) { String title= PackagesMessages.DropAdapter_errorTitle; String message= PackagesMessages.DropAdapter_errorMessage; ExceptionHandler.handle(e, getShell(), title, message); return false; } }
public void drop(Object dropTarget, final DropTargetEvent event) { try { int operation= event.detail; event.detail= DND.DROP_NONE; final Object data= event.data; if (data == null || !(data instanceof String[]) || operation != DND.DROP_COPY) return; final IContainer target= getActualTarget(dropTarget); if (target == null) return; // Run the import operation asynchronously. // Otherwise the drag source (e.g., Windows Explorer) will be blocked // while the operation executes. Fixes bug 35796. Display.getCurrent().asyncExec(new Runnable() { public void run() { getShell().forceActive(); new CopyFilesAndFoldersOperation(getShell()).copyFiles((String[]) data, target); // Import always performs a copy. event.detail= DND.DROP_COPY; } }); } catch (JavaModelException e) { String title= PackagesMessages.DropAdapter_errorTitle; String message= PackagesMessages.DropAdapter_errorMessage; ExceptionHandler.handle(e, getShell(), title, message); } }
public JdtViewerDropSupport(StructuredViewer viewer) { fViewer= viewer; fDelegatingDropAdapter= new DelegatingDropAdapter(); fReorgDropListener= new SelectionTransferDropAdapter(fViewer); fDelegatingDropAdapter.addDropTargetListener(fReorgDropListener); fDelegatingDropAdapter.addDropTargetListener(new FileTransferDropAdapter(fViewer)); fDelegatingDropAdapter.addDropTargetListener(new PluginTransferDropAdapter(fViewer)); fStarted= false; }
private Shell getShell() { return getViewer().getControl().getShell(); } }
@Override public boolean performDrop(final Object data) { try { final int currentOperation= getCurrentOperation(); if (data == null || !(data instanceof String[]) || currentOperation != DND.DROP_COPY) return false; final IContainer target= getActualTarget(getCurrentTarget()); if (target == null) return false; // Run the import operation asynchronously. // Otherwise the drag source (e.g., Windows Explorer) will be blocked // while the operation executes. Fixes bug 35796. Display.getCurrent().asyncExec(new Runnable() { @Override public void run() { getShell().forceActive(); new CopyFilesAndFoldersOperation(getShell()).copyOrLinkFiles((String[])data, target, currentOperation); } }); return true; } catch (JavaModelException e) { String title= PackagesMessages.DropAdapter_errorTitle; String message= PackagesMessages.DropAdapter_errorMessage; ExceptionHandler.handle(e, getShell(), title, message); return false; } }
private void initDrop() { int ops= DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK | DND.DROP_DEFAULT; Transfer[] transfers= new Transfer[] { LocalSelectionTransfer.getInstance(), FileTransfer.getInstance()}; TransferDropTargetListener[] dropListeners= new TransferDropTargetListener[] { new SelectionTransferDropAdapter(fViewer), new FileTransferDropAdapter(fViewer), new WorkingSetDropAdapter(this) }; fViewer.addDropSupport(ops, transfers, new DelegatingDropAdapter(dropListeners)); }
private Shell getShell() { return getViewer().getControl().getShell(); } }
public FileTransferDropAdapter(StructuredViewer viewer) { super(viewer); setScrollEnabled(true); setExpandEnabled(true); setFeedbackEnabled(false); }
public JdtViewerDropSupport(StructuredViewer viewer) { fViewer= viewer; fDelegatingDropAdapter= new DelegatingDropAdapter(); fReorgDropListener= new SelectionTransferDropAdapter(fViewer); fDelegatingDropAdapter.addDropTargetListener(fReorgDropListener); fDelegatingDropAdapter.addDropTargetListener(new FileTransferDropAdapter(fViewer)); fDelegatingDropAdapter.addDropTargetListener(new PluginTransferDropAdapter(fViewer)); fStarted= false; }
private IContainer getActualTarget(Object dropTarget) throws JavaModelException{ if (dropTarget instanceof IContainer) return (IContainer)dropTarget; else if (dropTarget instanceof IJavaElement) return getActualTarget(((IJavaElement)dropTarget).getCorrespondingResource()); return null; }
private Shell getShell() { return getViewer().getControl().getShell(); } }
@Override public boolean validateDrop(Object target, int operation, TransferData transferType) { return determineOperation(target, operation, transferType, DND.DROP_MOVE | DND.DROP_LINK | DND.DROP_COPY) != DND.DROP_NONE; }
private IContainer getActualTarget(Object dropTarget) throws JavaModelException{ if (dropTarget instanceof IContainer) return (IContainer)dropTarget; else if (dropTarget instanceof IJavaElement) return getActualTarget(((IJavaElement)dropTarget).getCorrespondingResource()); return null; }