JAL-3148 show/hide features on structure independent of alignment
[jalview.git] / src / jalview / ext / jmol / JalviewJmolBinding.java
index 8832278..eb13c30 100644 (file)
@@ -22,7 +22,7 @@ package jalview.ext.jmol;
 
 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.PDBEntry;
@@ -175,7 +175,7 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel
   @Override
   public void colourByChain()
   {
-    colourBySequence = false;
+    super.colourByChain();
     // TODO: colour by chain should colour each chain distinctly across all
     // visible models
     // TODO: http://issues.jalview.org/browse/JAL-628
@@ -185,7 +185,7 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel
   @Override
   public void colourByCharge()
   {
-    colourBySequence = false;
+    super.colourByCharge();
     evalStateCommand("select *;color white;select ASP,GLU;color red;"
             + "select LYS,ARG;color blue;select CYS;color yellow");
   }
@@ -518,10 +518,10 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel
    */
   @Override
   protected StructureMappingcommandSet[] getColourBySequenceCommands(
-          String[] files, SequenceRenderer sr, AlignmentViewPanel viewPanel)
+          String[] files, SequenceRendererI sr, AlignmentViewPanel viewPanel, boolean showFeatures)
   {
     return JmolCommands.getColourBySequenceCommand(getSsm(), files,
-            getSequence(), sr, viewPanel);
+            getSequence(), sr, viewPanel, showFeatures);
   }
 
   /**
@@ -1296,29 +1296,23 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel
   }
 
   @Override
-  public void setJalviewColourScheme(ColourSchemeI cs)
+  public void setSimpleColourScheme(ColourSchemeI cs)
   {
-    colourBySequence = false;
-
-    if (cs == null)
-    {
-      return;
-    }
-
     jmolHistory(false);
     StringBuilder command = new StringBuilder(128);
     command.append("select *;color white;");
-    List<String> residueSet = ResidueProperties.getResidues(isNucleotide(),
-            false);
-    for (String resName : residueSet)
-    {
-      char res = resName.length() == 3
-              ? ResidueProperties.getSingleCharacterCode(resName)
-              : resName.charAt(0);
-      Color col = cs.findColour(res, 0, null, null, 0f);
-      command.append("select " + resName + ";color[" + col.getRed() + ","
-              + col.getGreen() + "," + col.getBlue() + "];");
-    }
+       if (cs != null) 
+       {
+          List<String> residueSet = ResidueProperties.getResidues(isNucleotide(), false);
+          for (String resName : residueSet) 
+          {
+                char res = resName.length() == 3 ? ResidueProperties.getSingleCharacterCode(resName)
+                                       : resName.charAt(0);
+                Color col = cs.findColour(res);
+                command.append("select " + resName + ";color[" + col.getRed() + "," + col.getGreen() + ","
+                               + col.getBlue() + "];");
+         }
+       }
 
     evalStateCommand(command.toString());
     jmolHistory(true);