JAL-2608 tidy up OverviewPanel when closed
[jalview.git] / src / jalview / appletgui / AlignFrame.java
index 02d30bb..65d652d 100644 (file)
@@ -599,25 +599,11 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener,
     }
 
     case KeyEvent.VK_PAGE_UP:
-      if (viewport.getWrapAlignment())
-      {
-        ranges.scrollUp(true);
-      }
-      else
-      {
-        ranges.pageUp();
-      }
+      ranges.pageUp();
       break;
 
     case KeyEvent.VK_PAGE_DOWN:
-      if (viewport.getWrapAlignment())
-      {
-        ranges.scrollUp(false);
-      }
-      else
-      {
-        ranges.pageDown();
-      }
+      ranges.pageDown();
       break;
 
     case KeyEvent.VK_Z:
@@ -1900,7 +1886,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener,
 
   static StringBuffer copiedSequences;
 
-  static Vector copiedHiddenColumns;
+  static Vector<int[]> copiedHiddenColumns;
 
   protected void copy_actionPerformed()
   {
@@ -1924,13 +1910,13 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener,
 
     if (viewport.hasHiddenColumns() && viewport.getSelectionGroup() != null)
     {
-      copiedHiddenColumns = new Vector();
+      copiedHiddenColumns = new Vector<>(viewport.getAlignment()
+              .getHiddenColumns().getHiddenColumnsCopy());
       int hiddenOffset = viewport.getSelectionGroup().getStartRes();
-      for (int[] region : viewport.getAlignment().getHiddenColumns()
-              .getHiddenRegions())
+      for (int[] region : copiedHiddenColumns)
       {
-        copiedHiddenColumns.addElement(new int[] {
-            region[0] - hiddenOffset, region[1] - hiddenOffset });
+        region[0] = region[0] - hiddenOffset;
+        region[1] = region[1] - hiddenOffset;
       }
     }
     else
@@ -2045,7 +2031,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener,
         {
           for (int i = 0; i < copiedHiddenColumns.size(); i++)
           {
-            int[] region = (int[]) copiedHiddenColumns.elementAt(i);
+            int[] region = copiedHiddenColumns.elementAt(i);
             af.viewport.hideColumns(region[0], region[1]);
           }
         }
@@ -2631,7 +2617,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener,
     }
 
     Frame frame = new Frame();
-    OverviewPanel overview = new OverviewPanel(alignPanel);
+    final OverviewPanel overview = new OverviewPanel(alignPanel);
     frame.add(overview);
     // +50 must allow for applet frame window
     jalview.bin.JalviewLite.addFrame(frame, MessageManager.formatMessage(
@@ -2646,6 +2632,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener,
       @Override
       public void windowClosing(WindowEvent e)
       {
+        overview.dispose();
         if (ap != null)
         {
           ap.setOverviewPanel(null);