JAL-2587 Added progress bar to overview. Not fully working yet.
[jalview.git] / src / jalview / gui / OverviewCanvas.java
index 8f8cff7..6071e75 100644 (file)
@@ -38,7 +38,10 @@ import javax.swing.Timer;
 
 public class OverviewCanvas extends JComponent
 {
-  public static final long RUNNING_TIME = 2000;
+  private static final long RUNNING_TIME = 2000;
+
+  private static final int SPEED = 40;
+
   private static final Color TRANS_GREY = new Color(100, 100, 100, 25);
 
   // This is set true if the alignment view changes whilst
@@ -65,26 +68,27 @@ public class OverviewCanvas extends JComponent
 
   private AlignViewportI av;
 
-  private boolean resize = false;
-
   private float alpha = 0f;
 
   private long startTime = -1;
 
   private final Timer timer;
 
+  private ProgressPanel progressPanel;
+
   public OverviewCanvas(OverviewDimensions overviewDims,
-          AlignViewportI alignvp)
+          AlignViewportI alignvp, ProgressPanel pp)
   {
     od = overviewDims;
     av = alignvp;
+    progressPanel = pp;
 
     sr = new SequenceRenderer(av);
     sr.renderGaps = false;
     sr.forOverview = true;
     fr = new jalview.renderer.seqfeatures.FeatureRenderer(av);
 
-    timer = new Timer(40, new ActionListener()
+    timer = new Timer(SPEED, new ActionListener()
     {
 
       @Override
@@ -174,6 +178,7 @@ public class OverviewCanvas extends JComponent
     setPreferredSize(new Dimension(od.getWidth(), od.getHeight()));
 
     or = new OverviewRenderer(sr, fr, od);
+    or.addPropertyChangeListener(progressPanel);
     miniMe = or.draw(od.getRows(av.getAlignment()),
             od.getColumns(av.getAlignment()));
 
@@ -189,6 +194,7 @@ public class OverviewCanvas extends JComponent
     }
     System.gc();
 
+    or.removePropertyChangeListener(progressPanel);
     if (restart)
     {
       restart = false;