X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fgui%2FTreeCanvas.java;h=a0296ec6167e52a8fa96c174352baacf1d5cc5a9;hb=bd7b3138379c2db8507fe7e8d25f5a921e2d9df7;hp=7dc1a9983157b649a101c7b6a0dfd919a1f53c1c;hpb=3d0101179759ef157b088ea135423cd909512d9f;p=jalview.git diff --git a/src/jalview/gui/TreeCanvas.java b/src/jalview/gui/TreeCanvas.java index 7dc1a99..a0296ec 100755 --- a/src/jalview/gui/TreeCanvas.java +++ b/src/jalview/gui/TreeCanvas.java @@ -27,6 +27,7 @@ import jalview.datamodel.Sequence; import jalview.datamodel.SequenceGroup; import jalview.datamodel.SequenceI; import jalview.datamodel.SequenceNode; +import jalview.gui.JalviewColourChooser.ColourChooserListener; import jalview.schemes.ColourSchemeI; import jalview.schemes.ColourSchemeProperty; import jalview.schemes.UserColourScheme; @@ -56,7 +57,6 @@ import java.util.Hashtable; import java.util.List; import java.util.Vector; -import javax.swing.JColorChooser; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.SwingUtilities; @@ -80,9 +80,9 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, TreePanel tp; - AlignViewport av; + private AlignViewport av; - AlignmentPanel ap; + private AlignmentPanel ap; Font font; @@ -100,7 +100,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, int offy; - float threshold; + private float threshold; String longestName; @@ -130,7 +130,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, { this.tp = tp; this.av = ap.av; - this.ap = ap; + this.setAssociatedPanel(ap); font = av.getFont(); scrollPane = scroller; addMouseListener(this); @@ -841,15 +841,17 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, */ void chooseSubtreeColour() { - Color col = JColorChooser.showDialog(this, - MessageManager.getString("label.select_subtree_colour"), - highlightNode.color); - if (col != null) - { - setColor(highlightNode, col); - PaintRefresher.Refresh(tp, ap.av.getSequenceSetId()); - repaint(); - } + String ttl = MessageManager.getString("label.select_subtree_colour"); + ColourChooserListener listener = new ColourChooserListener() { + @Override + public void colourSelected(Color c) + { + setColor(highlightNode, c); + PaintRefresher.Refresh(tp, ap.av.getSequenceSetId()); + repaint(); + } + }; + JalviewColourChooser.showColourChooser(this, ttl, highlightNode.color, listener); } @Override @@ -928,7 +930,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, if (ob instanceof SequenceI) { treeSelectionChanged((Sequence) ob); - PaintRefresher.Refresh(tp, ap.av.getSequenceSetId()); + PaintRefresher.Refresh(tp, getAssociatedPanel().av.getSequenceSetId()); repaint(); av.sendSelection(); return; @@ -962,9 +964,18 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, } } colourGroups(groups); + + /* + * clear partition (don't show vertical line) if + * it is to the right of all nodes + */ + if (groups.isEmpty()) + { + threshold = 0f; + } } - PaintRefresher.Refresh(tp, ap.av.getSequenceSetId()); + PaintRefresher.Refresh(tp, getAssociatedPanel().av.getSequenceSetId()); repaint(); } @@ -981,7 +992,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, Vector l = tree.findLeaves(groups.get(i)); - Vector sequences = new Vector(); + Vector sequences = new Vector<>(); for (int j = 0; j < l.size(); j++) { @@ -1118,7 +1129,37 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, } else { - return new AlignmentPanel[] { ap }; + return new AlignmentPanel[] { getAssociatedPanel() }; } } + + public AlignmentPanel getAssociatedPanel() + { + return ap; + } + + public void setAssociatedPanel(AlignmentPanel ap) + { + this.ap = ap; + } + + public AlignViewport getViewport() + { + return av; + } + + public void setViewport(AlignViewport av) + { + this.av = av; + } + + public float getThreshold() + { + return threshold; + } + + public void setThreshold(float threshold) + { + this.threshold = threshold; + } }