From 7e3cabd8256e43c8b6cd0681446b0b2fde7697b3 Mon Sep 17 00:00:00 2001 From: jprocter Date: Mon, 1 Jun 2009 15:51:46 +0000 Subject: [PATCH] better tooltip placement in alignment window --- src/jalview/gui/SeqPanel.java | 62 +++++++++++++++++++++++------------------ 1 file changed, 35 insertions(+), 27 deletions(-) diff --git a/src/jalview/gui/SeqPanel.java b/src/jalview/gui/SeqPanel.java index 336532c..b52c710 100755 --- a/src/jalview/gui/SeqPanel.java +++ b/src/jalview/gui/SeqPanel.java @@ -100,9 +100,9 @@ public class SeqPanel extends JPanel implements MouseListener, * Creates a new SeqPanel object. * * @param avp - * DOCUMENT ME! + * DOCUMENT ME! * @param p - * DOCUMENT ME! + * DOCUMENT ME! */ public SeqPanel(AlignViewport av, AlignmentPanel ap) { @@ -524,7 +524,7 @@ public class SeqPanel extends JPanel implements MouseListener, * DOCUMENT ME! * * @param evt - * DOCUMENT ME! + * DOCUMENT ME! */ public void mouseReleased(MouseEvent evt) { @@ -544,7 +544,7 @@ public class SeqPanel extends JPanel implements MouseListener, * DOCUMENT ME! * * @param evt - * DOCUMENT ME! + * DOCUMENT ME! */ public void mousePressed(MouseEvent evt) { @@ -626,7 +626,7 @@ public class SeqPanel extends JPanel implements MouseListener, * DOCUMENT ME! * * @param evt - * DOCUMENT ME! + * DOCUMENT ME! */ public void mouseMoved(MouseEvent evt) { @@ -706,22 +706,27 @@ public class SeqPanel extends JPanel implements MouseListener, setToolTipText(tooltipText.toString()); lastTooltip = tooltipText.toString(); } - + } - + } - /* (non-Javadoc) + /* + * (non-Javadoc) + * * @see javax.swing.JComponent#getToolTipLocation(java.awt.event.MouseEvent) */ public Point getToolTipLocation(MouseEvent event) { - int x=event.getX(),w=getWidth(); - int wdth = (w-x<200) ? -(w/2) : 5; // switch sides when tooltip is too close to edge - Point p = (tooltipText!=null && tooltipText.length()>6) ? - new Point(event.getX()+wdth, event.getY()-20) : null; - /* TODO: try to modify position region is not obcured by tooltip - */ + int x = event.getX(), w = getWidth(); + int wdth = (w - x < 200) ? -(w / 2) : 5; // switch sides when tooltip is too + // close to edge + Point p = (tooltipText != null && tooltipText.length() > 6) ? new Point( + event.getX() + wdth, event.getY() - 20) + : null; + /* + * TODO: try to modify position region is not obcured by tooltip + */ return p; } @@ -733,7 +738,7 @@ public class SeqPanel extends JPanel implements MouseListener, * @param linkImageURL * @param rpos * @param features - * TODO refactor to Jalview 'utilities' somehow. + * TODO refactor to Jalview 'utilities' somehow. */ public static void appendFeatures(StringBuffer tooltipText2, String linkImageURL, int rpos, SequenceFeature[] features) @@ -858,11 +863,11 @@ public class SeqPanel extends JPanel implements MouseListener, * Set status message in alignment panel * * @param sequence - * aligned sequence object + * aligned sequence object * @param res - * alignment column + * alignment column * @param seq - * index of sequence in alignment + * index of sequence in alignment * @return position of res in sequence */ int setStatusMessage(SequenceI sequence, int res, int seq) @@ -906,7 +911,7 @@ public class SeqPanel extends JPanel implements MouseListener, * DOCUMENT ME! * * @param evt - * DOCUMENT ME! + * DOCUMENT ME! */ public void mouseDragged(MouseEvent evt) { @@ -1374,7 +1379,7 @@ public class SeqPanel extends JPanel implements MouseListener, * DOCUMENT ME! * * @param e - * DOCUMENT ME! + * DOCUMENT ME! */ public void mouseEntered(MouseEvent e) { @@ -1394,7 +1399,7 @@ public class SeqPanel extends JPanel implements MouseListener, * DOCUMENT ME! * * @param e - * DOCUMENT ME! + * DOCUMENT ME! */ public void mouseExited(MouseEvent e) { @@ -1458,7 +1463,7 @@ public class SeqPanel extends JPanel implements MouseListener, * DOCUMENT ME! * * @param evt - * DOCUMENT ME! + * DOCUMENT ME! */ public void doMousePressedDefineMode(MouseEvent evt) { @@ -1603,7 +1608,7 @@ public class SeqPanel extends JPanel implements MouseListener, * DOCUMENT ME! * * @param evt - * DOCUMENT ME! + * DOCUMENT ME! */ public void doMouseReleasedDefineMode(MouseEvent evt) { @@ -1653,7 +1658,7 @@ public class SeqPanel extends JPanel implements MouseListener, * DOCUMENT ME! * * @param evt - * DOCUMENT ME! + * DOCUMENT ME! */ public void doMouseDraggedDefineMode(MouseEvent evt) { @@ -1866,9 +1871,12 @@ public class SeqPanel extends JPanel implements MouseListener, { if (av.selectionGroup == null || !av.isSelectionGroupChanged()) { - SequenceGroup sgroup = (seqsel != null) ? seqsel.intersect( - av.alignment, (av.hasHiddenRows) ? av.hiddenRepSequences - : null) : null; + SequenceGroup sgroup = null; + if (seqsel != null) + { + seqsel = seqsel.intersect(av.alignment, + (av.hasHiddenRows) ? av.hiddenRepSequences : null); + } if (sgroup != null && sgroup.getSize() > 0) { av.setSelectionGroup(sgroup); -- 1.7.10.2