merge
[jalview.git] / src / jalview / appletgui / CutAndPasteTransfer.java
index 5b699a6..bb2fa12 100644 (file)
@@ -34,19 +34,20 @@ import java.awt.event.MouseEvent;
 import java.awt.event.MouseListener;
 
 import jalview.analysis.AlignmentUtils;
+import jalview.api.ComplexAlignFile;
 import jalview.bin.JalviewLite;
 import jalview.datamodel.Alignment;
 import jalview.datamodel.AlignmentI;
+import jalview.datamodel.ColumnSelection;
 import jalview.datamodel.PDBEntry;
 import jalview.datamodel.SequenceI;
 import jalview.io.AnnotationFile;
 import jalview.io.AppletFormatAdapter;
 import jalview.io.FileParse;
-import jalview.io.HtmlFile;
 import jalview.io.IdentifyFile;
-import jalview.io.JSONFile;
 import jalview.io.NewickFile;
 import jalview.io.TCoffeeScoreFile;
+import jalview.schemes.ColourSchemeI;
 import jalview.schemes.TCoffeeColourScheme;
 import jalview.util.MessageManager;
 
@@ -249,20 +250,32 @@ public class CutAndPasteTransfer extends Panel implements ActionListener,
       }
       if (newWindow)
       {
-        AlignFrame af = new AlignFrame(al, alignFrame.viewport.applet,
-                "Cut & Paste input - " + format, false);
-        af.statusBar
-                .setText(MessageManager
-                        .getString("label.successfully_pasted_annotation_to_alignment"));
+        AlignFrame af;
 
-        if (source instanceof HtmlFile)
+        if (source instanceof ComplexAlignFile)
         {
-          ((HtmlFile) source).applySettingsToAlignmentView(af);
+          ColumnSelection colSel = ((ComplexAlignFile) source)
+                  .getColumnSelection();
+          SequenceI[] hiddenSeqs = ((ComplexAlignFile) source)
+                  .getHiddenSequences();
+          boolean showSeqFeatures = ((ComplexAlignFile) source)
+                  .isShowSeqFeatures();
+          ColourSchemeI cs = ((ComplexAlignFile) source).getColourScheme();
+          af = new AlignFrame(al, hiddenSeqs, colSel,
+                  alignFrame.viewport.applet, "Cut & Paste input - "
+                          + format, false);
+          af.getAlignViewport().setShowSequenceFeatures(showSeqFeatures);
+          af.changeColour(cs);
         }
-        else if (source instanceof JSONFile)
+        else
         {
-          ((JSONFile) source).applySettingsToAlignmentView(af);
+          af = new AlignFrame(al, alignFrame.viewport.applet,
+                  "Cut & Paste input - " + format, false);
         }
+
+        af.statusBar
+                .setText(MessageManager
+                        .getString("label.successfully_pasted_annotation_to_alignment"));
       }
       else
       {