package ca.uvic.chisel.javasketch.ui.internal.views.java; import org.eclipse.jdt.core.IJavaElement; import org.eclipse.jface.viewers.IDecoration; import org.eclipse.jface.viewers.ILabelProviderListener; import org.eclipse.jface.viewers.ILightweightLabelDecorator; import org.eclipse.swt.graphics.Color; import org.eclipse.ui.PlatformUI; import ca.uvic.chisel.javasketch.SketchPlugin; import ca.uvic.chisel.javasketch.ui.ISketchColorConstants; public class LightWeightJavaDOILabelDecorator implements ILightweightLabelDecorator { public LightWeightJavaDOILabelDecorator() { PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable(){ /* (non-Javadoc) * @see java.lang.Runnable#run() */ @Override public void run() { //make sure that the colors are loaded Color c =ISketchColorConstants.GRAY; c = ISketchColorConstants.BLACK; } }); } @Override public void addListener(ILabelProviderListener listener) { } @Override public void dispose() {} @Override public boolean isLabelProperty(Object element, String property) { return (element instanceof IJavaElement); } @Override public void removeListener(ILabelProviderListener listener) { } @Override public void decorate(Object element, IDecoration decoration) { if (element instanceof IJavaElement) { IJavaElement je = (IJavaElement) element; double interest = SketchPlugin.getDefault().getDOI().getInterest(je); if (interest <= .6) { decoration.setForegroundColor(ISketchColorConstants.GRAY); } else { decoration.setForegroundColor(ISketchColorConstants.BLACK); } } } }