alignPanel = new AlignmentPanel(this, viewport);\r
add(alignPanel);\r
alignPanel.validate();\r
+\r
+ String treeFile = applet.getParameter("treeFile");\r
+ TreePanel treepanel = null;\r
+ if (treeFile != null)\r
+ {\r
+ try\r
+ {\r
+ treeFile = treeFile;\r
+ jalview.io.NewickFile fin = new jalview.io.NewickFile( applet.getCodeBase()+treeFile, "URL");\r
+ fin.parse();\r
+\r
+ if (fin.getTree() != null)\r
+ {\r
+ TreePanel tp = null;\r
+ tp = new TreePanel(viewport, viewport.getAlignment().getSequences(),\r
+ fin, "FromFile", applet.getCodeBase()+treeFile);\r
+ jalview.bin.JalviewLite.addFrame(tp, treeFile, 600, 500);\r
+ addTreeMenuItem(tp, treeFile);\r
+ }\r
+ }\r
+ catch (Exception ex)\r
+ {\r
+ ex.printStackTrace();\r
+ }\r
+ }\r
+\r
+\r
}\r
\r
public void inputText_actionPerformed(ActionEvent e)\r
import jalview.jbappletgui.GTreePanel;\r
import java.awt.event.*;\r
import java.util.*;\r
+import jalview.io.NewickFile;\r
\r
\r
public class TreePanel extends GTreePanel\r
\r
}\r
\r
+public TreePanel(AlignViewport av, Vector seqVector, NewickFile newtree,\r
+ String type, String pwtype)\r
+{\r
+ super();\r
+ // These are probably only arbitrary strings reflecting source of tree\r
+ this.type = type;\r
+ this.pwtype = pwtype;\r
+\r
+ start = 0;\r
+ end = seqVector.size();\r
+\r
+ String longestName = "";\r
+ seq = new Sequence [seqVector.size()];\r
+ for (int i=0;i < seqVector.size();i++)\r
+ {\r
+ seq[i] = (Sequence) seqVector.elementAt(i);\r
+ if(seq[i].getName().length()>longestName.length())\r
+ longestName = seq[i].getName();\r
+ }\r
+ // This constructor matches sequence names to treenodes and sets up the tree layouts.\r
+ tree = new NJTree(seq, newtree);\r
+\r
+ tree.reCount(tree.getTopNode());\r
+ tree.findHeight(tree.getTopNode());\r
+\r
+ treeCanvas = new TreeCanvas(av, tree, scrollPane, longestName);\r
+ treeCanvas.setShowBootstrap(newtree.HasBootstrap());\r
+ bootstrapMenu.setState(newtree.HasBootstrap());\r
+ treeCanvas.setShowDistances(newtree.HasDistances());\r
+ distanceMenu.setState(newtree.HasDistances());\r
+ scrollPane.add(treeCanvas);\r
+\r
+}\r
+\r
+\r
\r
public String getText(String format) {\r
return null;\r
repaint();\r
}\r
\r
+ public void newickOutput_actionPerformed(ActionEvent actionEvent)\r
+ {\r
+ jalview.io.NewickFile fout = new jalview.io.NewickFile(tree.getTopNode());\r
+ String output = fout.print(false, true);\r
+ CutAndPasteTransfer cap = new CutAndPasteTransfer(false);\r
+ cap.setText(output);\r
+ java.awt.Frame frame = new java.awt.Frame();\r
+ frame.add(cap);\r
+ jalview.bin.JalviewLite.addFrame(frame, type+" "+pwtype, 500,500);\r
+ }\r
+\r
+\r
\r
protected void fontSize_actionPerformed(ActionEvent e)\r
{\r