X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FTreeCanvas.java;h=9022182f137f626f2007cf0363d5723f321ba111;hb=9ff5fcbe6681e37c441656e2f704f8d9bab9179c;hp=028552c27b3d9e30787d466f872d8b0dde951265;hpb=d423f22792e47dbc800ae220a58677f988971d06;p=jalview.git diff --git a/src/jalview/gui/TreeCanvas.java b/src/jalview/gui/TreeCanvas.java index 028552c..9022182 100755 --- a/src/jalview/gui/TreeCanvas.java +++ b/src/jalview/gui/TreeCanvas.java @@ -1,5 +1,5 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5) + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6) * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle * * This file is part of Jalview. @@ -247,8 +247,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, } String name = (markPlaceholders && node.isPlaceholder()) ? (PLACEHOLDER + node - .getName()) - : node.getName(); + .getName()) : node.getName(); int charWidth = fm.stringWidth(name) + 3; int charHeight = font.getSize(); @@ -487,9 +486,12 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, if (node.element() instanceof SequenceI) { AlignmentPanel[] aps = getAssociatedPanels(); - for (int a = 0; a < aps.length; a++) + if (aps != null) { - aps[a].av.setSequenceColour((SequenceI) node.element(), c); + for (int a = 0; a < aps.length; a++) + { + aps[a].av.setSequenceColour((SequenceI) node.element(), c); + } } } } @@ -626,9 +628,8 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, } else { - setPreferredSize(new Dimension(scrollPane.getWidth(), fm - .getHeight() - * nameHash.size())); + setPreferredSize(new Dimension(scrollPane.getWidth(), + fm.getHeight() * nameHash.size())); draw(g, scrollPane.getWidth(), fm.getHeight() * nameHash.size()); } @@ -864,14 +865,15 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, void colourGroups() { + AlignmentPanel[] aps = getAssociatedPanels(); for (int i = 0; i < tree.getGroups().size(); i++) { - Color col = new Color((int) (Math.random() * 255), (int) (Math - .random() * 255), (int) (Math.random() * 255)); + Color col = new Color((int) (Math.random() * 255), + (int) (Math.random() * 255), (int) (Math.random() * 255)); setColor((SequenceNode) tree.getGroups().elementAt(i), col.brighter()); - Vector l = tree.findLeaves((SequenceNode) tree.getGroups().elementAt( - i), new Vector()); + Vector l = tree.findLeaves( + (SequenceNode) tree.getGroups().elementAt(i), new Vector()); Vector sequences = new Vector(); @@ -892,8 +894,9 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, { if (av.getGlobalColourScheme() instanceof UserColourScheme) { - cs = new UserColourScheme(((UserColourScheme) av - .getGlobalColourScheme()).getColours()); + cs = new UserColourScheme( + ((UserColourScheme) av.getGlobalColourScheme()) + .getColours()); } else @@ -903,8 +906,8 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, .getGlobalColourScheme())); } - cs.setThreshold(av.getGlobalColourScheme().getThreshold(), av - .getIgnoreGapsConsensus()); + cs.setThreshold(av.getGlobalColourScheme().getThreshold(), + av.getIgnoreGapsConsensus()); } SequenceGroup sg = new SequenceGroup(sequences, null, cs, true, true, @@ -912,15 +915,14 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, sg.setName("JTreeGroup:" + sg.hashCode()); sg.setIdColour(col); - AlignmentPanel[] aps = getAssociatedPanels(); for (int a = 0; a < aps.length; a++) { if (aps[a].av.getGlobalColourScheme() != null && aps[a].av.getGlobalColourScheme().conservationApplied()) { Conservation c = new Conservation("Group", - ResidueProperties.propHash, 3, sg.getSequences(null), sg - .getStartRes(), sg.getEndRes()); + ResidueProperties.propHash, 3, sg.getSequences(null), + sg.getStartRes(), sg.getEndRes()); c.calculate(); c.verdict(false, aps[a].av.ConsPercGaps); @@ -930,6 +932,11 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, aps[a].av.alignment.addGroup(sg); } } + // notify the panel to redo any group specific stuff. + for (int a = 0; a < aps.length; a++) + { + aps[a].updateAnnotation(); + } }