/** * (c) 2011, Alejandro Serrano * Released under the terms of the EPL. */ package net.sf.eclipsefp.haskell.browser.views.declarations; import net.sf.eclipsefp.haskell.browser.items.Constructor; import net.sf.eclipsefp.haskell.browser.items.Declaration; import net.sf.eclipsefp.haskell.browser.items.QueryItem; import net.sf.eclipsefp.haskell.browser.util.ImageCache; import org.eclipse.jface.viewers.ILabelProvider; import org.eclipse.jface.viewers.ILabelProviderListener; import org.eclipse.swt.graphics.Image; /** * Label provider for declarations. * @author Alejandro Serrano * */ public class DeclarationsLabelProvider implements ILabelProvider { @Override public Image getImage(final Object element) { if (element instanceof QueryItem) { QueryItem item = (QueryItem) element; return ImageCache.getImageForDeclaration( item.getType() ); } else if (element instanceof Constructor) { return ImageCache.CONSTRUCTOR; } return null; } @Override public String getText(final Object element) { if (element instanceof QueryItem) { Declaration elt = ((QueryItem) element).getDeclaration(); return elt.getShownName(); } else if (element instanceof Constructor) { Constructor item = (Constructor) element; return item.getShownName(); } return null; } // Listeners: not used @Override public void addListener(final ILabelProviderListener listener) { // Do nothing } @Override public void dispose() { // Do nothing } @Override public boolean isLabelProperty(final Object element, final String property) { // Do nothing return false; } @Override public void removeListener(final ILabelProviderListener listener) { // Do nothing } }