X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FTreeCanvas.java;h=58ca6f60fe4b71f454066626dac8381334875ffd;hb=7bc226b58110fa26d9dbd3f0c78095d06909ffc3;hp=9ca36ccb6cc98b6ce5704a5196a03f1e988dc8d2;hpb=7b3241c464d774516c4295a5023f4aef7939298e;p=jalview.git diff --git a/src/jalview/gui/TreeCanvas.java b/src/jalview/gui/TreeCanvas.java index 9ca36cc..58ca6f6 100755 --- a/src/jalview/gui/TreeCanvas.java +++ b/src/jalview/gui/TreeCanvas.java @@ -1,6 +1,6 @@ /* * Jalview - A Sequence Alignment Editor and Viewer - * Copyright (C) 2006 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle + * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -18,22 +18,17 @@ */ package jalview.gui; -import jalview.analysis.*; - -import jalview.datamodel.*; - -import jalview.schemes.*; - -import jalview.util.*; +import java.util.*; import java.awt.*; import java.awt.event.*; import java.awt.print.*; - -import java.util.*; - import javax.swing.*; +import jalview.analysis.*; +import jalview.datamodel.*; +import jalview.schemes.*; +import jalview.util.*; /** * DOCUMENT ME! @@ -41,13 +36,15 @@ import javax.swing.*; * @author $author$ * @version $Revision$ */ -public class TreeCanvas extends JPanel implements MouseListener, Runnable, +public class TreeCanvas + extends JPanel implements MouseListener, Runnable, Printable, MouseMotionListener { /** DOCUMENT ME!! */ public static final String PLACEHOLDER = " * "; NJTree tree; JScrollPane scrollPane; + TreePanel tp; AlignViewport av; AlignmentPanel ap; Font font; @@ -76,15 +73,17 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, * @param scroller DOCUMENT ME! * @param label DOCUMENT ME! */ - public TreeCanvas(AlignmentPanel ap, JScrollPane scroller) + public TreeCanvas(TreePanel tp, + AlignmentPanel ap, + JScrollPane scroller) { + this.tp = tp; this.av = ap.av; this.ap = ap; font = av.getFont(); scrollPane = scroller; addMouseListener(this); addMouseMotionListener(this); - PaintRefresher.Register(this, ap.av.getSequenceSetId()); ToolTipManager.sharedInstance().registerComponent(this); } @@ -235,7 +234,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, SequenceGroup selected = av.getSelectionGroup(); if ( (selected != null) && - selected.getSequences(false).contains( (SequenceI) node.element())) + selected.getSequences(null).contains( (SequenceI) node.element())) { g.setColor(Color.gray); @@ -266,9 +265,13 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, // Draw horizontal line g.drawLine(xstart, ypos, xend, ypos); if (node == highlightNode) + { g.fillRect(xend - 3, ypos - 3, 6, 6); + } else + { g.fillRect(xend - 2, ypos - 2, 4, 4); + } int ystart = (int) ( ( (SequenceNode) node.left()).ycount * chunk) + offy; @@ -702,7 +705,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, } } - PaintRefresher.Refresh(this, av.getSequenceSetId()); + PaintRefresher.Refresh(tp, av.getSequenceSetId()); repaint(); } } @@ -754,7 +757,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, if (ob instanceof SequenceI) { treeSelectionChanged( (Sequence) ob); - PaintRefresher.Refresh(this, ap.av.getSequenceSetId()); + PaintRefresher.Refresh(tp, ap.av.getSequenceSetId()); repaint(); return; } @@ -781,7 +784,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, colourGroups(); } - PaintRefresher.Refresh(this, ap.av.getSequenceSetId()); + PaintRefresher.Refresh(tp, ap.av.getSequenceSetId()); repaint(); } @@ -824,21 +827,25 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, } else + { cs = ColourSchemeProperty.getColour(sequences, av.alignment.getWidth(), ColourSchemeProperty. getColourName( av.getGlobalColourScheme())); + } cs.setThreshold(av.getGlobalColourScheme().getThreshold(), av.getIgnoreGapsConsensus()); } SequenceGroup sg = new SequenceGroup(sequences, - "TreeGroup", cs, true, true, false, + null, cs, true, true, false, 0, av.alignment.getWidth() - 1); + sg.setName("JTreeGroup:" + sg.hashCode()); + AlignmentPanel[] aps = getAssociatedPanels(); for (int a = 0; a < aps.length; a++) { @@ -847,7 +854,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, { Conservation c = new Conservation("Group", ResidueProperties.propHash, 3, - sg.getSequences(false), + sg.getSequences(null), sg.getStartRes(), sg.getEndRes()); c.calculate(); @@ -901,6 +908,10 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, return PaintRefresher.getAssociatedPanels(av.getSequenceSetId()); } else - return new AlignmentPanel[]{ap}; + { + return new AlignmentPanel[] + { + ap}; + } } }