diff dwtx/ui/forms/DetailsPart.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 5d489b9f966c
children
line wrap: on
line diff
--- a/dwtx/ui/forms/DetailsPart.d	Sun Aug 03 17:01:51 2008 +0200
+++ b/dwtx/ui/forms/DetailsPart.d	Thu Aug 07 15:01:33 2008 +0200
@@ -28,7 +28,7 @@
 
 import dwt.dwthelper.utils;
 import dwt.dwthelper.Runnable;
-import tango.util.collection.HashMap;
+import dwtx.dwtxhelper.Collection;
 
 /**
  * This managed form part handles the 'details' portion of the
@@ -51,7 +51,7 @@
     private ScrolledPageBook pageBook;
     private IFormPart masterPart;
     private IStructuredSelection currentSelection;
-    private HashMap!(Object,Object) pages;
+    private Hashtable pages;
     private IDetailsPageProvider pageProvider;
     private int pageLimit=Integer.MAX_VALUE;
 
@@ -93,7 +93,7 @@
  */
     public this(IManagedForm mform, ScrolledPageBook pageBook) {
         this.pageBook = pageBook;
-        pages = new HashMap!(Object,Object);
+        pages = new Hashtable();
         initialize(mform);
     }
 /**
@@ -118,7 +118,7 @@
     }
 
     private void registerPage(Object objectClass, IDetailsPage page, bool fixed) {
-        pages.add(objectClass, new PageBag(page, fixed));
+        pages.put(objectClass, new PageBag(page, fixed));
         page.initialize(managedForm);
     }
 /**
@@ -158,8 +158,8 @@
      * @see dwtx.ui.forms.IFormPart#dispose()
      */
     public void dispose() {
-        foreach( k, v; pages ){
-            PageBag pageBag = cast(PageBag) v;
+        for (Enumeration enm = pages.elements(); enm.hasMoreElements();) {
+            PageBag pageBag = cast(PageBag) enm.nextElement();
             pageBag.dispose();
         }
     }
@@ -235,7 +235,8 @@
     private void update() {
         Object key = null;
         if (currentSelection !is null) {
-            foreach ( obj; currentSelection.iterator() ) {
+            for (Iterator iter = currentSelection.iterator(); iter.hasNext();) {
+                Object obj = iter.next();
                 if (key is null)
                     key = getKey(obj);
                 else if (getKey(obj).opEquals(key) is false) {
@@ -299,8 +300,9 @@
         // overflow
         int currentTicket = PageBag.getCurrentTicket();
         int cutoffTicket = currentTicket - getPageLimit();
-        foreach( key, v; cast(HashMap!(Object,Object))pages.dup ){
-            PageBag pageBag = cast(PageBag)v;
+        for (Enumeration enm=pages.keys(); enm.hasMoreElements();) {
+            Object key = enm.nextElement();
+            PageBag pageBag = cast(PageBag)pages.get(key);
             if (pageBag.getTicket()<=cutoffTicket) {
                 // candidate - see if it is active and not fixed
                 if (!pageBag.isFixed() && !(cast(Object)pageBag.getPage()).opEquals(cast(Object)getCurrentPage())) {