2.08, not 2.07
[jalview.git] / src / jalview / gui / CutAndPasteTransfer.java
index f2920e5..7a3eb98 100755 (executable)
@@ -29,7 +29,6 @@ import java.awt.datatransfer.*;
 import java.awt.event.*;\r
 \r
 import javax.swing.*;\r
-import javax.swing.event.InternalFrameEvent;\r
 \r
 \r
 /**\r
@@ -40,19 +39,25 @@ import javax.swing.event.InternalFrameEvent;
  */\r
 public class CutAndPasteTransfer extends GCutAndPasteTransfer\r
 {\r
+\r
+  public CutAndPasteTransfer()\r
+  {\r
+    SwingUtilities.invokeLater(new Runnable()\r
+    {\r
+      public void run()\r
+      {\r
+        textarea.requestFocus();\r
+      }\r
+    });\r
+\r
+  }\r
+\r
     /**\r
      * DOCUMENT ME!\r
      */\r
     public void setForInput()\r
     {\r
         getContentPane().add(inputButtonPanel, java.awt.BorderLayout.SOUTH);\r
-          SwingUtilities.invokeLater(new Runnable()\r
-          {\r
-            public void run()\r
-            {\r
-              textarea.requestFocus();\r
-            }\r
-          });\r
     }\r
 \r
     /**\r
@@ -75,6 +80,11 @@ public class CutAndPasteTransfer extends GCutAndPasteTransfer
         textarea.setText(text);\r
     }\r
 \r
+    public void appendText(String text)\r
+    {\r
+      textarea.append(text);\r
+    }\r
+\r
     /**\r
      * DOCUMENT ME!\r
      *\r
@@ -82,8 +92,9 @@ public class CutAndPasteTransfer extends GCutAndPasteTransfer
      */\r
     public void copyItem_actionPerformed(ActionEvent e)\r
     {\r
+        textarea.getSelectedText();\r
         Clipboard c = Toolkit.getDefaultToolkit().getSystemClipboard();\r
-        c.setContents(new StringSelection(textarea.getText()), null);\r
+        c.setContents(new StringSelection(textarea.getSelectedText()), null);\r
     }\r
 \r
     /**\r
@@ -118,12 +129,20 @@ public class CutAndPasteTransfer extends GCutAndPasteTransfer
      */\r
     public void ok_actionPerformed(ActionEvent e)\r
     {\r
-        String format = IdentifyFile.Identify(getText(), "Paste");\r
+        String format = new IdentifyFile().Identify(getText(), "Paste");\r
         SequenceI[] sequences = null;\r
 \r
         if (FormatAdapter.formats.contains(format))\r
         {\r
+          try{\r
             sequences = new FormatAdapter().readFile(getText(), "Paste", format);\r
+          }catch(java.io.IOException ex)\r
+          {\r
+            JOptionPane.showInternalMessageDialog(Desktop.desktop,\r
+                                                  "Couldn't read the pasted text.\n" +ex.toString(),\r
+                                                  "Error parsing text",\r
+                                                  JOptionPane.WARNING_MESSAGE);\r
+          }\r
         }\r
 \r
         if (sequences != null)\r
@@ -150,14 +169,6 @@ public class CutAndPasteTransfer extends GCutAndPasteTransfer
             {\r
             }\r
         }\r
-        else\r
-        {\r
-            JOptionPane.showInternalMessageDialog(Desktop.desktop,\r
-                "Couldn't read the pasted text.\n" +\r
-                "Formats currently supported are\n" +\r
-                "Fasta, MSF, Clustal, BLC, PIR, MSP, and PFAM",\r
-                "Error parsing text", JOptionPane.WARNING_MESSAGE);\r
-        }\r
     }\r
 \r
     /**\r
@@ -197,7 +208,7 @@ public class CutAndPasteTransfer extends GCutAndPasteTransfer
                   }\r
             });\r
         popup.add(item);\r
-        popup.show(this, e.getX(), e.getY()+30);\r
+        popup.show(this, e.getX()+10, e.getY()+textarea.getY()+40);\r
 \r
       }\r
     }\r