/* * Copyright 2015 Nokia Solutions and Networks * Licensed under the Apache License, Version 2.0, * see license.txt file for details. */ package org.robotframework.ide.eclipse.main.plugin.views.execution; import org.eclipse.jface.viewers.StyledString; import org.eclipse.jface.viewers.StyledString.Styler; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.graphics.TextStyle; import org.rf.ide.core.execution.ExecutionElement.ExecutionElementType; import org.rf.ide.core.execution.Status; import org.robotframework.ide.eclipse.main.plugin.RedImages; import org.robotframework.ide.eclipse.main.plugin.RedTheme; import org.robotframework.red.graphics.ImagesManager; import org.robotframework.red.viewers.RedCommonLabelProvider; class ExecutionViewLabelProvider extends RedCommonLabelProvider { @Override public StyledString getStyledText(final Object element) { final ExecutionStatus status = (ExecutionStatus) element; final String time = status.getElapsedTime(); final StyledString label = new StyledString(status.getName()); if (time != null) { label.append(" (" + time + " s)", new Styler() { @Override public void applyStyles(final TextStyle textStyle) { textStyle.foreground = RedTheme.getEclipseDecorationColor(); } }); } return label; } @Override public Image getImage(final Object element) { final ExecutionStatus status = (ExecutionStatus) element; if (status.getType() == ExecutionElementType.SUITE) { if (status.getStatus() == Status.RUNNING) { return ImagesManager.getImage(RedImages.getSuiteInProgressImage()); } else if (status.getStatus() == Status.PASS) { return ImagesManager.getImage(RedImages.getSuitePassImage()); } return ImagesManager.getImage(RedImages.getSuiteFailImage()); } else { if (status.getStatus() == Status.RUNNING) { return ImagesManager.getImage(RedImages.getTestInProgressImage()); } else if (status.getStatus() == Status.PASS) { return ImagesManager.getImage(RedImages.getTestPassImage()); } return ImagesManager.getImage(RedImages.getTestFailImage()); } } }