Merge branch 'develop' into features/JAL-250_hideredundantseqs
[jalview.git] / src / jalview / controller / AlignViewController.java
index dd05843..d303b0d 100644 (file)
@@ -38,6 +38,7 @@ import jalview.io.FeaturesFile;
 import jalview.util.MessageManager;
 
 import java.awt.Color;
+import java.util.Arrays;
 import java.util.BitSet;
 import java.util.List;
 
@@ -103,29 +104,36 @@ public class AlignViewController implements AlignViewControllerI
     }
     if (gps != null)
     {
-      viewport.getAlignment().deleteAllGroups();
-      viewport.clearSequenceColours();
-      viewport.setSelectionGroup(null);
-      // set view properties for each group
-      for (int g = 0; g < gps.length; g++)
-      {
-        // gps[g].setShowunconserved(viewport.getShowUnconserved());
-        gps[g].setshowSequenceLogo(viewport.isShowSequenceLogo());
-        viewport.getAlignment().addGroup(gps[g]);
-        Color col = new Color((int) (Math.random() * 255),
-                (int) (Math.random() * 255), (int) (Math.random() * 255));
-        col = col.brighter();
-        for (SequenceI sq : gps[g].getSequences(null))
-        {
-          viewport.setSequenceColour(sq, col);
-        }
-      }
+      showRandomColoursForGroups(Arrays.asList(gps));
+
       return true;
     }
     return false;
   }
 
   @Override
+  public void showRandomColoursForGroups(List<SequenceGroup> gps)
+  {
+    viewport.getAlignment().deleteAllGroups();
+    viewport.clearSequenceColours();
+    viewport.setSelectionGroup(null);
+    // set view properties for each group
+    for (SequenceGroup sg : gps)
+    {
+      // gps[g].setShowunconserved(viewport.getShowUnconserved());
+      sg.setshowSequenceLogo(viewport.isShowSequenceLogo());
+      viewport.getAlignment().addGroup(sg);
+      Color col = new Color((int) (Math.random() * 255),
+              (int) (Math.random() * 255), (int) (Math.random() * 255));
+      col = col.brighter();
+      for (SequenceI sq : sg.getSequences(null))
+      {
+        viewport.setSequenceColour(sq, col);
+      }
+    }
+  }
+
+  @Override
   public boolean createGroup()
   {