comparison org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/provisional/viewers/ViewerLabelProvider.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 * 33 *
34 */ 34 */
35 public class ViewerLabelProvider : IViewerLabelProvider, 35 public class ViewerLabelProvider : IViewerLabelProvider,
36 ILabelProvider { 36 ILabelProvider {
37 37
38 private List listeners = new ArrayList(); 38 private List listeners;
39
40 this(){
41 listeners = new ArrayList();
42 }
39 43
40 /** 44 /**
41 * Subclasses should override this method. They should not call the base 45 * Subclasses should override this method. They should not call the base
42 * class implementation. 46 * class implementation.
43 */ 47 */
46 } 50 }
47 51
48 protected final void fireChangeEvent(Collection changes) { 52 protected final void fireChangeEvent(Collection changes) {
49 final LabelProviderChangedEvent event = new LabelProviderChangedEvent( 53 final LabelProviderChangedEvent event = new LabelProviderChangedEvent(
50 this, changes.toArray()); 54 this, changes.toArray());
51 ILabelProviderListener[] listenerArray = cast(ILabelProviderListener[]) listeners 55 ILabelProviderListener[] listenerArray = arraycast!(ILabelProviderListener)( listeners
52 .toArray(new ILabelProviderListener[listeners.size()]); 56 .toArray());
53 for (int i = 0; i < listenerArray.length; i++) { 57 for (int i = 0; i < listenerArray.length; i++) {
54 ILabelProviderListener listener = listenerArray[i]; 58 ILabelProviderListener listener = listenerArray[i];
55 try { 59 try {
56 listener.labelProviderChanged(event); 60 listener.labelProviderChanged(event);
57 } catch (Exception e) { 61 } catch (Exception e) {
58 Policy.getLog().log( 62 Policy.getLog().log(
59 new Status(IStatus.ERROR, Policy.JFACE_DATABINDING, e 63 new Status(IStatus.ERROR, Policy.JFACE_DATABINDING, e
60 .getLocalizedMessage(), e)); 64 .msg, e));
61 } 65 }
62 } 66 }
63 } 67 }
64 68
65 public final Image getImage(Object element) { 69 public final Image getImage(Object element) {
73 updateLabel(label, element); 77 updateLabel(label, element);
74 return label.getText(); 78 return label.getText();
75 } 79 }
76 80
77 public void addListener(ILabelProviderListener listener) { 81 public void addListener(ILabelProviderListener listener) {
78 listeners.add(listener); 82 listeners.add(cast(Object)listener);
79 } 83 }
80 84
81 public void dispose() { 85 public void dispose() {
82 listeners.clear(); 86 listeners.clear();
83 } 87 }
85 public final bool isLabelProperty(Object element, String property) { 89 public final bool isLabelProperty(Object element, String property) {
86 return true; 90 return true;
87 } 91 }
88 92
89 public void removeListener(ILabelProviderListener listener) { 93 public void removeListener(ILabelProviderListener listener) {
90 listeners.remove(listener); 94 listeners.remove(cast(Object)listener);
91 } 95 }
92 96
93 } 97 }