reads in treeFile from applet parameter
[jalview.git] / src / jalview / appletgui / TreePanel.java
index 89ff20f..2aeeaed 100755 (executable)
@@ -5,6 +5,7 @@ import jalview.analysis.*;
 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
@@ -52,6 +53,41 @@ public class TreePanel extends GTreePanel
 \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
@@ -63,6 +99,18 @@ public String getText(String format) {
     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