comparison org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/viewers/ObservableMapLabelProvider.d @ 85:6be48cf9f95c

Work on databinding
author Frank Benoit <benoit@tionex.de>
date Sat, 18 Apr 2009 13:54:50 +0200
parents 0a55d2d5a946
children
comparison
equal deleted inserted replaced
84:fcf926c91ca4 85:6be48cf9f95c
33 public class ObservableMapLabelProvider : LabelProvider 33 public class ObservableMapLabelProvider : LabelProvider
34 , ILabelProvider, ITableLabelProvider { 34 , ILabelProvider, ITableLabelProvider {
35 35
36 private final IObservableMap[] attributeMaps; 36 private final IObservableMap[] attributeMaps;
37 37
38 private IMapChangeListener mapChangeListener = new class() IMapChangeListener { 38 private IMapChangeListener mapChangeListener;
39 class MapChangeListener : IMapChangeListener {
39 public void handleMapChange(MapChangeEvent event) { 40 public void handleMapChange(MapChangeEvent event) {
40 Set affectedElements = event.diff.getChangedKeys(); 41 Set affectedElements = event.diff.getChangedKeys();
41 LabelProviderChangedEvent newEvent = new LabelProviderChangedEvent( 42 LabelProviderChangedEvent newEvent = new LabelProviderChangedEvent(
42 this.outer, affectedElements 43 this.outer, affectedElements
43 .toArray()); 44 .toArray());
54 55
55 /** 56 /**
56 * @param attributeMaps 57 * @param attributeMaps
57 */ 58 */
58 public this(IObservableMap[] attributeMaps) { 59 public this(IObservableMap[] attributeMaps) {
59 System.arraycopy(attributeMaps, 0, this.attributeMaps = attributeMaps, 0, attributeMaps.length); 60 mapChangeListener = new MapChangeListener();
61 System.arraycopyT(attributeMaps, 0, this.attributeMaps = attributeMaps, 0, attributeMaps.length);
60 for (int i = 0; i < attributeMaps.length; i++) { 62 for (int i = 0; i < attributeMaps.length; i++) {
61 attributeMaps[i].addMapChangeListener(mapChangeListener); 63 attributeMaps[i].addMapChangeListener(mapChangeListener);
62 } 64 }
63 } 65 }
64 66