X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fext%2Fjmol%2FJalviewJmolBinding.java;h=dc18369aa2678804f1061b59b12552d9b3cc661b;hb=ecc31307701d785d41f503484fa5a823580ea79f;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..dc18369 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; @@ -122,9 +122,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 (useScriptWait) + { + s = jmolViewer.scriptWait(script); + } + else + { + s = jmolViewer.evalStringQuiet(script); // scriptWait(script); BH + } + Console.debug("<= 2) + // { + // StringBuilder sb = new StringBuilder(); + // for (int a = 0; a < atoms.size(); a++) + // { + // AtomSpec speca = atoms.get(a); + // String a_model = getModelIdForFile(speca.getPdbFile()); + // for (int b = a + 1; b < atoms.size(); b++) + // { + // AtomSpec specb = atoms.get(b); + // String b_model = getModelIdForFile(speca.getPdbFile()); + // sb.append("measure ALL (" + speca.getAtomIndex() + " and */" + // + a_model + ") (" + specb.getAtomIndex() + " and */" + // + b_model + ");"); + // } + // } + // jmolHistory(false, useScriptWait); + // jmolScript(sb.toString(), useScriptWait); + // jmolHistory(true, useScriptWait); + // } + } + } // jmol/ssm only - public void highlightAtom(int atomIndex, int pdbResNum, String chain, + private StringBuilder highlightAtom(int atomIndex, int pdbResNum, String chain, String pdbfile) { String modelId = getModelIdForFile(pdbfile); if (modelId.isEmpty()) { - return; + return null; } - jmolHistory(false); - StringBuilder selection = new StringBuilder(32); StringBuilder cmd = new StringBuilder(64); selection.append("select ").append(String.valueOf(pdbResNum)); @@ -295,15 +345,20 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel resetLastRes.append(selection).append(";wireframe 0;").append(selection) .append(" and not hetero; spacefill 0;"); - jmolScript(cmd.toString()); - jmolHistory(true); + return cmd; } private boolean debug = true; private void jmolHistory(boolean enable) { - jmolScript("History " + ((debug || enable) ? "on" : "off")); + jmolHistory(enable, false); + } + + private void jmolHistory(boolean enable, boolean useScriptWait) + { + jmolScript("History " + ((debug || enable) ? "on" : "off"), + useScriptWait); } public void loadInline(String string) @@ -432,7 +487,7 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel lastMessage = strInfo; if (data != null) { - System.err.println("Ignoring additional hover info: " + data + jalview.bin.Console.errPrintln("Ignoring additional hover info: " + data + " (other info: '" + strInfo + "' pos " + atomIndex + ")"); } mouseOverStructure(atomIndex, strInfo); @@ -453,7 +508,7 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel */ if (strData != null) { - System.err.println("Ignoring additional pick data string " + strData); + jalview.bin.Console.errPrintln("Ignoring additional pick data string " + strData); } int chainSeparator = strInfo.indexOf(":"); int p = 0; @@ -555,7 +610,7 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel (data == null) ? ((String) null) : (String) data[1]); break; case ERROR: - // System.err.println("Ignoring error callback."); + // jalview.bin.Console.errPrintln("Ignoring error callback."); break; case SYNC: case RESIZE: @@ -565,13 +620,13 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel case CLICK: default: - System.err.println( + jalview.bin.Console.errPrintln( "Unhandled callback " + type + " " + data[1].toString()); break; } } catch (Exception e) { - System.err.println("Squashed Jmol callback handler error:"); + jalview.bin.Console.errPrintln("Squashed Jmol callback handler error:"); e.printStackTrace(); } } @@ -820,7 +875,7 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel public void setCallbackFunction(String callbackType, String callbackFunction) { - System.err.println("Ignoring set-callback request to associate " + jalview.bin.Console.errPrintln("Ignoring set-callback request to associate " + callbackType + " with function " + callbackFunction); } @@ -894,7 +949,7 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel String buttonsToShow) { - System.err.println("Allocating Jmol Viewer: " + commandOptions); + jalview.bin.Console.errPrintln("Allocating Jmol Viewer: " + commandOptions); if (commandOptions == null) { @@ -912,7 +967,7 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel console = createJmolConsole(consolePanel, buttonsToShow); } catch (Throwable e) { - System.err.println("Could not create Jmol application console. " + jalview.bin.Console.errPrintln("Could not create Jmol application console. " + e.getMessage()); e.printStackTrace(); }