From: <ha...@us...> - 2009-08-16 15:49:53
|
Revision: 11320 http://jmol.svn.sourceforge.net/jmol/?rev=11320&view=rev Author: hansonr Date: 2009-08-16 15:49:44 +0000 (Sun, 16 Aug 2009) Log Message: ----------- # new features for the 238th American Chemical Society National Meeting, Washington, D.C., Aug. 19, 2009 # code: dissociation of applet console from jvm12 Modified Paths: -------------- trunk/Jmol/src/org/jmol/adapter/smarter/AtomSetCollection.java trunk/Jmol/src/org/jmol/api/JmolAppConsoleInterface.java trunk/Jmol/src/org/jmol/api/JmolScriptEditorInterface.java trunk/Jmol/src/org/jmol/api/SymmetryInterface.java trunk/Jmol/src/org/jmol/applet/Jmol.java trunk/Jmol/src/org/jmol/applet/Jvm12.java trunk/Jmol/src/org/jmol/console/AppletConsole.java trunk/Jmol/src/org/jmol/console/JmolConsole.java trunk/Jmol/src/org/jmol/console/ScriptEditor.java trunk/Jmol/src/org/jmol/modelset/ModelCollection.java trunk/Jmol/src/org/jmol/symmetry/SpaceGroup.java trunk/Jmol/src/org/jmol/symmetry/Symmetry.java trunk/Jmol/src/org/jmol/symmetry/SymmetryOperation.java trunk/Jmol/src/org/jmol/viewer/Jmol.properties trunk/Jmol/src/org/jmol/viewer/ScriptMathProcessor.java trunk/Jmol/src/org/jmol/viewer/Token.java trunk/Jmol/src/org/jmol/viewer/Viewer.java trunk/Jmol/src/org/openscience/jmol/app/jmolpanel/AppConsole.java Modified: trunk/Jmol/src/org/jmol/adapter/smarter/AtomSetCollection.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/smarter/AtomSetCollection.java 2009-08-15 17:06:28 UTC (rev 11319) +++ trunk/Jmol/src/org/jmol/adapter/smarter/AtomSetCollection.java 2009-08-16 15:49:44 UTC (rev 11320) @@ -567,7 +567,7 @@ boolean addSpaceGroupOperation(String xyz) { getSymmetry().setSpaceGroup(doNormalize); - return symmetry.addSpaceGroupOperation(xyz); + return (symmetry.addSpaceGroupOperation(xyz) >= 0); } public void setLatticeParameter(int latt) { Modified: trunk/Jmol/src/org/jmol/api/JmolAppConsoleInterface.java =================================================================== --- trunk/Jmol/src/org/jmol/api/JmolAppConsoleInterface.java 2009-08-15 17:06:28 UTC (rev 11319) +++ trunk/Jmol/src/org/jmol/api/JmolAppConsoleInterface.java 2009-08-16 15:49:44 UTC (rev 11320) @@ -10,8 +10,6 @@ JmolAppConsoleInterface getAppConsole(Viewer viewer, Component display); - void set(JmolViewer viewer, Object jvm12); - String getText(); Object getMyMenuBar(); Modified: trunk/Jmol/src/org/jmol/api/JmolScriptEditorInterface.java =================================================================== --- trunk/Jmol/src/org/jmol/api/JmolScriptEditorInterface.java 2009-08-15 17:06:28 UTC (rev 11319) +++ trunk/Jmol/src/org/jmol/api/JmolScriptEditorInterface.java 2009-08-16 15:49:44 UTC (rev 11320) @@ -12,8 +12,6 @@ void dispose(); - JmolScriptEditorInterface getScriptEditor(JmolViewer viewer, Object frame, Object jmolConsole); - boolean isVisible(); void notifyContext(ScriptContext property, Object[] data); Modified: trunk/Jmol/src/org/jmol/api/SymmetryInterface.java =================================================================== --- trunk/Jmol/src/org/jmol/api/SymmetryInterface.java 2009-08-15 17:06:28 UTC (rev 11319) +++ trunk/Jmol/src/org/jmol/api/SymmetryInterface.java 2009-08-16 15:49:44 UTC (rev 11320) @@ -26,7 +26,7 @@ public abstract void setSpaceGroup(boolean doNormalize); - public abstract boolean addSpaceGroupOperation(String xyz); + public abstract int addSpaceGroupOperation(String xyz); /** * set symmetry lattice type using Hall rotations Modified: trunk/Jmol/src/org/jmol/applet/Jmol.java =================================================================== --- trunk/Jmol/src/org/jmol/applet/Jmol.java 2009-08-15 17:06:28 UTC (rev 11319) +++ trunk/Jmol/src/org/jmol/applet/Jmol.java 2009-08-16 15:49:44 UTC (rev 11320) @@ -204,10 +204,8 @@ JmolAppletRegistry.checkOut(fullName); viewer.setModeMouse(JmolConstants.MOUSE_NONE); viewer = null; - if (jvm12 != null) { - jvm12.console = null; + if (jvm12 != null) jvm12 = null; - } System.out.println("Jmol applet " + fullName + " destroyed"); } @@ -1188,18 +1186,19 @@ } private void consoleMessage(String message) { - if (jvm12 != null && jvm12.haveConsole()) { + JmolAppConsoleInterface appConsole = (JmolAppConsoleInterface) viewer.getProperty("DATA_API", "getAppConsole", null); + if (appConsole != null) { if (defaultMessage == null) { GT.setDoTranslate(true); defaultMessage = GT ._("Messages will appear here. Enter commands in the box below. Click the console Help menu item for on-line help, which will appear in a new browser window."); GT.setDoTranslate(doTranslate); } - if (jvm12.getConsoleMessage().startsWith(defaultMessage)) - jvm12.consoleMessage(""); - jvm12.consoleMessage(message); + if (appConsole.getText().startsWith(defaultMessage)) + appConsole.sendConsoleMessage(""); + appConsole.sendConsoleMessage(message); if (message == null) { - jvm12.consoleMessage(defaultMessage); + appConsole.sendConsoleMessage(defaultMessage); } } output(message); Modified: trunk/Jmol/src/org/jmol/applet/Jvm12.java =================================================================== --- trunk/Jmol/src/org/jmol/applet/Jvm12.java 2009-08-15 17:06:28 UTC (rev 11319) +++ trunk/Jmol/src/org/jmol/applet/Jvm12.java 2009-08-16 15:49:44 UTC (rev 11320) @@ -35,7 +35,6 @@ protected JmolViewer viewer; public Component awtComponent; - public JmolAppConsoleInterface console; protected String appletContext; @@ -62,30 +61,6 @@ return awtComponent.getSize(dimSize); } - void consoleMessage(String message) { - console.sendConsoleMessage(message); - } - - boolean haveConsole() { - return (console != null); - } - - void getConsole() { - if (console == null) { - console = (JmolAppConsoleInterface) Interface.getOptionInterface("console.AppletConsole"); - if (console == null) { - console = (JmolAppConsoleInterface) Interface.getOptionInterface("console.AppletConsole"); - } - } - if (console != null) - console.set(viewer, this); - viewer.getProperty("DATA_API", "getAppConsole", console); - } - - String getConsoleMessage() { - return console.getText(); - } - final protected static String[] imageChoices = { "JPEG", "PNG", "GIF", "PPM" }; final protected static String[] imageExtensions = { "jpg", "png", "gif", "ppm" }; Modified: trunk/Jmol/src/org/jmol/console/AppletConsole.java =================================================================== --- trunk/Jmol/src/org/jmol/console/AppletConsole.java 2009-08-15 17:06:28 UTC (rev 11319) +++ trunk/Jmol/src/org/jmol/console/AppletConsole.java 2009-08-16 15:49:44 UTC (rev 11320) @@ -24,7 +24,6 @@ package org.jmol.console; import org.jmol.api.*; -import org.jmol.applet.Jvm12; import org.jmol.i18n.*; import java.awt.*; @@ -44,7 +43,6 @@ private final Document outputDocument = output.getDocument(); private JFrame jf; - private Jvm12 jvm12; private final SimpleAttributeSet attributesCommand = new SimpleAttributeSet(); @@ -54,9 +52,7 @@ private JMenuBar menubar; // requiring Swing here for now private JButton clearOutButton, clearInButton, loadButton; - private JmolScriptEditorInterface scriptEditor; - public Object getMyMenuBar() { return menubar; } @@ -69,17 +65,13 @@ public AppletConsole() { } - public JmolAppConsoleInterface getAppConsole(Viewer viewer, Object arg2) { - // used in application only - return null; + public JmolAppConsoleInterface getAppConsole(Viewer viewer, Component display) { + return new AppletConsole(viewer, display); } - public JmolScriptEditorInterface getScriptEditor() { - if (scriptEditor == null) { - scriptEditor = (JmolScriptEditorInterface) Interface.getOptionInterface("console.ScriptEditor"); - scriptEditor = scriptEditor.getScriptEditor(viewer, jvm12.awtComponent, this); - } - return scriptEditor; + private AppletConsole(Viewer viewer, Component display) { + this.display = display; + set(viewer); } public void sendConsoleEcho(String strEcho) { @@ -93,12 +85,11 @@ public void zap() { } - public void set(JmolViewer viewer, Object jvm12) { + private void set(JmolViewer viewer) { //Logger.debug("Console constructor"); //System.out.println("Console " + this + " constructed"); this.viewer = viewer; - this.jvm12 = (Jvm12) jvm12; boolean doTranslate = GT.getDoTranslate(); GT.setDoTranslate(true); @@ -357,11 +348,15 @@ //////////////////////////////////////////////////////////////// public void windowClosed(WindowEvent we) { - jvm12.console = null; + destroyConsole(); } + private void destroyConsole() { + viewer.getProperty("DATA_API", "getAppletConsole", (JmolAppConsoleInterface) null); + } + public void windowClosing(WindowEvent we) { - jvm12.console = null; + destroyConsole(); } /// Graphical User Interface for applet /// @@ -474,10 +469,4 @@ } } - public JmolAppConsoleInterface getAppConsole(Viewer viewer, Component display) { - // TODO - return null; - } - - } Modified: trunk/Jmol/src/org/jmol/console/JmolConsole.java =================================================================== --- trunk/Jmol/src/org/jmol/console/JmolConsole.java 2009-08-15 17:06:28 UTC (rev 11319) +++ trunk/Jmol/src/org/jmol/console/JmolConsole.java 2009-08-16 15:49:44 UTC (rev 11320) @@ -26,6 +26,7 @@ import org.jmol.api.*; import org.jmol.i18n.*; +import java.awt.Component; import java.awt.event.*; import javax.swing.*; @@ -33,9 +34,22 @@ public abstract class JmolConsole extends JDialog implements ActionListener, WindowListener { public JmolViewer viewer; + protected Component display; // common: + protected ScriptEditor scriptEditor; + + void setScriptEditor(ScriptEditor se) { + scriptEditor = se; + } + + public JmolScriptEditorInterface getScriptEditor() { + return (scriptEditor == null ? + (scriptEditor = new ScriptEditor(viewer, display instanceof JFrame ? (JFrame) display : null, this)) + : scriptEditor); + } + protected JButton editButton, runButton, historyButton, stateButton; JmolViewer getViewer() { @@ -49,8 +63,10 @@ public JmolConsole() { } - public JmolConsole(JFrame frame, String _, boolean b) { + public JmolConsole(JmolViewer viewer, JFrame frame, String _, boolean b) { super(frame, GT._("Jmol Script Console"), false); + this.viewer = viewer; + display = frame; } abstract protected void clearContent(String text); Modified: trunk/Jmol/src/org/jmol/console/ScriptEditor.java =================================================================== --- trunk/Jmol/src/org/jmol/console/ScriptEditor.java 2009-08-15 17:06:28 UTC (rev 11319) +++ trunk/Jmol/src/org/jmol/console/ScriptEditor.java 2009-08-16 15:49:44 UTC (rev 11320) @@ -53,7 +53,7 @@ public final class ScriptEditor extends JDialog implements JmolScriptEditorInterface, ActionListener { - EditorTextPane editor; + protected EditorTextPane editor; private JButton openButton; private JButton closeButton; private JButton loadButton; @@ -69,7 +69,7 @@ protected JButton stepButton; protected JButton resumeButton; - JmolViewer viewer; + private JmolViewer viewer; /* * methods sendeditorEcho, sendeditorMessage(strStatus), notifyScriptStart(), @@ -82,20 +82,17 @@ private JmolConsole jmolConsole; - public JmolScriptEditorInterface getScriptEditor(JmolViewer viewer, Object frame, Object jmolConsole) { - return new ScriptEditor(viewer, null, (JmolConsole) jmolConsole); - } - protected String title; - protected String parsedData = ""; + protected String parsedData = ""; protected ScriptContext parsedContext; protected SimpleAttributeSet attHighlight; protected SimpleAttributeSet attEcho; protected SimpleAttributeSet attError; - public ScriptEditor(JmolViewer viewer, JFrame frame, JmolConsole jmolConsole) { - super(frame, null, false); //was frame + ScriptEditor(JmolViewer viewer, JFrame frame, JmolConsole jmolConsole) { + super(frame, null, false); + // from appConsole only; setAttributes(); setTitle(title = GT._("Jmol Script Editor")); this.viewer = viewer; @@ -106,7 +103,7 @@ setLocationRelativeTo(frame); } - void setAttributes() { + private void setAttributes() { attHighlight = new SimpleAttributeSet(); StyleConstants.setBackground(attHighlight, Color.LIGHT_GRAY); StyleConstants.setForeground(attHighlight, Color.blue); @@ -122,14 +119,7 @@ } - JButton setButton(String s) { - JButton b = new JButton(s); - b.addActionListener(this); - buttonPanel.add(b); - return b; - } - - JPanel buttonPanel = new JPanel(); + private JPanel buttonPanel = new JPanel(); void layoutWindow(Container container) { editor = new EditorTextPane(this); @@ -175,6 +165,13 @@ } + private JButton setButton(String s) { + JButton b = new JButton(s); + b.addActionListener(this); + buttonPanel.add(b); + return b; + } + public void notifyScriptStart() { runButton.setEnabled(false); resumeButton.setEnabled(false); @@ -242,7 +239,7 @@ setContext(context); } - String filename; + protected String filename; private synchronized void setContext(ScriptContext context) { pauseButton.setEnabled(viewer.isScriptExecuting()); @@ -359,7 +356,7 @@ } - static String[] lastOpened = {"?.spt", null} ; + private static String[] lastOpened = {"?.spt", null} ; private void doOpen() { viewer.getFileAsString(lastOpened, Integer.MAX_VALUE, false); editor.clearContent(lastOpened[1]); Modified: trunk/Jmol/src/org/jmol/modelset/ModelCollection.java =================================================================== --- trunk/Jmol/src/org/jmol/modelset/ModelCollection.java 2009-08-15 17:06:28 UTC (rev 11319) +++ trunk/Jmol/src/org/jmol/modelset/ModelCollection.java 2009-08-16 15:49:44 UTC (rev 11320) @@ -2866,6 +2866,34 @@ "or \"C m m m\" or \"x, y, z;-x ,-y, -z\"" : info + strOperations); } + public Point3f applySymmetry(int iAtom, String xyz, int op, Point3f pt) { + Point3f sympt = new Point3f(); + if (iAtom < 0) + return sympt; + int iModel = atoms[iAtom].modelIndex; + SymmetryInterface uc = getUnitCell(iModel); + if (uc == null) + return sympt; + SymmetryInterface sym; + if (xyz == null) { + String[] ops = uc.getSymmetryOperations(); + if (ops == null || op < 1 || op > ops.length) + return sympt; + xyz = ops[op - 1 ]; + } + if (symTemp == null) + symTemp = (SymmetryInterface) Interface.getOptionInterface("symmetry.Symmetry"); + sym = symTemp; + sym.setSpaceGroup(false); + int iSym = sym.addSpaceGroupOperation(xyz); + sym.setUnitCell(uc.getNotionalUnitCell()); + Point3f ptuc = new Point3f(pt == null ? atoms[iAtom] : pt); + uc.toFractional(ptuc); + sym.newSpaceGroupPoint(iSym, ptuc, sympt, 0, 0, 0); + sym.toCartesian(sympt); + return sympt; + } + protected void deleteModel(int modelIndex, int firstAtomIndex, int nAtoms, BitSet bsAtoms, BitSet bsBonds) { /* Modified: trunk/Jmol/src/org/jmol/symmetry/SpaceGroup.java =================================================================== --- trunk/Jmol/src/org/jmol/symmetry/SpaceGroup.java 2009-08-15 17:06:28 UTC (rev 11319) +++ trunk/Jmol/src/org/jmol/symmetry/SpaceGroup.java 2009-08-16 15:49:44 UTC (rev 11320) @@ -25,6 +25,7 @@ package org.jmol.symmetry; import java.util.Arrays; +import java.util.Hashtable; import javax.vecmath.Point3f; import javax.vecmath.Matrix4f; @@ -131,17 +132,11 @@ return (i >=0 ? spaceGroupDefinitions[i] : null); } - boolean addSymmetry(String xyz) { + int addSymmetry(String xyz) { xyz = xyz.toLowerCase(); if (xyz.indexOf("x") < 0 || xyz.indexOf("y") < 0 || xyz.indexOf("z") < 0) - return false; - SymmetryOperation symmetryOperation = new SymmetryOperation(doNormalize); - if (!symmetryOperation.setMatrixFromXYZ(xyz)) { - Logger.error("couldn't interpret symmetry operation: " + xyz); - return false; - } - addOperation(symmetryOperation); - return true; + return -1; + return addOperation(xyz); } SymmetryOperation[] finalOperations; @@ -589,19 +584,26 @@ return '\0'; } - String xyzList = ""; - private void addOperation(SymmetryOperation symmetryOperation) { - if (symmetryOperation == null) { - xyzList = ""; - return; + Hashtable xyzList = new Hashtable(); + private int addOperation(String xyz0) { + if (xyz0 == null) { + xyzList = new Hashtable(); + return -1; } + if (xyzList.containsKey(xyz0)) + return ((Integer)xyzList.get(xyz0)).intValue(); + SymmetryOperation symmetryOperation = new SymmetryOperation(doNormalize); + if (!symmetryOperation.setMatrixFromXYZ(xyz0)) { + Logger.error("couldn't interpret symmetry operation: " + xyz0); + return -1; + } String xyz = symmetryOperation.xyz; - String key = "|" + xyz + "|"; - if (xyzList.indexOf(key) >= 0) - return; - xyzList += key; - + if (xyzList.containsKey(xyz)) + return ((Integer)xyzList.get(xyz)).intValue(); + xyzList.put(xyz, new Integer(operationCount)); + if (!xyz.equals(xyz0)) + xyzList.put(xyz0, new Integer(operationCount)); if (operations == null) { operations = new SymmetryOperation[4]; operationCount = 0; @@ -613,8 +615,9 @@ if (Logger.debugging) Logger.debug("\naddOperation " + operationCount + symmetryOperation.dumpInfo()); + return operationCount - 1; } - + private void generateOperatorsFromXyzInfo(String xyzInfo) { addOperation(null); addSymmetry("x,y,z"); @@ -666,10 +669,11 @@ } private void addSymmetry(String xyz, Matrix4f operation) { - SymmetryOperation symmetryOperation = new SymmetryOperation(); + int iop = addOperation(xyz); + if (iop < 0) + return; + SymmetryOperation symmetryOperation = operations[iop]; symmetryOperation.set(operation); - symmetryOperation.xyz = xyz; - addOperation(symmetryOperation); } /// utilities /// Modified: trunk/Jmol/src/org/jmol/symmetry/Symmetry.java =================================================================== --- trunk/Jmol/src/org/jmol/symmetry/Symmetry.java 2009-08-15 17:06:28 UTC (rev 11319) +++ trunk/Jmol/src/org/jmol/symmetry/Symmetry.java 2009-08-16 15:49:44 UTC (rev 11320) @@ -106,7 +106,7 @@ spaceGroup = new SpaceGroup(doNormalize); } - public boolean addSpaceGroupOperation(String xyz) { + public int addSpaceGroupOperation(String xyz) { return spaceGroup.addSymmetry(xyz); } @@ -170,6 +170,13 @@ public void newSpaceGroupPoint(int i, Point3f atom1, Point3f atom2, int transX, int transY, int transZ) { + if (spaceGroup.finalOperations == null) { + // temporary spacegroups don't have to have finalOperations + if (!spaceGroup.operations[i].isFinalized) + spaceGroup.operations[i].doFinalize(); + spaceGroup.operations[i].newPoint(atom1, atom2, transX, transY, transZ); + return; + } spaceGroup.finalOperations[i].newPoint(atom1, atom2, transX, transY, transZ); } Modified: trunk/Jmol/src/org/jmol/symmetry/SymmetryOperation.java =================================================================== --- trunk/Jmol/src/org/jmol/symmetry/SymmetryOperation.java 2009-08-15 17:06:28 UTC (rev 11319) +++ trunk/Jmol/src/org/jmol/symmetry/SymmetryOperation.java 2009-08-16 15:49:44 UTC (rev 11320) @@ -51,6 +51,7 @@ String xyzOriginal; String xyz; boolean doNormalize = true; + boolean isFinalized; SymmetryOperation() { } @@ -69,11 +70,16 @@ xyzOriginal = op.xyzOriginal; xyz = op.xyz; set(op); // sets the underlying Matrix4f + doFinalize(); + if (doNormalize) + setOffset(atoms, atomIndex, count); + } + + void doFinalize() { m03 /= 12f; m13 /= 12f; m23 /= 12f; - if (doNormalize) - setOffset(atoms, atomIndex, count); + isFinalized = true; } String getXyz(boolean normalized) { @@ -119,6 +125,7 @@ */ if (xyz == null) return false; + System.out.println("symmetryoperation setmatrixfromxyz " + xyz); xyzOriginal = xyz; xyz = xyz.toLowerCase(); float[] temp = new float[16]; @@ -222,6 +229,7 @@ if (rowPt == 2) { set(temp); this.xyz = strOut; + System.out.println((Matrix4f)this); rowPt = 0; return true; } Modified: trunk/Jmol/src/org/jmol/viewer/Jmol.properties =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2009-08-15 17:06:28 UTC (rev 11319) +++ trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2009-08-16 15:49:44 UTC (rev 11320) @@ -3,6 +3,8 @@ version=11.8.RC6_dev +# new features for the 238th American Chemical Society National Meeting, Washington, D.C., Aug. 19, 2009 +# code: dissociation of applet console from jvm12 # new feature: ho, ho, this is fun. Wouldn't it be nice to just drag a JPG into # Jmol and have it come alive? # write IMAGESPT t.jpg Modified: trunk/Jmol/src/org/jmol/viewer/ScriptMathProcessor.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/ScriptMathProcessor.java 2009-08-15 17:06:28 UTC (rev 11319) +++ trunk/Jmol/src/org/jmol/viewer/ScriptMathProcessor.java 2009-08-16 15:49:44 UTC (rev 11320) @@ -646,10 +646,26 @@ return evaluateConnected(args); case Token.substructure: return evaluateSubstructure(args); + case Token.symop: + return evaluateSymop(args); } return false; } + private boolean evaluateSymop(ScriptVariable[] args) throws ScriptException { + if (args.length == 0) + return false; + ScriptVariable x1 = getX(); + if (isSyntaxCheck) + return addX(new Point3f()); + if (x1.tok != Token.bitset) + return false; + String xyz = (args[0].tok == Token.string ? ScriptVariable.sValue(args[0]) : null); + int iOp = (xyz == null ? ScriptVariable.iValue(args[0]) : 0); + Point3f pt = (args.length == 2 ? ptValue(args[1]) : null); + return addX(viewer.applySymmetry((BitSet) x1.value, xyz, iOp, pt)); + } + private boolean evaluateBin(ScriptVariable[] args) throws ScriptException { if (args.length != 3) return false; Modified: trunk/Jmol/src/org/jmol/viewer/Token.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Token.java 2009-08-15 17:06:28 UTC (rev 11319) +++ trunk/Jmol/src/org/jmol/viewer/Token.java 2009-08-16 15:49:44 UTC (rev 11320) @@ -515,7 +515,6 @@ public final static int resno = intproperty | 15; final public static int site = intproperty | 16; final public static int strucno = intproperty | 18; - public final static int symop = intproperty | 19; final public static int valence = intproperty | 20 | settable; // float values must be multiplied by 100 prior to comparing to integer values @@ -597,6 +596,7 @@ final static int load = 3 | 2 << 9 | mathfunc | command; final static int random = 4 | 2 << 9 | mathfunc; final static int script = 5 | 2 << 9 | mathfunc | command; + public final static int symop = 6 | 2 << 9 | mathfunc | intproperty; // ___.xxx(a,b) Modified: trunk/Jmol/src/org/jmol/viewer/Viewer.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Viewer.java 2009-08-15 17:06:28 UTC (rev 11319) +++ trunk/Jmol/src/org/jmol/viewer/Viewer.java 2009-08-16 15:49:44 UTC (rev 11320) @@ -167,13 +167,17 @@ private SymmetryInterface symmetry; - SymmetryInterface getSymmetry() { + public SymmetryInterface getSymmetry() { if (symmetry == null) symmetry = (SymmetryInterface) Interface .getOptionInterface("symmetry.Symmetry"); return symmetry; } + public Point3f applySymmetry(BitSet bsAtoms, String xyz, int op, Point3f pt) { + return modelSet.applySymmetry(BitSetUtil.firstSetBit(bsAtoms), xyz, op, pt); + } + private void clearModelDependentObjects() { setFrameOffsets(null); if (minimizer != null) { @@ -6773,8 +6777,10 @@ if (paramInfo instanceof JmolAppConsoleInterface) { appConsole = (JmolAppConsoleInterface) paramInfo; } else if (appConsole == null && paramInfo != null && ((Boolean) paramInfo).booleanValue()) { - appConsole = ((JmolAppConsoleInterface) Interface - .getApplicationInterface("jmolpanel.AppConsole")).getAppConsole(this, display); + appConsole = (isApplet ? + (JmolAppConsoleInterface) Interface.getOptionInterface("console.AppletConsole") + : (JmolAppConsoleInterface) Interface.getApplicationInterface("jmolpanel.AppConsole")) + .getAppConsole(this, display); } scriptEditor = (appConsole == null ? null : appConsole.getScriptEditor()); return appConsole; @@ -7767,5 +7773,5 @@ boolean isRepaintPending() { return repaintManager.repaintPending; } - + } Modified: trunk/Jmol/src/org/openscience/jmol/app/jmolpanel/AppConsole.java =================================================================== --- trunk/Jmol/src/org/openscience/jmol/app/jmolpanel/AppConsole.java 2009-08-15 17:06:28 UTC (rev 11319) +++ trunk/Jmol/src/org/openscience/jmol/app/jmolpanel/AppConsole.java 2009-08-16 15:49:44 UTC (rev 11320) @@ -46,10 +46,8 @@ import java.util.Vector; import org.jmol.api.JmolAppConsoleInterface; -import org.jmol.api.JmolScriptEditorInterface; import org.jmol.api.JmolViewer; import org.jmol.console.JmolConsole; -import org.jmol.console.ScriptEditor; import org.jmol.i18n.GT; import org.jmol.util.Logger; import org.jmol.util.CommandHistory; @@ -67,11 +65,7 @@ private JButton checkButton; protected JButton stepButton; private JButton topButton; - private JFrame frame; - - - /* * methods sendConsoleEcho, sendConsoleMessage(strStatus), notifyScriptStart(), notifyScriptTermination() * are public in case developers want to use appConsole separate from the Jmol application. @@ -92,25 +86,13 @@ : display instanceof JFrame ? (JFrame) display : null); } - public void set(JmolViewer viewer, Object jvm12) { - // not used in application - } - public AppConsole(JmolViewer viewer, JFrame frame) { - super(frame, GT._("Jmol Script Console"), false); - this.frame = frame; - this.viewer = viewer; + super(viewer, frame, GT._("Jmol Script Console"), false); layoutWindow(getContentPane()); setSize(645, 400); setLocationRelativeTo(frame); } - public JmolScriptEditorInterface getScriptEditor() { - return (scriptEditor == null ? - (scriptEditor = new ScriptEditor(viewer, frame, this)) - : scriptEditor); - } - JButton setButton(String s) { JButton b = new JButton(s); b.addActionListener(this); @@ -400,12 +382,6 @@ console.clearContent(text); } - ScriptEditor scriptEditor; - - void setScriptEditor(ScriptEditor se) { - scriptEditor = se; - } - public void actionPerformed(ActionEvent e) { console.grabFocus(); // always grab the focus (e.g., after clear) Object source = e.getSource(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |