From: <ha...@us...> - 2006-10-17 14:35:50
|
Revision: 5972 http://svn.sourceforge.net/jmol/?rev=5972&view=rev Author: hansonr Date: 2006-10-17 07:35:34 -0700 (Tue, 17 Oct 2006) Log Message: ----------- fully script-driven Viewer Modified Paths: -------------- trunk/Jmol/src/org/jmol/api/JmolViewer.java trunk/Jmol/src/org/jmol/viewer/Compiler.java trunk/Jmol/src/org/jmol/viewer/Eval.java trunk/Jmol/src/org/jmol/viewer/Measurement.java trunk/Jmol/src/org/jmol/viewer/MouseManager.java trunk/Jmol/src/org/jmol/viewer/PickingManager.java trunk/Jmol/src/org/jmol/viewer/TransformManager.java trunk/Jmol/src/org/jmol/viewer/Viewer.java trunk/Jmol/src/org/openscience/jmol/app/AtomSetChooser.java trunk/Jmol/src/org/openscience/jmol/app/DisplayPanel.java trunk/Jmol/src/org/openscience/jmol/app/MeasurementTable.java Modified: trunk/Jmol/src/org/jmol/api/JmolViewer.java =================================================================== --- trunk/Jmol/src/org/jmol/api/JmolViewer.java 2006-10-17 11:18:59 UTC (rev 5971) +++ trunk/Jmol/src/org/jmol/api/JmolViewer.java 2006-10-17 14:35:34 UTC (rev 5972) @@ -69,12 +69,7 @@ abstract public void pushHoldRepaint(); abstract public void popHoldRepaint(); - abstract public void setJmolDefaults(); - abstract public void setRasmolDefaults(); - abstract public void setDebugScript(boolean debugScript); - abstract public void setFrankOn(boolean frankOn); - // change this to width, height abstract public void setScreenDimension(Dimension dim); abstract public int getScreenWidth(); @@ -93,8 +88,7 @@ abstract public void showUrl(String urlString); - abstract public void deleteMeasurement(int i); - abstract public void clearMeasurements(); + abstract public int getMeasurementCount(); abstract public String getMeasurementStringValue(int i); abstract public int[] getMeasurementCountPlusIndices(int i); @@ -104,7 +98,6 @@ abstract public BitSet getElementsPresentBitSet(); abstract public int getAnimationFps(); - abstract public void setAnimationFps(int framesPerSecond); abstract public String script(String script); abstract public String scriptCheck(String script); @@ -115,10 +108,6 @@ abstract public String evalStringQuiet(String script); abstract public boolean isScriptExecuting(); - abstract public void setVectorScale(float vectorScaleValue); - abstract public void setVibrationScale(float vibrationScaleValue); - abstract public void setVibrationPeriod(float vibrationPeriod); - abstract public String getModelSetName(); abstract public String getModelSetFileName(); abstract public String getModelSetPathName(); @@ -146,42 +135,22 @@ abstract public int getPolymerCountInModel(int modelIndex); abstract public int getSelectionCount(); - abstract public void setModeMouse(int modeMouse); - abstract public void setSelectionHaloEnabled(boolean haloEnabled); + abstract public void setModeMouse(int modeMouse); //only MOUSEMODE_NONE + abstract public void setSelectionHalos(boolean haloEnabled); - abstract public void setShowHydrogens(boolean showHydrogens); - abstract public void setShowMeasurements(boolean showMeasurements); - - abstract public void selectAll(); - abstract public void clearSelection(); - abstract public void addSelectionListener(JmolSelectionListener listener); abstract public void removeSelectionListener(JmolSelectionListener listener); - abstract public void setSelectionSet(BitSet newSelection); //BH 2/2006 abstract public BitSet getSelectionSet(); abstract public void homePosition(); - abstract public void rotateFront(); - abstract public void rotateToX(int degrees); - abstract public void rotateToY(int degrees); - abstract public void rotateToX(float radians); - abstract public void rotateToY(float radians); - abstract public void rotateToZ(float radians); - - abstract public void setCenterSelected(); - abstract public Hashtable getHeteroList(int modelIndex); - abstract public void setPerspectiveDepth(boolean perspectiveDepth); abstract public boolean getPerspectiveDepth(); abstract public boolean getShowHydrogens(); abstract public boolean getShowMeasurements(); - - abstract public void setShowAxes(boolean showAxes); abstract public boolean getShowAxes(); - abstract public void setShowBbcage(boolean showBbcage); abstract public boolean getShowBbcage(); abstract public int getAtomNumber(int atomIndex); @@ -194,6 +163,7 @@ abstract public Matrix4f getUnscaledTransformMatrix(); abstract public int getBackgroundArgb(); + abstract public void setColorBackground(String colorName); abstract public float getAtomRadius(int atomIndex); @@ -212,29 +182,22 @@ abstract public Point3f[] getPolymerLeadMidPoints(int modelIndex, int polymerIndex); abstract public boolean getAxesOrientationRasmol(); - abstract public void setAxesOrientationRasmol(boolean axesMessedUp); abstract public int getPercentVdwAtom(); - abstract public void setPercentVdwAtom(int percentVdwAtom); abstract public boolean getAutoBond(); - abstract public void setAutoBond(boolean autoBond); - // EVIL! abstract public short getMadBond(); - abstract public void setMarBond(short marBond); abstract public float getBondTolerance(); - abstract public void setBondTolerance(float bondTolerance); abstract public void rebond(); abstract public float getMinBondDistance(); - abstract public void setMinBondDistance(float minBondDistance); abstract public void refresh(int isOrientationChange, String strWhy); abstract public boolean getBooleanProperty(String propertyName); - abstract public void setBooleanProperty(String propertyName, boolean value); + abstract public boolean showModelSetDownload(); @@ -255,6 +218,60 @@ abstract public void setSyncDriver(int syncMode); abstract public int getSyncMode(); + + //these are still used by preferences dialog + abstract public void setShowHydrogens(boolean showHydrogens); + abstract public void setShowMeasurements(boolean showMeasurements); + abstract public void setPerspectiveDepth(boolean perspectiveDepth); + abstract public void setShowAxes(boolean showAxes); + abstract public void setShowBbcage(boolean showBbcage); + abstract public void setJmolDefaults(); + abstract public void setRasmolDefaults(); + abstract public void setAutoBond(boolean autoBond); + abstract public void setMarBond(short marBond); + abstract public void setBondTolerance(float bondTolerance); + abstract public void setMinBondDistance(float minBondDistance); + abstract public void setAxesOrientationRasmol(boolean axesMessedUp); + abstract public void setPercentVdwAtom(int percentVdwAtom); +//unused in Jmol.java; DO NOT USE if you want a complete command history: +//for each of these the script equivalent is shown + abstract public void setAnimationFps(int framesPerSecond); + //viewer.script("animation fps x.x") + abstract public void setFrankOn(boolean frankOn); + //viewer.script("frank on") + abstract public void setDebugScript(boolean debugScript); + //viewer.script("set logLevel 5/4") + //viewer.script("set debugScript on/off") + abstract public void deleteMeasurement(int i); + //viewer.script("measures delete " + (i + 1)); + abstract public void clearMeasurements(); + //viewer.script("measures delete"); + abstract public void setVectorScale(float vectorScaleValue); + //viewer.script("vector scale " + vectorScaleValue); + abstract public void setVibrationScale(float vibrationScaleValue); + //viewer.script("vibration scale " + vibrationScaleValue); + abstract public void setVibrationPeriod(float vibrationPeriod); + //viewer.script("vibration " + vibrationPeriod); + abstract public void selectAll(); + //viewer.script("select all"); + abstract public void clearSelection(); + //viewer.script("select none"); + abstract public void rotateFront(); + //viewer.script("moveTo 2.0 Front"); + abstract public void setCenterSelected(); + //viewer.script("center (selected)"); + abstract public void setBooleanProperty(String propertyName, boolean value); + //viewer.script("set " + propertyName + " " + value); + + //no direct script equivalent, but you should not need them anyway: + + abstract public void setSelectionSet(BitSet newSelection); + abstract public void rotateToX(int degrees); + abstract public void rotateToY(int degrees); + abstract public void rotateToX(float radians); + abstract public void rotateToY(float radians); + abstract public void rotateToZ(float radians); + } Modified: trunk/Jmol/src/org/jmol/viewer/Compiler.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Compiler.java 2006-10-17 11:18:59 UTC (rev 5971) +++ trunk/Jmol/src/org/jmol/viewer/Compiler.java 2006-10-17 14:35:34 UTC (rev 5972) @@ -304,7 +304,7 @@ } if (ltoken.size() == 0) return commandExpected(); - return unrecognizedToken(); + return unrecognizedToken(script); } aatokenCompiled = new Token[lltoken.size()][]; lltoken.copyInto(aatokenCompiled); @@ -734,8 +734,8 @@ private boolean invalidExpressionToken(String ident) { return compileError("invalid expression token:" + ident); } - private boolean unrecognizedToken() { - return compileError("unrecognized token"); + private boolean unrecognizedToken(String ident) { + return compileError("unrecognized token" + ident); } private boolean badArgumentCount() { return compileError("bad argument count"); Modified: trunk/Jmol/src/org/jmol/viewer/Eval.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-10-17 11:18:59 UTC (rev 5971) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-10-17 14:35:34 UTC (rev 5972) @@ -394,6 +394,8 @@ return !interruptExecution.booleanValue(); } + int commandHistoryLevelMax = 0; + void instructionDispatchLoop() throws ScriptException { long timeBegin = 0; logMessages = Logger.isActiveLevel(Logger.LEVEL_DEBUG); @@ -402,7 +404,8 @@ viewer.scriptStatus("Eval.instructionDispatchLoop():" + timeBegin); viewer.scriptStatus(toString()); } - viewer.addCommand(script); + if (scriptLevel <= commandHistoryLevelMax) + viewer.addCommand(script); while (pc < aatoken.length) { if (!checkContinue()) break; @@ -2573,24 +2576,32 @@ //measure() see monitor() void monitor() throws ScriptException { - int[] monitorArgs = new int[5]; + int[] countPlusIndexes = new int[5]; float[] rangeMinMax = new float[2]; - if (statementLength == 1) { + switch (statementLength) { + case 1: viewer.hideMeasurements(false); return; - } - if (statementLength == 2) { + case 2: if (statement[1].tok == Token.on) viewer.hideMeasurements(false); else if (statement[1].tok == Token.off) viewer.hideMeasurements(true); else if (statement[1].tok == Token.delete) - viewer.clearMeasurements(); + viewer.clearAllMeasurements(); else keywordExpected("ON, OFF, or DELETE"); return; + case 3: //measure delete N + if (statement[1].tok == Token.delete) { + if (statement[1].tok == Token.all) + viewer.clearAllMeasurements(); + else + viewer.deleteMeasurement(intParameter(2) - 1); + return; + } } - monitorArgs[0] = 0; + countPlusIndexes[0] = 0; int argCount = statementLength - 1; int expressionCount = 0; int atomIndex = -1; @@ -2675,9 +2686,9 @@ } else { if (atomIndex == -1) badAtomNumber(); - if (++monitorArgs[0] > 4) + if (++countPlusIndexes[0] > 4) badArgumentCount(); - monitorArgs[monitorArgs[0]] = atomIndex; + countPlusIndexes[countPlusIndexes[0]] = atomIndex; } } if (isAll) { @@ -2691,13 +2702,13 @@ viewer.defineMeasurement(monitorExpressions, rangeMinMax, isDelete, isAllConnected, isON || isOFF, isOFF); } else if (isDelete) - viewer.deleteMeasurement(monitorArgs); + viewer.deleteMeasurement(countPlusIndexes); else if (isON) - viewer.showMeasurement(monitorArgs, true); + viewer.showMeasurement(countPlusIndexes, true); else if (isOFF) - viewer.showMeasurement(monitorArgs, false); + viewer.showMeasurement(countPlusIndexes, false); else - viewer.toggleMeasurement(monitorArgs); + viewer.toggleMeasurement(countPlusIndexes); } void refresh() { @@ -2706,7 +2717,7 @@ } void reset() { - viewer.homePosition(); + viewer.reset(); } void restrict() throws ScriptException { @@ -3845,9 +3856,6 @@ case Token.defaultColors: setDefaultColors(); break; - case Token.debugscript: - setDebugScript(); - break; case Token.selectionHalo: case Token.display: //deprecated setSelectionHalo(2); @@ -3924,6 +3932,10 @@ case Token.pickingStyle: setPickingStyle(); break; + case Token.formalCharge: + viewer.setFormalCharges(intParameter(2)); + break; + // not implemented case Token.backfade: case Token.cartoon: @@ -3936,9 +3948,9 @@ case Token.transparent: case Token.vectps: case Token.write: - case Token.formalCharge: - viewer.setFormalCharges(intParameter(2)); - break; + // fall through to identifier + + case Token.debugscript: case Token.identifier: String str = (String) statement[1].value; if (str.equalsIgnoreCase("toggleLabel")) { @@ -3956,6 +3968,10 @@ viewer.setCallbackFunction(str,func); break; } + if (str.equalsIgnoreCase("historyLevel")) { + commandHistoryLevelMax = intParameter(2); + break; + } if (str.equalsIgnoreCase("defaultLattice")) { if (statementLength < 3) badArgumentCount(); @@ -4257,10 +4273,6 @@ viewer.setShapeSize(JmolConstants.SHAPE_MEASURES, getSetAxesTypeMad(cmdPt)); } - void setDebugScript() throws ScriptException { - viewer.setDebugScript(getSetBoolean()); - } - void setProperty() throws ScriptException { checkLength4(); if (statement[2].tok != Token.identifier) Modified: trunk/Jmol/src/org/jmol/viewer/Measurement.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Measurement.java 2006-10-17 11:18:59 UTC (rev 5971) +++ trunk/Jmol/src/org/jmol/viewer/Measurement.java 2006-10-17 14:35:34 UTC (rev 5972) @@ -56,6 +56,21 @@ setInfo(frame, atomCountPlusIndices, value); } + /** + * Used by MouseManager and Picking Manager to build the script + * @param countPlusIndexes + * @return measure (atomIndex=1) (atomIndex=2).... + */ + static String getMeasurementScript(int[] countPlusIndexes) { + String str = "measure"; + int nAtoms = countPlusIndexes[0]; + for (int i = 0; i < nAtoms; i++) { + str += " (atomIndex=" + countPlusIndexes[i + 1] + ")"; + } + return str; + } + + void setInfo(Frame frame, int[] atomCountPlusIndices, float value) { if (atomCountPlusIndices == null) count = 0; Modified: trunk/Jmol/src/org/jmol/viewer/MouseManager.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/MouseManager.java 2006-10-17 11:18:59 UTC (rev 5971) +++ trunk/Jmol/src/org/jmol/viewer/MouseManager.java 2006-10-17 14:35:34 UTC (rev 5972) @@ -500,7 +500,7 @@ void toggleMeasurement() { if (measurementCount >= 2 && measurementCount <= 4) { measurementCountPlusIndices[0] = measurementCount; - viewer.toggleMeasurement(measurementCountPlusIndices); + viewer.script(Measurement.getMeasurementScript(measurementCountPlusIndices)); } exitMeasurementMode(); } Modified: trunk/Jmol/src/org/jmol/viewer/PickingManager.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/PickingManager.java 2006-10-17 11:18:59 UTC (rev 5971) +++ trunk/Jmol/src/org/jmol/viewer/PickingManager.java 2006-10-17 14:35:34 UTC (rev 5972) @@ -38,8 +38,6 @@ int queuedAtomCount = 0; int[] queuedAtomIndexes = new int[4]; - int[] countPlusIndexes = new int[5]; - PickingManager(Viewer viewer) { this.viewer = viewer; clear(); @@ -170,8 +168,9 @@ } } + int[] countPlusIndices = new int[5]; void toggleMeasurement(int nAtoms) { - countPlusIndexes[0] = nAtoms; + countPlusIndices[0] = nAtoms; int iLast = -1; int iThis; for (int i = 0; i < nAtoms; i++) { @@ -179,9 +178,9 @@ queuedAtomCount = i; return; } - iLast = countPlusIndexes[i + 1] = iThis; + iLast = countPlusIndices[i + 1] = iThis; } - viewer.toggleMeasurement(countPlusIndexes); + viewer.script(Measurement.getMeasurementScript(countPlusIndices)); } void applyMouseStyle(String item, boolean shiftKey, boolean alternateKey) { Modified: trunk/Jmol/src/org/jmol/viewer/TransformManager.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/TransformManager.java 2006-10-17 11:18:59 UTC (rev 5971) +++ trunk/Jmol/src/org/jmol/viewer/TransformManager.java 2006-10-17 14:35:34 UTC (rev 5972) @@ -1194,7 +1194,6 @@ axisangleT.set(matrixRotate); float degrees = axisangleT.angle * degreesPerRadian; StringBuffer sb = new StringBuffer(); - sb.append("#sppa " + scalePixelsPerAngstrom + " rrad " + rotationRadius + "\n"); sb.append("moveto " + timespan); if (degrees < 0.01f) { sb.append(" {0 0 1 0}"); Modified: trunk/Jmol/src/org/jmol/viewer/Viewer.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Viewer.java 2006-10-17 11:18:59 UTC (rev 5971) +++ trunk/Jmol/src/org/jmol/viewer/Viewer.java 2006-10-17 14:35:34 UTC (rev 5972) @@ -239,17 +239,18 @@ return mouseManager.handleOldJvm10Event(e); } - public void homePosition() { + void reset() { //Eval.reset() - //DisplayPanel //initializeModel - //was mouse double-click transformManager.homePosition(); if (modelManager.modelsHaveSymmetry()) styleManager.setCrystallographicDefaults(); - refresh(1, "Viewer:homePosition()"); } + + public void homePosition() { + script("reset"); + } final Hashtable imageCache = new Hashtable(); @@ -391,27 +392,25 @@ } public void rotateFront() { - //app DisplayPanel.FrontAction + //deprecated transformManager.rotateFront(); refresh(1, "Viewer:rotateFront()"); } public void rotateToX(float angleRadians) { - //Viewer.rotateToX(int) - //app DisplayPanel.rotate(); + //deprecated transformManager.rotateToX(angleRadians); refresh(1, "Viewer:rotateToX()"); } public void rotateToY(float angleRadians) { - //Viewer.rotateToY(int) - //app DisplayPanel.rotate(); + //deprecated transformManager.rotateToY(angleRadians); refresh(1, "Viewer:rotateToY()"); } public void rotateToZ(float angleRadians) { - //app DisplayPanel.rotate(); + //deprecated transformManager.rotateToZ(angleRadians); refresh(1, "Viewer:rotateToZ()"); } @@ -419,12 +418,12 @@ final static float radiansPerDegree = (float) (2 * Math.PI / 360); public void rotateToX(int angleDegrees) { - //not in this project + //deprecated rotateToX(angleDegrees * radiansPerDegree); } public void rotateToY(int angleDegrees) { - //not in this project + //deprecated rotateToY(angleDegrees * radiansPerDegree); } @@ -639,7 +638,6 @@ public void setVibrationPeriod(float period) { //Eval - //app AtomSetChooser transformManager.setVibrationPeriod(period); } @@ -758,7 +756,6 @@ public void setVectorScale(float scale) { //Eval - //AtomSetChooser transformManager.setVectorScale(scale); } @@ -878,7 +875,6 @@ } public void selectAll() { - //app DisplayPanel.SelectallAction //initializeModel selectionManager.selectAll(); refresh(0, "Viewer:selectAll()"); @@ -1200,14 +1196,14 @@ modelManager.setClientFile(null, null, null, null); selectionManager.clearSelection(); selectionManager.hide(null); - clearMeasurements(); + clearAllMeasurements(); setStatusFileLoaded(0, null, null, null, null, null); refresh(0, "Viewer:clear()"); System.gc(); } private void initializeModel() { - homePosition(); + reset(); selectAll(); transformManager.setCenter(); if (eval != null) @@ -1492,9 +1488,8 @@ } public void setCenterSelected() { - //DisplayPanel.DefineCenterAction BYPASSES - //==script("center selected") - setCenterBitSet(selectionManager.bsSelection, true); + //depricated + script("center (selected)"); } public void rebond() { @@ -1727,16 +1722,10 @@ } - /***************************************************************************** + /* **************************************************************************** * delegated to MeasurementManager ****************************************************************************/ - public void clearMeasurements() { - //Eval, app MeasurementTable, clear() - setShapeProperty(JmolConstants.SHAPE_MEASURES, "clear", null); - refresh(0, "Viewer:clearMeasurements()"); - } - public int getMeasurementCount() { int count = getShapePropertyAsInt(JmolConstants.SHAPE_MEASURES, "count"); return count <= 0 ? 0 : count; @@ -1767,6 +1756,17 @@ atomCountPlusIndices); } + void clearAllMeasurements() { + //Eval only + setShapeProperty(JmolConstants.SHAPE_MEASURES, "clear", null); + refresh(0, "Viewer:clearAllMeasurements()"); + } + + public void clearMeasurements() { + //depricated but in the API -- use "script" directly + script("measures delete"); + } + void defineMeasurement(Vector monitorExpressions, float[] rangeMinMax, boolean isDelete, boolean isAllConnected, boolean isShowHide, boolean isHidden) { @@ -1781,7 +1781,7 @@ } public void deleteMeasurement(int i) { - //app MeasurementTable + //Eval setShapeProperty(JmolConstants.SHAPE_MEASURES, "delete", new Integer(i)); } @@ -1795,7 +1795,7 @@ //Eval setShapeProperty(JmolConstants.SHAPE_MEASURES, isON ? "show" : "hide", atomCountPlusIndices); - refresh(0, "Viewer:clearMeasurements()"); + refresh(0, "Viewer:showMeasurements()"); } public void hideMeasurements(boolean isOFF) { @@ -1806,11 +1806,11 @@ } void toggleMeasurement(int[] atomCountPlusIndices) { - //Eval, MouseManager, PickingManager + //Eval setShapeProperty(JmolConstants.SHAPE_MEASURES, "toggle", atomCountPlusIndices); } - + // /////////////////////////////////////////////////////////////// // delegated to RepaintManager // /////////////////////////////////////////////////////////////// @@ -3012,7 +3012,6 @@ public void setPerspectiveDepth(boolean perspectiveDepth) { //setBooleanProperty //StyleManager.setCrystallographicDefaults - //app DisplayPanel //app preferences dialog transformManager.setPerspectiveDepth(perspectiveDepth); refresh(0, "Viewer:setPerspectiveDepth()"); @@ -3060,8 +3059,13 @@ return transformManager.getPerspectiveDepth(); } - public void setSelectionHaloEnabled(boolean selectionHaloEnabled) { + public void setSelectionHalos(boolean TF) { //app DisplayPanel + if (getSelectionHaloEnabled() != TF) + script("selectionHalos "+ TF); + } + + void setSelectionHaloEnabled(boolean selectionHaloEnabled) { //Eval //setBooleanProperty loadShape(JmolConstants.SHAPE_HALOS); @@ -3234,8 +3238,7 @@ } public void setShowHydrogens(boolean TF) { - //DisplayPanel.HydrogensAction - //PreferncesDialog + //PreferencesDialog //setBooleanProperty global.showHydrogens = TF; refresh(0, "Viewer:setShowHydrogens()"); @@ -3256,7 +3259,6 @@ } public void setShowBbcage(boolean showBbcage) { - //DisplayPanel //PreferencesDialog setShapeShow(JmolConstants.SHAPE_BBCAGE, showBbcage); } @@ -3266,7 +3268,6 @@ } public void setShowAxes(boolean showAxes) { - //DisplayPanel //PreferencesDialog setShapeShow(JmolConstants.SHAPE_AXES, showAxes); } @@ -3276,7 +3277,6 @@ } public void setShowMeasurements(boolean TF) { - //DisplayPanel //PreferencesDialog //setbooleanProperty global.showMeasurements = TF; Modified: trunk/Jmol/src/org/openscience/jmol/app/AtomSetChooser.java =================================================================== --- trunk/Jmol/src/org/openscience/jmol/app/AtomSetChooser.java 2006-10-17 11:18:59 UTC (rev 5971) +++ trunk/Jmol/src/org/openscience/jmol/app/AtomSetChooser.java 2006-10-17 14:35:34 UTC (rev 5972) @@ -301,7 +301,7 @@ scaleSlider = new JSlider(0, (int)(SCALE_MAX/SCALE_PRECISION), (int) (SCALE_VALUE/SCALE_PRECISION)); scaleSlider.addChangeListener(this); - viewer.setVectorScale(SCALE_VALUE); + viewer.evalStringQuiet("vector scale " + SCALE_VALUE); scalePanel.add(scaleSlider); row1.add(scalePanel); vectorPanel.add(row1); @@ -314,7 +314,7 @@ amplitudePanel.setBorder(new TitledBorder(GT._("Amplitude"))); amplitudeSlider = new JSlider(0, (int) (AMPLITUDE_MAX/AMPLITUDE_PRECISION), (int)(AMPLITUDE_VALUE/AMPLITUDE_PRECISION)); - viewer.setVibrationScale(AMPLITUDE_VALUE); + viewer.evalStringQuiet("vibration scale " + AMPLITUDE_VALUE); amplitudeSlider.addChangeListener(this); amplitudePanel.add(amplitudeSlider); row2.add(amplitudePanel); @@ -325,7 +325,7 @@ periodSlider = new JSlider(0, (int)(PERIOD_MAX/PERIOD_PRECISION), (int)(PERIOD_VALUE/PERIOD_PRECISION)); - viewer.setVibrationPeriod(PERIOD_VALUE); + viewer.evalStringQuiet("vibration " + PERIOD_VALUE); periodSlider.addChangeListener(this); periodPanel.add(periodSlider); row2.add(periodPanel); @@ -419,7 +419,6 @@ try { currentIndex = index; int atomSetIndex = indexes[index]; - // viewer.setDisplayModelIndex(atomSetIndex); // does not update viewer.evalStringQuiet("frame " + viewer.getModelNumber(atomSetIndex)); infoLabel.setText(viewer.getModelName(atomSetIndex)); showProperties(viewer.getModelProperties(atomSetIndex)); @@ -521,7 +520,8 @@ int modelIndex = indexes[idx]; StringBuffer str = new StringBuffer(viewer.getModelName(modelIndex)+"\n"); int natoms=0; - for (int i = 0; i < viewer.getAtomCount(); i++) { + int atomCount = viewer.getAtomCount(); + for (int i = 0; i < atomCount; i++) { if (viewer.getAtomModelIndex(i)==modelIndex) { natoms++; Point3f p = viewer.getAtomPoint3f(i); @@ -564,27 +564,28 @@ public void stateChanged(ChangeEvent e) { Object src = e.getSource(); - int value = ((JSlider)src).getValue(); + int value = ((JSlider) src).getValue(); if (src == selectSlider) { showAtomSetIndex(value, false); } else if (src == fpsSlider) { if (value == 0) - fpsSlider.setValue(1); // make sure I never set it to 0... + fpsSlider.setValue(1); // make sure I never set it to 0... else - viewer.setAnimationFps(value); - } else if (src == radiusSlider) { + viewer.evalStringQuiet("animation fps " + value); + } else if (src == radiusSlider) { if (value == 0) radiusSlider.setValue(1); // make sure I never set it to 0.. else viewer.evalStringQuiet("vector " + value); } else if (src == scaleSlider) { - viewer.evalStringQuiet("vector scale "+value*SCALE_PRECISION); + viewer.evalStringQuiet("vector scale " + (value * SCALE_PRECISION)); } else if (src == amplitudeSlider) { - viewer.setVibrationScale(value*AMPLITUDE_PRECISION); + viewer + .evalStringQuiet("vibration scale " + (value * AMPLITUDE_PRECISION)); } else if (src == periodSlider) { - viewer.setVibrationPeriod(value*PERIOD_PRECISION); + viewer.evalStringQuiet("vibration " + (value * PERIOD_PRECISION)); } - } + } /** * Shows the properties in the propertiesPane of the Modified: trunk/Jmol/src/org/openscience/jmol/app/DisplayPanel.java =================================================================== --- trunk/Jmol/src/org/openscience/jmol/app/DisplayPanel.java 2006-10-17 11:18:59 UTC (rev 5971) +++ trunk/Jmol/src/org/openscience/jmol/app/DisplayPanel.java 2006-10-17 14:35:34 UTC (rev 5972) @@ -74,7 +74,7 @@ void setRotateMode() { Jmol.setRotateButton(); - viewer.setSelectionHaloEnabled(false); + viewer.setSelectionHalos(false); } public void componentHidden(java.awt.event.ComponentEvent e) { @@ -158,6 +158,13 @@ private AxesAction axesAction = new AxesAction(); private BoundboxAction boundboxAction = new BoundboxAction(); + void moveTo(String move) { + if (viewer.getShowBbcage() || viewer.getBooleanProperty("showUnitCell")) + viewer.script(move); + else + viewer.script("boundbox on;" + move +";delay 1;boundbox off"); + } + class HydrogensAction extends AbstractAction { public HydrogensAction() { @@ -167,7 +174,7 @@ public void actionPerformed(ActionEvent e) { JCheckBoxMenuItem cbmi = (JCheckBoxMenuItem) e.getSource(); - viewer.setShowHydrogens(cbmi.isSelected()); + viewer.script("set showHydrogens " + cbmi.isSelected()); } } @@ -180,7 +187,7 @@ public void actionPerformed(ActionEvent e) { JCheckBoxMenuItem cbmi = (JCheckBoxMenuItem) e.getSource(); - viewer.setShowMeasurements(cbmi.isSelected()); + viewer.script ("set showMeasurements " +cbmi.isSelected()); } } @@ -192,10 +199,7 @@ } public void actionPerformed(ActionEvent e) { - - if (viewer.haveFrame()) { - viewer.script("select all"); - } + viewer.script("select all"); } } @@ -207,10 +211,7 @@ } public void actionPerformed(ActionEvent e) { - - if (viewer.haveFrame()) { - viewer.script("select none"); - } + viewer.script("select none"); } } @@ -222,7 +223,7 @@ } public void actionPerformed(ActionEvent e) { - viewer.setSelectionHaloEnabled(true); + viewer.setSelectionHalos(false); status.setStatus(1, GT._("Select Atoms")); } } @@ -235,7 +236,8 @@ } public void actionPerformed(ActionEvent e) { - viewer.setSelectionHaloEnabled(false); + //not implemented (I hope) + viewer.setSelectionHalos(false); status.setStatus(1, GT._("Delete Atoms")); } } @@ -248,7 +250,7 @@ } public void actionPerformed(ActionEvent e) { - viewer.setSelectionHaloEnabled(false); + viewer.setSelectionHalos(false); status.setStatus(1, ((JComponent) e.getSource()).getToolTipText()); } } @@ -261,7 +263,7 @@ } public void actionPerformed(ActionEvent e) { - viewer.setSelectionHaloEnabled(false); + viewer.setSelectionHalos(false); status.setStatus(1, ((JComponent) e.getSource()).getToolTipText()); } } @@ -274,7 +276,7 @@ } public void actionPerformed(ActionEvent e) { - viewer.setSelectionHaloEnabled(false); + viewer.setSelectionHalos(false); status.setStatus(1, ((JComponent) e.getSource()).getToolTipText()); } } @@ -287,7 +289,7 @@ } public void actionPerformed(ActionEvent e) { - viewer.script("boundbox on;moveto 2.0 front;delay 1;boundbox off"); + moveTo("moveto 2.0 front"); } } @@ -299,7 +301,7 @@ } public void actionPerformed(ActionEvent e) { - viewer.script("boundbox on;moveto 1.0 front;moveto 2.0 top;delay 1;boundbox off"); + moveTo("moveto 1.0 front;moveto 2.0 top"); } } @@ -311,7 +313,7 @@ } public void actionPerformed(ActionEvent e) { - viewer.script("boundbox on;moveto 1.0 front;moveto 2.0 bottom;delay 1;boundbox off"); + moveTo("moveto 1.0 front;moveto 2.0 bottom"); } } @@ -323,7 +325,7 @@ } public void actionPerformed(ActionEvent e) { - viewer.script("boundbox on;moveto 1.0 front;moveto 2.0 right;delay 1;boundbox off"); + moveTo("moveto 1.0 front;moveto 2.0 right"); } } @@ -335,7 +337,7 @@ } public void actionPerformed(ActionEvent e) { - viewer.script("boundbox on;moveto 1.0 front;moveto 2.0 left;delay 1;boundbox off"); + moveTo("moveto 1.0 front;moveto 2.0 left"); } } @@ -347,9 +349,9 @@ } public void actionPerformed(ActionEvent e) { - viewer.setCenterSelected(); + viewer.script("center (selected)"); setRotateMode(); - viewer.setSelectionHaloEnabled(false); + viewer.setSelectionHalos(false); } } @@ -375,7 +377,7 @@ public void actionPerformed(ActionEvent e) { JCheckBoxMenuItem cbmi = (JCheckBoxMenuItem) e.getSource(); - viewer.setPerspectiveDepth(cbmi.isSelected()); + viewer.script("set PerspectiveDepth " +cbmi.isSelected()); } } @@ -388,7 +390,7 @@ public void actionPerformed(ActionEvent e) { JCheckBoxMenuItem cbmi = (JCheckBoxMenuItem) e.getSource(); - viewer.setShowAxes(cbmi.isSelected()); + viewer.script("set showAxes " + cbmi.isSelected()); } } @@ -401,7 +403,7 @@ public void actionPerformed(ActionEvent e) { JCheckBoxMenuItem cbmi = (JCheckBoxMenuItem) e.getSource(); - viewer.setShowBbcage(cbmi.isSelected()); + viewer.script("set showBoundBox " + cbmi.isSelected()); } } @@ -503,20 +505,6 @@ status.setStatus(3, fmt(timeLast) + "ms : " + fmt(timeAverage) + "ms"); } } - - public final static int X_AXIS = 1; - public final static int Y_AXIS = 2; - public final static int Z_AXIS = 3; - - public void rotate(int axis, double angle) { - if (axis == X_AXIS) { - viewer.rotateToX((float)Math.toRadians(angle)); - } else if (axis == Y_AXIS) { - viewer.rotateToY((float)Math.toRadians(angle)); - } else if (axis == Z_AXIS) { - viewer.rotateToZ((float)Math.toRadians(angle)); - } - } } Modified: trunk/Jmol/src/org/openscience/jmol/app/MeasurementTable.java =================================================================== --- trunk/Jmol/src/org/openscience/jmol/app/MeasurementTable.java 2006-10-17 11:18:59 UTC (rev 5971) +++ trunk/Jmol/src/org/openscience/jmol/app/MeasurementTable.java 2006-10-17 14:35:34 UTC (rev 5972) @@ -124,7 +124,7 @@ deleteButton = new JButton(GT._("Delete")); deleteButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - viewer.deleteMeasurement(selectedMeasurementRow); + viewer.script("measures delete " + (selectedMeasurementRow + 1)); updateMeasurementTableData(); } }); @@ -133,7 +133,7 @@ deleteAllButton = new JButton(GT._("DeleteAll")); deleteAllButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - viewer.clearMeasurements(); + viewer.script("measures delete"); updateMeasurementTableData(); } }); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |