+ 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
+ av.setCurrentTree(tree);\r
+\r
+ propertiesInit();\r
+\r
+ tree.reCount(tree.getTopNode());\r
+ tree.findHeight(tree.getTopNode());\r
+\r
+ treeCanvas = new TreeCanvas(av, tree, scrollPane, longestName);\r
+ scrollPane.setViewportView(treeCanvas);\r
+\r
+ }\r