- 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
- // sg.cs = new ConservationColourScheme(sg);\r
+ stretchGroup = av.getSelectionGroup();\r
+\r
+ if(stretchGroup == null)\r
+ {\r
+ stretchGroup = av.alignment.findGroup( sequence );\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
+ || stretchGroup.getStartRes()>res\r
+ || stretchGroup.getEndRes()<res)\r
+ {\r
+ stretchGroup = null;\r
+\r
+ SequenceGroup[] allGroups = av.alignment.findAllGroups( sequence );\r
+\r
+ if (allGroups != null)\r
+ for (int i = 0; i < allGroups.length; i++)\r
+ if (allGroups[i].getStartRes() <= res &&\r
+ allGroups[i].getEndRes() >= res)\r
+ {\r
+ stretchGroup = allGroups[i];\r
+ av.setSelectionGroup(stretchGroup);\r
+ break;\r
+ }\r
+ }\r
+\r
+ if(stretchGroup==null)\r
+ {\r
+ // define a new group here\r
+ SequenceGroup sg = new SequenceGroup();\r
+ sg.setStartRes(res);\r
+ sg.setEndRes(res);\r
+ sg.addSequence( sequence );\r
+ av.setSelectionGroup( sg );\r
+ stretchGroup = sg;\r
+\r
+ if(av.getConservationSelected())\r
+ SliderPanel.setConservationSlider(ap, av.getGlobalColourScheme(), "Background");\r
+ if(av.getAbovePIDThreshold())\r
+ SliderPanel.setPIDSliderSource(ap, av.getGlobalColourScheme(), "Background");\r
+\r
+ }\r
+ else if( javax.swing.SwingUtilities.isRightMouseButton(evt))\r
+ {\r
+ jalview.gui.PopupMenu pop = new jalview.gui.PopupMenu( ap , null);\r
+ pop.show(this, evt.getX(), evt.getY());\r
+\r
+ // edit the properties of existing group\r
+ }\r
+\r
+ if(stretchGroup!=null && stretchGroup.getEndRes()==res)\r
+ // Edit end res position of selected group\r
+ changeEndRes = true;\r
+\r
+ else if(stretchGroup!=null && stretchGroup.getStartRes()==res)\r
+ // Edit end res position of selected group\r
+ changeStartRes = true;\r
+\r
+\r
+ repaint();\r
+\r