- }\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
- }\r
- // This constructor matches sequence names to treenodes and sets up the tree layouts.\r
- tree = new NJTree(seq, newtree);\r
- // Now have to calculate longest name based on the leaves\r
- Vector leaves = tree.findLeaves(tree.getTopNode(),new Vector());\r
-\r
- for (int i=0;i < leaves.size();i++)\r
- if (longestName.length()<((Sequence) ((SequenceNode) leaves.elementAt(i)).element()).getName().length())\r
- longestName = TreeCanvas.PLACEHOLDER+((Sequence) ((SequenceNode) leaves.elementAt(i)).element()).getName();\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
- treeCanvas.setShowDistances(newtree.HasDistances());\r
- scrollPane.setViewportView(treeCanvas);\r
- distanceMenu.setSelected(newtree.HasDistances());\r
- bootstrapMenu.setSelected(newtree.HasBootstrap());\r
- if (true) // JBPNote TODO: preference for always marking placeholders in new associated tree\r
- placeholdersMenu.setSelected(treeCanvas.markPlaceholders);\r