+ return seqCanvas.globalColorScheme;\r
+ }\r
+\r
+ public void doMousePressedDefineMode(MouseEvent evt)\r
+ {\r
+ int res = evt.getX()/av.getCharWidth() + av.getStartRes();\r
+ int seq = evt.getY()/av.getCharHeight() + av.getStartSeq();\r
+\r
+ stretchGroup = av.alignment.findGroup((Sequence)av.getAlignment().getSequenceAt(seq));\r
+\r
+ if(stretchGroup!=null && stretchGroup.getEndRes()==res)\r
+ {\r
+ // Edit end res position of selected group\r
+ changeEndRes = true;\r
+ }\r
+ else if(stretchGroup!=null && stretchGroup.getStartRes()==res)\r
+ {\r
+ // Edit end res position of selected group\r
+ changeStartRes = true;\r
+ }\r
+\r
+\r
+ }\r
+\r
+ boolean changeEndRes = false;\r
+ boolean changeStartRes = false;\r
+ SequenceGroup stretchGroup = null;\r
+\r
+ public void doMouseReleasedDefineMode(MouseEvent evt)\r
+ {\r
+ changeEndRes = false;\r
+ changeStartRes = false;\r
+ }\r
+\r
+ public void doMouseDraggedDefineMode(MouseEvent evt)\r
+ {\r
+ int res = evt.getX()/av.getCharWidth() + av.getStartRes();\r
+ int seq = evt.getY()/av.getCharHeight() + av.getStartSeq();\r
+\r
+ if(res<av.getStartRes())\r
+ res = av.getStartRes();\r
+ else if(res>av.getEndRes())\r
+ res = av.getEndRes();\r
+\r
+ if(changeEndRes)\r
+ {\r
+ if(res>stretchGroup.getStartRes()-1)\r
+ stretchGroup.setEndRes( res );\r
+ }\r
+ else if(changeStartRes)\r
+ {\r
+ if(res<stretchGroup.getEndRes()+1)\r
+ stretchGroup.setStartRes( res );\r
+ }\r
+ seqCanvas.paintFlag = true;\r
+ repaint();\r
+\r