combobox for overlapping features
[jalview.git] / src / jalview / gui / AlignFrame.java
index 0756e2d..7db8f01 100755 (executable)
@@ -957,9 +957,12 @@ public class AlignFrame
           for (int i = 0; i < alignPanels.size(); i++)
           {
             AlignmentPanel ap = (AlignmentPanel) alignPanels.elementAt(i);
+            jalview.structure.StructureSelectionManager.getStructureSelectionManager()
+                .removeStructureViewerListener(ap.seqPanel, null);
             PaintRefresher.RemoveComponent(ap.seqPanel.seqCanvas);
             PaintRefresher.RemoveComponent(ap.idPanel.idCanvas);
             PaintRefresher.RemoveComponent(ap);
+            ap.av.alignment = null;
           }
         }
         else
@@ -970,6 +973,7 @@ public class AlignFrame
           PaintRefresher.RemoveComponent(alignPanel.seqPanel.seqCanvas);
           PaintRefresher.RemoveComponent(alignPanel.idPanel.idCanvas);
           PaintRefresher.RemoveComponent(alignPanel);
+          viewport.alignment = null;
           alignPanel = null;
           viewport = null;
 
@@ -1203,14 +1207,6 @@ public class AlignFrame
 
   synchronized void slideSequences(boolean right, int size)
   {
-    if(viewport.hasHiddenColumns)
-    {
-      JOptionPane.showInternalMessageDialog(Desktop.desktop,
-          "Slide Sequences not available with hidden columns",
-          "Slide Sequence not Available",
-          JOptionPane.WARNING_MESSAGE);
-      return;
-    }
     Vector sg = new Vector();
     if(viewport.cursorMode)
     {
@@ -1297,7 +1293,7 @@ public class AlignFrame
 
     repaint();
   }
-  
+
 
   /**
    * DOCUMENT ME!
@@ -1970,6 +1966,8 @@ public class AlignFrame
     AlignmentPanel newap =
         new Jalview2XML().copyAlignPanel(alignPanel, true);
 
+    newap.av.gatherViewsHere = false;
+
     if (viewport.viewName == null)
     {
       viewport.viewName = "Original";
@@ -3309,19 +3307,19 @@ public void showTranslation_actionPerformed(ActionEvent e)
 {
   ///////////////////////////////
   // Collect Data to be translated/transferred
-    
+
   SequenceI [] selection = viewport.getSelectionAsNewSequence();
   String [] seqstring = viewport.getViewAsString(true);
   AlignmentI al  = null;
   try {
-    al = jalview.analysis.Dna.CdnaTranslate(selection, seqstring, viewport.getViewAsVisibleContigs(true), 
-        viewport.getGapCharacter(), viewport.alignment.getAlignmentAnnotation(), 
+    al = jalview.analysis.Dna.CdnaTranslate(selection, seqstring, viewport.getViewAsVisibleContigs(true),
+        viewport.getGapCharacter(), viewport.alignment.getAlignmentAnnotation(),
         viewport.alignment.getWidth());
   } catch (Exception ex) {
     al = null;
     jalview.bin.Cache.log.debug("Exception during translation.",ex);
   }
-  if (al==null)   
+  if (al==null)
   {
     JOptionPane.showMessageDialog(Desktop.desktop,
         "Please select at least three bases in at least one sequence in order to perform a cDNA translation.",