X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FTreePanel.java;h=5b12fa6e45f4079ad16f319a2601a1954583d79e;hb=7f5ab7d1f58d870622968e0e6a430f33403b8e4f;hp=2fb34b0547b2431f2b04a6465cd2ff7ae7e663c4;hpb=7a2f4e9ee4119f0369743e7996bcebbb6ab46f9e;p=jalview.git diff --git a/src/jalview/appletgui/TreePanel.java b/src/jalview/appletgui/TreePanel.java index 2fb34b0..5b12fa6 100644 --- a/src/jalview/appletgui/TreePanel.java +++ b/src/jalview/appletgui/TreePanel.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2) - * Copyright (C) 2014 The Jalview Authors + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * @@ -21,6 +21,9 @@ package jalview.appletgui; import jalview.analysis.NJTree; +import jalview.analysis.scoremodels.ScoreModels; +import jalview.api.analysis.ScoreModelI; +import jalview.api.analysis.ViewBasedAnalysisI; import jalview.datamodel.Alignment; import jalview.datamodel.AlignmentView; import jalview.datamodel.ColumnSelection; @@ -66,6 +69,7 @@ public class TreePanel extends EmbmenuFrame implements ActionListener, return tree; } + @Override public void finalize() throws Throwable { ap = null; @@ -197,6 +201,7 @@ public class TreePanel extends EmbmenuFrame implements ActionListener, this.newtree = newtree; } + @Override public void run() { if (newtree != null) @@ -216,8 +221,8 @@ public class TreePanel extends EmbmenuFrame implements ActionListener, { int start, end; SequenceI[] seqs; - boolean selview = (av.getSelectionGroup() != null) - && (av.getSelectionGroup().getSize() > 1); + boolean selview = av.getSelectionGroup() != null + && av.getSelectionGroup().getSize() > 1; AlignmentView seqStrings = av.getAlignmentView(selview); if (!selview) { @@ -232,8 +237,22 @@ public class TreePanel extends EmbmenuFrame implements ActionListener, seqs = av.getSelectionGroup().getSequencesInOrder( av.getAlignment()); } - - tree = new NJTree(seqs, seqStrings, type, pwtype, start, end); + ScoreModelI sm = ScoreModels.getInstance().forName(pwtype); + if (sm instanceof ViewBasedAnalysisI) + { + try + { + sm = sm.getClass().newInstance(); + ((ViewBasedAnalysisI) sm) + .configureFromAlignmentView(treeCanvas.ap); + } catch (Exception q) + { + System.err.println("Couldn't create a scoremodel instance for " + + sm.getName()); + q.printStackTrace(); + } + } + tree = new NJTree(seqs, seqStrings, type, pwtype, sm, start, end); } tree.reCount(tree.getTopNode()); @@ -264,6 +283,7 @@ public class TreePanel extends EmbmenuFrame implements ActionListener, } } + @Override public void actionPerformed(ActionEvent evt) { if (evt.getSource() == newickOutput) @@ -280,6 +300,7 @@ public class TreePanel extends EmbmenuFrame implements ActionListener, } } + @Override public void itemStateChanged(ItemEvent evt) { if (evt.getSource() == fitToWindow)