Merge branch 'docs/2_8_1_Release' into Release_2_8_1_Branch
[jalview.git] / src / jalview / gui / SliderPanel.java
index fa6e55e..aa4aa64 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * PURPOSE.  See the GNU General Public License for more details.
  * 
  * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
  */
 package jalview.gui;
 
@@ -266,47 +267,34 @@ public class SliderPanel extends GSliderPanel
       return;
     }
 
-    ColourSchemeI toChange = null;
-    List<SequenceGroup> allGroups = null;
-    int groupIndex = 0;
+    ColourSchemeI toChange = cs;
+    Iterator<SequenceGroup> allGroups = null;
 
     if (allGroupsCheck.isSelected())
     {
-      allGroups = ap.av.getAlignment().getGroups();
-      groupIndex = allGroups.size() - 1;
-    }
-    else
-    {
-      toChange = cs;
+      allGroups = ap.av.getAlignment().getGroups().listIterator();
     }
 
-    while (groupIndex > -1)
+    while (toChange != null)
     {
-      if (allGroups != null)
-      {
-        toChange = ((SequenceGroup) allGroups.get(groupIndex)).cs;
-
-        if (toChange == null)
-        {
-          groupIndex--;
-
-          continue;
-        }
-      }
-
       if (forConservation)
       {
-        if (toChange.conservationApplied())
-        {
-          toChange.setConservationInc(i);
-        }
+        toChange.setConservationInc(i);
       }
       else
       {
         toChange.setThreshold(i, ap.av.getIgnoreGapsConsensus());
       }
-
-      groupIndex--;
+      if (allGroups != null && allGroups.hasNext())
+      {
+        while ((toChange = allGroups.next().cs) == null
+                && allGroups.hasNext())
+          ;
+      }
+      else
+      {
+        toChange = null;
+      }
     }
 
     ap.seqPanel.seqCanvas.repaint();