formatting
[jalview.git] / src / jalview / datamodel / AlignmentView.java
index 21b5e7f..a23aad5 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6)\r
- * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle\r
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)\r
+ * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle\r
  * \r
  * This file is part of Jalview.\r
  * \r
@@ -21,6 +21,7 @@ import jalview.util.ShiftList;
 \r
 import java.io.PrintStream;\r
 import java.util.Enumeration;\r
+import java.util.List;\r
 import java.util.Vector;\r
 \r
 /**\r
@@ -105,9 +106,9 @@ public class AlignmentView
     SequenceI[] selseqs;\r
     if (selection != null)\r
     {\r
-      Vector sel = selection.getSequences(null);\r
+      List<SequenceI> sel = selection.getSequences(null);\r
       this.selected = new Vector();\r
-      selseqs = selection.getSequencesInOrder(alignment, false);\r
+      selseqs = selection.getSequencesInOrder(alignment, selectedRegionOnly);\r
     }\r
     else\r
     {\r
@@ -116,12 +117,8 @@ public class AlignmentView
 \r
     // get the alignment's group list and make a copy\r
     Vector grps = new Vector();\r
-    Vector gg = alignment.getGroups();\r
-    Enumeration gge = gg.elements();\r
-    while (gge.hasMoreElements())\r
-    {\r
-      grps.addElement(gge.nextElement());\r
-    }\r
+    List<SequenceGroup> gg = alignment.getGroups();\r
+    grps.addAll(gg);\r
     ScGroup[] sgrps = null;\r
     boolean addedgps[] = null;\r
     if (grps != null)\r
@@ -351,9 +348,14 @@ public class AlignmentView
                 continue;\r
               }\r
             }\r
+\r
+            // clone group properties\r
+            nsg[g] = new SequenceGroup(sg);\r
+\r
             // may need to shift/trim start and end ?\r
             if (r && !viscontigs)\r
             {\r
+              // Not fully tested code - routine not yet called with viscontigs==false\r
               if (nsg[g].getStartRes() < gstart)\r
               {\r
                 nsg[g].setStartRes(0);\r
@@ -363,14 +365,11 @@ public class AlignmentView
                 nsg[g].setStartRes(nsg[g].getStartRes() - gstart);\r
                 nsg[g].setEndRes(nsg[g].getEndRes() - gstart);\r
               }\r
-              if (nsg[g].getEndRes() > gend)\r
+              if (nsg[g].getEndRes() > (gend-gstart))\r
               {\r
-                nsg[g].setEndRes(gend);\r
+                nsg[g].setEndRes(gend-gstart);\r
               }\r
             }\r
-\r
-            // clone group properties\r
-            nsg[g] = new SequenceGroup(sg);\r
           }\r
           if (viscontigs)\r
           {\r
@@ -1045,12 +1044,10 @@ public class AlignmentView
                 + " wide and has " + visal.getHeight() + " seqs.");\r
         if (visal.getGroups() != null && visal.getGroups().size() > 0)\r
         {\r
-          SequenceGroup sg;\r
-          Enumeration en = visal.getGroups().elements();\r
+          \r
           int i = 1;\r
-          while (en.hasMoreElements())\r
+          for (SequenceGroup sg:visal.getGroups())\r
           {\r
-            sg = (SequenceGroup) en.nextElement();\r
             os.println("Group " + (i++) + " begins at column "\r
                     + sg.getStartRes() + " and ends at " + sg.getEndRes());\r
           }\r