X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FTreeCanvas.java;h=c5650f5a973013c65c436c11991d76b7bd60a390;hb=aced09c4feeaf3406269442c14e54abeeb4cad81;hp=42a09aaad6cc717b8987712fad24de0ac01d5ffb;hpb=797df64fa2a0a30773d0f48f5494d4155e5a8be3;p=jalview.git diff --git a/src/jalview/gui/TreeCanvas.java b/src/jalview/gui/TreeCanvas.java index 42a09aa..c5650f5 100755 --- a/src/jalview/gui/TreeCanvas.java +++ b/src/jalview/gui/TreeCanvas.java @@ -1,19 +1,22 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7) - * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2) + * Copyright (C) 2014 The Jalview Authors * * 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. - * + * 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 * PURPOSE. See the GNU General Public License for more details. * - * You should have received a copy of the GNU General Public License along with Jalview. If not, see . + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.gui; @@ -125,7 +128,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, aps[a].av.setSelectionGroup(selected); } - selected.setEndRes(aps[a].av.alignment.getWidth() - 1); + selected.setEndRes(aps[a].av.getAlignment().getWidth() - 1); selected.addOrRemove(sequence, true); } } @@ -608,7 +611,8 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, if (tree == null) { - g.drawString("Calculating tree....", 20, getHeight() / 2); + g.drawString(MessageManager.getString("label.calculating_tree") + + "....", 20, getHeight() / 2); } else { @@ -666,9 +670,12 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, RenderingHints.VALUE_ANTIALIAS_ON); g2.setColor(Color.white); g2.fillRect(0, 0, width, height); - g2.setFont(font); + if (longestName == null || tree == null) + { + g2.drawString("Calculating tree.", 20, 20); + } offy = font.getSize() + 10; fm = g2.getFontMetrics(font); @@ -750,7 +757,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, if (SwingUtilities.isRightMouseButton(evt)) { Color col = JColorChooser.showDialog(this, - "Select Sub-Tree Colour", highlightNode.color); + MessageManager.getString("label.select_subtree_colour"), highlightNode.color); if (col != null) { setColor(highlightNode, col); @@ -790,9 +797,8 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, if (ob instanceof SequenceNode) { highlightNode = (SequenceNode) ob; - this.setToolTipText("Left click to select leaves" - + "
Double-click to invert leaves" - + "
Right click to change colour"); + this.setToolTipText("" + + MessageManager.getString("label.highlightnode")); repaint(); } @@ -851,8 +857,8 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, for (int a = 0; a < aps.length; a++) { aps[a].av.setSelectionGroup(null); - aps[a].av.alignment.deleteAllGroups(); - aps[a].av.sequenceColours = null; + aps[a].av.getAlignment().deleteAllGroups(); + aps[a].av.clearSequenceColours(); } colourGroups(); } @@ -889,6 +895,8 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, } ColourSchemeI cs = null; + SequenceGroup sg = new SequenceGroup(sequences, null, cs, true, true, + false, 0, av.getAlignment().getWidth() - 1); if (av.getGlobalColourScheme() != null) { @@ -901,21 +909,18 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, } else { - cs = ColourSchemeProperty.getColour(sequences, av.alignment - .getWidth(), ColourSchemeProperty.getColourName(av - .getGlobalColourScheme())); + cs = ColourSchemeProperty.getColour(sg, ColourSchemeProperty + .getColourName(av.getGlobalColourScheme())); } // cs is null if shading is an annotationColourGradient - if (cs!=null) + if (cs != null) { cs.setThreshold(av.getGlobalColourScheme().getThreshold(), av.getIgnoreGapsConsensus()); } } - - SequenceGroup sg = new SequenceGroup(sequences, null, cs, true, true, - false, 0, av.alignment.getWidth() - 1); - + sg.cs = cs; + // sg.recalcConservation(); sg.setName("JTreeGroup:" + sg.hashCode()); sg.setIdColour(col); for (int a = 0; a < aps.length; a++) @@ -928,18 +933,19 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, sg.getStartRes(), sg.getEndRes()); c.calculate(); - c.verdict(false, aps[a].av.ConsPercGaps); + c.verdict(false, aps[a].av.getConsPercGaps()); sg.cs.setConservation(c); } - aps[a].av.alignment.addGroup(sg); + aps[a].av.getAlignment().addGroup(new SequenceGroup(sg)); } } // notify the panel to redo any group specific stuff. for (int a = 0; a < aps.length; a++) { aps[a].updateAnnotation(); - // TODO: JAL-868 - need to ensure view colour change message is broadcast to any Jmols listening in + // TODO: JAL-868 - need to ensure view colour change message is broadcast + // to any Jmols listening in } }