JAL-3148 show/hide features on structure independent of alignment
[jalview.git] / src / jalview / ext / rbvi / chimera / ChimeraCommands.java
index e9ce49b..ba8f4b8 100644 (file)
@@ -23,7 +23,7 @@ package jalview.ext.rbvi.chimera;
 import jalview.api.AlignViewportI;
 import jalview.api.AlignmentViewPanel;
 import jalview.api.FeatureRenderer;
-import jalview.api.SequenceRenderer;
+import jalview.api.SequenceRendererI;
 import jalview.datamodel.AlignmentI;
 import jalview.datamodel.HiddenColumns;
 import jalview.datamodel.SequenceFeature;
@@ -66,11 +66,11 @@ public class ChimeraCommands
    */
   public static StructureMappingcommandSet[] getColourBySequenceCommand(
           StructureSelectionManager ssm, String[] files,
-          SequenceI[][] sequence, SequenceRenderer sr,
-          AlignmentViewPanel viewPanel)
+          SequenceI[][] sequence, SequenceRendererI sr,
+          AlignmentViewPanel viewPanel, boolean showFeatures)
   {
     Map<Object, AtomSpecModel> colourMap = buildColoursMap(ssm, files,
-            sequence, sr, viewPanel);
+            sequence, sr, viewPanel, showFeatures);
 
     List<String> colourCommands = buildColourCommands(colourMap);
 
@@ -188,11 +188,11 @@ public class ChimeraCommands
    */
   protected static Map<Object, AtomSpecModel> buildColoursMap(
           StructureSelectionManager ssm, String[] files,
-          SequenceI[][] sequence, SequenceRenderer sr,
-          AlignmentViewPanel viewPanel)
+          SequenceI[][] sequence, SequenceRendererI sr,
+          AlignmentViewPanel viewPanel, boolean showFeatures)
   {
     FeatureRenderer fr = viewPanel.getFeatureRenderer();
-    FeatureColourFinder finder = new FeatureColourFinder(fr);
+    FeatureColourFinder finder = showFeatures ? new FeatureColourFinder(fr) : null;
     AlignViewportI viewport = viewPanel.getAlignViewport();
     HiddenColumns cs = viewport.getAlignment().getHiddenColumns();
     AlignmentI al = viewport.getAlignment();
@@ -269,8 +269,8 @@ public class ChimeraCommands
             // final colour range
             if (lastColour != null)
             {
-              addColourRange(colourMap, lastColour, pdbfnum, startPos, lastPos,
-                      lastChain);
+              addColourRange(colourMap, lastColour, pdbfnum, startPos,
+                      lastPos, lastChain);
             }
             // break;
           }
@@ -318,8 +318,8 @@ public class ChimeraCommands
    * @return
    */
   public static StructureMappingcommandSet getSetAttributeCommandsForFeatures(
-          StructureSelectionManager ssm, String[] files,
-          SequenceI[][] seqs, AlignmentViewPanel viewPanel)
+          StructureSelectionManager ssm, String[] files, SequenceI[][] seqs,
+          AlignmentViewPanel viewPanel)
   {
     Map<String, Map<Object, AtomSpecModel>> featureMap = buildFeaturesMap(
             ssm, files, seqs, viewPanel);
@@ -346,8 +346,8 @@ public class ChimeraCommands
    * @return
    */
   protected static Map<String, Map<Object, AtomSpecModel>> buildFeaturesMap(
-          StructureSelectionManager ssm, String[] files,
-          SequenceI[][] seqs, AlignmentViewPanel viewPanel)
+          StructureSelectionManager ssm, String[] files, SequenceI[][] seqs,
+          AlignmentViewPanel viewPanel)
   {
     Map<String, Map<Object, AtomSpecModel>> theMap = new LinkedHashMap<String, Map<Object, AtomSpecModel>>();
 
@@ -450,8 +450,8 @@ public class ChimeraCommands
         }
         for (int[] range : mappedRanges)
         {
-          addColourRange(featureValues, value, modelNumber, range[0], range[1],
-                  mapping.getChain());
+          addColourRange(featureValues, value, modelNumber, range[0],
+                  range[1], mapping.getChain());
         }
       }
     }
@@ -513,9 +513,11 @@ public class ChimeraCommands
    * to an underscore.
    * 
    * @param featureType
-   * @return <pre>
-   * @see https://www.cgl.ucsf.edu/chimera/current/docs/UsersGuide/midas/setattr.html
-   * </pre>
+   * @return
+   * 
+   *         <pre>
+   * &#64;see https://www.cgl.ucsf.edu/chimera/current/docs/UsersGuide/midas/setattr.html
+   *         </pre>
    */
   protected static String makeAttributeName(String featureType)
   {