Wrap alignment moved to alignFrame
[jalview.git] / src / jalview / gui / CutAndPasteTransfer.java
index 12f9e28..2bb456b 100755 (executable)
@@ -40,6 +40,8 @@ import javax.swing.*;
 public class CutAndPasteTransfer extends GCutAndPasteTransfer\r
 {\r
 \r
+  AlignViewport viewport;\r
+\r
   public CutAndPasteTransfer()\r
   {\r
     SwingUtilities.invokeLater(new Runnable()\r
@@ -55,9 +57,10 @@ public class CutAndPasteTransfer extends GCutAndPasteTransfer
     /**\r
      * DOCUMENT ME!\r
      */\r
-    public void setForInput()\r
+    public void setForInput(AlignViewport viewport)\r
     {\r
-        getContentPane().add(inputButtonPanel, java.awt.BorderLayout.SOUTH);\r
+      this.viewport = viewport;\r
+      getContentPane().add(inputButtonPanel, java.awt.BorderLayout.SOUTH);\r
     }\r
 \r
     /**\r
@@ -85,6 +88,40 @@ public class CutAndPasteTransfer extends GCutAndPasteTransfer
       textarea.append(text);\r
     }\r
 \r
+\r
+    public void save_actionPerformed(ActionEvent e)\r
+    {\r
+      JalviewFileChooser chooser = new JalviewFileChooser(\r
+          jalview.bin.Cache.getProperty(\r
+              "LAST_DIRECTORY"));\r
+\r
+      chooser.setAcceptAllFileFilterUsed(false);\r
+      chooser.setFileView(new JalviewFileView());\r
+      chooser.setDialogTitle("Save Text to File");\r
+      chooser.setToolTipText("Save");\r
+\r
+      int value = chooser.showSaveDialog(this);\r
+\r
+      if (value == JalviewFileChooser.APPROVE_OPTION)\r
+      {\r
+        try\r
+        {\r
+          java.io.PrintWriter out = new java.io.PrintWriter(\r
+              new java.io.FileWriter(chooser.getSelectedFile()));\r
+\r
+          out.print(getText());\r
+          out.close();\r
+        }\r
+        catch (Exception ex)\r
+        {\r
+          ex.printStackTrace();\r
+        }\r
+\r
+      }\r
+    }\r
+\r
+\r
+\r
     /**\r
      * DOCUMENT ME!\r
      *\r
@@ -147,27 +184,30 @@ public class CutAndPasteTransfer extends GCutAndPasteTransfer
 \r
         if (sequences != null)\r
         {\r
+          if(viewport!=null)\r
+          {\r
+            for(int i=0; i<sequences.length; i++)\r
+              viewport.getAlignment().addSequence(sequences[i]);\r
+\r
+            viewport.firePropertyChange("alignment", null, viewport.getAlignment().getSequences());\r
+          }\r
+          else\r
+          {\r
             AlignFrame af = new AlignFrame(new Alignment(sequences));\r
             af.currentFileFormat = format;\r
             Desktop.addInternalFrame(af, "Cut & Paste input - " + format,\r
-                AlignFrame.NEW_WINDOW_WIDTH, AlignFrame.NEW_WINDOW_HEIGHT);\r
+                                     AlignFrame.NEW_WINDOW_WIDTH,\r
+                                     AlignFrame.NEW_WINDOW_HEIGHT);\r
             af.statusBar.setText("Successfully pasted alignment file");\r
 \r
             try\r
             {\r
-                af.setMaximum( jalview.bin.Cache.getDefault("SHOW_FULLSCREEN", false));\r
-            }\r
-            catch (Exception ex)\r
-            {\r
-            }\r
-\r
-            try\r
-            {\r
-                this.setClosed(true);\r
+              af.setMaximum(jalview.bin.Cache.getDefault("SHOW_FULLSCREEN", false));\r
             }\r
             catch (Exception ex)\r
             {\r
             }\r
+          }\r
         }\r
     }\r
 \r
@@ -208,7 +248,7 @@ public class CutAndPasteTransfer extends GCutAndPasteTransfer
                   }\r
             });\r
         popup.add(item);\r
-        popup.show(this, e.getX(), e.getY()+textarea.getY()+30);\r
+        popup.show(this, e.getX()+10, e.getY()+textarea.getY()+40);\r
 \r
       }\r
     }\r