+ mouseDragging = false;\r
+\r
+ if (stretchGroup == null)\r
+ {\r
+ return;\r
+ }\r
+\r
+ stretchGroup.recalcConservation();\r
+\r
+ if (stretchGroup.cs instanceof ClustalxColourScheme)\r
+ {\r
+ stretchGroup.cs = new ClustalxColourScheme(stretchGroup.sequences,\r
+ av.alignment.getWidth());\r
+ }\r
+ else if (stretchGroup.cs instanceof ConservationColourScheme)\r
+ {\r
+ ConservationColourScheme ccs = (ConservationColourScheme) stretchGroup.cs;\r
+ stretchGroup.cs = ccs;\r
+ SliderPanel.setConservationSlider(ap, stretchGroup.cs,\r
+ stretchGroup.getName());\r
+\r
+ }\r
+ else\r
+ {\r
+ SliderPanel.setPIDSliderSource(ap, stretchGroup.cs,\r
+ stretchGroup.getName());\r
+ }\r
+\r
+ changeEndRes = false;\r
+ changeStartRes = false;\r
+ stretchGroup = null;\r
+ repaint();\r
+ ap.idPanel.repaint();\r
+ }\r
+\r
+ public void doMouseDraggedDefineMode(MouseEvent evt)\r
+ {\r
+ int res = (evt.getX() / av.getCharWidth()) + av.getStartRes();\r
+ int y = (evt.getY() / av.getCharHeight()) + av.getStartSeq();\r
+\r
+ if (stretchGroup == null)\r
+ {\r
+ return;\r
+ }\r
+\r
+ if (res > av.alignment.getWidth())\r
+ {\r
+ res = av.alignment.getWidth() - 1;\r
+ }\r
+\r
+ if (stretchGroup.getEndRes() == res)\r
+ {\r
+ // Edit end res position of selected group\r
+ changeEndRes = true;\r
+ }\r
+ else if (stretchGroup.getStartRes() == res)\r
+ {\r
+ // Edit start res position of selected group\r
+ changeStartRes = true;\r
+ }\r
+\r
+ if (res < av.getStartRes())\r
+ {\r
+ res = av.getStartRes();\r
+ }\r
+ else if (res > av.getEndRes())\r
+ {\r
+ res = av.getEndRes();\r
+ }\r
+\r
+ if (changeEndRes)\r
+ {\r
+ if (res > (stretchGroup.getStartRes() - 1))\r
+ {\r
+ stretchGroup.setEndRes(res);\r
+ }\r
+ }\r
+ else if (changeStartRes)\r
+ {\r
+ if (res < (stretchGroup.getEndRes() + 1))\r
+ {\r
+ stretchGroup.setStartRes(res);\r
+ }\r
+ }\r