X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FTreeCanvas.java;h=149a5879a6ad28f503b3b364e52225d958adca19;hb=65d6d09cd08743d481d39521bb0298ea683888f8;hp=1bce84b3711c21b7819b6b515cf5f24d56c6788d;hpb=be32c14cd8e48fe0a207cd7030cb9cd46f894678;p=jalview.git diff --git a/src/jalview/gui/TreeCanvas.java b/src/jalview/gui/TreeCanvas.java index 1bce84b..149a587 100755 --- a/src/jalview/gui/TreeCanvas.java +++ b/src/jalview/gui/TreeCanvas.java @@ -27,11 +27,13 @@ import jalview.datamodel.Sequence; import jalview.datamodel.SequenceGroup; import jalview.datamodel.SequenceI; import jalview.datamodel.SequenceNode; +import jalview.schemes.Colour; import jalview.schemes.ColourSchemeI; import jalview.schemes.ColourSchemeProperty; import jalview.schemes.ResidueProperties; import jalview.schemes.UserColourScheme; import jalview.structure.SelectionSource; +import jalview.util.ColorUtils; import jalview.util.Format; import jalview.util.MappingUtils; import jalview.util.MessageManager; @@ -59,7 +61,6 @@ import java.util.Vector; import javax.swing.JColorChooser; import javax.swing.JPanel; import javax.swing.JScrollPane; -import javax.swing.SwingUtilities; import javax.swing.ToolTipManager; /** @@ -246,7 +247,8 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, } else { - g.setColor(av.getSequenceColour(seq).darker()); + g.setColor(ColorUtils.getColor(av.getSequenceColour(seq)) + .darker()); } } else @@ -294,8 +296,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, SequenceGroup selected = av.getSelectionGroup(); if ((selected != null) - && selected.getSequences(null).contains( - node.element())) + && selected.getSequences(null).contains(node.element())) { g.setColor(Color.gray); @@ -524,7 +525,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, for (int a = 0; a < aps.length; a++) { final SequenceI seq = (SequenceI) node.element(); - aps[a].av.setSequenceColour(seq, c); + aps[a].av.setSequenceColour(seq, new Colour(c)); } } } @@ -547,6 +548,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, } // put printing in a thread to avoid painting problems + @Override public void run() { PrinterJob printJob = PrinterJob.getPrinterJob(); @@ -581,6 +583,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, * @throws PrinterException * DOCUMENT ME! */ + @Override public int print(Graphics pg, PageFormat pf, int pi) throws PrinterException { @@ -635,6 +638,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, * @param g * DOCUMENT ME! */ + @Override public void paintComponent(Graphics g) { super.paintComponent(g); @@ -678,6 +682,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, * @param fontSize * DOCUMENT ME! */ + @Override public void setFont(Font font) { this.font = font; @@ -713,8 +718,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, labelLength = fm.stringWidth(longestName) + 20; // 20 allows for scrollbar - float wscale = (width - labelLength - (offx * 2)) - / tree.getMaxHeight(); + float wscale = (width - labelLength - (offx * 2)) / tree.getMaxHeight(); SequenceNode top = tree.getTopNode(); @@ -751,6 +755,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, * @param e * DOCUMENT ME! */ + @Override public void mouseReleased(MouseEvent e) { } @@ -761,6 +766,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, * @param e * DOCUMENT ME! */ + @Override public void mouseEntered(MouseEvent e) { } @@ -771,6 +777,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, * @param e * DOCUMENT ME! */ + @Override public void mouseExited(MouseEvent e) { } @@ -781,14 +788,16 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, * @param e * DOCUMENT ME! */ + @Override public void mouseClicked(MouseEvent evt) { if (highlightNode != null) { - if (SwingUtilities.isRightMouseButton(evt)) + if (evt.isPopupTrigger()) { Color col = JColorChooser.showDialog(this, - MessageManager.getString("label.select_subtree_colour"), highlightNode.color); + MessageManager.getString("label.select_subtree_colour"), + highlightNode.color); if (col != null) { setColor(highlightNode, col); @@ -819,6 +828,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, } } + @Override public void mouseMoved(MouseEvent evt) { av.setCurrentTree(tree); @@ -844,6 +854,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, } } + @Override public void mouseDragged(MouseEvent ect) { } @@ -854,6 +865,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, * @param e * DOCUMENT ME! */ + @Override public void mousePressed(MouseEvent e) { av.setCurrentTree(tree); @@ -892,12 +904,13 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, aps[a].av.setSelectionGroup(null); aps[a].av.getAlignment().deleteAllGroups(); aps[a].av.clearSequenceColours(); - } - if (av.getCodingComplement() != null) - { - av.getCodingComplement().setSelectionGroup(null); - av.getCodingComplement().getAlignment().deleteAllGroups(); - av.getCodingComplement().clearSequenceColours(); + if (aps[a].av.getCodingComplement() != null) + { + aps[a].av.getCodingComplement().setSelectionGroup(null); + aps[a].av.getCodingComplement().getAlignment() + .deleteAllGroups(); + aps[a].av.getCodingComplement().clearSequenceColours(); + } } colourGroups(); } @@ -978,41 +991,46 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, } aps[a].av.getAlignment().addGroup(new SequenceGroup(sg)); - } - - // TODO can we push all of the below into AlignViewportI? - av.getAlignment().addGroup(sg); - final AlignViewportI codingComplement = av.getCodingComplement(); - if (codingComplement != null) - { - SequenceGroup mappedGroup = MappingUtils.mapSequenceGroup(sg, av, - codingComplement); - if (mappedGroup.getSequences().size() > 0) + // TODO can we push all of the below into AlignViewportI? + final AlignViewportI codingComplement = aps[a].av + .getCodingComplement(); + if (codingComplement != null) { - codingComplement.getAlignment().addGroup(mappedGroup); - for (SequenceI seq : mappedGroup.getSequences()) + if (codingComplement != null) { - codingComplement.setSequenceColour(seq, col.brighter()); + SequenceGroup mappedGroup = MappingUtils.mapSequenceGroup(sg, + av, codingComplement); + if (mappedGroup.getSequences().size() > 0) + { + codingComplement.getAlignment().addGroup(mappedGroup); + for (SequenceI seq : mappedGroup.getSequences()) + { + codingComplement.setSequenceColour(seq, + new Colour(col.brighter())); + } + } } } } } - // notify the panel to redo any group specific stuff. + // notify the panel(s) 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 - } + final AlignViewportI codingComplement = aps[a].av + .getCodingComplement(); + if (codingComplement != null) + { + ((AlignViewport) codingComplement).getAlignPanel() + .updateAnnotation(); + + } - if (av.getCodingComplement() != null) - { - ((AlignViewport) av.getCodingComplement()).getAlignPanel().updateAnnotation(); - /* - * idPanel. repaint () - */ } + } /** @@ -1059,8 +1077,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, } else { - return new AlignmentPanel[] - { ap }; + return new AlignmentPanel[] { ap }; } } }