X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fext%2Fjmol%2FJalviewJmolBinding.java;fp=src%2Fjalview%2Fext%2Fjmol%2FJalviewJmolBinding.java;h=dc18369aa2678804f1061b59b12552d9b3cc661b;hb=5e17ddc59003daff5f9933cf5710889bcdb9e856;hp=870db6570452e74872f862d2a9b1ade28358680c;hpb=a8f8ffcf78dcc7bd81b56caaa1143101b6bd3afd;p=jalview.git diff --git a/src/jalview/ext/jmol/JalviewJmolBinding.java b/src/jalview/ext/jmol/JalviewJmolBinding.java index 870db65..dc18369 100644 --- a/src/jalview/ext/jmol/JalviewJmolBinding.java +++ b/src/jalview/ext/jmol/JalviewJmolBinding.java @@ -267,16 +267,30 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel { if (atoms != null) { - boolean useScriptWait = atoms.size() > 1; if (resetLastRes.length() > 0) { - jmolScript(resetLastRes.toString(), useScriptWait); + jmolScript(resetLastRes.toString()); resetLastRes.setLength(0); } + StringBuilder highlightCommands=null; for (AtomSpec atom : atoms) { - highlightAtom(atom.getAtomIndex(), atom.getPdbResNum(), - atom.getChain(), atom.getPdbFile(), useScriptWait); + StringBuilder thisAtom = highlightAtom(atom.getAtomIndex(), atom.getPdbResNum(), + atom.getChain(), atom.getPdbFile()); + if (thisAtom!=null) { + if (highlightCommands==null) + { + highlightCommands=thisAtom; + } else { + highlightCommands.append(thisAtom); + } + } + } + if (highlightCommands!=null) + { + jmolHistory(false); + jmolScript(highlightCommands.toString()); + jmolHistory(true); } // Highlight distances between atoms with a 'measure' command - not yet // working @@ -306,17 +320,15 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel } // jmol/ssm only - public void highlightAtom(int atomIndex, int pdbResNum, String chain, - String pdbfile, boolean useScriptWait) + private StringBuilder highlightAtom(int atomIndex, int pdbResNum, String chain, + String pdbfile) { String modelId = getModelIdForFile(pdbfile); if (modelId.isEmpty()) { - return; + return null; } - jmolHistory(false, useScriptWait); - StringBuilder selection = new StringBuilder(32); StringBuilder cmd = new StringBuilder(64); selection.append("select ").append(String.valueOf(pdbResNum)); @@ -333,8 +345,7 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel resetLastRes.append(selection).append(";wireframe 0;").append(selection) .append(" and not hetero; spacefill 0;"); - jmolScript(cmd.toString(), useScriptWait); - jmolHistory(true, useScriptWait); + return cmd; } private boolean debug = true;