X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/dnd/DelegatingDragAdapter.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/dnd/DelegatingDragAdapter.java index d8fbbde..df9c40a 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/dnd/DelegatingDragAdapter.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/dnd/DelegatingDragAdapter.java @@ -22,93 +22,106 @@ import org.eclipse.swt.dnd.Transfer; import org.eclipse.swt.dnd.TransferData; /** - * A delegating drag adapter negotiates between a set of TransferDragSourceListeners - * On dragStart the adapter determines the listener to be used for any further - * drag* callback. + * A delegating drag adapter negotiates between a set of + * TransferDragSourceListeners On dragStart the + * adapter determines the listener to be used for any further drag* + * callback. */ public class DelegatingDragAdapter implements DragSourceListener { private TransferDragSourceListener[] fPossibleListeners; + private List fActiveListeners; + private TransferDragSourceListener fFinishListener; - + public DelegatingDragAdapter(TransferDragSourceListener[] listeners) { setPossibleListeners(listeners); } - + protected void setPossibleListeners(TransferDragSourceListener[] listeners) { Assert.isNotNull(listeners); - Assert.isTrue(fActiveListeners == null, "Can only set possible listeners before drag operation has started"); //$NON-NLS-1$ - fPossibleListeners= listeners; + Assert + .isTrue(fActiveListeners == null, + "Can only set possible listeners before drag operation has started"); //$NON-NLS-1$ + fPossibleListeners = listeners; } - - /* non Java-doc + + /* + * non Java-doc + * * @see DragSourceListener */ public void dragStart(DragSourceEvent event) { - fFinishListener= null; - boolean saveDoit= event.doit; - Object saveData= event.data; - boolean doIt= false; - List transfers= new ArrayList(fPossibleListeners.length); - fActiveListeners= new ArrayList(fPossibleListeners.length); - - for (int i= 0; i < fPossibleListeners.length; i++) { - TransferDragSourceListener listener= fPossibleListeners[i]; - event.doit= saveDoit; + fFinishListener = null; + boolean saveDoit = event.doit; + Object saveData = event.data; + boolean doIt = false; + List transfers = new ArrayList(fPossibleListeners.length); + fActiveListeners = new ArrayList(fPossibleListeners.length); + + for (int i = 0; i < fPossibleListeners.length; i++) { + TransferDragSourceListener listener = fPossibleListeners[i]; + event.doit = saveDoit; listener.dragStart(event); if (event.doit) { transfers.add(listener.getTransfer()); fActiveListeners.add(listener); } - doIt= doIt || event.doit; + doIt = doIt || event.doit; } if (doIt) { - ((DragSource)event.widget).setTransfer((Transfer[])transfers.toArray(new Transfer[transfers.size()])); + ((DragSource) event.widget).setTransfer((Transfer[]) transfers + .toArray(new Transfer[transfers.size()])); } - event.data= saveData; - event.doit= doIt; + event.data = saveData; + event.doit = doIt; } - /* non Java-doc + /* + * non Java-doc + * * @see DragSourceListener */ public void dragSetData(DragSourceEvent event) { - fFinishListener= getListener(event.dataType); + fFinishListener = getListener(event.dataType); if (fFinishListener != null) fFinishListener.dragSetData(event); } - - /* non Java-doc + + /* + * non Java-doc + * * @see DragSourceListener */ public void dragFinished(DragSourceEvent event) { - try{ + try { if (fFinishListener != null) { fFinishListener.dragFinished(event); } else { // If the user presses Escape then we get a dragFinished without // getting a dragSetData before. - fFinishListener= getListener(event.dataType); + fFinishListener = getListener(event.dataType); if (fFinishListener != null) fFinishListener.dragFinished(event); } - } finally{ - fFinishListener= null; - fActiveListeners= null; - } + } finally { + fFinishListener = null; + fActiveListeners = null; + } } - + private TransferDragSourceListener getListener(TransferData type) { if (type == null) return null; - - for (Iterator iter= fActiveListeners.iterator(); iter.hasNext();) { - TransferDragSourceListener listener= (TransferDragSourceListener)iter.next(); + + for (Iterator iter = fActiveListeners.iterator(); iter.hasNext();) { + TransferDragSourceListener listener = (TransferDragSourceListener) iter + .next(); if (listener.getTransfer().isSupportedType(type)) { return listener; } } return null; - } + } }