Mercurial > projects > dwt2
diff org.eclipse.core.databinding/src/org/eclipse/core/internal/databinding/observable/MapEntryObservableValue.d @ 85:6be48cf9f95c
Work on databinding
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Sat, 18 Apr 2009 13:54:50 +0200 |
parents | 0a55d2d5a946 |
children |
line wrap: on
line diff
--- a/org.eclipse.core.databinding/src/org/eclipse/core/internal/databinding/observable/MapEntryObservableValue.d Sat Apr 18 09:25:29 2009 +0200 +++ b/org.eclipse.core.databinding/src/org/eclipse/core/internal/databinding/observable/MapEntryObservableValue.d Sat Apr 18 13:54:50 2009 +0200 @@ -35,12 +35,13 @@ private Object key; private Object valueType; - private IMapChangeListener changeListener = new class() IMapChangeListener { + private IMapChangeListener changeListener; + class ChangeListener : IMapChangeListener { public void handleMapChange(MapChangeEvent event) { if (event.diff.getAddedKeys().contains(key)) { final Object newValue = event.diff.getNewValue(key); if (newValue !is null) { - fireValueChange(Diffs.createValueDiff(null, newValue)); + fireValueChange(Diffs.createValueDiff(cast(Object)null, newValue)); } } else if (event.diff.getChangedKeys().contains(key)) { fireValueChange(Diffs.createValueDiff(event.diff @@ -48,13 +49,14 @@ } else if (event.diff.getRemovedKeys().contains(key)) { final Object oldValue = event.diff.getOldValue(key); if (oldValue !is null) { - fireValueChange(Diffs.createValueDiff(oldValue, null)); + fireValueChange(Diffs.createValueDiff(oldValue, cast(Object)null)); } } } }; - private IStaleListener staleListener = new class() IStaleListener { + private IStaleListener staleListener; + class StaleListener : IStaleListener { public void handleStale(StaleEvent staleEvent) { fireStale(); } @@ -72,6 +74,8 @@ */ public this(IObservableMap map, Object key, Object valueType) { +changeListener = new ChangeListener(); +staleListener = new StaleListener(); super(map.getRealm()); this.map = map; this.key = key;