diff dwtx/jface/util/DelegatingDragAdapter.d @ 104:04b47443bb01

Reworked the collection uses to make use of a wrapper collection that is compatible to the Java Collections. These new wrappers now use the tango.util.containers instead of the tango.util.collections.
author Frank Benoit <benoit@tionex.de>
date Thu, 07 Aug 2008 15:01:33 +0200
parents 644f1334b451
children
line wrap: on
line diff
--- a/dwtx/jface/util/DelegatingDragAdapter.d	Sun Aug 03 17:01:51 2008 +0200
+++ b/dwtx/jface/util/DelegatingDragAdapter.d	Thu Aug 07 15:01:33 2008 +0200
@@ -15,7 +15,6 @@
 import dwtx.jface.util.TransferDragSourceListener;
 import dwtx.jface.util.SafeRunnable;
 
-import tango.util.collection.ArraySeq;
 
 import dwt.dnd.DragSource;
 import dwt.dnd.DragSourceEvent;
@@ -24,6 +23,7 @@
 import dwt.dnd.TransferData;
 
 import dwt.dwthelper.utils;
+import dwtx.dwtxhelper.Collection;
 
 /**
  * A <code>DelegatingDragAdapter</code> is a <code>DragSourceListener</code> that
@@ -93,15 +93,15 @@
  * @since 3.0
  */
 public class DelegatingDragAdapter : DragSourceListener {
-    private ArraySeq!(Object) listeners;
+    private List listeners;
 
-    private ArraySeq!(Object) activeListeners;
+    private List activeListeners;
 
     private TransferDragSourceListener currentListener;
 
     this(){
-        listeners = new ArraySeq!(Object);
-        activeListeners = new ArraySeq!(Object);
+        listeners = new ArrayList();
+        activeListeners = new ArrayList();
     }
 
     /**
@@ -110,7 +110,7 @@
      * @param listener the new listener
      */
     public void addDragSourceListener(TransferDragSourceListener listener) {
-        listeners.append(cast(Object)listener);
+        listeners.add(cast(Object)listener);
     }
 
     /**
@@ -137,8 +137,9 @@
                 } else {
                     // The drag was canceled and currentListener was never set, so send the
                     // dragFinished event to all the active listeners.
-                    foreach( e; activeListeners ){
-                        (cast(TransferDragSourceListener) e)
+                    Iterator iterator = activeListeners.iterator();
+                    while (iterator.hasNext()) {
+                        (cast(TransferDragSourceListener) iterator.next())
                                 .dragFinished(event);
                     }
                 }
@@ -187,8 +188,7 @@
         //      if (Policy.DEBUG_DRAG_DROP)
         //          System.out.println("Drag Start: " + toString()); //$NON-NLS-1$
         bool doit = false; // true if any one of the listeners can handle the drag
-        auto transfers = new ArraySeq!(Object);
-        transfers.capacity(listeners.size());
+        List transfers = new ArrayList(listeners.size());
 
         activeListeners.clear();
         for (int i = 0; i < listeners.size(); i++) {
@@ -207,8 +207,8 @@
                 }
             });
             if (event.doit) { // the listener can handle this drag
-                transfers.append(listener.getTransfer());
-                activeListeners.append(cast(Object)listener);
+                transfers.add(listener.getTransfer());
+                activeListeners.add(cast(Object)listener);
             }
             doit |= event.doit;
         }
@@ -243,7 +243,7 @@
      *  <code>false</code> otherwise.
      */
     public bool isEmpty() {
-        return listeners.drained();
+        return listeners.isEmpty();
     }
 
     /**
@@ -275,8 +275,10 @@
         if (event.dataType is null) {
             return;
         }
-        foreach( e; activeListeners ){
-            TransferDragSourceListener listener = cast(TransferDragSourceListener)e;
+        Iterator iterator = activeListeners.iterator();
+        while (iterator.hasNext()) {
+            TransferDragSourceListener listener = cast(TransferDragSourceListener) iterator
+                    .next();
 
             if (listener.getTransfer().isSupportedType(event.dataType)) {
                 //              if (Policy.DEBUG_DRAG_DROP)