package org.erlide.ui.editors.erl;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.navigator.IDescriptionProvider;
import org.erlide.engine.model.IErlElement;
import org.erlide.ui.editors.erl.outline.ErlangElementImageProvider;
import org.erlide.ui.internal.ErlideUIPlugin;
import org.erlide.ui.navigator.NavigatorProblemsDecorator;
public class ErlangFileLabelProvider extends LabelProvider
implements IDescriptionProvider {
private final NavigatorProblemsDecorator fProblemDecorator;
public ErlangFileLabelProvider() {
super();
fProblemDecorator = new NavigatorProblemsDecorator();
}
@Override
public Image getImage(final Object element) {
if (element instanceof IErlElement) {
final IErlElement e = (IErlElement) element;
final ImageDescriptor desc = ErlangElementImageProvider
.getErlImageDescriptor(e, ErlangElementImageProvider.SMALL_ICONS);
final Image img = ErlideUIPlugin.getImageDescriptorRegistry().get(desc);
return fProblemDecorator.decorateImage(img, e);
}
return null;
}
@Override
public String getText(final Object element) {
if (element instanceof IErlElement) {
final IErlElement data = (IErlElement) element;
return data.toString();// + "= " + data.getValue();
}
return null;
}
@Override
public String getDescription(final Object anElement) {
if (anElement instanceof IErlElement) {
final IErlElement data = (IErlElement) anElement;
return "Property: " + data.toString(); //$NON-NLS-1$
}
return null;
}
@Override
public void addListener(final ILabelProviderListener listener) {
}
@Override
public void removeListener(final ILabelProviderListener listener) {
}
@Override
public void dispose() {
}
@Override
public boolean isLabelProperty(final Object element, final String property) {
return true;
}
}