X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FCutAndPasteTransfer.java;h=d908f20ac83f5a15b1da961aa7ded68468b78d47;hb=e6879a932d0144d64a5ab703ae311aed0eeb83e5;hp=4fb8ec1dcc1ef3f1d3f2e7e2dcce058dd009c0ab;hpb=de468b0bf50850a89c6a8a7acfa4ff5b689ffed1;p=jalview.git diff --git a/src/jalview/appletgui/CutAndPasteTransfer.java b/src/jalview/appletgui/CutAndPasteTransfer.java index 4fb8ec1..d908f20 100755 --- a/src/jalview/appletgui/CutAndPasteTransfer.java +++ b/src/jalview/appletgui/CutAndPasteTransfer.java @@ -1,6 +1,6 @@ /* * Jalview - A Sequence Alignment Editor and Viewer - * Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle + * Copyright (C) 2006 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -27,13 +27,12 @@ import jalview.io.*; public class CutAndPasteTransfer extends Panel implements ActionListener, MouseListener { - jalview.bin.JalviewLite applet; - boolean pdbImport = false; + boolean treeImport = false; Sequence seq; - SeqCanvas seqcanvas; + AlignFrame alignFrame; - public CutAndPasteTransfer(boolean forImport, jalview.bin.JalviewLite mainApplet) + public CutAndPasteTransfer(boolean forImport, AlignFrame alignFrame) { try { jbInit(); @@ -41,7 +40,7 @@ public class CutAndPasteTransfer extends Panel implements ActionListener, MouseL e.printStackTrace(); } - applet = mainApplet; + this.alignFrame = alignFrame; if (!forImport) { @@ -49,14 +48,6 @@ public class CutAndPasteTransfer extends Panel implements ActionListener, MouseL } } - public void setPDBImport(Sequence seq, SeqCanvas seqcanvas) - { - this.seq = seq; - this.seqcanvas = seqcanvas; - pdbImport = true; - } - - public String getText() { return textarea.getText(); @@ -67,6 +58,13 @@ public class CutAndPasteTransfer extends Panel implements ActionListener, MouseL textarea.setText(text); } + public void setPDBImport(Sequence seq) + { + this.seq = seq; + pdbImport = true; + } + + public void actionPerformed(ActionEvent evt) { if(evt.getSource()==ok) @@ -96,29 +94,60 @@ public class CutAndPasteTransfer extends Panel implements ActionListener, MouseL if(pdbImport) { - new MCview.AppletPDBViewer(text, "Paste", seq, seqcanvas); + new MCview.AppletPDBViewer(text, AppletFormatAdapter.PASTE, + seq, + alignFrame.getSeqcanvas()); } - else + else if(treeImport) { - SequenceI[] sequences = null; + try{ + jalview.io.NewickFile fin = new jalview.io.NewickFile(textarea.getText(), + "Paste"); - String format = IdentifyFile.Identify(text, "Paste"); - sequences = new AppletFormatAdapter().readFile(text, "Paste", format); + fin.parse(); + if(fin.getTree()!=null) + alignFrame.loadTree(fin, "Pasted tree file"); + } + catch (Exception ex) + { + textarea.setText("Could not parse Newick file!\n" + ex); + return; + } + } + else if(alignFrame!=null) + { + SequenceI[] sequences = null; + + String format = new IdentifyFile().Identify(text, AppletFormatAdapter.PASTE); + try{ + sequences = new AppletFormatAdapter().readFile(text, AppletFormatAdapter.PASTE, format); + }catch(java.io.IOException ex) + { + ex.printStackTrace(); + } if (sequences != null) { - AlignFrame af = new AlignFrame(new Alignment(sequences), applet, - "Cut & Paste input - " + format); + AlignFrame af = new AlignFrame(new Alignment(sequences), alignFrame.viewport.applet, + "Cut & Paste input - " + format, + false); af.statusBar.setText("Successfully pasted alignment file"); } } + if(this.getParent() instanceof Frame) ((Frame)this.getParent()).setVisible(false); + else + ((Dialog)this.getParent()).setVisible(false); } protected void cancel_actionPerformed() { - ((Frame)this.getParent()).setVisible(false); + textarea.setText(""); + if(this.getParent() instanceof Frame) + ((Frame)this.getParent()).setVisible(false); + else + ((Dialog)this.getParent()).setVisible(false); } protected TextArea textarea = new TextArea();