diff org.eclipse.core.databinding/src/org/eclipse/core/internal/databinding/observable/masterdetail/DetailObservableMap.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/masterdetail/DetailObservableMap.d	Sat Apr 18 09:25:29 2009 +0200
+++ b/org.eclipse.core.databinding/src/org/eclipse/core/internal/databinding/observable/masterdetail/DetailObservableMap.d	Sat Apr 18 13:54:50 2009 +0200
@@ -40,7 +40,8 @@
 
     private IObservableMap detailMap;
 
-    private IValueChangeListener masterChangeListener = new class() IValueChangeListener {
+    private IValueChangeListener masterChangeListener;
+    class MasterChangeListener : IValueChangeListener {
         public void handleValueChange(ValueChangeEvent event) {
             Map oldMap = new HashMap(wrappedMap);
             updateDetailMap();
@@ -48,7 +49,8 @@
         }
     };
 
-    private IMapChangeListener detailChangeListener = new class() IMapChangeListener {
+    private IMapChangeListener detailChangeListener;
+    class DetailChangeListener : IMapChangeListener {
         public void handleMapChange(MapChangeEvent event) {
             if (!updating) {
                 fireMapChange(event.diff);
@@ -67,6 +69,8 @@
      */
     public this(IObservableFactory detailFactory,
             IObservableValue master) {
+masterChangeListener = new MasterChangeListener();
+detailChangeListener = new DetailChangeListener();
         super(master.getRealm(), Collections.EMPTY_MAP);
         this.master = master;
         this.detailFactory = detailFactory;