Mercurial > projects > dwt2
diff org.eclipse.core.databinding/src/org/eclipse/core/databinding/observable/map/CompositeMap.d @ 85:6be48cf9f95c
Work on databinding
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Sat, 18 Apr 2009 13:54:50 +0200 |
parents | 383ce7bd736b |
children |
line wrap: on
line diff
--- a/org.eclipse.core.databinding/src/org/eclipse/core/databinding/observable/map/CompositeMap.d Sat Apr 18 09:25:29 2009 +0200 +++ b/org.eclipse.core.databinding/src/org/eclipse/core/databinding/observable/map/CompositeMap.d Sat Apr 18 13:54:50 2009 +0200 @@ -50,24 +50,25 @@ */ public class CompositeMap : ObservableMap { - private Map valueToElements = new HashMap(); + private Map valueToElements; // adds that need to go through the second map and thus will be picked up by // secondMapListener. - private Set pendingAdds = new HashSet(); + private Set pendingAdds; // Removes that need to go through the second map and thus will be picked up // by // secondMapListener. Maps from value being removed to key being removed. - private Map pendingRemoves = new HashMap(); + private Map pendingRemoves; // Changes that need to go through the second map and thus will be picked up // by // secondMapListener. Maps from old value to new value and new value to old // value. - private Map pendingChanges = new HashMap(); + private Map pendingChanges; - private IMapChangeListener firstMapListener = new class() IMapChangeListener { + private IMapChangeListener firstMapListener; + class FirstMapListener : IMapChangeListener { public void handleMapChange(MapChangeEvent event) { MapDiff diff = event.diff; @@ -158,7 +159,8 @@ } }; - private IMapChangeListener secondMapListener = new class() IMapChangeListener { + private IMapChangeListener secondMapListener; + class SecondMapListener : IMapChangeListener { public void handleMapChange(MapChangeEvent event) { MapDiff diff = event.diff; @@ -278,7 +280,7 @@ } } - private WritableSetPlus rangeSet = new WritableSetPlus(); + private WritableSetPlus rangeSet; /** * Creates a new composite map. Because the key set of the second map is @@ -295,6 +297,13 @@ */ public this(IObservableMap firstMap, IObservableFactory secondMapFactory) { +valueToElements = new HashMap(); +pendingAdds = new HashSet(); +pendingRemoves = new HashMap(); +pendingChanges = new HashMap(); +firstMapListener = new FirstMapListener(); +secondMapListener = new SecondMapListener(); +rangeSet = new WritableSetPlus(); super(firstMap.getRealm(), new HashMap()); this.firstMap = firstMap; firstMap.addMapChangeListener(firstMapListener);