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; }
/** * Forwards this event to the current listener, if there is one. Sets the * current listener to <code>null</code> afterwards. * * @param event the drop target event * @see DropTargetListener#drop(DropTargetEvent) */ public void drop(final DropTargetEvent event) { // if (Policy.DEBUG_DRAG_DROP) // System.out.println("Drop: " + toString()); //$NON-NLS-1$ updateCurrentListener(event); if (getCurrentListener() != null) { SafeRunnable.run(new SafeRunnable() { public void run() throws Exception { getCurrentListener().drop(event); } }); } setCurrentListener(null, event); }
/** * The cursor is moving over the drop target. Updates the current listener and * forwards this event to that listener. If no listener can handle the drag * operation the <code>event.detail</code> field is set to <code>DND.DROP_NONE</code> * to indicate an invalid drop. * * @param event the drop target event * @see DropTargetListener#dragOver(DropTargetEvent) */ @Override public void dragOver(final DropTargetEvent event) { TransferDropTargetListener oldListener = getCurrentListener(); updateCurrentListener(event); final TransferDropTargetListener newListener = getCurrentListener(); // only notify the current listener if it hasn't changed based on the // drag over. otherwise the new listener would get a dragEnter // followed by a dragOver with the exact same event. if (newListener != null && newListener == oldListener) { SafeRunnable.run(new SafeRunnable() { @Override public void run() throws Exception { newListener.dragOver(event); } }); } }
TransferDropTargetListener listener = iter .next(); TransferData dataType = getSupportedTransferType(event.dataTypes, listener); if (dataType != null) { if (!setCurrentListener(listener, event)) { event.detail = originalDetail; setCurrentListener(null, event); event.detail = DND.DROP_NONE;
public void configure(CommandManager commandManager, Control control, ISelectionProvider provider) { dragAdapter = new DelegatingDragAdapter(); dragSource = new DragSource(control, DND.DROP_COPY | DND.DROP_MOVE); dragAdapter.addDragSourceListener(new OutlineDragSourceListener(provider)); dragSource.addDragListener(dragAdapter); dragSource.setTransfer(dragAdapter.getTransfers()); dropAdapter = new DelegatingDropAdapter(); dropTarget = new DropTarget(control, DND.DROP_COPY | DND.DROP_MOVE); dropAdapter.addDropTargetListener(new OutlineDropTargetListener(commandManager)); dropTarget.addDropListener(dropAdapter); dropTarget.setTransfer(dropAdapter.getTransfers()); }
/** * The cursor has left the drop target boundaries. The event is forwarded to the * current listener. * * @param event the drop target event * @see DropTargetListener#dragLeave(DropTargetEvent) */ @Override public void dragLeave(final DropTargetEvent event) { // if (Policy.DEBUG_DRAG_DROP) // System.out.println("Drag Leave: " + toString()); //$NON-NLS-1$ setCurrentListener(null, event); }
/** * The cursor has entered the drop target boundaries. The current listener is * updated, and <code>#dragEnter()</code> is forwarded to the current listener. * * @param event the drop target event * @see DropTargetListener#dragEnter(DropTargetEvent) */ public void dragEnter(DropTargetEvent event) { // if (Policy.DEBUG_DRAG_DROP) // System.out.println("Drag Enter: " + toString()); //$NON-NLS-1$ originalDropType = event.detail; updateCurrentListener(event); }
/** * Forwards this event to the current listener if there is one. * * @param event the drop target event * @see DropTargetListener#dropAccept(DropTargetEvent) */ public void dropAccept(final DropTargetEvent event) { // if (Policy.DEBUG_DRAG_DROP) // System.out.println("Drop Accept: " + toString()); //$NON-NLS-1$ if (getCurrentListener() != null) { SafeRunnable.run(new SafeRunnable() { public void run() throws Exception { getCurrentListener().dropAccept(event); } }); } }
public void addDropTargetListener(TransferDropTargetListener listener) { Assert.isLegal(!fStarted); fDelegatingDropAdapter.addDropTargetListener(listener); }
/** * The cursor is moving over the drop target. Updates the current listener and * forwards this event to that listener. If no listener can handle the drag * operation the <code>event.detail</code> field is set to <code>DND.DROP_NONE</code> * to indicate an invalid drop. * * @param event the drop target event * @see DropTargetListener#dragOver(DropTargetEvent) */ @Override public void dragOver(final DropTargetEvent event) { TransferDropTargetListener oldListener = getCurrentListener(); updateCurrentListener(event); final TransferDropTargetListener newListener = getCurrentListener(); // only notify the current listener if it hasn't changed based on the // drag over. otherwise the new listener would get a dragEnter // followed by a dragOver with the exact same event. if (newListener != null && newListener == oldListener) { SafeRunnable.run(new SafeRunnable() { @Override public void run() throws Exception { newListener.dragOver(event); } }); } }
TransferDropTargetListener listener = (TransferDropTargetListener) iter .next(); TransferData dataType = getSupportedTransferType(event.dataTypes, listener); if (dataType != null) { if (!setCurrentListener(listener, event)) { event.detail = originalDetail; setCurrentListener(null, event); event.detail = DND.DROP_NONE;
/** * The cursor has left the drop target boundaries. The event is forwarded to the * current listener. * * @param event the drop target event * @see DropTargetListener#dragLeave(DropTargetEvent) */ public void dragLeave(final DropTargetEvent event) { // if (Policy.DEBUG_DRAG_DROP) // System.out.println("Drag Leave: " + toString()); //$NON-NLS-1$ setCurrentListener(null, event); }
/** * The cursor has entered the drop target boundaries. The current listener is * updated, and <code>#dragEnter()</code> is forwarded to the current listener. * * @param event the drop target event * @see DropTargetListener#dragEnter(DropTargetEvent) */ @Override public void dragEnter(DropTargetEvent event) { // if (Policy.DEBUG_DRAG_DROP) // System.out.println("Drag Enter: " + toString()); //$NON-NLS-1$ originalDropType = event.detail; updateCurrentListener(event); }
/** * Forwards this event to the current listener if there is one. * * @param event the drop target event * @see DropTargetListener#dropAccept(DropTargetEvent) */ @Override public void dropAccept(final DropTargetEvent event) { // if (Policy.DEBUG_DRAG_DROP) // System.out.println("Drop Accept: " + toString()); //$NON-NLS-1$ if (getCurrentListener() != null) { SafeRunnable.run(new SafeRunnable() { @Override public void run() throws Exception { getCurrentListener().dropAccept(event); } }); } }
public void addDropTargetListener(TransferDropTargetListener listener) { Assert.isLegal(!fStarted); fDelegatingDropAdapter.addDropTargetListener(listener); }
/** * Forwards this event to the current listener, if there is one. Sets the * current listener to <code>null</code> afterwards. * * @param event the drop target event * @see DropTargetListener#drop(DropTargetEvent) */ @Override public void drop(final DropTargetEvent event) { // if (Policy.DEBUG_DRAG_DROP) // System.out.println("Drop: " + toString()); //$NON-NLS-1$ updateCurrentListener(event); if (getCurrentListener() != null) { SafeRunnable.run(new SafeRunnable() { @Override public void run() throws Exception { getCurrentListener().drop(event); } }); } setCurrentListener(null, event); }
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; }
/** * The cursor is moving over the drop target. Updates the current listener and * forwards this event to that listener. If no listener can handle the drag * operation the <code>event.detail</code> field is set to <code>DND.DROP_NONE</code> * to indicate an invalid drop. * * @param event the drop target event * @see DropTargetListener#dragOver(DropTargetEvent) */ public void dragOver(final DropTargetEvent event) { TransferDropTargetListener oldListener = getCurrentListener(); updateCurrentListener(event); final TransferDropTargetListener newListener = getCurrentListener(); // only notify the current listener if it hasn't changed based on the // drag over. otherwise the new listener would get a dragEnter // followed by a dragOver with the exact same event. if (newListener != null && newListener == oldListener) { SafeRunnable.run(new SafeRunnable() { public void run() throws Exception { newListener.dragOver(event); } }); } }
TransferDropTargetListener listener = iter .next(); TransferData dataType = getSupportedTransferType(event.dataTypes, listener); if (dataType != null) { if (!setCurrentListener(listener, event)) { event.detail = originalDetail; setCurrentListener(null, event); event.detail = DND.DROP_NONE;
/** * The cursor has left the drop target boundaries. The event is forwarded to the * current listener. * * @param event the drop target event * @see DropTargetListener#dragLeave(DropTargetEvent) */ @Override public void dragLeave(final DropTargetEvent event) { // if (Policy.DEBUG_DRAG_DROP) // System.out.println("Drag Leave: " + toString()); //$NON-NLS-1$ setCurrentListener(null, event); }