1 11 package org.eclipse.jface.internal.databinding.provisional.viewers; 12 13 import java.util.ArrayList ; 14 import java.util.Collection ; 15 import java.util.List ; 16 17 import org.eclipse.jface.internal.databinding.provisional.swt.SWTUtil; 18 import org.eclipse.jface.viewers.ILabelProvider; 19 import org.eclipse.jface.viewers.ILabelProviderListener; 20 import org.eclipse.jface.viewers.IViewerLabelProvider; 21 import org.eclipse.jface.viewers.LabelProviderChangedEvent; 22 import org.eclipse.jface.viewers.ViewerLabel; 23 import org.eclipse.swt.graphics.Image; 24 25 30 public class ViewerLabelProvider implements IViewerLabelProvider, 31 ILabelProvider { 32 33 private List listeners = new ArrayList (); 34 35 39 public void updateLabel(ViewerLabel label, Object element) { 40 label.setText(element.toString()); 41 } 42 43 protected final void fireChangeEvent(Collection changes) { 44 final LabelProviderChangedEvent event = new LabelProviderChangedEvent( 45 this, changes.toArray()); 46 ILabelProviderListener[] listenerArray = (ILabelProviderListener[]) listeners 47 .toArray(new ILabelProviderListener[listeners.size()]); 48 for (int i = 0; i < listenerArray.length; i++) { 49 ILabelProviderListener listener = listenerArray[i]; 50 try { 51 listener.labelProviderChanged(event); 52 } catch (Exception e) { 53 SWTUtil.logException(e); 54 } 55 } 56 } 57 58 public final Image getImage(Object element) { 59 ViewerLabel label = new ViewerLabel("", null); updateLabel(label, element); 61 return label.getImage(); 62 } 63 64 public final String getText(Object element) { 65 ViewerLabel label = new ViewerLabel("", null); updateLabel(label, element); 67 return label.getText(); 68 } 69 70 public void addListener(ILabelProviderListener listener) { 71 listeners.add(listener); 72 } 73 74 public void dispose() { 75 listeners.clear(); 76 } 77 78 public final boolean isLabelProperty(Object element, String property) { 79 return true; 80 } 81 82 public void removeListener(ILabelProviderListener listener) { 83 listeners.remove(listener); 84 } 85 86 } 87 | Popular Tags |