Mercurial > projects > dwt2
diff org.eclipse.core.databinding/src/org/eclipse/core/databinding/observable/map/ComputedObservableMap.d @ 85:6be48cf9f95c
Work on databinding
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Sat, 18 Apr 2009 13:54:50 +0200 |
parents | 383ce7bd736b |
children | 1d37a7813832 |
line wrap: on
line diff
--- a/org.eclipse.core.databinding/src/org/eclipse/core/databinding/observable/map/ComputedObservableMap.d Sat Apr 18 09:25:29 2009 +0200 +++ b/org.eclipse.core.databinding/src/org/eclipse/core/databinding/observable/map/ComputedObservableMap.d Sat Apr 18 13:54:50 2009 +0200 @@ -33,9 +33,10 @@ */ public abstract class ComputedObservableMap : AbstractObservableMap { - private final IObservableSet keySet; + private final IObservableSet fkeySet; - private ISetChangeListener setChangeListener = new class() ISetChangeListener { + private ISetChangeListener setChangeListener; + class SetChangeListener : ISetChangeListener { public void handleSetChange(SetChangeEvent event) { Set addedKeys = new HashSet(event.diff.getAdditions()); Set removedKeys = new HashSet(event.diff.getRemovals()); @@ -60,7 +61,7 @@ } }; - private Set entrySet = new EntrySet(); + private Set fentrySet; private class EntrySet : AbstractSet { @@ -69,7 +70,7 @@ final Iterator keyIterator; this(){ - keyIterator = keySet.iterator(); + keyIterator = fkeySet.iterator(); } public bool hasNext() { @@ -94,6 +95,16 @@ public Object setValue(Object value) { return put(getKey(), value); } + + public override equals_t opEquals(Object o){ + implMissing( __FILE__, __LINE__ ); + return 0; + } + public override hash_t toHash(){ + implMissing( __FILE__, __LINE__ ); + return 0; + } + }; } @@ -104,22 +115,27 @@ } public int size() { - return keySet.size(); + return fkeySet.size(); } + public override String toString(){ + return super.toString(); + } } /** * @param keySet */ - public this(IObservableSet keySet) { - super(keySet.getRealm()); - this.keySet = keySet; - this.keySet.addSetChangeListener(setChangeListener); + public this(IObservableSet _keySet) { +setChangeListener = new SetChangeListener(); +fentrySet = new EntrySet(); + super(_keySet.getRealm()); + this.fkeySet = _keySet; + this.fkeySet.addSetChangeListener(setChangeListener); } protected void init() { - for (Iterator it = this.keySet.iterator(); it.hasNext();) { + for (Iterator it = this.fkeySet.iterator(); it.hasNext();) { Object key = it.next(); hookListener(key); } @@ -131,11 +147,11 @@ } public Set entrySet() { - return entrySet; + return fentrySet; } public Set keySet() { - return keySet; + return fkeySet; } final public Object get(Object key) {