if (evt.isPopupTrigger()) // Mac: mousePressed
{
rightMouseButtonPressed(evt, res);
+ return;
}
- else if (SwingUtilities.isRightMouseButton(evt) && !Platform.isAMac())
+ if (Platform.isWinRightButton(evt))
{
/*
* defer right-mouse click handling to mouse up on Windows
*/
return;
}
- else
- {
- leftMouseButtonPressed(evt, res);
- }
+ leftMouseButtonPressed(evt, res);
}
/**
}
/**
- * DOCUMENT ME!
+ * Action on mouseUp is to set the limit of the current selection group (if
+ * there is one) and broadcast the selection
*
* @param evt
- * DOCUMENT ME!
*/
@Override
public void mouseReleased(MouseEvent evt)
mouseDragging = false;
ap.getSeqPanel().stopScrolling();
- int res = (evt.getX() / av.getCharWidth())
+ // todo res calculation should be a method on AlignViewport
+ int xCords = Math.max(0, evt.getX()); // prevent negative X coordinates
+
+ int res = (xCords / av.getCharWidth())
+ av.getRanges().getStartRes();
if (av.hasHiddenColumns())
res = av.getAlignment().getHiddenColumns()
.visibleToAbsoluteColumn(res);
}
-
res = Math.min(res, av.getAlignment().getWidth() - 1);
if (!stretchingGroup)
{
if (mouseDragging)
{
+ mouseDragging = false;
ap.getSeqPanel().stopScrolling();
}
}
@Override
public void paintComponent(Graphics g)
{
- super.paintComponent(g);
+ //super.paintComponent(g); // BH 2019
/*
* shouldn't get called in wrapped mode as the scale above is