\r
int findSeq(MouseEvent evt)\r
{\r
-\r
int seq = 0;\r
int y = evt.getY();\r
\r
\r
y -= hgap;\r
\r
- seq = ( (y % cHeight) / av.getCharHeight());\r
+ seq = Math.min( (y % cHeight) / av.getCharHeight(),\r
+ av.alignment.getHeight() -1);\r
}\r
else\r
{\r
- seq = (y / av.getCharHeight()) + av.getStartSeq();\r
+ seq = Math.min( (y / av.getCharHeight()) + av.getStartSeq(),\r
+ av.alignment.getHeight() -1);\r
}\r
\r
return seq;\r
return;\r
}\r
\r
+ int alWidth = av.alignment.getWidth();\r
+ if(av.hasHiddenRows)\r
+ {\r
+ int hwidth = av.alignment.getHiddenSequences().getWidth();\r
+ if(hwidth>alWidth)\r
+ alWidth = hwidth;\r
+ }\r
//We can still insert gaps if the selectionGroup\r
//contains all the sequences\r
sg.setEndRes(sg.getEndRes()+startres-lastres);\r
- fixedRight = av.alignment.getWidth()+startres-lastres;\r
+ fixedRight = alWidth+startres-lastres;\r
}\r
else\r
{\r
{\r
if (fixedColumns && fixedRight != -1)\r
{\r
- /*if (sg!=null &&\r
- sg.getStartRes() == 0\r
- && sg.getEndRes() == fixedRight\r
- && !jalview.util.Comparison.isGap(seq.getCharAt(fixedRight)))\r
- {\r
- System.out.println("still here");\r
- //Single sequence edit, whole sequence selected,\r
- //extend the selection group\r
- sg.setEndRes(av.alignment.getWidth() -1 + startres - lastres);\r
- fixedColumns = false;\r
- insertChar(j, seq);\r
- }\r
- else*/\r
insertChar(j, seq, fixedRight);\r
}\r
else\r
\r
if (blankColumn <= j)\r
{\r
+ blankColumn = fixedColumn;\r
endEditing();\r
return;\r
}\r
\r
}\r
\r
- if (av.cursorMode)\r
- {\r
- seqCanvas.cursorX = findRes(evt);\r
- seqCanvas.cursorY = findSeq(evt);\r
- seqCanvas.repaint();\r
- return;\r
- }\r
-\r
\r
if (javax.swing.SwingUtilities.isRightMouseButton(evt))\r
{\r
\r
jalview.gui.PopupMenu pop = new jalview.gui.PopupMenu(ap, null, links);\r
pop.show(this, evt.getX(), evt.getY());\r
+ return;\r
+ }\r
\r
+ if (av.cursorMode)\r
+ {\r
+ seqCanvas.cursorX = findRes(evt);\r
+ seqCanvas.cursorY = findSeq(evt);\r
+ seqCanvas.repaint();\r
+ return;\r
}\r
- else if (stretchGroup == null)\r
+\r
+ if (stretchGroup == null)\r
{\r
//Only if left mouse button do we want to change group sizes\r
\r
return;\r
}\r
\r
-\r
- if(y > av.alignment.getHeight())\r
- {\r
- y = av.alignment.getHeight() -1;\r
- }\r
if(res> av.alignment.getWidth())\r
{\r
res = av.alignment.getWidth()-1;\r