+ }\r
+ else if (treeImport)\r
+ {\r
+ try\r
+ {\r
+ jalview.io.NewickFile fin = new jalview.io.NewickFile(textarea.getText(),\r
+ "Paste");\r
+\r
+ fin.parse();\r
+ if (fin.getTree() != null)\r
+ {\r
+ alignFrame.loadTree(fin, "Pasted tree file");\r
+ }\r
+\r
+ }\r
+ catch (Exception ex)\r
+ {\r
+ textarea.setText("Could not parse Newick file!\n" + ex);\r
+ return;\r
+ }\r
+ }\r
+ else if (annotationImport)\r
+ {\r
+ if (new AnnotationFile().readAnnotationFile(\r
+ alignFrame.viewport.alignment, textarea.getText(),\r
+ jalview.io.AppletFormatAdapter.PASTE))\r
+ {\r
+ alignFrame.alignPanel.fontChanged();\r
+ alignFrame.alignPanel.setScrollValues(0, 0);\r
+\r
+ }\r
+ else\r
+ {\r
+ alignFrame.parseFeaturesFile(textarea.getText(),\r
+ jalview.io.AppletFormatAdapter.PASTE);\r
+ }\r
+ }\r
+ else if (alignFrame != null)\r
+ {\r
+ Alignment al = null;\r
+\r
+ String format = new IdentifyFile().Identify(text,\r
+ AppletFormatAdapter.PASTE);\r
+ try\r
+ {\r
+ al = new AppletFormatAdapter().readFile(text, AppletFormatAdapter.PASTE,\r
+ format);\r
+ }\r
+ catch (java.io.IOException ex)\r
+ {\r
+ ex.printStackTrace();\r
+ }\r
+\r
+ if (al != null)\r
+ {\r
+ if (newWindow)\r
+ {\r
+ AlignFrame af = new AlignFrame(al, alignFrame.viewport.applet,\r
+ "Cut & Paste input - " + format,\r
+ false);\r
+ af.statusBar.setText("Successfully pasted alignment file");\r
+ }\r
+ else\r
+ {\r
+ alignFrame.addSequences(al.getSequencesArray());\r
+ }\r
+ }\r
+ }\r
+\r
+ if (this.getParent() instanceof Frame)\r
+ {\r
+ ( (Frame)this.getParent()).setVisible(false);\r
+ }\r
+ else\r
+ {\r
+ ( (Dialog)this.getParent()).setVisible(false);\r
+ }\r
+ }\r
+\r
+ protected void cancel()\r
+ {\r
+ textarea.setText("");\r
+ if (this.getParent() instanceof Frame)\r
+ {\r
+ ( (Frame)this.getParent()).setVisible(false);\r
+ }\r
+ else\r
+ {\r
+ ( (Dialog)this.getParent()).setVisible(false);\r
+ }\r
+ }\r
+\r
+ protected TextArea textarea = new TextArea();\r
+ Button accept = new Button("New Window");\r
+ Button addSequences = new Button("Add to Current Alignment");\r
+ Button cancel = new Button("Close");\r
+\r
+ protected Panel buttonPanel = new Panel();\r
+ BorderLayout borderLayout1 = new BorderLayout();\r
+\r
+ private void jbInit()\r
+ throws Exception\r
+ {\r
+ textarea.setFont(new java.awt.Font("Monospaced", Font.PLAIN, 10));\r
+ textarea.setText("Paste your alignment file here");\r
+ textarea.addMouseListener(this);\r
+ this.setLayout(borderLayout1);\r
+ accept.addActionListener(this);\r
+ addSequences.addActionListener(this);\r
+ cancel.addActionListener(this);\r
+ this.add(buttonPanel, BorderLayout.SOUTH);\r
+ buttonPanel.add(accept, null);\r
+ buttonPanel.add(addSequences);\r
+ buttonPanel.add(cancel, null);\r
+ this.add(textarea, java.awt.BorderLayout.CENTER);\r
+ }\r
+\r
+ public void mousePressed(MouseEvent evt)\r
+ {\r
+ if (textarea.getText().startsWith("Paste your"))\r
+ {\r
+ textarea.setText("");\r
+ }\r
+ }\r