SequenceGroup is now an array
authoramwaterhouse <Andrew Waterhouse>
Thu, 13 Jan 2005 18:10:06 +0000 (18:10 +0000)
committeramwaterhouse <Andrew Waterhouse>
Thu, 13 Jan 2005 18:10:06 +0000 (18:10 +0000)
src/jalview/gui/SeqCanvas.java
src/jalview/gui/SeqPanel.java

index 6639774..7f30c24 100755 (executable)
@@ -209,6 +209,7 @@ public class SeqCanvas extends JPanel
 \r
     SequenceI nextSeq;\r
     SequenceGroup group=null;\r
+    SequenceGroup [] groups=null;\r
     boolean inGroup=false; // are we in a defined group?\r
     boolean inRB=false; //Are we in a rubberband group?\r
     int sx=-1, sy=-1, ex=-1, ey=-1;\r
@@ -219,8 +220,9 @@ public class SeqCanvas extends JPanel
      nextSeq = av.getAlignment().getSequenceAt(i);\r
 \r
      group = av.alignment.findGroup( nextSeq );\r
+     groups = av.alignment.findAllGroups( nextSeq );\r
 \r
-     sr.drawSequence(g, nextSeq, group,x1,x2,\r
+     sr.drawSequence(g, nextSeq, groups,x1,x2,\r
                  (x1 - startx) * charWidth,\r
                  offset + AlignmentUtil.getPixelHeight(starty, i, av.getCharHeight()),\r
                  charWidth,charHeight,null, i);\r
index 9dcebd2..468fadb 100755 (executable)
@@ -333,6 +333,20 @@ public class SeqPanel extends JPanel
             || stretchGroup.getEndRes()<res)\r
      {\r
        stretchGroup = null;\r
+\r
+       SequenceGroup[] allGroups = av.alignment.findAllGroups( (Sequence) av.\r
+           getAlignment().\r
+           getSequenceAt(seq));\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.setRubberbandGroup(stretchGroup);\r
+             break;\r
+           }\r
      }\r
 \r
     if(stretchGroup==null)\r