X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FCutAndPasteTransfer.java;h=4b890bbf8e7d6ef8afbba593e39ea49b08d4ad6b;hb=92c28d1a4ec6178c3e8f1bd304a1c94ad9e16bf1;hp=51d8d7f07b27027b11256a9361df476be836633c;hpb=8d3d3b4edf47e543b8b352c1b2c247cfc59122a4;p=jalview.git diff --git a/src/jalview/appletgui/CutAndPasteTransfer.java b/src/jalview/appletgui/CutAndPasteTransfer.java index 51d8d7f..4b890bb 100755 --- a/src/jalview/appletgui/CutAndPasteTransfer.java +++ b/src/jalview/appletgui/CutAndPasteTransfer.java @@ -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,33 +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) + { + try{ + jalview.io.NewickFile fin = new jalview.io.NewickFile(textarea.getText(), + "Paste"); + + 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 = IdentifyFile.Identify(text, "Paste"); + String format = new IdentifyFile().Identify(text, AppletFormatAdapter.PASTE); try{ - sequences = new AppletFormatAdapter().readFile(text, "Paste", format); + 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.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();