// Group editing\r
if (evt.isAltDown() || evt.isControlDown())\r
{\r
- SequenceGroup sg = av.getAlignment().findGroup(startseq);\r
+ SequenceGroup sg = av.getSelectionGroup();\r
+ if(sg==null)\r
+ av.getAlignment().findGroup(startseq);\r
if (sg != null)\r
{\r
boolean deleteAllowed = false;\r
\r
void updateConservation(int i)\r
{\r
- /* Alignment al = (Alignment) av.getAlignment();\r
- SequenceGroup sg = av.alignment.findGroup( al.getSequenceAt(i));\r
- if(sg==null || !(sg.cs instanceof ConservationColourScheme))\r
- return;\r
-\r
- Conservation c = sg.getConservation();\r
-\r
- c = new Conservation("All", al.cons,\r
- ResidueProperties.propHash, 3, sg.sequences, 0,\r
- al.getWidth());\r
- c.calculate();\r
- c.verdict(false, 100);\r
- sg.setConservation(c);\r
- ConservationColourScheme ccs = (ConservationColourScheme)sg.cs;\r
- ccs.conserve = c;*/\r
+ av.updateConservation();\r
+ av.updateConsensus();\r
}\r
\r
//////////////////////////////////////////\r
if(stretchGroup == null)\r
{\r
stretchGroup = av.alignment.findGroup( sequence );\r
- av.setSelectionGroup( stretchGroup );\r
+ if(stretchGroup!=null && res>stretchGroup.getStartRes() && res<stretchGroup.getEndRes())\r
+ av.setSelectionGroup(stretchGroup);\r
+ else\r
+ stretchGroup = null;\r
}\r
\r
else if(!stretchGroup.sequences.contains(sequence)\r
changeStartRes = true;\r
\r
\r
- seqCanvas.paintFlag = true;\r
repaint();\r
\r
}\r
if(stretchGroup.cs instanceof ClustalxColourScheme)\r
{\r
stretchGroup.cs = new ClustalxColourScheme(stretchGroup.sequences, av.alignment.getWidth());\r
- seqCanvas.paintFlag = true;\r
repaint();\r
}\r
\r
{\r
ConservationColourScheme ccs = (ConservationColourScheme)stretchGroup.cs;\r
\r
- Conservation c = new Conservation("Group",\r
- ResidueProperties.propHash, 3, stretchGroup.sequences, 0,\r
- av.alignment.getWidth() );\r
-\r
- c.calculate();\r
- c.verdict(false, 100);\r
- ccs = new ConservationColourScheme(c, ccs.cs);\r
\r
stretchGroup.cs = ccs;\r
\r
\r
Desktop.setConservationSliderSource(ap, stretchGroup.cs, stretchGroup.getName()) ;\r
\r
- seqCanvas.paintFlag = true;\r
repaint();\r
}\r
else\r
else if (y < oldSeq)\r
dragDirection = -1;\r
\r
- while (y != oldSeq && oldSeq>0)\r
+ while (y != oldSeq && oldSeq>0 && y<av.alignment.getHeight())\r
{\r
// This routine ensures we don't skip any sequences, as the\r
// selection is quite slow.\r
if(scrollThread!=null)\r
scrollThread.setEvent(evt);\r
\r
- seqCanvas.paintFlag = true;\r
repaint();\r
}\r
\r
running = ap.scrollRight(false);\r
}\r
\r
- ap.repaint();\r
try\r
{\r
Thread.sleep(75);\r