X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FTreeCanvas.java;h=3494fb8c847f0a25eab90827c372198ac4b4b4e6;hb=c5e7525fa1ce59385fd3e249c2fe4056f4b5371e;hp=eb4253fc901b3c328081990d7058a7cb7928fc39;hpb=7f5ab7d1f58d870622968e0e6a430f33403b8e4f;p=jalview.git diff --git a/src/jalview/gui/TreeCanvas.java b/src/jalview/gui/TreeCanvas.java index eb4253f..3494fb8 100755 --- a/src/jalview/gui/TreeCanvas.java +++ b/src/jalview/gui/TreeCanvas.java @@ -21,7 +21,7 @@ package jalview.gui; import jalview.analysis.Conservation; -import jalview.analysis.NJTree; +import jalview.analysis.TreeModel; import jalview.api.AlignViewportI; import jalview.datamodel.Sequence; import jalview.datamodel.SequenceGroup; @@ -53,6 +53,7 @@ import java.awt.print.PrinterException; import java.awt.print.PrinterJob; import java.util.Enumeration; import java.util.Hashtable; +import java.util.List; import java.util.Vector; import javax.swing.JColorChooser; @@ -73,7 +74,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, /** DOCUMENT ME!! */ public static final String PLACEHOLDER = " * "; - NJTree tree; + TreeModel tree; JScrollPane scrollPane; @@ -168,7 +169,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, * @param tree * DOCUMENT ME! */ - public void setTree(NJTree tree) + public void setTree(TreeModel tree) { this.tree = tree; tree.findHeight(tree.getTopNode()); @@ -549,7 +550,16 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, public void run() { PrinterJob printJob = PrinterJob.getPrinterJob(); - PageFormat pf = printJob.pageDialog(printJob.defaultPage()); + PageFormat defaultPage = printJob.defaultPage(); + PageFormat pf = printJob.pageDialog(defaultPage); + + if (defaultPage == pf) + { + /* + * user cancelled + */ + return; + } printJob.setPrintable(this, pf); @@ -929,8 +939,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, threshold = (float) (x - offx) / (float) (getWidth() - labelLength - (2 * offx)); - tree.getGroups().removeAllElements(); - tree.groupNodes(tree.getTopNode(), threshold); + List groups = tree.groupNodes(threshold); setColor(tree.getTopNode(), Color.black); AlignmentPanel[] aps = getAssociatedPanels(); @@ -950,7 +959,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, aps[a].av.getCodingComplement().clearSequenceColours(); } } - colourGroups(); + colourGroups(groups); } PaintRefresher.Refresh(tp, ap.av.getSequenceSetId()); @@ -959,17 +968,16 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, } - void colourGroups() + void colourGroups(List groups) { AlignmentPanel[] aps = getAssociatedPanels(); - for (int i = 0; i < tree.getGroups().size(); i++) + for (int i = 0; i < groups.size(); i++) { Color col = new Color((int) (Math.random() * 255), (int) (Math.random() * 255), (int) (Math.random() * 255)); - setColor(tree.getGroups().elementAt(i), col.brighter()); + setColor(groups.get(i), col.brighter()); - Vector l = tree.findLeaves(tree.getGroups() - .elementAt(i)); + Vector l = tree.findLeaves(groups.get(i)); Vector sequences = new Vector();