X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fext%2Fjmol%2FJalviewJmolBinding.java;h=a529fae5e827d81ddca27ea721b725ec4656e34e;hb=d1cf4609268fb7fbae0716b6e699a130eea02647;hp=903d9b7c53faed57f0b58f2490c44f61758de5d2;hpb=931c66e5efd8c066326b6db713b4db498657ebe6;p=jalview.git diff --git a/src/jalview/ext/jmol/JalviewJmolBinding.java b/src/jalview/ext/jmol/JalviewJmolBinding.java index 903d9b7..a529fae 100644 --- a/src/jalview/ext/jmol/JalviewJmolBinding.java +++ b/src/jalview/ext/jmol/JalviewJmolBinding.java @@ -45,7 +45,7 @@ import jalview.api.AlignmentViewPanel; import jalview.api.FeatureRenderer; import jalview.api.FeatureSettingsModelI; import jalview.api.SequenceRenderer; -import jalview.bin.Cache; +import jalview.bin.Console; import jalview.datamodel.PDBEntry; import jalview.datamodel.SequenceI; import jalview.gui.AppJmol; @@ -83,6 +83,8 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel public Viewer jmolViewer; + private boolean globalUseScriptWait = false; + public JalviewJmolBinding(StructureSelectionManager ssm, PDBEntry[] pdbentry, SequenceI[][] sequenceIs, DataSourceType protocol) @@ -122,9 +124,22 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel private String jmolScript(String script) { - Cache.log.debug(">>Jmol>> " + script); - String s = jmolViewer.evalStringQuiet(script); // scriptWait(script); BH - Cache.log.debug("<>Jmol>> " + script); + String s; + if (globalUseScriptWait || useScriptWait) + { + s = jmolViewer.scriptWait(script); + } + else + { + s = jmolViewer.evalStringQuiet(script); // scriptWait(script); BH + } + Console.debug("< 1; + boolean prevUseScriptWait = false; + if (useScriptWait) + prevUseScriptWait = setGlobalUseScriptWait(useScriptWait); if (resetLastRes.length() > 0) { - jmolScript(resetLastRes.toString()); + jmolScript(resetLastRes.toString(), useScriptWait); resetLastRes.setLength(0); } for (AtomSpec atom : atoms) { highlightAtom(atom.getAtomIndex(), atom.getPdbResNum(), - atom.getChain(), atom.getPdbFile()); + atom.getChain(), atom.getPdbFile(), useScriptWait); } + if (useScriptWait) + setGlobalUseScriptWait(prevUseScriptWait); } } // jmol/ssm only public void highlightAtom(int atomIndex, int pdbResNum, String chain, - String pdbfile) + String pdbfile, boolean useScriptWait) { String modelId = getModelIdForFile(pdbfile); if (modelId.isEmpty()) @@ -295,7 +318,7 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel resetLastRes.append(selection).append(";wireframe 0;").append(selection) .append(" and not hetero; spacefill 0;"); - jmolScript(cmd.toString()); + jmolScript(cmd.toString(), useScriptWait); jmolHistory(true); } @@ -1052,4 +1075,11 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel { return "http://wiki.jmol.org"; // BH 2018 } + + private boolean setGlobalUseScriptWait(boolean b) + { + boolean prev = globalUseScriptWait; + globalUseScriptWait = b; + return prev; + } }