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;