JAL-3390 first pass refactoring for JalviewJmolBinding.showStructures
[jalview.git] / src / jalview / ext / rbvi / chimera / ChimeraCommands.java
index c52b9a2..a6a72e0 100644 (file)
@@ -65,31 +65,17 @@ public class ChimeraCommands
   /**
    * Constructs Chimera commands to colour residues as per the Jalview alignment
    * 
-   * @param files
-   * @param viewPanel
+   * @param colourMap
    * @param binding
    * @return
    */
-  public static StructureMappingcommandSet[] getColourBySequenceCommand(
-          String[] files, AlignmentViewPanel viewPanel,
+  public static String[] getColourBySequenceCommand(
+          Map<Object, AtomSpecModel> colourMap,
           AAStructureBindingModel binding)
   {
-    StructureSelectionManager ssm = binding.getSsm();
-    SequenceRenderer sr = binding.getSequenceRenderer(viewPanel);
-    SequenceI[][] sequence = binding.getSequence();
-    boolean hideHiddenRegions = binding.isShowAlignmentOnly()
-            && binding.isHideHiddenRegions();
-
-    Map<Object, AtomSpecModel> colourMap = buildColoursMap(ssm, files,
-            sequence, sr, hideHiddenRegions, viewPanel);
-
     List<String> colourCommands = buildColourCommands(colourMap, binding);
 
-    StructureMappingcommandSet cs = new StructureMappingcommandSet(
-            ChimeraCommands.class, null,
-            colourCommands.toArray(new String[colourCommands.size()]));
-
-    return new StructureMappingcommandSet[] { cs };
+    return colourCommands.toArray(new String[colourCommands.size()]);
   }
 
   /**
@@ -234,7 +220,7 @@ public class ChimeraCommands
               {
                 if (startPos != -1)
                 {
-                  addColourRange(colourMap, lastColour, pdbfnum, startPos,
+                  addMapRange(colourMap, lastColour, pdbfnum, startPos,
                           lastPos, lastChain);
                 }
                 startPos = pos;
@@ -246,7 +232,7 @@ public class ChimeraCommands
             // final colour range
             if (lastColour != null)
             {
-              addColourRange(colourMap, lastColour, pdbfnum, startPos,
+              addMapRange(colourMap, lastColour, pdbfnum, startPos,
                       lastPos, lastChain);
             }
             // break;
@@ -258,7 +244,8 @@ public class ChimeraCommands
   }
 
   /**
-   * Helper method to add one contiguous colour range to the colour map.
+   * Helper method to add one contiguous range to the map, for a given value key
+   * (e.g. colour or feature type), structure model number, and chain
    * 
    * @param map
    * @param key
@@ -267,7 +254,7 @@ public class ChimeraCommands
    * @param endPos
    * @param chain
    */
-  protected static void addColourRange(Map<Object, AtomSpecModel> map,
+  public static void addMapRange(Map<Object, AtomSpecModel> map,
           Object key, int model, int startPos, int endPos, String chain)
   {
     /*
@@ -431,7 +418,7 @@ public class ChimeraCommands
         }
         for (int[] range : mappedRanges)
         {
-          addColourRange(featureValues, value, modelNumber, range[0],
+          addMapRange(featureValues, value, modelNumber, range[0],
                   range[1], mapping.getChain());
         }
       }