Mercurial > projects > dwt-addons
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())) {