public void setPos(int x, int y) { /* after much to-ing and fro-ing it has become apparent that pos(itions) within a row's seqwrapper are 0-based (Not 1-based as the sequence is */ this.tier = baseEditorPanel.getTierForPixelPosition(y); // method of SeqAlignPanel this.pos = calculatePosition(x, y); }
/** * makes cursor hand if at the end of an exon using mouses position, does not change pos or tier * variable */ public void mouseMoved(MouseEvent e) { // setPos sets the pos variable to the mouse position, cant do this // because on right click menu want to preserve the pos clicked on // and setPos here changes pos if user moves mouse after right click // setPos (e.getX(), e.getY()); // moveMouseTier and moveMousePos can differ from this.tier and pos int mouseMoveTier = baseEditorPanel.getTierForPixelPosition(e.getY()); // SeqAlignPanel int mouseMovePos = calculatePosition(e.getX(), e.getY()); // make the cursor a hand if it is at the end of a feature int type = baseEditorPanel.getBoundaryType(mouseMovePos, mouseMoveTier); if (type == baseEditorPanel.NO_BOUNDARY) baseEditorPanel.setCursor(Cursor.getDefaultCursor()); else baseEditorPanel.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); }