package junit.swingui;

import java.awt.Color;

import javax.swing.JProgressBar;

/**
 * A progress bar showing the green/red status
 */
class ProgressBar extends JProgressBar {
	boolean fError= false;
	
	public ProgressBar() {
		super(); 
		setForeground(getStatusColor());
	}
	
	protected Color getStatusColor() {
		if (fError)
			return Color.red;
		return Color.green;
	}
		
	public void reset() {
		fError= false;
		updateBarColor();
		setValue(0);
	}
	
	public void start(int total) {
		setMaximum(total);
		reset();
	}
	
	public void step(int value, boolean successful) {
		setValue(value);
		if (!fError && !successful) {
			fError= true;
			updateBarColor();
		}
		}
	
	protected void updateBarColor() {
		setForeground(getStatusColor());
	}
}

{'avg_line_length': 16.02127659574468, 'max_line_length': 50, 'alphanum_fraction': 0.6759628154050464, 'licenses': ['EPL-1.0'], 'repository_name': 'vitkud/junit3-swingui', 'path': 'src/main/java/junit/swingui/ProgressBar.java', 'size': 753, 'lang': 'Java'}