/************************************************************************* * @author Ali Echihabi (ali_echihabi@ieee.org, ali.echihabi@souss.ca) * * Plugin for PHP unit Testing. * www.phpeclipse.de * *************************************************************************/ package net.sourceforge.phpeclipse.phpunit; import net.sourceforge.phpeclipse.phpunit.testpool.TestPool; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.ProgressBar; public class ProgressInfoComposite extends Composite { private Label labelRuns, labelRunsVal; // Runs: 12 private Label labelErrors, labelErrorsImage, labelErrorsVal; private Label labelFailures, labelFailuresImage, labelFailuresVal; private ProgressBar progressBar; /** * @param arg0 * @param arg1 */ public ProgressInfoComposite(Composite parent) { super(parent, SWT.NONE); GridLayout gridLayout = new GridLayout(); gridLayout.numColumns = 1; // set title and layout setLayout(gridLayout); // set the progress bar progressBar = new ProgressBar(this, SWT.HORIZONTAL); progressBar.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL)); progressBar.setMinimum(0); Composite labelsComposite = new Composite(this, SWT.NONE); labelsComposite.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL)); labelsComposite.setLayout(new FillLayout(SWT.HORIZONTAL)); labelRuns = new Label(labelsComposite, SWT.NONE); labelRuns.setText("Runs: "); labelRunsVal = new Label(labelsComposite, SWT.NONE); labelRunsVal.setText("0 / 0"); labelFailuresImage = new Label(labelsComposite, SWT.NONE); labelFailuresImage.setImage(PHPUnitImages.DESC_FAILURE.createImage()); labelFailures = new Label(labelsComposite, SWT.NONE); labelFailures.setText("Failures: "); labelFailuresVal = new Label(labelsComposite, SWT.NONE); labelFailuresVal.setText("0"); labelErrorsImage = new Label(labelsComposite, SWT.NONE); labelErrorsImage.setImage(PHPUnitImages.DESC_ERROR.createImage()); labelErrors = new Label(labelsComposite, SWT.NONE); labelErrors.setText("Errors: "); labelErrorsVal = new Label(labelsComposite, SWT.NONE); labelErrorsVal.setText("0"); } public void resetInfo() { labelErrorsVal.setText("0"); labelFailuresVal.setText("0"); labelRunsVal.setText("0 / 0"); progressBar.setSelection(0); } public void updateInfo(TestPool testPool) { int numTestsOverall = testPool.getNumTestsOverall(); int numTestsRun = testPool.getNumTestsRun(); // update progress bar progressBar.setMaximum(numTestsOverall); progressBar.setSelection(numTestsRun); // update labels labelRunsVal.setText(numTestsRun + " / " + numTestsOverall); labelFailuresVal.setText("" + testPool.getNumFailures()); labelErrorsVal.setText("" + testPool.getNumErrors()); // TODO: change Failures label to red if some exist. } }