JAL-2605 exclude left/right scale in sequence column calculation
authorgmungoc <g.m.carstairs@dundee.ac.uk>
Thu, 29 Jun 2017 11:20:15 +0000 (12:20 +0100)
committergmungoc <g.m.carstairs@dundee.ac.uk>
Thu, 29 Jun 2017 11:20:15 +0000 (12:20 +0100)
src/jalview/appletgui/SeqPanel.java
src/jalview/gui/SeqPanel.java

index a72bbaa..5bebe28 100644 (file)
@@ -630,7 +630,7 @@ public class SeqPanel extends Panel implements MouseMotionListener,
 
       int y = evt.getY();
       y -= hgap;
-      x -= seqCanvas.LABEL_WEST;
+      x = Math.max(0, x - seqCanvas.LABEL_WEST);
 
       int cwidth = seqCanvas.getWrappedCanvasWidth(getSize().width);
       if (cwidth < 1)
@@ -641,8 +641,8 @@ public class SeqPanel extends Panel implements MouseMotionListener,
       wrappedBlock = y / cHeight;
       wrappedBlock += av.getRanges().getStartRes() / cwidth;
 
-      res = wrappedBlock * cwidth + x / av.getCharWidth();
-
+      res = wrappedBlock * cwidth
+              + Math.min(cwidth - 1, x / av.getCharWidth());
     }
     else
     {
index 7651eb4..917925b 100644 (file)
@@ -203,7 +203,7 @@ public class SeqPanel extends JPanel implements MouseListener,
 
       int y = evt.getY();
       y -= hgap;
-      x -= seqCanvas.LABEL_WEST;
+      x = Math.max(0, x - seqCanvas.LABEL_WEST);
 
       int cwidth = seqCanvas.getWrappedCanvasWidth(this.getWidth());
       if (cwidth < 1)
@@ -214,8 +214,8 @@ public class SeqPanel extends JPanel implements MouseListener,
       wrappedBlock = y / cHeight;
       wrappedBlock += av.getRanges().getStartRes() / cwidth;
 
-      res = wrappedBlock * cwidth + x / av.getCharWidth();
-
+      res = wrappedBlock * cwidth
+              + Math.min(cwidth - 1, x / av.getCharWidth());
     }
     else
     {