package org.erlide.cover.ui.views.helpers; import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.GC; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.graphics.Rectangle; import org.eclipse.swt.widgets.Display; import org.erlide.cover.views.model.TestTreeObject; /** * Label provider for EUnit test view * * @author Aleksandra Lipiec <aleksandra.lipiec@erlang-solutions.com> * */ public class TestViewLabelProvider extends LabelProvider { @Override public Image getImage(final Object element) { final TestTreeObject node = (TestTreeObject) element; if (node.getType() == TestTreeObject.DESCR) { return null; } return drawType(node.getType()); } @Override public String getText(final Object element) { final TestTreeObject node = (TestTreeObject) element; return node.getDescription(); } private Image drawType(final int type) { final Image img = new Image(Display.getCurrent(), new Rectangle(2, 3, 12, 12)); final GC graphic = new GC(img); Color color; switch (type) { case TestTreeObject.WARN: color = new Color(Display.getCurrent(), 255, 255, 100); break; case TestTreeObject.SUCCESS: color = new Color(Display.getCurrent(), 60, 140, 10); break; case TestTreeObject.FAILURE: color = new Color(Display.getCurrent(), 180, 20, 20); break; default: color = new Color(Display.getCurrent(), 255, 255, 255); } graphic.setForeground(color); graphic.setBackground(color); graphic.fillRectangle(0, 0, 12, 12); return img; } }