JAL-2094 first pass with jalview.api.ColorI interface
[jalview.git] / src / jalview / ext / rbvi / chimera / ChimeraCommands.java
index 5342dc8..930d6fe 100644 (file)
@@ -20,6 +20,7 @@
  */
 package jalview.ext.rbvi.chimera;
 
+import jalview.api.ColorI;
 import jalview.api.FeatureRenderer;
 import jalview.api.SequenceRenderer;
 import jalview.datamodel.AlignmentI;
@@ -30,7 +31,6 @@ import jalview.structure.StructureSelectionManager;
 import jalview.util.ColorUtils;
 import jalview.util.Comparison;
 
-import java.awt.Color;
 import java.util.ArrayList;
 import java.util.LinkedHashMap;
 import java.util.List;
@@ -58,7 +58,7 @@ public class ChimeraCommands
           SequenceI[][] sequence, SequenceRenderer sr, FeatureRenderer fr,
           AlignmentI alignment)
   {
-    Map<Color, Map<Integer, Map<String, List<int[]>>>> colourMap = buildColoursMap(
+    Map<ColorI, Map<Integer, Map<String, List<int[]>>>> colourMap = buildColoursMap(
             ssm, files, sequence, sr, fr, alignment);
 
     List<String> colourCommands = buildColourCommands(colourMap);
@@ -86,7 +86,7 @@ public class ChimeraCommands
    * @return
    */
   protected static List<String> buildColourCommands(
-          Map<Color, Map<Integer, Map<String, List<int[]>>>> colourMap)
+          Map<ColorI, Map<Integer, Map<String, List<int[]>>>> colourMap)
   {
     /*
      * This version concatenates all commands into a single String (semi-colon
@@ -96,7 +96,7 @@ public class ChimeraCommands
     List<String> commands = new ArrayList<String>();
     StringBuilder sb = new StringBuilder(256);
     boolean firstColour = true;
-    for (Color colour : colourMap.keySet())
+    for (ColorI colour : colourMap.keySet())
     {
       String colourCode = ColorUtils.toTkCode(colour);
       if (!firstColour)
@@ -161,13 +161,13 @@ public class ChimeraCommands
    * Ordering is by order of addition (for colours and positions), natural ordering (for models and chains)
    * </pre>
    */
-  protected static Map<Color, Map<Integer, Map<String, List<int[]>>>> buildColoursMap(
+  protected static Map<ColorI, Map<Integer, Map<String, List<int[]>>>> buildColoursMap(
           StructureSelectionManager ssm, String[] files,
           SequenceI[][] sequence, SequenceRenderer sr, FeatureRenderer fr,
           AlignmentI alignment)
   {
-    Map<Color, Map<Integer, Map<String, List<int[]>>>> colourMap = new LinkedHashMap<Color, Map<Integer, Map<String, List<int[]>>>>();
-    Color lastColour = null;
+    Map<ColorI, Map<Integer, Map<String, List<int[]>>>> colourMap = new LinkedHashMap<ColorI, Map<Integer, Map<String, List<int[]>>>>();
+    ColorI lastColour = null;
     for (int pdbfnum = 0; pdbfnum < files.length; pdbfnum++)
     {
       StructureMapping[] mapping = ssm.getMapping(files[pdbfnum]);
@@ -202,7 +202,7 @@ public class ChimeraCommands
                 continue;
               }
 
-              Color colour = sr.getResidueColour(seq, r, fr);
+              ColorI colour = sr.getResidueColour(seq, r, fr);
               final String chain = mapping[m].getChain();
 
               /*
@@ -232,7 +232,7 @@ public class ChimeraCommands
               addColourRange(colourMap, lastColour, pdbfnum, startPos,
                       lastPos, lastChain);
             }
-            break;
+            // break;
           }
         }
       }
@@ -251,8 +251,8 @@ public class ChimeraCommands
    * @param chain
    */
   protected static void addColourRange(
-          Map<Color, Map<Integer, Map<String, List<int[]>>>> colourMap,
-          Color colour, int model, int startPos, int endPos, String chain)
+          Map<ColorI, Map<Integer, Map<String, List<int[]>>>> colourMap,
+          ColorI colour, int model, int startPos, int endPos, String chain)
   {
     /*
      * Get/initialize map of data for the colour