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