/*\r
* Jalview - A Sequence Alignment Editor and Viewer\r
- * Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
+ * Copyright (C) 2006 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
*\r
* This program is free software; you can redistribute it and/or\r
* modify it under the terms of the GNU General Public License\r
{\r
boolean pdbImport = false;\r
boolean treeImport = false;\r
+ boolean annotationImport = false;\r
Sequence seq;\r
AlignFrame alignFrame;\r
\r
public void setPDBImport(Sequence seq)\r
{\r
this.seq = seq;\r
+ accept.setLabel("Accept");\r
+ addSequences.setVisible(false);\r
pdbImport = true;\r
}\r
\r
+ public void setTreeImport()\r
+ {\r
+ treeImport = true;\r
+ accept.setLabel("Accept");\r
+ addSequences.setVisible(false);\r
+ }\r
+\r
+ public void setAnnotationImport()\r
+ {\r
+ annotationImport = true;\r
+ accept.setLabel("Accept");\r
+ addSequences.setVisible(false);\r
+ }\r
+\r
\r
public void actionPerformed(ActionEvent evt)\r
{\r
- if(evt.getSource()==ok)\r
- ok_actionPerformed();\r
- else if(evt.getSource()==cancel)\r
- cancel_actionPerformed();\r
+ if(evt.getSource()==accept)\r
+ ok(true);\r
+ else if(evt.getSource() == addSequences)\r
+ ok(false);\r
+ else if(evt.getSource() == cancel)\r
+ cancel();\r
}\r
\r
- protected void ok_actionPerformed()\r
+ protected void ok(boolean newWindow)\r
{\r
String text = getText();\r
int length = text.length();\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
- SequenceI[] sequences = null;\r
+ Alignment al = null;\r
\r
String format = new IdentifyFile().Identify(text, AppletFormatAdapter.PASTE);\r
try{\r
- sequences = new AppletFormatAdapter().readFile(text, AppletFormatAdapter.PASTE, format);\r
+ al = new AppletFormatAdapter().readFile(text, AppletFormatAdapter.PASTE, format);\r
}catch(java.io.IOException ex)\r
{\r
ex.printStackTrace();\r
}\r
- if (sequences != null)\r
+\r
+\r
+\r
+ if (al != null)\r
{\r
- AlignFrame af = new AlignFrame(new Alignment(sequences), alignFrame.applet,\r
- "Cut & Paste input - " + format,\r
- false);\r
- af.statusBar.setText("Successfully pasted alignment file");\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
+ alignFrame.addSequences(al.getSequencesArray());\r
}\r
}\r
\r
((Dialog)this.getParent()).setVisible(false);\r
}\r
\r
- protected void cancel_actionPerformed()\r
+ protected void cancel()\r
{\r
textarea.setText("");\r
if(this.getParent() instanceof Frame)\r
}\r
\r
protected TextArea textarea = new TextArea();\r
- Button ok = new Button();\r
- Button cancel = new Button();\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
textarea.setText("Paste your alignment file here");\r
textarea.addMouseListener(this);\r
this.setLayout(borderLayout1);\r
- ok.setLabel("OK");\r
- ok.addActionListener(this);\r
- cancel.setLabel("Cancel");\r
+ accept.addActionListener(this);\r
+ addSequences.addActionListener(this);\r
cancel.addActionListener(this);\r
this.add(buttonPanel, BorderLayout.SOUTH);\r
- buttonPanel.add(ok, null);\r
+ buttonPanel.add(accept, null);\r
+ buttonPanel.add(addSequences);\r
buttonPanel.add(cancel, null);\r
this.add(textarea, java.awt.BorderLayout.CENTER);\r
}\r