X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FTreeCanvas.java;h=29ba52b4203913dafd8a5b0097329d95723e3b89;hb=ead01b555e8b1d6322cecdf7780222c73143a03a;hp=f353d2873450d95872380cabbc697d51f76bb852;hpb=4265a395749b667cf7d558b8bad40ee2a57b6972;p=jalview.git diff --git a/src/jalview/gui/TreeCanvas.java b/src/jalview/gui/TreeCanvas.java index f353d28..29ba52b 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.structure.SelectionSource; import jalview.util.Format; @@ -53,7 +54,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; @@ -77,9 +77,9 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, TreePanel tp; - AlignViewport av; + private AlignViewport av; - AlignmentPanel ap; + private AlignmentPanel ap; Font font; @@ -97,7 +97,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, int offy; - float threshold; + private float threshold; String longestName; @@ -127,7 +127,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); @@ -830,15 +830,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 @@ -917,7 +919,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; @@ -949,6 +951,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, .deleteAllGroups(); aps[a].av.getCodingComplement().clearSequenceColours(); } + aps[a].av.setUpdateStructures(true); } colourGroups(groups); @@ -962,7 +965,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, } } - PaintRefresher.Refresh(tp, ap.av.getSequenceSetId()); + PaintRefresher.Refresh(tp, getAssociatedPanel().av.getSequenceSetId()); repaint(); } @@ -1088,7 +1091,47 @@ 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; + } + + public boolean isApplyToAllViews() + { + return this.applyToAllViews; + } + + public void setApplyToAllViews(boolean applyToAllViews) + { + this.applyToAllViews = applyToAllViews; + } }