+package be.nikiroo.utils.ui.test;
+
+import java.awt.BorderLayout;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import javax.swing.JButton;
+import javax.swing.JFrame;
+
+import be.nikiroo.utils.Progress;
+import be.nikiroo.utils.ui.ProgressBar;
+
+public class ProgressBarManualTest extends JFrame {
+ private static final long serialVersionUID = 1L;
+ private int i = 0;
+
+ public ProgressBarManualTest() {
+ final ProgressBar bar = new ProgressBar();
+ final Progress pg = new Progress("name");
+ final Progress pg2 = new Progress("second level", 0, 2);
+ final Progress pg3 = new Progress("third level");
+
+ setLayout(new BorderLayout());
+ this.add(bar, BorderLayout.SOUTH);
+
+ final JButton b = new JButton("Set pg to 10%");
+ b.addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ switch (i) {
+ case 0:
+ pg.setProgress(10);
+ pg2.setProgress(0);
+ b.setText("Set pg to 20%");
+ break;
+ case 1:
+ pg.setProgress(20);
+ b.setText("Add pg2 (0-2)");
+ break;
+ case 2:
+ pg.addProgress(pg2, 80);
+ pg2.setProgress(0);
+ b.setText("Add pg3 (0-100)");
+ break;
+ case 3:
+ pg2.addProgress(pg3, 2);
+ pg3.setProgress(0);
+ b.setText("Set pg3 to 10%");
+ break;
+ case 4:
+ pg3.setProgress(10);
+ b.setText("Set pg3 to 20%");
+ break;
+ case 5:
+ pg3.setProgress(20);
+ b.setText("Set pg3 to 60%");
+ break;
+ case 6:
+ pg3.setProgress(60);
+ b.setText("Set pg3 to 100%");
+ break;
+ case 7:
+ pg3.setProgress(100);
+ b.setText("[done]");
+ break;
+ }
+
+ i++;
+ }
+ });
+ this.add(b, BorderLayout.CENTER);
+
+ setSize(800, 600);
+ setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+
+ bar.setProgress(pg);
+ }
+
+ public static void main(String[] args) {
+ new ProgressBarManualTest().setVisible(true);
+ }
+}