JAL-3619 fix up error messages and try to bail quietly if the viewer doesn’t open
[jalview.git] / src / jalview / gui / PymolBindingModel.java
index ec3be0a..42a537b 100644 (file)
@@ -6,7 +6,7 @@ import java.util.List;
 import java.util.Map;
 
 import jalview.api.AlignmentViewPanel;
-import jalview.bin.Cache;
+import jalview.bin.Console;
 import jalview.datamodel.PDBEntry;
 import jalview.datamodel.SequenceI;
 import jalview.ext.pymol.PymolCommands;
@@ -70,15 +70,14 @@ public class PymolBindingModel extends AAStructureBindingModel
   public void highlightAtoms(List<AtomSpec> atoms)
   {
     /*
-     * https://pymolwiki.org/index.php/Label#examples
+     * https://pymolwiki.org/index.php/indicate#examples
      */
     StringBuilder sb = new StringBuilder();
     for (AtomSpec atom : atoms)
     {
       // todo promote to StructureCommandsI.showLabel()
-      // todo handle CA|P correctly
       String modelId = getModelIdForFile(atom.getPdbFile());
-      sb.append(String.format(" %s//%s/%d/CA", modelId,
+      sb.append(String.format(" %s//%s/%d/*", modelId,
               atom.getChain(),
               atom.getPdbResNum()));
     }
@@ -87,18 +86,9 @@ public class PymolBindingModel extends AAStructureBindingModel
     {
       return;
     }
-    StructureCommandI command = new StructureCommand("label", labelSpec, LABEL_FORMAT);
+    StructureCommandI command = new StructureCommand("indicate", labelSpec);
     executeCommand(command, false);
 
-    /*
-     * and remove the label(s) previously shown
-     */
-    if (lastLabelSpec != null)
-    {
-      command = new StructureCommand("label", lastLabelSpec, "");
-      executeCommand(command, false);
-    }
-
     lastLabelSpec = labelSpec;
   }
 
@@ -131,7 +121,7 @@ public class PymolBindingModel extends AAStructureBindingModel
   @Override
   public boolean isViewerRunning()
   {
-    return pymolManager.isPymolLaunched();
+    return pymolManager !=null && pymolManager.isPymolLaunched();
   }
 
   @Override
@@ -156,7 +146,7 @@ public class PymolBindingModel extends AAStructureBindingModel
     }
     else
     {
-      Cache.error("Failed to launch PyMOL!");
+      Console.error("Failed to launch PyMOL!");
     }
     return pymol != null;
   }
@@ -184,7 +174,7 @@ public class PymolBindingModel extends AAStructureBindingModel
 //      pdbId.replace('-', 0)
     } catch (Exception x)
     {
-      Cache.error("Unxpected encoding exception for '"+pdbId+"'",x);
+      Console.error("Unxpected encoding exception for '"+pdbId+"'",x);
     }
     cmd.addParameter(pdbId);