X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FTreePanel.java;h=65f3d9156a22cf76fb34df2f4fa5eb0b48648c92;hb=ad20cd92225f2ee8c251d39b00b90555d382a616;hp=92dcde4360bf693cbeadf506639a7ed993d00318;hpb=153dd62dc91da13ae732600e6ea55ddbe15eab39;p=jalview.git diff --git a/src/jalview/appletgui/TreePanel.java b/src/jalview/appletgui/TreePanel.java old mode 100755 new mode 100644 index 92dcde4..65f3d91 --- a/src/jalview/appletgui/TreePanel.java +++ b/src/jalview/appletgui/TreePanel.java @@ -1,13 +1,13 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6) - * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8) + * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle * * This file is part of Jalview. * * Jalview is free software: you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - * + * * Jalview is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty * of MERCHANTABILITY or FITNESS FOR A PARTICULAR @@ -19,7 +19,6 @@ package jalview.appletgui; import java.awt.*; import java.awt.event.*; -import java.util.Hashtable; import jalview.analysis.*; import jalview.datamodel.*; @@ -42,6 +41,8 @@ public class TreePanel extends EmbmenuFrame implements ActionListener, NJTree tree; + AlignmentPanel ap; + AlignViewport av; public NJTree getTree() @@ -49,6 +50,13 @@ public class TreePanel extends EmbmenuFrame implements ActionListener, return tree; } + public void finalize() throws Throwable + { + ap = null; + av = null; + super.finalize(); + } + /** * Creates a new TreePanel object. * @@ -65,7 +73,7 @@ public class TreePanel extends EmbmenuFrame implements ActionListener, * @param e * DOCUMENT ME! */ - public TreePanel(AlignViewport av, String type, String pwtype) + public TreePanel(AlignmentPanel ap, String type, String pwtype) { try { @@ -76,7 +84,7 @@ public class TreePanel extends EmbmenuFrame implements ActionListener, ex.printStackTrace(); } - initTreePanel(av, type, pwtype, null); + initTreePanel(ap, type, pwtype, null); } /** @@ -93,7 +101,7 @@ public class TreePanel extends EmbmenuFrame implements ActionListener, * @param pwtype * DOCUMENT ME! */ - public TreePanel(AlignViewport av, String type, String pwtype, + public TreePanel(AlignmentPanel ap, String type, String pwtype, NewickFile newtree) { try @@ -105,18 +113,19 @@ public class TreePanel extends EmbmenuFrame implements ActionListener, e.printStackTrace(); } - initTreePanel(av, type, pwtype, newtree); + initTreePanel(ap, type, pwtype, newtree); } - void initTreePanel(AlignViewport av, String type, String pwtype, + void initTreePanel(AlignmentPanel ap, String type, String pwtype, NewickFile newTree) { - this.av = av; + this.ap = ap; + this.av = ap.av; this.type = type; this.pwtype = pwtype; - treeCanvas = new TreeCanvas(av, scrollPane); + treeCanvas = new TreeCanvas(ap, scrollPane); TreeLoader tl = new TreeLoader(newTree); tl.start(); embedMenuIfNeeded(treeCanvas); @@ -178,11 +187,11 @@ public class TreePanel extends EmbmenuFrame implements ActionListener, { if (odata == null) { - tree = new NJTree(av.alignment.getSequencesArray(), newtree); + tree = new NJTree(av.getAlignment().getSequencesArray(), newtree); } else { - tree = new NJTree(av.alignment.getSequencesArray(), odata, + tree = new NJTree(av.getAlignment().getSequencesArray(), odata, newtree); } @@ -191,19 +200,21 @@ public class TreePanel extends EmbmenuFrame implements ActionListener, { int start, end; SequenceI[] seqs; - AlignmentView seqStrings = av.getAlignmentView(av - .getSelectionGroup() != null); - if (av.getSelectionGroup() == null) + boolean selview = (av.getSelectionGroup() != null) + && (av.getSelectionGroup().getSize() > 1); + AlignmentView seqStrings = av.getAlignmentView(selview); + if (!selview) { start = 0; - end = av.alignment.getWidth(); - seqs = av.alignment.getSequencesArray(); + end = av.getAlignment().getWidth(); + seqs = av.getAlignment().getSequencesArray(); } else { start = av.getSelectionGroup().getStartRes(); end = av.getSelectionGroup().getEndRes() + 1; - seqs = av.getSelectionGroup().getSequencesInOrder(av.alignment); + seqs = av.getSelectionGroup().getSequencesInOrder( + av.getAlignment()); } tree = new NJTree(seqs, seqStrings, type, pwtype, start, end); @@ -280,8 +291,8 @@ public class TreePanel extends EmbmenuFrame implements ActionListener, public void newickOutput_actionPerformed() { - jalview.io.NewickFile fout = new jalview.io.NewickFile(tree - .getTopNode()); + jalview.io.NewickFile fout = new jalview.io.NewickFile( + tree.getTopNode()); String output = fout.print(false, true); CutAndPasteTransfer cap = new CutAndPasteTransfer(false, null); cap.setText(output);