package net.bioclipse.specmol.ui.views; import java.util.HashMap; import java.util.Map; import net.bioclipse.specmol.Activator; import org.eclipse.core.resources.IFile; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.viewers.ILabelProvider; import org.eclipse.jface.viewers.ILabelProviderListener; import org.eclipse.swt.graphics.Image; import org.xmlcml.cml.base.CMLElement; import org.xmlcml.cml.element.CMLMolecule; import org.xmlcml.cml.element.CMLSpectrum; public class SpecmolLabelProvider implements ILabelProvider { private final static Map<String,Image> cachedImages = new HashMap<String,Image>() { { put("spectrum", createImage(net.bioclipse.spectrum.Activator.PLUGIN_ID, "icons/", "spectrum.gif")); put("molecule", createImage(net.bioclipse.cdk.jchempaint.Activator.PLUGIN_ID,"icons/", "chem.png")); } private Image createImage( String pluginid, String prefix, String type ) { ImageDescriptor desc=Activator.imageDescriptorFromPlugin( pluginid, prefix + type); if (desc==null) desc=ImageDescriptor.getMissingImageDescriptor(); return desc.createImage(); } }; public Image getImage( Object element ) { if (element instanceof CMLSpectrum) { return cachedImages.get("spectrum"); } else if (element instanceof CMLMolecule) { return cachedImages.get("molecule"); } else { return null; } } public String getText( Object element ) { if(element instanceof IFile) return ((IFile)element).getName(); else return ((CMLElement)element).getId(); } public void addListener( ILabelProviderListener listener ) { // TODO Auto-generated method stub } public void dispose() { // TODO Auto-generated method stub } public boolean isLabelProperty( Object element, String property ) { // TODO Auto-generated method stub return false; } public void removeListener( ILabelProviderListener listener ) { // TODO Auto-generated method stub } }