package ls.graph.ui;
import java.awt.FlowLayout;
import javax.swing.JLabel;
import javax.swing.JPanel;
import ls.graph.script.Algorithm;
import ls.graph.script.AlgorithmListener;
public class StatusPanel extends JPanel implements AlgorithmListener
{
private static final long serialVersionUID = 1L;
private JLabel lblStatus = null;
private JLabel lblStep = null;
private JLabel lblStepCount = null;
private int stepCount = 0;
StatusPanel()
{
super();
initComponents();
}
private void initComponents()
{
FlowLayout l = new FlowLayout();
l.setAlignment(FlowLayout.LEADING);
this.setLayout(l);
JLabel lbl = new JLabel("Status:");
this.add(lbl);
lblStatus = new JLabel();
this.add(lblStatus);
this.add(new JLabel("Step:"));
lblStep = new JLabel();
this.add(lblStep);
this.add(new JLabel("Step Count: "));
lblStepCount = new JLabel();
this.add(lblStepCount);
}
public void executionEnded(Algorithm alg)
{
lblStatus.setText("Stopped");
lblStep.setText("-");
lblStepCount.setText("-");
this.stepCount = 0;
}
public void executionStarted(Algorithm alg)
{
lblStatus.setText("Running");
lblStep.setText("0");
}
public void startingStep(int stepIndex)
{
lblStep.setText(String.valueOf(stepIndex));
this.stepCount++;
lblStepCount.setText(String.valueOf(this.stepCount));
}
}