blob: 805699cb69796f3cbcf06e7e7d922c1220b98999 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2005, 2008 IBM Corporation and Others
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Norimasa HAYASHIDA - initial API and implementation
*******************************************************************************/
package org.eclipse.actf.visualization.ui.report;
import org.eclipse.actf.visualization.eval.IEvaluationResult;
import org.eclipse.actf.visualization.events.IVisualizationEventListener;
import org.eclipse.actf.visualization.events.VisualizationEvent;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.LineStyleListener;
import org.eclipse.swt.custom.SashForm;
import org.eclipse.swt.custom.StyledText;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
public class SummaryProblemReportArea extends SashForm implements IVisualizationEventListener {
private StyledText _summaryReportText;
private ReportDisplay _reportDisplay;
private LineStyleListener currentStyle;
public SummaryProblemReportArea(Composite parent, int style) {
super(parent, style);
init();
}
public void init() {
setOrientation(SWT.HORIZONTAL);
GridData gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL);
gridData.horizontalSpan = 1;
setLayoutData(gridData);
this._summaryReportText = new StyledText(this, SWT.BORDER | SWT.V_SCROLL);
this._summaryReportText.setEditable(false);
this._summaryReportText.setWordWrap(true);
this._reportDisplay = new ReportDisplay(this);
setWeights(new int[] { 2, 1 });
}
public void visualizerChanged(VisualizationEvent checkerEvent) {
IEvaluationResult result = checkerEvent.getEvaluationResult();
if(currentStyle!=null){
_summaryReportText.removeLineStyleListener(currentStyle);
}
currentStyle = result.getLineStyleListener();
this._summaryReportText.addLineStyleListener(currentStyle);
this._summaryReportText.setText(result.getSummaryReportText());
this._reportDisplay.displayReportFile(result.getSummaryReportUrl());
}
}