From: <ha...@us...> - 2013-08-13 22:49:10
|
Revision: 18560 http://sourceforge.net/p/jmol/code/18560 Author: hansonr Date: 2013-08-13 22:49:06 +0000 (Tue, 13 Aug 2013) Log Message: ----------- ___JmolVersion="13.2.4_dev_2013.08.13" bug fix: screen repaints were being requested far too frequently *indicates when a refresh is made (external apps and applets only) external apps only via loadInline(List)* createModelSetAndReturnError script LOAD openDOM, openReader, openFile, openFiles* via loadModelFromFile(*) createModelSetAndReturnError script CALCULATE HYDROGENS, PLOT, ZAP (modelkit) loadInLine(String)* via loadInLineScript(*) FileDropper (string drop) via openStringInline* openStringInlineParamsAppend createModelSetAndReturnError external apps, applet only, via loadInline(String[])* script LOAD DATA via loadFileFull and loadInlineScript openStringsInlineParamsAppend createModelSetAndReturnError Modified Paths: -------------- branches/v13_2/Jmol/src/org/jmol/api/JmolRepaintManager.java branches/v13_2/Jmol/src/org/jmol/api/JmolViewer.java branches/v13_2/Jmol/src/org/jmol/applet/Jmol.java branches/v13_2/Jmol/src/org/jmol/appletjs/Jmol.java branches/v13_2/Jmol/src/org/jmol/navigate/Navigator.java branches/v13_2/Jmol/src/org/jmol/render/RepaintManager.java branches/v13_2/Jmol/src/org/jmol/script/ScriptEvaluator.java branches/v13_2/Jmol/src/org/jmol/thread/AnimationThread.java branches/v13_2/Jmol/src/org/jmol/thread/MoveThread.java branches/v13_2/Jmol/src/org/jmol/thread/MoveToThread.java branches/v13_2/Jmol/src/org/jmol/thread/ScriptDelayThread.java branches/v13_2/Jmol/src/org/jmol/thread/SpinThread.java branches/v13_2/Jmol/src/org/jmol/viewer/JC.java branches/v13_2/Jmol/src/org/jmol/viewer/Jmol.properties branches/v13_2/Jmol/src/org/jmol/viewer/Viewer.java Modified: branches/v13_2/Jmol/src/org/jmol/api/JmolRepaintManager.java =================================================================== --- branches/v13_2/Jmol/src/org/jmol/api/JmolRepaintManager.java 2013-08-13 22:47:30 UTC (rev 18559) +++ branches/v13_2/Jmol/src/org/jmol/api/JmolRepaintManager.java 2013-08-13 22:49:06 UTC (rev 18560) @@ -11,15 +11,15 @@ boolean isRepaintPending(); - void popHoldRepaint(boolean andRepaint); + void popHoldRepaint(boolean andRepaint, String why); - boolean repaintIfReady(); + boolean repaintIfReady(String why); - void pushHoldRepaint(); + void pushHoldRepaint(String why); void repaintDone(); - void requestRepaintAndWait(); + void requestRepaintAndWait(String why); void clear(int iShape); Modified: branches/v13_2/Jmol/src/org/jmol/api/JmolViewer.java =================================================================== --- branches/v13_2/Jmol/src/org/jmol/api/JmolViewer.java 2013-08-13 22:47:30 UTC (rev 18559) +++ branches/v13_2/Jmol/src/org/jmol/api/JmolViewer.java 2013-08-13 22:49:06 UTC (rev 18560) @@ -215,7 +215,7 @@ abstract public boolean haveFrame(); abstract public void pushHoldRepaint(); - abstract public void popHoldRepaint(); + abstract public void popHoldRepaint(String why); // for example: getData("selected","XYZ"); abstract public String getData(String atomExpression, String type); Modified: branches/v13_2/Jmol/src/org/jmol/applet/Jmol.java =================================================================== --- branches/v13_2/Jmol/src/org/jmol/applet/Jmol.java 2013-08-13 22:47:30 UTC (rev 18559) +++ branches/v13_2/Jmol/src/org/jmol/applet/Jmol.java 2013-08-13 22:49:06 UTC (rev 18560) @@ -449,7 +449,7 @@ } } - viewer.popHoldRepaint(); + viewer.popHoldRepaint("applet init"); } private void setLogging() { Modified: branches/v13_2/Jmol/src/org/jmol/appletjs/Jmol.java =================================================================== --- branches/v13_2/Jmol/src/org/jmol/appletjs/Jmol.java 2013-08-13 22:47:30 UTC (rev 18559) +++ branches/v13_2/Jmol/src/org/jmol/appletjs/Jmol.java 2013-08-13 22:49:06 UTC (rev 18560) @@ -223,7 +223,7 @@ viewer.getProperty("DATA_API", "disablePopupMenu", null); String scriptParam = getValue("script", ""); - viewer.popHoldRepaint(); + viewer.popHoldRepaint("applet init"); if (scriptParam.length() > 0) scriptProcessor(scriptParam, null, SCRIPT_WAIT); jmolReady(); Modified: branches/v13_2/Jmol/src/org/jmol/navigate/Navigator.java =================================================================== --- branches/v13_2/Jmol/src/org/jmol/navigate/Navigator.java 2013-08-13 22:47:30 UTC (rev 18559) +++ branches/v13_2/Jmol/src/org/jmol/navigate/Navigator.java 2013-08-13 22:49:06 UTC (rev 18560) @@ -241,7 +241,7 @@ break; } doNavStep(iStep++); - viewer.requestRepaintAndWait(); + viewer.requestRepaintAndWait("navigator"); int sleepTime = (int) (targetTime - System.currentTimeMillis()); if (!runSleep(sleepTime, MAIN)) return; Modified: branches/v13_2/Jmol/src/org/jmol/render/RepaintManager.java =================================================================== --- branches/v13_2/Jmol/src/org/jmol/render/RepaintManager.java 2013-08-13 22:47:30 UTC (rev 18559) +++ branches/v13_2/Jmol/src/org/jmol/render/RepaintManager.java 2013-08-13 22:49:06 UTC (rev 18560) @@ -62,22 +62,22 @@ return repaintPending; } - public void pushHoldRepaint() { + public void pushHoldRepaint(String why) { ++holdRepaint; } - public void popHoldRepaint(boolean andRepaint) { + public void popHoldRepaint(boolean andRepaint, String why) { --holdRepaint; if (holdRepaint <= 0) { holdRepaint = 0; if (andRepaint) { repaintPending = true; - repaintNow(); + repaintNow(why); } } } - synchronized public void requestRepaintAndWait() { + synchronized public void requestRepaintAndWait(String why) { /** * @j2sNative * @@ -88,7 +88,7 @@ { //System.out.println("RM requestRepaintAndWait() " + (test++)); try { - repaintNow(); + repaintNow(why); //System.out.println("repaintManager requestRepaintAndWait I am waiting for a repaint: thread=" + Thread.currentThread().getName()); wait(viewer.global.repaintWaitMs); // more than a second probably means we are locked up here if (repaintPending) { @@ -102,18 +102,21 @@ //System.out.println("repaintManager requestRepaintAndWait I am no longer waiting for a repaint: thread=" + Thread.currentThread().getName()); } - public boolean repaintIfReady() { + public boolean repaintIfReady(String why) { if (repaintPending) return false; repaintPending = true; if (holdRepaint == 0) { //System.out.println("RM refresh() " + (test++)); - repaintNow(); + repaintNow(why); } return true; } - private void repaintNow() { + /** + * @param why + */ + private void repaintNow(String why) { // from RepaintManager to the System // -- "Send me an asynchronous update() event!" if (!viewer.haveDisplay) Modified: branches/v13_2/Jmol/src/org/jmol/script/ScriptEvaluator.java =================================================================== --- branches/v13_2/Jmol/src/org/jmol/script/ScriptEvaluator.java 2013-08-13 22:47:30 UTC (rev 18559) +++ branches/v13_2/Jmol/src/org/jmol/script/ScriptEvaluator.java 2013-08-13 22:49:06 UTC (rev 18560) @@ -337,7 +337,7 @@ } if (haveError || !isJS || !allowJSThreads) { viewer.setTainted(true); - viewer.popHoldRepaintWhy("runEval"); + viewer.popHoldRepaint("runEval"); } timeEndExecution = System.currentTimeMillis(); if (errorMessage == null && executionStopped) @@ -403,7 +403,7 @@ setErrorMessage(null); if (executionStopped || sc == null || !sc.mustResumeEval) { viewer.setTainted(true); - viewer.popHoldRepaintWhy("runEval"); + viewer.popHoldRepaint("runEval"); viewer.queueOnHold = false; return; } @@ -429,7 +429,7 @@ contextPath += " >> script() "; this.outputBuffer = outputBuffer; allowJSThreads = false; - if (compileScript(null, script + JC.SCRIPT_EDITOR_IGNORE, false)) + if (compileScript(null, script + JC.SCRIPT_EDITOR_IGNORE + JC.REPAINT_IGNORE, false)) dispatchCommands(false, false); popContext(false, false); } @@ -510,7 +510,7 @@ return; if (withDelay && !isJS ) viewer.delayScript(this, -100); - viewer.popHoldRepaintWhy("pauseExecution"); + viewer.popHoldRepaint("pauseExecution"); executionStepping = false; executionPaused = true; } @@ -5411,7 +5411,7 @@ } refresh(); while (executionPaused) { - viewer.popHoldRepaintWhy("pause"); + viewer.popHoldRepaint("pause"); // does not actually do a repaint // but clears the way for interaction String script = viewer.getInsertedCommand(); @@ -5438,7 +5438,7 @@ // JavaScript will not reach this point, // but no need to pop anyway, because // we will be out of this thread. - viewer.pushHoldRepaintWhy("pause"); + viewer.pushHoldRepaintWhy("pause" + JC.REPAINT_IGNORE); } notifyResumeStatus(); // once more to trap quit during pause @@ -10124,7 +10124,8 @@ String[] savedFileInfo = viewer.getFileInfo(); boolean oldAppendNew = viewer.getBoolean(T.appendnew); viewer.setAppendNew(true); - boolean isOK = (data != null && viewer.loadInline(data, true) == null); + + boolean isOK = (data != null && viewer.openStringInlineParamsAppend(data, null, true) == null); viewer.setAppendNew(oldAppendNew); viewer.setFileInfo(savedFileInfo); if (!isOK) @@ -10266,7 +10267,7 @@ if (chk) return; viewer.setTainted(true); - viewer.requestRepaintAndWait(); + viewer.requestRepaintAndWait("script refresh"); } private void reset() throws ScriptException { @@ -19297,7 +19298,7 @@ for (int i = 0; i < pts.length; i++) sb.append("H ").appendF(pts[i].x).append(" ").appendF(pts[i].y).append(" ") .appendF(pts[i].z).append(" - - - - ").appendI(++atomno).appendC('\n'); - viewer.loadInlineScript(sb.toString(), '\n', true, null); + viewer.openStringInlineParamsAppend(sb.toString(), null, true); runScriptBuffer(sbConnect.toString(), null); BS bsB = viewer.getModelUndeletedAtomsBitSet(modelIndex); bsB.andNot(bsA); Modified: branches/v13_2/Jmol/src/org/jmol/thread/AnimationThread.java =================================================================== --- branches/v13_2/Jmol/src/org/jmol/thread/AnimationThread.java 2013-08-13 22:47:30 UTC (rev 18559) +++ branches/v13_2/Jmol/src/org/jmol/thread/AnimationThread.java 2013-08-13 22:49:06 UTC (rev 18560) @@ -73,7 +73,7 @@ case INIT: if (Logger.debugging) Logger.debug("animation thread " + intThread + " running"); - viewer.requestRepaintAndWait(); + viewer.requestRepaintAndWait("animation thread"); viewer.startHoverWatcher(false); isFirst = true; mode = MAIN; Modified: branches/v13_2/Jmol/src/org/jmol/thread/MoveThread.java =================================================================== --- branches/v13_2/Jmol/src/org/jmol/thread/MoveThread.java 2013-08-13 22:47:30 UTC (rev 18559) +++ branches/v13_2/Jmol/src/org/jmol/thread/MoveThread.java 2013-08-13 22:49:06 UTC (rev 18560) @@ -119,7 +119,7 @@ int timeSpent = (int) (System.currentTimeMillis() - startTime); int timeAllowed = iStep * timePerStep; if (timeSpent < timeAllowed) { - viewer.requestRepaintAndWait(); + viewer.requestRepaintAndWait("move thread"); if (!isJS && !viewer.isScriptExecuting()) { mode = FINISH; break; Modified: branches/v13_2/Jmol/src/org/jmol/thread/MoveToThread.java =================================================================== --- branches/v13_2/Jmol/src/org/jmol/thread/MoveToThread.java 2013-08-13 22:47:30 UTC (rev 18559) +++ branches/v13_2/Jmol/src/org/jmol/thread/MoveToThread.java 2013-08-13 22:49:06 UTC (rev 18560) @@ -160,7 +160,7 @@ doRender = true; } if (doRender) - viewer.requestRepaintAndWait(); + viewer.requestRepaintAndWait("moveto thread"); if (transformManager.motion == null || !isJS && eval != null && !viewer.isScriptExecuting()) { stopped = true; Modified: branches/v13_2/Jmol/src/org/jmol/thread/ScriptDelayThread.java =================================================================== --- branches/v13_2/Jmol/src/org/jmol/thread/ScriptDelayThread.java 2013-08-13 22:47:30 UTC (rev 18559) +++ branches/v13_2/Jmol/src/org/jmol/thread/ScriptDelayThread.java 2013-08-13 22:49:06 UTC (rev 18560) @@ -72,7 +72,7 @@ millis = 1; } if (doPopPush) - viewer.popHoldRepaintWhy("delay INIT"); + viewer.popHoldRepaint("delay INIT"); mode = MAIN; break; case MAIN: Modified: branches/v13_2/Jmol/src/org/jmol/thread/SpinThread.java =================================================================== --- branches/v13_2/Jmol/src/org/jmol/thread/SpinThread.java 2013-08-13 22:47:30 UTC (rev 18559) +++ branches/v13_2/Jmol/src/org/jmol/thread/SpinThread.java 2013-08-13 22:49:06 UTC (rev 18560) @@ -162,7 +162,7 @@ if (bsAtoms == null) viewer.refresh(1, "SpinThread:run()"); else - viewer.requestRepaintAndWait(); + viewer.requestRepaintAndWait("spin thread"); //System.out.println(angle * degreesPerRadian + " " + count + " " + nDegrees + " " + endDegrees); if (!isNav && nDegrees >= endDegrees - 0.001) { isDone = true; Modified: branches/v13_2/Jmol/src/org/jmol/viewer/JC.java =================================================================== --- branches/v13_2/Jmol/src/org/jmol/viewer/JC.java 2013-08-13 22:47:30 UTC (rev 18559) +++ branches/v13_2/Jmol/src/org/jmol/viewer/JC.java 2013-08-13 22:49:06 UTC (rev 18560) @@ -121,6 +121,7 @@ public final static String NOTE_SCRIPT_FILE = "NOTE: file recognized as a script file: "; public final static String SCRIPT_EDITOR_IGNORE = "\1## EDITOR_IGNORE ##"; + public final static String REPAINT_IGNORE = "\1## REPAINT_IGNORE ##"; public final static String LOAD_ATOM_DATA_TYPES = ";xyz;vxyz;vibration;temperature;occupancy;partialcharge;"; @@ -1296,7 +1297,7 @@ "pubchem", "http://pubchem.ncbi.nlm.nih.gov/rest/pug/compound/%FILE/SDF?record_type=3d" }; - public final static String MODELKIT_ZAP_STRING = "1 0 C 0 0"; + public final static String MODELKIT_ZAP_STRING = "5\n\nC 0 0 0\nH .63 .63 .63\nH -.63 -.63 .63\nH -.63 .63 -.63\nH .63 -.63 -.63"; public final static String MODELKIT_ZAP_TITLE = "Jmol Model Kit";//do not ever change this -- it is in the state public final static String ADD_HYDROGEN_TITLE = "Viewer.AddHydrogens"; //do not ever change this -- it is in the state Modified: branches/v13_2/Jmol/src/org/jmol/viewer/Jmol.properties =================================================================== --- branches/v13_2/Jmol/src/org/jmol/viewer/Jmol.properties 2013-08-13 22:47:30 UTC (rev 18559) +++ branches/v13_2/Jmol/src/org/jmol/viewer/Jmol.properties 2013-08-13 22:49:06 UTC (rev 18560) @@ -9,8 +9,33 @@ # Don't use ___ in your text, as that is the key for stripping out # the information saved in the JAR version of this file. -___JmolVersion="13.2.4_dev_2013.08.12" +___JmolVersion="13.2.4_dev_2013.08.13" +bug fix: screen repaints were being requested far too frequently + + + *indicates when a refresh is made (external apps and applets only) + + external apps only + via loadInline(List)* + createModelSetAndReturnError + + script LOAD + openDOM, openReader, openFile, openFiles* + via loadModelFromFile(*) + createModelSetAndReturnError + + script CALCULATE HYDROGENS, PLOT, ZAP (modelkit) + loadInLine(String)* via loadInLineScript(*) + FileDropper (string drop) via openStringInline* + openStringInlineParamsAppend + createModelSetAndReturnError + + external apps, applet only, via loadInline(String[])* + script LOAD DATA via loadFileFull and loadInlineScript + openStringsInlineParamsAppend + createModelSetAndReturnError + bug fix: set loglevel 6 (debugHigh) not working bug fix: {*}.tensor("", "id") not implemented bug fix: {*}.tensor("") not implemented Modified: branches/v13_2/Jmol/src/org/jmol/viewer/Viewer.java =================================================================== --- branches/v13_2/Jmol/src/org/jmol/viewer/Viewer.java 2013-08-13 22:47:30 UTC (rev 18559) +++ branches/v13_2/Jmol/src/org/jmol/viewer/Viewer.java 2013-08-13 22:49:06 UTC (rev 18560) @@ -985,7 +985,7 @@ public void moveUpdate(float floatSecondsTotal) { if (floatSecondsTotal > 0) - requestRepaintAndWait(); + requestRepaintAndWait("moveUpdate"); else if (floatSecondsTotal == 0) setSync(); } @@ -1926,6 +1926,28 @@ // //////////////// methods that open a file to create a model set /////////// + // *indicates when a refresh is made (external apps and applets only) + // + // external apps only + // via loadInline(List)* + // createModelSetAndReturnError + // + // script LOAD via loadModelFromFile + // openDOM, openReader, openFile, openFiles via loadModelFromFileRepaint* + // createModelSetAndReturnError + // + // script CALCULATE HYDROGENS, PLOT, ZAP (modelkit) + // loadInLine(String) via loadInLineScriptRepaint* + // FileDropper (string drop) via openStringInline* + // openStringInlineParamsAppend + // createModelSetAndReturnError + // + // external apps, applet only, via loadInline(String[])* + // script LOAD DATA via loadFileFull and loadInlineScript + // openStringsInlineParamsAppend + // createModelSetAndReturnError + + /** * opens a file as a model, a script, or a surface via the creation of a * script that is queued \t at the beginning disallows script option - used by @@ -1950,7 +1972,7 @@ @Override public String openFile(String fileName) { zap(true, true, false); - return loadModelFromFile(null, fileName, null, null, false, null, null, 0); + return loadModelFromFileRepaint(null, fileName, null, null); } /** @@ -1962,7 +1984,7 @@ @Override public String openFiles(String[] fileNames) { zap(true, true, false); - return loadModelFromFile(null, null, fileNames, null, false, null, null, 0); + return loadModelFromFileRepaint(null, null, fileNames, null); } /** @@ -1976,8 +1998,7 @@ @Override public String openReader(String fullPathName, String fileName, Reader reader) { zap(true, true, false); - return loadModelFromFile(fullPathName, fileName, null, reader, false, null, - null, 0); + return loadModelFromFileRepaint(fullPathName, fileName, null, reader); } /** @@ -1991,9 +2012,17 @@ public String openDOM(Object DOMNode) { // applet.loadDOMNode zap(true, true, false); - return loadModelFromFile("?", "?", null, DOMNode, false, null, null, 0); + return loadModelFromFileRepaint("?", "?", null, DOMNode); } + private String loadModelFromFileRepaint(String fullPathName, String fileName, + String[] fileNames, Object reader) { + String ret = loadModelFromFile(fullPathName, fileName, fileNames, reader, false, null, null, 0); + refresh(1, "loadModelFromFileRepaint"); + return ret; + } + + /** * Used by the ScriptEvaluator LOAD command to open one or more files. Now * necessary for EVERY load of a file, as loadScript must be passed to the @@ -2216,7 +2245,7 @@ if (haveFileData) { strModel = (String) htParams.get("fileData"); if (htParams.containsKey("isData")) { - return loadInlineScript(strModel, '\0', isAppend, htParams); + return loadInlineScript(strModel, '\0', isAppend, htParams, false); } } else if (isString) { strModel = modelSet.getInlineData(-1); @@ -2255,25 +2284,25 @@ @Override public String openStringInline(String strModel) { // JmolSimpleViewer - return openStringInlineParams(strModel, null, false); + return openStringInlineParamsAppend(strModel, null, false); } @Override public String loadInline(String strModel) { // jmolViewer interface - return loadInlineScript(strModel, global.inlineNewlineChar, false, null); + return loadInlineScript(strModel, global.inlineNewlineChar, false, null, true); } @Override public String loadInline(String strModel, char newLine) { // JmolViewer interface - return loadInlineScript(strModel, newLine, false, null); + return loadInlineScript(strModel, newLine, false, null, true); } @Override public String loadInline(String strModel, boolean isAppend) { // JmolViewer interface - return loadInlineScript(strModel, '\0', isAppend, null); + return loadInlineScript(strModel, '\0', isAppend, null, true); } @Override @@ -2289,7 +2318,9 @@ // loadInline if (arrayModels == null || arrayModels.length == 0) return null; - return openStringsInline(arrayModels, null, isAppend); + String ret = openStringsInlineParamsAppend(arrayModels, null, isAppend); + refresh(1, "loadInline String[]"); + return ret; } /** @@ -2315,7 +2346,7 @@ } public String loadInlineScript(String strModel, char newLine, - boolean isAppend, Map<String, Object> htParams) { + boolean isAppend, Map<String, Object> htParams, boolean andRepaint) { // ScriptEvaluator DATA command uses this, but anyone could. if (strModel == null || strModel.length() == 0) return null; @@ -2328,6 +2359,7 @@ Logger.debug(strModel); String datasep = getDataSeparator(); int i; + String ret; if (datasep != null && datasep != "" && (i = strModel.indexOf(datasep)) >= 0 && strModel.indexOf("# Jmol state") < 0) { @@ -2343,9 +2375,13 @@ strModels[i] = strModel.substring(pt0, pt); pt0 = pt + datasep.length(); } - return openStringsInline(strModels, htParams, isAppend); + ret = openStringsInlineParamsAppend(strModels, htParams, isAppend); + } else { + ret = openStringInlineParamsAppend(strModel, htParams, isAppend); } - return openStringInlineParams(strModel, htParams, isAppend); + if (andRepaint) + refresh(1, "loadInlineScript"); + return ret; } public static String fixInlineString(String strModel, char newLine) { @@ -2377,7 +2413,7 @@ // everything funnels to these two inline methods: String and String[] - private String openStringInlineParams(String strModel, + public String openStringInlineParamsAppend(String strModel, Map<String, Object> htParams, boolean isAppend) { // loadInline, openStringInline @@ -2403,7 +2439,7 @@ loadScript, null); } - private String openStringsInline(String[] arrayModels, + private String openStringsInlineParamsAppend(String[] arrayModels, Map<String, Object> htParams, boolean isAppend) { // loadInline @@ -2497,7 +2533,7 @@ zapMsg(errMsg); setErrorMessage(errMsg, null); } - popHoldRepaintWhy("createModelSet"); + popHoldRepaint("createModelSet" + JC.REPAINT_IGNORE); errMsg = getErrorMessage(); setFileLoadStatus(EnumFileStatus.CREATED, fullPathName, fileName, @@ -2804,7 +2840,7 @@ dataManager.clear(); if (resetUndo) { if (zapModelKit && global.modelKitMode) { - loadInline(JC.MODELKIT_ZAP_STRING); // a JME string for methane + openStringInlineParamsAppend(JC.MODELKIT_ZAP_STRING, null, true); setRotationRadius(5.0f, true); setStringProperty("picking", "assignAtom_C"); setStringProperty("picking", "assignBond_p"); @@ -3879,25 +3915,18 @@ */ public void pushHoldRepaintWhy(String why) { if (repaintManager != null) { - repaintManager.pushHoldRepaint(); + repaintManager.pushHoldRepaint(why); //System.out.println("viewer pushHoldRepaint " + why + " " + ((org.jmol.render.RepaintManager)repaintManager).holdRepaint); } } @Override - public void popHoldRepaint() { - //System.out.println("viewer popHoldRepaint don't know why"); - if (repaintManager != null) { - repaintManager.popHoldRepaint(true); - } - } - - public void popHoldRepaintWhy(String why) { + public void popHoldRepaint(String why) { //if (!why.equals("pause")) //System.out.println("viewer popHoldRepaint " + why); if (repaintManager != null) { - repaintManager.popHoldRepaint(!why.equals("pause")); + repaintManager.popHoldRepaint(why.indexOf(JC.REPAINT_IGNORE) < 0, why); //System.out.println("viewer popHoldRepaint " + why + " " + ((org.jmol.render.RepaintManager)repaintManager).holdRepaint); } } @@ -3962,14 +3991,14 @@ if (mode == 7) return; if (mode > 0) - repaintManager.repaintIfReady(); + repaintManager.repaintIfReady(strWhy + " " + mode); } if (mode % 3 != 0 && statusManager.doSync()) statusManager.setSync(mode == 2 ? strWhy : null); } - public void requestRepaintAndWait() { + public void requestRepaintAndWait(String why) { // called by moveUpdate from move, moveTo, navigate, // navTranslate // called by ScriptEvaluator "refresh" command @@ -3978,7 +4007,7 @@ // called by TransformationManager11 navigate, navigateTo if (!haveDisplay || repaintManager == null) return; - repaintManager.requestRepaintAndWait(); + repaintManager.requestRepaintAndWait(why); setSync(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |