Change case new implementation
[jalview.git] / src / jalview / appletgui / AlignmentPanel.java
index bcdffa0..0307a96 100755 (executable)
@@ -99,9 +99,37 @@ public class AlignmentPanel extends Panel implements AdjustmentListener
                                         annotationPanel.getSize().height);\r
     alabels.setSize(d.width, annotationPanel.getSize().height);\r
 \r
+    final AlignmentPanel ap = this;\r
+    av.addPropertyChangeListener(new java.beans.PropertyChangeListener()\r
+    {\r
+      public void propertyChange(java.beans.PropertyChangeEvent evt)\r
+      {\r
+        if (evt.getPropertyName().equals("alignment"))\r
+        {\r
+          PaintRefresher.Refresh(ap,\r
+                                 av.getSequenceSetId(),\r
+                                 true,\r
+                                 true);\r
+          alignmentChanged();\r
+        }\r
+      }\r
+    });\r
+\r
   }\r
 \r
 \r
+  public void alignmentChanged()\r
+  {\r
+    av.alignmentChanged(this);\r
+\r
+    if (overviewPanel != null)\r
+      overviewPanel.updateOverviewImage();\r
+\r
+    alignFrame.updateEditMenuBar();\r
+\r
+    repaint();\r
+  }\r
+\r
   public void fontChanged()\r
   {\r
     // set idCanvas bufferedImage to null\r
@@ -489,13 +517,16 @@ public class AlignmentPanel extends Panel implements AdjustmentListener
       if (av.hasHiddenColumns)\r
         maxwidth = av.getColumnSelection().findColumnPosition(maxwidth) - 1;\r
 \r
-      int max = maxwidth /\r
-          seqPanel.seqCanvas.getWrappedCanvasWidth(seqPanel.seqCanvas.getSize().width) +\r
-          1;\r
+      int canvasWidth = seqPanel.seqCanvas.getWrappedCanvasWidth\r
+          (seqPanel.seqCanvas.getSize().width);\r
 \r
-      vscroll.setMaximum(max);\r
-      vscroll.setUnitIncrement(1);\r
-      vscroll.setVisibleAmount(1);\r
+      if(canvasWidth>0)\r
+      {\r
+        int max = maxwidth / canvasWidth;\r
+        vscroll.setMaximum(max);\r
+        vscroll.setUnitIncrement(1);\r
+        vscroll.setVisibleAmount(1);\r
+      }\r
     }\r
     else\r
     {\r