From 452f3c23b6cea9565a13fa39e606a3e9ea29e035 Mon Sep 17 00:00:00 2001 From: amwaterhouse Date: Wed, 11 May 2005 10:40:48 +0000 Subject: [PATCH] reads in treeFile from applet parameter --- src/jalview/appletgui/AlignFrame.java | 27 +++++++++++++++++++ src/jalview/appletgui/TreePanel.java | 48 +++++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+) diff --git a/src/jalview/appletgui/AlignFrame.java b/src/jalview/appletgui/AlignFrame.java index 28b7cb5..e73854f 100755 --- a/src/jalview/appletgui/AlignFrame.java +++ b/src/jalview/appletgui/AlignFrame.java @@ -45,6 +45,33 @@ public class AlignFrame extends GAlignFrame alignPanel = new AlignmentPanel(this, viewport); add(alignPanel); alignPanel.validate(); + + String treeFile = applet.getParameter("treeFile"); + TreePanel treepanel = null; + if (treeFile != null) + { + try + { + treeFile = treeFile; + jalview.io.NewickFile fin = new jalview.io.NewickFile( applet.getCodeBase()+treeFile, "URL"); + fin.parse(); + + if (fin.getTree() != null) + { + TreePanel tp = null; + tp = new TreePanel(viewport, viewport.getAlignment().getSequences(), + fin, "FromFile", applet.getCodeBase()+treeFile); + jalview.bin.JalviewLite.addFrame(tp, treeFile, 600, 500); + addTreeMenuItem(tp, treeFile); + } + } + catch (Exception ex) + { + ex.printStackTrace(); + } + } + + } public void inputText_actionPerformed(ActionEvent e) diff --git a/src/jalview/appletgui/TreePanel.java b/src/jalview/appletgui/TreePanel.java index 89ff20f..2aeeaed 100755 --- a/src/jalview/appletgui/TreePanel.java +++ b/src/jalview/appletgui/TreePanel.java @@ -5,6 +5,7 @@ import jalview.analysis.*; import jalview.jbappletgui.GTreePanel; import java.awt.event.*; import java.util.*; +import jalview.io.NewickFile; public class TreePanel extends GTreePanel @@ -52,6 +53,41 @@ public class TreePanel extends GTreePanel } +public TreePanel(AlignViewport av, Vector seqVector, NewickFile newtree, + String type, String pwtype) +{ + super(); + // These are probably only arbitrary strings reflecting source of tree + this.type = type; + this.pwtype = pwtype; + + start = 0; + end = seqVector.size(); + + String longestName = ""; + seq = new Sequence [seqVector.size()]; + for (int i=0;i < seqVector.size();i++) + { + seq[i] = (Sequence) seqVector.elementAt(i); + if(seq[i].getName().length()>longestName.length()) + longestName = seq[i].getName(); + } + // This constructor matches sequence names to treenodes and sets up the tree layouts. + tree = new NJTree(seq, newtree); + + tree.reCount(tree.getTopNode()); + tree.findHeight(tree.getTopNode()); + + treeCanvas = new TreeCanvas(av, tree, scrollPane, longestName); + treeCanvas.setShowBootstrap(newtree.HasBootstrap()); + bootstrapMenu.setState(newtree.HasBootstrap()); + treeCanvas.setShowDistances(newtree.HasDistances()); + distanceMenu.setState(newtree.HasDistances()); + scrollPane.add(treeCanvas); + +} + + public String getText(String format) { return null; @@ -63,6 +99,18 @@ public String getText(String format) { repaint(); } + public void newickOutput_actionPerformed(ActionEvent actionEvent) + { + jalview.io.NewickFile fout = new jalview.io.NewickFile(tree.getTopNode()); + String output = fout.print(false, true); + CutAndPasteTransfer cap = new CutAndPasteTransfer(false); + cap.setText(output); + java.awt.Frame frame = new java.awt.Frame(); + frame.add(cap); + jalview.bin.JalviewLite.addFrame(frame, type+" "+pwtype, 500,500); + } + + protected void fontSize_actionPerformed(ActionEvent e) { -- 1.7.10.2