JAL-3127 pass reference to AlignViewportI when creating an instance of ColourSchemeI
[jalview.git] / src / jalview / schemes / ColourSchemes.java
index 99e9759..c3d0ea0 100644 (file)
@@ -20,6 +20,7 @@
  */
 package jalview.schemes;
 
+import jalview.api.AlignViewportI;
 import jalview.datamodel.AnnotatedCollectionI;
 import jalview.datamodel.SequenceCollectionI;
 import jalview.datamodel.SequenceI;
@@ -65,7 +66,7 @@ public class ColourSchemes
      * store in an order-preserving map, so items can be added to menus 
      * in the order in which they are 'discovered'
      */
-    schemes = new LinkedHashMap<String, ColourSchemeI>();
+    schemes = new LinkedHashMap<>();
 
     for (JalviewColourScheme cs : JalviewColourScheme.values())
     {
@@ -76,6 +77,7 @@ public class ColourSchemes
       {
         System.err.println("Error instantiating colour scheme for "
                 + cs.toString() + " " + e.getMessage());
+        e.printStackTrace();
       }
     }
   }
@@ -126,6 +128,7 @@ public class ColourSchemes
    * 
    * @param name
    *          name of the colour scheme
+   * @param viewport
    * @param forData
    *          the data to be coloured
    * @param optional
@@ -134,7 +137,7 @@ public class ColourSchemes
    * @return
    */
   public ColourSchemeI getColourScheme(String name,
-          AnnotatedCollectionI forData,
+          AlignViewportI viewport, AnnotatedCollectionI forData,
           Map<SequenceI, SequenceCollectionI> hiddenRepSequences)
   {
     if (name == null)
@@ -142,7 +145,8 @@ public class ColourSchemes
       return null;
     }
     ColourSchemeI cs = schemes.get(name.toLowerCase());
-    return cs == null ? null : cs.getInstance(forData, hiddenRepSequences);
+    return cs == null ? null
+            : cs.getInstance(viewport, forData, hiddenRepSequences);
   }
 
   /**
@@ -158,7 +162,7 @@ public class ColourSchemes
   public ColourSchemeI getColourScheme(String name,
           AnnotatedCollectionI forData)
   {
-    return getColourScheme(name, forData, null);
+    return getColourScheme(name, null, forData, null);
   }
 
   /**