after merge
[jalview.git] / src / jalview / appletgui / CutAndPasteTransfer.java
index 4c0d3de..ea9a8aa 100755 (executable)
@@ -24,15 +24,23 @@ import java.awt.event.*;
 \r
 import jalview.datamodel.*;\r
 import jalview.io.*;\r
-import jalview.jbappletgui.*;\r
 \r
-public class CutAndPasteTransfer\r
-    extends GCutAndPasteTransfer\r
+public class CutAndPasteTransfer extends Panel\r
 {\r
   jalview.bin.JalviewLite applet;\r
+\r
+  boolean pdbImport = false;\r
+  Sequence seq;\r
+  SeqCanvas seqcanvas;\r
+\r
   public CutAndPasteTransfer(boolean forImport, jalview.bin.JalviewLite mainApplet)\r
   {\r
-    super();\r
+    try {\r
+        jbInit();\r
+    } catch (Exception e) {\r
+        e.printStackTrace();\r
+    }\r
+\r
     applet = mainApplet;\r
 \r
     if (!forImport)\r
@@ -41,6 +49,14 @@ public class CutAndPasteTransfer
     }\r
   }\r
 \r
+  public void setPDBImport(Sequence seq, SeqCanvas seqcanvas)\r
+  {\r
+    this.seq = seq;\r
+    this.seqcanvas = seqcanvas;\r
+    pdbImport = true;\r
+  }\r
+\r
+\r
   public String getText()\r
   {\r
     return textarea.getText();\r
@@ -68,29 +84,72 @@ public class CutAndPasteTransfer
           +warning);\r
 \r
       textarea.setCaretPosition(text.length());\r
-      return;\r
     }\r
 \r
-    SequenceI[] sequences = null;\r
+    if(pdbImport)\r
+    {\r
+      new MCview.AppletPDBViewer(text, "Paste", seq, seqcanvas);\r
+    }\r
+    else\r
+    {\r
+      SequenceI[] sequences = null;\r
 \r
-    String format = IdentifyFile.Identify(text, "Paste");\r
-    sequences = new FormatAdapter().readFile(text, "Paste", format);\r
+      String format = IdentifyFile.Identify(text, "Paste");\r
+      sequences = new AppletFormatAdapter().readFile(text, "Paste", format);\r
 \r
-    if (sequences != null)\r
-    {\r
-      AlignFrame af = new AlignFrame(new Alignment(sequences), applet,\r
-                                     "Cut & Paste input - " + format);\r
-      af.statusBar.setText("Successfully pasted alignment file");\r
+      if (sequences != null)\r
+      {\r
+        AlignFrame af = new AlignFrame(new Alignment(sequences), applet,\r
+                                       "Cut & Paste input - " + format);\r
+        af.statusBar.setText("Successfully pasted alignment file");\r
+      }\r
     }\r
 \r
-    Frame frame = (Frame)this.getParent();\r
-    frame.setVisible(false);\r
+    ((Frame)this.getParent()).setVisible(false);\r
   }\r
 \r
   protected void cancel_actionPerformed(ActionEvent e)\r
   {\r
-    Frame frame = (Frame)this.getParent();\r
-    frame.setVisible(false);\r
+    ((Frame)this.getParent()).setVisible(false);\r
+  }\r
+\r
+  protected TextArea textarea = new TextArea();\r
+  Button ok = new Button();\r
+  Button cancel = new Button();\r
+  protected Panel buttonPanel = new Panel();\r
+  BorderLayout borderLayout1 = new BorderLayout();\r
+\r
+\r
+  private void jbInit() throws Exception {\r
+      textarea.setFont(new java.awt.Font("Monospaced", Font.PLAIN, 10));\r
+      textarea.setText("Paste your alignment file here");\r
+      textarea.addMouseListener(new java.awt.event.MouseAdapter() {\r
+              public void mousePressed(MouseEvent e) {\r
+                  textarea_mousePressed(e);\r
+              }\r
+          });\r
+      this.setLayout(borderLayout1);\r
+      ok.setLabel("OK");\r
+      ok.addActionListener(new java.awt.event.ActionListener() {\r
+              public void actionPerformed(ActionEvent e) {\r
+                  ok_actionPerformed(e);\r
+              }\r
+          });\r
+      cancel.setLabel("Cancel");\r
+      cancel.addActionListener(new java.awt.event.ActionListener() {\r
+              public void actionPerformed(ActionEvent e) {\r
+                  cancel_actionPerformed(e);\r
+              }\r
+          });\r
+      this.add(buttonPanel, BorderLayout.SOUTH);\r
+      buttonPanel.add(ok, null);\r
+      buttonPanel.add(cancel, null);\r
+      this.add(textarea, java.awt.BorderLayout.CENTER);\r
   }\r
 \r
+  void textarea_mousePressed(MouseEvent e) {\r
+      if (textarea.getText().startsWith("Paste your")) {\r
+          textarea.setText("");\r
+      }\r
+  }\r
 }\r