Mercurial > projects > dwt-addons
diff dwtx/jface/action/ContributionManager.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 | 7ffeace6c47f |
children |
line wrap: on
line diff
--- a/dwtx/jface/action/ContributionManager.d Sun Aug 03 17:01:51 2008 +0200 +++ b/dwtx/jface/action/ContributionManager.d Thu Aug 07 15:01:33 2008 +0200 @@ -19,13 +19,12 @@ import dwtx.jface.action.IContributionManagerOverrides; import dwtx.jface.action.IAction; -import tango.util.collection.ArraySeq; -import tango.util.collection.model.Seq; import dwtx.core.runtime.Assert; import dwtx.jface.util.Policy; import dwt.dwthelper.utils; +import dwtx.dwtxhelper.Collection; import tango.io.Stdout; import tango.core.Exception; import tango.text.convert.Format; @@ -57,7 +56,7 @@ /** * The list of contribution items. */ - private Seq!(IContributionItem) contributions; + private List contributions; /** * Indicates whether the widgets are in sync with the contributions. @@ -78,7 +77,7 @@ * Creates a new contribution manager. */ protected this() { - contributions = new ArraySeq!(IContributionItem); + contributions = new ArrayList(); // Do nothing. } @@ -96,7 +95,7 @@ public void add(IContributionItem item) { Assert.isNotNull( cast(Object)item, "Item must not be null"); //$NON-NLS-1$ if (allowItem(item)) { - contributions.append(item); + contributions.add(cast(Object)item); itemAdded(item); } } @@ -118,25 +117,24 @@ private void addToGroup(String groupName, IContributionItem item, bool append) { int i; - auto items = contributions.elements(); - for (i = 0; items.more(); i++) { - IContributionItem o = cast(IContributionItem) items.get(); + auto items = contributions.iterator(); + for (i = 0; items.hasNext(); i++) { + IContributionItem o = cast(IContributionItem) items.next(); if (o.isGroupMarker()) { String id = o.getId(); if (id !is null && id.equalsIgnoreCase(groupName)) { i++; if (append) { - for (; items.more(); i++) { + for (; items.hasNext(); i++) { IContributionItem ci = cast(IContributionItem) items - .get(); + .next(); if (ci.isGroupMarker()) { break; } } } if (allowItem(item)) { - //TODO: does this corrupt the iterator? - contributions.addAt(i, item); + contributions.add(i, cast(Object)item); itemAdded(item); } return; @@ -204,9 +202,9 @@ * (non-Javadoc) Method declared on IContributionManager. */ public IContributionItem find(String id) { - auto e = contributions.elements(); - while (e.more()) { - IContributionItem item = cast(IContributionItem) e.get(); + auto e = contributions.iterator(); + while (e.hasNext()) { + IContributionItem item = cast(IContributionItem) e.next(); String itemId = item.getId(); if (itemId !is null && itemId.equalsIgnoreCase(id)) { return item; @@ -219,7 +217,8 @@ * (non-Javadoc) Method declared on IContributionManager. */ public IContributionItem[] getItems() { - return contributions.toArray(); + IContributionItem[] items = arraycast!(IContributionItem)(contributions.toArray()); + return items; } /** @@ -247,7 +246,7 @@ return null; } - public ValueWrapperInt getAccelerator(IContributionItem item) { + public Integer getAccelerator(IContributionItem item) { return null; } @@ -305,16 +304,7 @@ * @since 3.0 */ protected int indexOf(IContributionItem item) { - int res = -1; - int idx = 0; - foreach( e; contributions ){ - if( e == item ) { - res = idx; - break; - } - idx++; - } - return res; + return contributions.indexOf(cast(Object)item); } /** @@ -331,7 +321,7 @@ "inserting {} at {}", item.getId(), index)); //$NON-NLS-1$ //$NON-NLS-2$ } if (allowItem(item)) { - contributions.addAt(index, item); + contributions.add(index, cast(Object)item); itemAdded(item); } } @@ -351,11 +341,11 @@ if (ci is null) { throw new IllegalArgumentException(Format("can't find ID{}", ID));//$NON-NLS-1$ } - int ix = SeqIndexOf!(IContributionItem)( contributions, ci ); + int ix = contributions.indexOf(cast(Object)ci); if (ix >= 0) { // System.out.println("insert after: " + ix); if (allowItem(item)) { - contributions.addAt(ix + 1, item); + contributions.add(ix + 1,cast(Object) item); itemAdded(item); } } @@ -376,11 +366,11 @@ if (ci is null) { throw new IllegalArgumentException(Format("can't find ID {}", ID));//$NON-NLS-1$ } - int ix = SeqIndexOf!(IContributionItem)(contributions,ci); + int ix = contributions.indexOf(cast(Object)ci); if (ix >= 0) { // System.out.println("insert before: " + ix); if (allowItem(item)) { - contributions.addAt(ix, item); + contributions.add(ix, cast(Object)item); itemAdded(item); } } @@ -394,8 +384,8 @@ return true; } if (hasDynamicItems()) { - foreach( e; contributions ){ - IContributionItem item = cast(IContributionItem) e; + for (Iterator iter = contributions.iterator(); iter.hasNext();) { + IContributionItem item = cast(IContributionItem) iter.next(); if (item.isDirty()) { return true; } @@ -408,7 +398,7 @@ * (non-Javadoc) Method declared on IContributionManager. */ public bool isEmpty() { - return contributions.drained(); + return contributions.isEmpty(); } /** @@ -478,9 +468,7 @@ * (non-Javadoc) Method declared on IContributionManager. */ public IContributionItem remove(IContributionItem item) { - bool contained = contributions.contains(item); - contributions.remove(item); - if (contained) { + if (contributions.remove(cast(Object)item)) { itemRemoved(item); return item; } @@ -537,7 +525,7 @@ itemRemoved(oldItem); // Add the new item. - contributions.replaceAt(index, replacementItem); + contributions.set(index, cast(Object)replacementItem); itemAdded(replacementItem); // throws NPE if (replacementItem is null) // Go through and remove duplicates. @@ -547,7 +535,7 @@ if (Policy.TRACE_TOOLBAR) { Stdout.formatln("Removing duplicate on replace: {}", identifier); //$NON-NLS-1$ } - contributions.removeAt(i); + contributions.remove(i); itemRemoved(item); } } @@ -589,7 +577,7 @@ contributions.clear(); for (int i = 0; i < items.length; i++) { if (allowItem(items[i])) { - contributions.append(items[i]); + contributions.add(cast(Object)items[i]); } } }