From: Miguel <mi...@jm...> - 2006-04-30 17:15:15
|
Paul, I see that you committed some changes to the Jmol trunk. My understanding was that you were first going to integrate this code int= o branches/pauldana200603 ... sorry if I did not make that clear when we last spoke on the phone. There are a couple of problems with the changes that you have committed. For example, the applet is now broken ... because Eval.java now makes references to your SelectWithinDialog. When we spoke on the phone back in= March you said that you wanted to add a dialog to the application. I believe I said that we needed to be careful how this was done so that we did not make references to application classes from the core viewer code.= Please revert the changes you submitted in r5022. Since we now have multiple developers contributing to Jmol, it is important that we do a good job of communicating to all of the developers= . Please join the jmol-developers mailing list and send summary email of your proposed changes for PFAAT to the list. Thanks, Miguel ---------------------------- Mensaje original ---------------------------= - Asunto: =5BJmol-commits=5D SF.net SVN: jmol: =5B5022=5D trunk/Jmol/src/or= g/jmol/api De: pauldana=40users.sourceforge.net Fecha: Jue, Abril 27, 2006 11:44 Para: jmol-commits=40lists.sf.net -------------------------------------------------------------------------= - Revision: 5022 Author: pauldana Date: 2006-04-27 08:44:30 -0700 (Thu, 27 Apr 2006) ViewCVS: http://svn.sourceforge.net/jmol/?rev=3D5022&view=3Drev Log Message: ----------- First changes required for PFAAT 1) set pickingstyle =5B chime =7C rasmol =7C pfaat =5D 2) various changes to picking to allow above 3) facility in Jmol to *not* automatically exit app when last window cl= osed 4) make a few private methods in Jmol to be protected 5) addition of =22Select Within=22 dialog This means all changes needed by PFAAT are in, except some menu or popup menu method of getting to the =22select within=22 dialog - I need to disucss this aga= in with Miguel before implementing. Modified Paths: -------------- trunk/Jmol/src/org/jmol/api/JmolViewer.java trunk/Jmol/src/org/jmol/viewer/Eval.java trunk/Jmol/src/org/jmol/viewer/JmolConstants.java trunk/Jmol/src/org/jmol/viewer/MouseManager.java trunk/Jmol/src/org/jmol/viewer/PickingManager.java trunk/Jmol/src/org/jmol/viewer/SelectionManager.java trunk/Jmol/src/org/jmol/viewer/Token.java trunk/Jmol/src/org/jmol/viewer/Viewer.java trunk/Jmol/src/org/openscience/jmol/app/DisplayPanel.java trunk/Jmol/src/org/openscience/jmol/app/Jmol.java Added Paths: ----------- trunk/Jmol/src/org/openscience/jmol/app/SelectWithinDialog.java Modified: trunk/Jmol/src/org/jmol/api/JmolViewer.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/Jmol/src/org/jmol/api/JmolViewer.java=092006-04-27 09:03:45 UTC= (rev 5021) +++ trunk/Jmol/src/org/jmol/api/JmolViewer.java=092006-04-27 15:44:30 UTC= (rev 5022) =40=40 -27,10 +27,11 =40=40 import java.awt.Dimension; import java.awt.Event; import java.awt.Image; +import java.io.Reader; import java.net.URL; import java.util.BitSet; import java.util.Properties; -import java.io.Reader; + import javax.vecmath.Matrix4f; import javax.vecmath.Point3f; =40=40 -141,11 +142,12 =40=40 abstract public void selectAll(); abstract public void clearSelection(); + abstract public void enableSelectionListeners(boolean enable); abstract public void addSelectionListener(JmolSelectionListener listen= er); abstract public void removeSelectionListener(JmolSelectionListener listener); abstract public void setSelectionSet(BitSet newSelection); abstract public BitSet getSelectionSet(); - + abstract public void homePosition(); abstract public void rotateFront(); abstract public void rotateToX(int degrees); Modified: trunk/Jmol/src/org/jmol/viewer/Eval.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/Jmol/src/org/jmol/viewer/Eval.java=092006-04-27 09:03:45 UTC (r= ev 5021) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java=092006-04-27 15:44:30 UTC (r= ev 5022) =40=40 -25,6 +25,7 =40=40 import org.jmol.g3d.Font3D; import org.jmol.smiles.InvalidSmilesException; +import org.openscience.jmol.app.SelectWithinDialog; import java.io.*; import java.util.BitSet; =40=40 -490,7 +491,17 =40=40 connect(); break; - // not implemented + // phdana pfaat -> + case Token.selectionListeners: + selectionListeners(); + break; + + case Token.selectWithinDialog: + selectWithinDialog(); + break; + // phdana pfaat <- + + // not implemented case Token.bond: case Token.clipboard: case Token.help: =40=40 -2729,6 +2740,9 =40=40 case Token.picking: setPicking(); break; + case Token.pickingStyle: + setPickingStyle(); + break; // not implemented case Token.backfade: case Token.cartoon: =40=40 -3116,6 +3130,27 =40=40 viewer.setPickingMode(pickingMode); =7D + void setPickingStyle() throws ScriptException =7B + int pickingStyle =3D JmolConstants.PICKINGSTYLE_CHIME; + if (statementLength >=3D 3) =7B + switch (statement=5B2=5D.tok) =7B + case Token.none: + case Token.chime: + pickingStyle =3D JmolConstants.PICKINGSTYLE_CHIME; + break; + case Token.rasmol: + pickingStyle =3D JmolConstants.PICKINGSTYLE_RASMOL; + break; + case Token.pfaat: + pickingStyle =3D JmolConstants.PICKINGSTYLE_PFAAT; + break; + default: + invalidArgument(); + =7D + =7D + viewer.setPickingStyle(pickingStyle); + =7D + /*=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D* * SHOW implementations *=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D*/ =40=40 -3863,4 +3898,18 =40=40 viewer.setShapeProperty(JmolConstants.SHAPE_STICKS, =22applyConnectParameters=22, null); =7D + + void selectionListeners() =7B + viewer.enableSelectionListeners(statement=5B1=5D.tok =3D=3D Token.on= ); + =7D + + void selectWithinDialog() =7B + + String cmd =3D SelectWithinDialog.showDialog(viewer.getAwtComponent()= ); + if (cmd =21=3D null) + =7B + viewer.scriptStatus(=22SelectWithinDialog command: =22+cmd); + viewer.evalString(cmd); + =7D =7D +=7D Modified: trunk/Jmol/src/org/jmol/viewer/JmolConstants.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/Jmol/src/org/jmol/viewer/JmolConstants.java=092006-04-27 09:03:= 45 UTC (rev 5021) +++ trunk/Jmol/src/org/jmol/viewer/JmolConstants.java=092006-04-27 15:44:= 30 UTC (rev 5022) =40=40 -78,6 +78,17 =40=40 =22center=22, =22coord=22, =22bond=22, =22atom=22, =22group=22, =22c= hain=22 =7D; /** + * picking styles + */ + public final static int PICKINGSTYLE_CHIME =3D 0; + public final static int PICKINGSTYLE_RASMOL =3D 1; + public final static int PICKINGSTYLE_PFAAT =3D 2; + + public final static String=5B=5D pickingStyleNames =3D =7B + =22chime=22, =22rasmol=22, =22pfaat=22 + =7D; + + /** * Extended Bond Definition Types * */ Modified: trunk/Jmol/src/org/jmol/viewer/MouseManager.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/Jmol/src/org/jmol/viewer/MouseManager.java=092006-04-27 09:03:4= 5 UTC (rev 5021) +++ trunk/Jmol/src/org/jmol/viewer/MouseManager.java=092006-04-27 15:44:3= 0 UTC (rev 5022) =40=40 -233,14 +233,20 =40=40 viewer.popupMenu(x, y); return; =7D - viewer.atomPicked(nearestAtomIndex, false); + viewer.atomPicked(nearestAtomIndex, false, false); if (measurementMode) =7B addToMeasurement(nearestAtomIndex, false); =7D break; case SHIFT_LEFT: - viewer.atomPicked(nearestAtomIndex, true); + viewer.atomPicked(nearestAtomIndex, true, false); break; + case ALT_LEFT: + viewer.atomPicked(nearestAtomIndex, false, true); + break; + case ALT_SHIFT_LEFT: + viewer.atomPicked(nearestAtomIndex, true, true); + break; =7D =7D Modified: trunk/Jmol/src/org/jmol/viewer/PickingManager.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/Jmol/src/org/jmol/viewer/PickingManager.java=092006-04-27 09:03= :45 UTC (rev 5021) +++ trunk/Jmol/src/org/jmol/viewer/PickingManager.java=092006-04-27 15:44= :30 UTC (rev 5022) =40=40 -30,9 +30,8 =40=40 Viewer viewer; int pickingMode =3D JmolConstants.PICKING_IDENT; + int pickingStyle =3D JmolConstants.PICKINGSTYLE_CHIME; - boolean chimeStylePicking =3D true; - int queuedAtomCount =3D 0; int=5B=5D queuedAtomIndexes =3D new int=5B4=5D; =40=40 -42,9 +41,13 =40=40 this.viewer =3D viewer; =7D - void atomPicked(int atomIndex, boolean shiftKey) =7B - if (atomIndex =3D=3D -1) - return; + void atomPicked(int atomIndex, boolean shiftKey, boolean alternateKey)= =7B + if (atomIndex =3D=3D -1) =7B + if (pickingStyle =3D=3D JmolConstants.PICKINGSTYLE_PFAAT && =21s= hiftKey && =21alternateKey) + viewer.clearSelection(); + return; + =7D + Frame frame =3D viewer.getFrame(); switch(pickingMode) =7B case JmolConstants.PICKING_OFF: =40=40 -120,31 +123,69 =40=40 case JmolConstants.PICKING_CENTER: viewer.setCenterPicked(atomIndex); break; + case JmolConstants.PICKING_SELECT_ATOM: - if (shiftKey =7C chimeStylePicking) - viewer.toggleSelection(atomIndex); - else - viewer.setSelection(atomIndex); - reportSelection(); - break; - case JmolConstants.PICKING_SELECT_GROUP: - BitSet bsGroup =3D frame.getGroupBitSet(atomIndex); - if (shiftKey =7C chimeStylePicking) - viewer.toggleSelectionSet(bsGroup); - else - viewer.setSelectionSet(bsGroup); - viewer.clearClickCount(); - reportSelection(); - break; - case JmolConstants.PICKING_SELECT_CHAIN: - BitSet bsChain =3D frame.getChainBitSet(atomIndex); - if (shiftKey =7C chimeStylePicking) - viewer.toggleSelectionSet(bsChain); - else - viewer.setSelectionSet(bsChain); - viewer.clearClickCount(); - reportSelection(); - break; + if (pickingStyle =3D=3D JmolConstants.PICKINGSTYLE_PFAAT) =7B + if (shiftKey && alternateKey) + viewer.removeSelection(atomIndex); + else if (shiftKey) + viewer.toggleSelection(atomIndex); + else if (alternateKey) + viewer.addSelection(atomIndex); + else + viewer.setSelection(atomIndex); + =7D + else =7B + if (shiftKey =7C pickingStyle =3D=3D JmolConstants.PICKINGST= YLE_CHIME) + viewer.toggleSelection(atomIndex); + else + viewer.setSelection(atomIndex); + =7D + reportSelection(); + break; + case JmolConstants.PICKING_SELECT_GROUP: + BitSet bsGroup =3D frame.getGroupBitSet(atomIndex); + if (pickingStyle =3D=3D JmolConstants.PICKINGSTYLE_PFAAT) =7B + if (shiftKey && alternateKey) + viewer.removeSelection(bsGroup); + else if (shiftKey) + viewer.toggleSelectionSet(bsGroup); + else if (alternateKey) + viewer.addSelection(bsGroup); + else + viewer.setSelectionSet(bsGroup); + =7D + else =7B + if (shiftKey =7C pickingStyle =3D=3D JmolConstants.PICKINGST= YLE_CHIME) + viewer.toggleSelectionSet(bsGroup); + else + viewer.setSelectionSet(bsGroup); + =7D + viewer.clearClickCount(); + reportSelection(); + break; + case JmolConstants.PICKING_SELECT_CHAIN: + BitSet bsChain =3D frame.getChainBitSet(atomIndex); + if (pickingStyle =3D=3D JmolConstants.PICKINGSTYLE_PFAAT) =7B + if (shiftKey && alternateKey) + viewer.removeSelection(bsChain); + else if (shiftKey) + viewer.toggleSelectionSet(bsChain); + else if (alternateKey) + viewer.addSelection(bsChain); + else + viewer.setSelectionSet(bsChain); + =7D + else + =7B + if (shiftKey =7C pickingStyle =3D=3D JmolConstants.PICKINGSTYL= E_CHIME) + viewer.toggleSelectionSet(bsChain); + else + viewer.setSelectionSet(bsChain); + =7D + viewer.clearClickCount(); + reportSelection(); + break; =7D =7D =40=40 -160,6 +201,14 =40=40 JmolConstants.pickingModeNames=5BpickingMode=5D += =22)=22); =7D + void setPickingStyle(int pickingStyle) =7B + this.pickingStyle =3D pickingStyle; + queuedAtomCount =3D 0; + System.out.println(=22setPickingStyle(=22 + + pickingStyle + =22:=22 + + JmolConstants.pickingStyleNames=5BpickingStyle=5D + =22)=22)= ; + =7D + void queueAtom(int atomIndex) =7B queuedAtomIndexes=5BqueuedAtomCount++=5D =3D atomIndex; viewer.scriptStatus(=22Atom =23=22 + queuedAtomCount + =22:=22 + Modified: trunk/Jmol/src/org/jmol/viewer/SelectionManager.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/Jmol/src/org/jmol/viewer/SelectionManager.java=092006-04-27 09:03:45 UTC (rev 5021) +++ trunk/Jmol/src/org/jmol/viewer/SelectionManager.java=092006-04-27 15:44:30 UTC (rev 5022) =40=40 -31,6 +31,7 =40=40 Viewer viewer; JmolSelectionListener=5B=5D listeners =3D new JmolSelectionListener=5B= 4=5D; + boolean listenersEnabled =3D true; SelectionManager(Viewer viewer) =7B this.viewer =3D viewer; =40=40 -44,7 +45,20 =40=40 final static int UNKNOWN =3D -1; int empty =3D TRUE; + void removeSelection(int atomIndex) =7B + bsSelection.clear(atomIndex); + if (empty =21=3D TRUE) + empty =3D UNKNOWN; + selectionChanged(); + =7D + void removeSelection(BitSet set) =7B + bsSelection.andNot(set); + if (empty =21=3D TRUE) + empty =3D UNKNOWN; + selectionChanged(); + =7D + void addSelection(int atomIndex) =7B if (=21 bsSelection.get(atomIndex)) =7B bsSelection.set(atomIndex); =40=40 -180,6 +194,10 =40=40 return count; =7D + void enableListeners(boolean enable) =7B + listenersEnabled =3D enable; + =7D + void addListener(JmolSelectionListener listener) =7B removeListener(listener); int len =3D listeners.length; =40=40 -202,6 +220,9 =40=40 =7D private void selectionChanged() =7B + if (=21listenersEnabled) + return; + for (int i =3D listeners.length; --i >=3D 0; ) =7B JmolSelectionListener listener =3D listeners=5Bi=5D; if (listener =21=3D null) Modified: trunk/Jmol/src/org/jmol/viewer/Token.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/Jmol/src/org/jmol/viewer/Token.java=092006-04-27 09:03:45 UTC (= rev 5021) +++ trunk/Jmol/src/org/jmol/viewer/Token.java=092006-04-27 15:44:30 UTC (= rev 5022) =40=40 -176,6 +176,11 =40=40 final static int centerAt =3D command =7C 92; final static int isosurface =3D command =7C 93; + // phdana pfaat -> + final static int selectionListeners =3D command =7C 94; + final static int selectWithinDialog =3D command =7C 95; + // phdana pfaat <- + // parameters final static int ambient =3D setparam =7C 0; final static int axes =3D setparam =7C 1; =40=40 -228,6 +233,7 =40=40 final static int frank =3D setparam =7C 32; final static int formalCharge =3D setparam =7C 33; final static int partialCharge=3D setparam =7C 34; + final static int pickingStyle =3D setparam =7C 35; final static int information =3D showparam =7C 0; final static int phipsi =3D showparam =7C 1; =40=40 -361,7 +367,9 =40=40 final static int nofill =3D misc =7C 53; final static int vanderwaals =3D misc =7C 54; final static int ionic =3D misc =7C 55; - + final static int chime =3D misc =7C 56; + final static int pfaat =3D misc =7C 57; + final static int amino =3D predefinedset =7C 0; final static int hetero =3D predefinedset =7C 1 =7C setparam; final static int hydrogen =3D predefinedset =7C 2 =7C setparam; =40=40 -495,7 +503,10 =40=40 =22centerat=22, new Token(centerAt, varArgCount, =22centera= t=22), =22isosurface=22, new Token(isosurface,varArgCount,=22isosurf= ace=22), - // setparams + =22selectionlisteners=22, new Token(selectionListeners, onDefault1,= =22selectionListeners=22), + =22selectwithindialog=22, new Token(selectWithinDialog, onDefault1,= =22selectWithinDialog=22), + +=09// setparams =22ambient=22, new Token(ambient, =22ambient=22), =22axes=22, new Token(axes, =22axes=22), =22backfade=22, new Token(backfade, =22backfade=22), =40=40 -541,7 +552,8 =40=40 =22formalcharge=22, new Token(formalCharge, =22formalcharge=22), =22charge=22, null, =22partialcharge=22,new Token(partialCharge, =22partialcharge=22),= - + =22pickingstyle=22, new Token(pickingStyle, =22pickingStyle=22), + // show parameters =22information=22, new Token(information, =22information=22), =22info=22, null, =40=40 -685,6 +697,8 =40=40 =22nofill=22, new Token(nofill, =22nofill=22), =22vanderwaals=22, new Token(vanderwaals, =22vanderwaals=22), =22ionic=22, new Token(ionic, =22ionic=22), + =22chime=22, new Token(chime, =09=09 =22chime=22), + =22pfaat=22, new Token(pfaat, =22pfaat=22), =7D; static Hashtable map =3D new Hashtable(); Modified: trunk/Jmol/src/org/jmol/viewer/Viewer.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/Jmol/src/org/jmol/viewer/Viewer.java=092006-04-27 09:03:45 UTC (rev 5021) +++ trunk/Jmol/src/org/jmol/viewer/Viewer.java=092006-04-27 15:44:30 UTC (rev 5022) =40=40 -727,6 +727,16 =40=40 // delegated to SelectionManager ///////////////////////////////////////////////////////////////// + void removeSelection(int atomIndex) =7B + selectionManager.removeSelection(atomIndex); + refresh(); + =7D + +void removeSelection(BitSet set) =7B + selectionManager.removeSelection(set); + refresh(); + =7D + void addSelection(int atomIndex) =7B selectionManager.addSelection(atomIndex); refresh(); =40=40 -815,6 +825,10 =40=40 return selectionManager.getSelectionCount(); =7D + public void enableSelectionListeners(boolean enable) =7B + selectionManager.enableListeners(enable); + =7D + public void addSelectionListener(JmolSelectionListener listener) =7B selectionManager.addListener(listener); =7D =40=40 -1889,9 +1903,9 =40=40 jmolStatusListener.notifyMeasurementsChanged(); =7D - void atomPicked(int atomIndex, boolean shiftKey) =7B - pickingManager.atomPicked(atomIndex, shiftKey); - =7D + void atomPicked(int atomIndex, boolean shiftKey, boolean alternateKey)= =7B + pickingManager.atomPicked(atomIndex, shiftKey, alternateKey); + =7D void clearClickCount() =7B mouseManager.clearClickCount(); =40=40 -1916,6 +1930,10 =40=40 void setPickingMode(int pickingMode) =7B pickingManager.setPickingMode(pickingMode); =7D + + void setPickingStyle(int pickingStyle) =7B + pickingManager.setPickingStyle(pickingStyle); + =7D String getAtomInfo(int atomIndex) =7B return modelManager.getAtomInfo(atomIndex); Modified: trunk/Jmol/src/org/openscience/jmol/app/DisplayPanel.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/Jmol/src/org/openscience/jmol/app/DisplayPanel.java=092006-04-2= 7 09:03:45 UTC (rev 5021) +++ trunk/Jmol/src/org/openscience/jmol/app/DisplayPanel.java=092006-04-2= 7 15:44:30 UTC (rev 5022) =40=40 -38,6 +38,12 =40=40 GuiMap guimap; JmolViewer viewer; + boolean pickModeAsDefault =3D false; + public void setPickModeAsDefault(boolean flag) + =7B + =09pickModeAsDefault =3D flag; + =7D + private String displaySpeed; public DisplayPanel(StatusBar status, GuiMap guimap) =7B =40=40 -73,6 +79,12 =40=40 viewer.setModeMouse(JmolConstants.MOUSE_ROTATE); viewer.setSelectionHaloEnabled(false); =7D + + void setPickMode() =7B + Jmol.setPickButton(); + viewer.setModeMouse(JmolConstants.MOUSE_PICK); + viewer.setSelectionHaloEnabled(true); + =7D public void componentHidden(java.awt.event.ComponentEvent e) =7B =7D =40=40 -90,7 +102,10 =40=40 private void updateSize() =7B viewer.setScreenDimension(getSize(dimSize)); - setRotateMode(); + if (pickModeAsDefault) + =09setPickMode(); + else + =09setRotateMode(); =7D public void paint(Graphics g) =7B Modified: trunk/Jmol/src/org/openscience/jmol/app/Jmol.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/Jmol/src/org/openscience/jmol/app/Jmol.java=092006-04-27 09:03:= 45 UTC (rev 5021) +++ trunk/Jmol/src/org/openscience/jmol/app/Jmol.java=092006-04-27 15:44:= 30 UTC (rev 5022) =40=40 -23,35 +23,84 =40=40 */ package org.openscience.jmol.app; -import org.jmol.api.*; -//import org.jmol.adapter.cdk.CdkJmolAdapter; +import java.awt.BasicStroke; +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Component; +import java.awt.Container; +import java.awt.Cursor; +import java.awt.Dimension; +import java.awt.Frame; +import java.awt.Graphics2D; +import java.awt.Image; +import java.awt.Insets; +import java.awt.Point; +import java.awt.Toolkit; +import java.awt.dnd.DropTarget; +import java.awt.event.ActionEvent; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; +import java.awt.print.PrinterException; +import java.awt.print.PrinterJob; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; +import java.beans.PropertyChangeSupport; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Hashtable; +import java.util.Properties; +import java.util.StringTokenizer; +import java.util.Vector; + +import javax.swing.AbstractAction; +import javax.swing.AbstractButton; +import javax.swing.Action; +import javax.swing.BorderFactory; +import javax.swing.Box; +import javax.swing.ButtonGroup; +import javax.swing.ImageIcon; +import javax.swing.JButton; +import javax.swing.JFileChooser; +import javax.swing.JFrame; +import javax.swing.JMenu; +import javax.swing.JMenuBar; +import javax.swing.JMenuItem; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JTextArea; +import javax.swing.JToggleButton; +import javax.swing.JToolBar; +import javax.swing.SwingConstants; +import javax.swing.UIManager; + +import org.apache.commons.cli.CommandLine; +import org.apache.commons.cli.CommandLineParser; +import org.apache.commons.cli.HelpFormatter; +import org.apache.commons.cli.OptionBuilder; +import org.apache.commons.cli.Options; +import org.apache.commons.cli.ParseException; +import org.apache.commons.cli.PosixParser; import org.jmol.adapter.smarter.SmarterJmolAdapter; +import org.jmol.api.JmolAdapter; +import org.jmol.api.JmolSelectionListener; +import org.jmol.api.JmolStatusListener; +import org.jmol.api.JmolViewer; +import org.jmol.i18n.GT; import org.jmol.popup.JmolPopup; -import org.jmol.i18n.GT; -//import org.openscience.cdk.applications.plugin.CDKPluginManager; import Acme.JPM.Encoders.PpmEncoder; + import com.lowagie.text.Document; import com.lowagie.text.DocumentException; import com.lowagie.text.pdf.PdfContentByte; import com.lowagie.text.pdf.PdfTemplate; import com.lowagie.text.pdf.PdfWriter; import com.obrador.JpegEncoder; -import java.awt.*; -import java.awt.dnd.DropTarget; -import java.awt.event.*; -import java.awt.print.*; -import java.beans.*; -import java.io.*; -import java.util.*; -import javax.swing.*; -import org.apache.commons.cli.Options; -import org.apache.commons.cli.CommandLine; -import org.apache.commons.cli.CommandLineParser; -import org.apache.commons.cli.PosixParser; -import org.apache.commons.cli.OptionBuilder; -import org.apache.commons.cli.ParseException; -import org.apache.commons.cli.HelpFormatter; public class Jmol extends JPanel =7B =40=40 -82,11 +131,14 =40=40 private GuiMap guimap =3D new GuiMap(); private static int numWindows =3D 0; - private static Dimension screenSize =3D null; + protected static Dimension screenSize =3D null; + int startupWidth, startupHeight; PropertyChangeSupport pcs =3D new PropertyChangeSupport(this); + protected boolean autoShutdown; + // Window names for the history file private final static String JMOL_WINDOW_NAME =3D =22Jmol=22; private final static String CONSOLE_WINDOW_NAME =3D =22Console=22; =40=40 -103,7 +155,8 =40=40 */ static AbstractButton buttonRotate =3D null; static ButtonGroup toolbarButtonGroup =3D new ButtonGroup(); - + static AbstractButton buttonPick =3D null; + static File UserPropsFile; static HistoryFile historyFile; =40=40 -135,12 +188,18 =40=40 =22Jmol's persistent values=22); =7D - Jmol(Splash splash, JFrame frame, Jmol parent, - int startupWidth, int startupHeight) =7B + protected Jmol(Splash splash, JFrame frame, Jmol parent, + int startupWidth, int startupHeight) =7B + =09this(splash,frame,parent,startupWidth,startupHeight,true); + =7D + + protected Jmol(Splash splash, JFrame frame, Jmol parent, + int startupWidth, int startupHeight, boolean autoShutdown) =7B super(true); this.frame =3D frame; this.startupWidth =3D startupWidth; this.startupHeight =3D startupHeight; + this.autoShutdown =3D autoShutdown; numWindows++; frame.setTitle(=22Jmol=22); =40=40 -317,6 +376,27 =40=40 say(GT._(=22Launching main frame...=22)); =7D + public void setPickModeAsDefault(boolean flag) + =7B + =09display.setPickModeAsDefault(flag); + =7D + + public void enableSelectionListeners(boolean enable) + =7B + viewer.enableSelectionListeners(enable); + =7D + + public void addSelectionListener(JmolSelectionListener listener) + =7B + =09viewer.addSelectionListener(listener); + =7D + + public void removeSelectionListener(JmolSelectionListener listener) + =7B + =09viewer.removeSelectionListener(listener); + =7D + + public static Jmol getJmol(JFrame frame, int startupWidth, int startupHeight) =7B ImageIcon splash_image =3D JmolResourceHandler.getIconX(=22splash=22= ); =40=40 -548,9 +628,16 =40=40 // Close Jmol numWindows--; if (numWindows <=3D 1) =7B - System.out.println(GT._(=22Closing Jmol...=22)); - // pluginManager.closePlugins(); - System.exit(0); + if (autoShutdown) + =7B + System.out.println(GT._(=22Closing Jmol...=22)); + // pluginManager.closePlugins(); + System.exit(0); + =7D + else + =7B + =09this.frame.dispose(); + =7D =7D else =7B this.frame.dispose(); =7D =40=40 -689,6 +776,8 =40=40 b =3D new JToggleButton(ii); if (key.equals(=22rotate=22)) buttonRotate =3D b; + if (key.equals(=22pick=22)) + buttonPick =3D b; toolbarButtonGroup.add(b); String isSelectedString =3D JmolResourceHandler.getStringX(key + =22ToggleSelected=22); =40=40 -732,6 +821,11 =40=40 if (buttonRotate =21=3D null) buttonRotate.setSelected(true); =7D + + public static void setPickButton() =7B + if (buttonPick =21=3D null) + buttonPick.setSelected(true); + =7D /** * Take the given string and chop it up into a series =40=40 -962,8 +1056,7 =40=40 =7D public void actionPerformed(ActionEvent e) =7B - Jmol.this.frame.hide(); - Jmol.this.doClose(); + Jmol.this.doClose(); =7D =7D Added: trunk/Jmol/src/org/openscience/jmol/app/SelectWithinDialog.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/Jmol/src/org/openscience/jmol/app/SelectWithinDialog.java=09 = = (rev 0) +++ trunk/Jmol/src/org/openscience/jmol/app/SelectWithinDialog.java=092006-04= -27 15:44:30 UTC (rev 5022) =40=40 -0,0 +1,485 =40=40 +// phdana pfaat -> +/* + * Created on Jun 9, 2005 + * + * Dialog useful to the user for setting up parameters + * to be sent to the =22select within=22 command + */ +package org.openscience.jmol.app; + +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Component; +import java.awt.Dimension; +import java.awt.Frame; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +import javax.swing.BorderFactory; +import javax.swing.Box; +import javax.swing.BoxLayout; +import javax.swing.JButton; +import javax.swing.JCheckBox; +import javax.swing.JComboBox; +import javax.swing.JDialog; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JTextField; +import javax.swing.SwingConstants; +import javax.swing.event.CaretEvent; +import javax.swing.event.CaretListener; + +/** + * Dialog useful to the user for setting up parameters + * to be sent to the =22select within=22 command + * + * =40author DanaP + * + */ +public class SelectWithinDialog extends JDialog + implements ActionListener, CaretListener =7B + + private final static Dimension labelSize =3D new Dimension(100,18); + private final static Dimension valueSize =3D new Dimension(150,18); + private final static Dimension optionalSize =3D new Dimension(150, 1= 8); + private final static Dimension previewSize =3D new Dimension(300,80)= ; + + private final static int CommandLegal =3D 0; + private final static int CommandTooFewParams =3D 1; + private final static int CommandTooManyParams =3D 2; + private final static int CommandDistanceNonNumeric =3D 3; + private final static int CommandResidueNumberNonNumeric =3D 4; + + private static SelectWithinDialog dlg; + + private String scriptCommand; // final output + + private JPanel optPanel; + private JComboBox select; + private JTextField distance; + private JTextField chain; + private JTextField residueName; + private JCheckBox excludeSameNumberedWaters; + private JTextField residueNumber; + private JTextField atom; + + private JCheckBox selected; + + private String command; // command currently being built (or error message) + private int commandState; + + private JTextField preview; + + public static String showDialog(Component comp) + =7B + Frame frm =3D findFrame(comp); + if (dlg =3D=3D null) + dlg =3D new SelectWithinDialog(frm); + dlg.scriptCommand =3D null; + dlg.updateCommand(); + dlg.show(); + + return dlg.scriptCommand; + =7D + + private static Frame findFrame(Component comp) + =7B + Component parent=3Dcomp; + for (Component p =3D comp.getParent(); p=21=3Dnull; p=3Dp.getPar= ent()) + parent=3Dp; + if (parent instanceof Frame) + return (Frame)parent; + return null; + =7D + + private SelectWithinDialog(Frame owner) + =7B + super(owner,JmolResourceHandler + .getStringX(=22SelectWithinDialog.title=22),true); + setDefaultCloseOperation(HIDE_ON_CLOSE); + + JButton b; + String text; + + JPanel centerPanel =3D new JPanel(new BorderLayout()); + JPanel southPanel =3D new JPanel(new BorderLayout()); + + // option panels get added to this implicitly as they are create= d + optPanel =3D new JPanel(); + optPanel.setLayout(new BoxLayout(optPanel,BoxLayout.Y_AXIS)); + + text =3D JmolResourceHandler.getStringX(=22SelectWithinDialog.selectLabel=22); + createSelectOption(text); + + text =3D JmolResourceHandler.getStringX(=22SelectWithinDialog.distanceLabel=22); + distance =3D createOption(text,=22distance=22); + + text =3D JmolResourceHandler.getStringX(=22SelectWithinDialog.of= Label=22); + createOfOption(text); + + text =3D JmolResourceHandler.getStringX(=22SelectWithinDialog.chainLabel=22); + chain =3D createOption(text,=22chain=22); + + text =3D JmolResourceHandler.getStringX(=22SelectWithinDialog.residueNameLabel=22)= ; + residueName =3D createOption(text,=22residueName=22); + + text =3D JmolResourceHandler.getStringX(=22SelectWithinDialog.residueNumberLabel=22= ); + createResidueNumberOption(text,=22residueNumber=22); + + text =3D JmolResourceHandler.getStringX(=22SelectWithinDialog.atomLabel=22); + atom =3D createOption(text,=22atom=22); + + createSelectedOption(); + + JPanel previewPanel =3D new JPanel(new BorderLayout()); + text =3D JmolResourceHandler.getStringX(=22SelectWithinDialog.previewLabel=22); + previewPanel.setBorder(BorderFactory.createTitledBorder(text)); + + preview =3D new JTextField(); + preview.setPreferredSize(previewSize); + preview.setEditable(false); + preview.setBackground(Color.white); + preview.setHorizontalAlignment(SwingConstants.CENTER); + previewPanel.add(preview, BorderLayout.CENTER); + + JPanel btnPanel =3D new JPanel(); + + text =3D JmolResourceHandler.getStringX(=22SelectWithinDialog.ok= Label=22); + b =3D new JButton(text); + b.setActionCommand(=22ok=22); + b.addActionListener(this); + btnPanel.add(b); + + btnPanel.add(Box.createHorizontalStrut(20)); + + text =3D JmolResourceHandler.getStringX(=22SelectWithinDialog.cancelLabel=22); + b =3D new JButton(text); + b.setActionCommand(=22cancel=22); + b.addActionListener(this); + btnPanel.add(b); + + centerPanel.add(optPanel,BorderLayout.CENTER); + centerPanel.add(southPanel, BorderLayout.SOUTH); + + southPanel.add(previewPanel, BorderLayout.SOUTH); + + getContentPane().add(centerPanel,BorderLayout.CENTER); + getContentPane().add(btnPanel,BorderLayout.SOUTH); + + pack(); + setLocationRelativeTo(owner); + =7D + + private JTextField createTextField(String cmd) + =7B + //JTextField tf =3D new JTextField(valueColumns); + JTextField tf =3D new JTextField(); + tf.setPreferredSize(valueSize); + + tf.setActionCommand(cmd); + //tf.addActionListener(this); // <- dont need this + tf.addCaretListener(this); + + return tf; + =7D + + private JLabel createLabel(String name) + =7B + JLabel label =3D new JLabel(name); + label.setPreferredSize(labelSize); + label.setHorizontalAlignment(SwingConstants.RIGHT); + + return label; + =7D + + // creates a panel with lable & text field + // adds panel to optPanel memeber variable + // returns text field + private JTextField createOption(String name, String cmd) + =7B + JPanel p =3D new JPanel(); + p.add(createLabel(name)); + JTextField tf =3D createTextField(cmd); + p.add(tf); + + JPanel opt =3D new JPanel(); + opt.setPreferredSize(optionalSize); + p.add(opt); + + optPanel.add(p); + + return tf; + =7D + + private void createResidueNumberOption(String name, String cmd) + =7B + JPanel p =3D new JPanel(); + p.add(createLabel(name)); + residueNumber =3D createTextField(cmd); + p.add(residueNumber); + + String text =3D JmolResourceHandler.getStringX(=22SelectWithinDialog.excludeSameNumberedW= aters=22); + excludeSameNumberedWaters =3D new JCheckBox(text); + excludeSameNumberedWaters.setSelected(true); + excludeSameNumberedWaters.addActionListener(this); + = excludeSameNumberedWaters.setActionCommand(=22exludeSameNumberedWaters=22= ); + excludeSameNumberedWaters.setPreferredSize(optionalSize); + p.add(excludeSameNumberedWaters); + + optPanel.add(p); + =7D + + private void createSelectOption(String name) + =7B + JPanel p =3D new JPanel(); + p.add(createLabel(name)); + + String=5B=5D values =3D new String=5B=5D =7B + JmolResourceHandler.getStringX(=22SelectWithinDialog.all= =22), + = JmolResourceHandler.getStringX(=22SelectWithinDialog.allExceptWaters=22) + =7D; + select =3D new JComboBox(values); + select.setPreferredSize(valueSize); + select.addActionListener(this); + p.add(select); + + JPanel opt =3D new JPanel(); + opt.setPreferredSize(optionalSize); + p.add(opt); + + optPanel.add(p); + =7D + + private void createOfOption(String name) + =7B + JPanel p =3D new JPanel(); + + JPanel empty =3D new JPanel(); + empty.setPreferredSize(labelSize); + p.add(empty); + + JLabel label =3D new JLabel(name); + label.setPreferredSize(valueSize); + p.add(label); + + JPanel opt =3D new JPanel(); + opt.setPreferredSize(optionalSize); + p.add(opt); + + optPanel.add(p); + =7D + + private void createSelectedOption() + =7B + JPanel p =3D new JPanel(); + + JPanel empty =3D new JPanel(); + empty.setPreferredSize(labelSize); + p.add(empty); + + String text =3D JmolResourceHandler.getStringX(=22SelectWithinDialog.selectedLabel=22); + selected =3D new JCheckBox(text); + selected.addActionListener(this); + selected.setPreferredSize(valueSize); + p.add(selected); + + JPanel opt =3D new JPanel(); + opt.setPreferredSize(optionalSize); + p.add(opt); + + optPanel.add(p); + =7D + + private int updateCommandAndState() + =7B + String sDistance =3D distance.getText().trim(); + String sChain =3D chain.getText().trim(); + String sResidueName =3D residueName.getText().trim(); + String sResidueNumber =3D residueNumber.getText().trim(); + String sAtom =3D atom.getText().trim(); + + boolean bDistance =3D (sDistance.length() > 0); + boolean bChain =3D (sChain.length() > 0); + boolean bResidueName =3D (sResidueName.length() > 0); + boolean bResidueNumber =3D (sResidueNumber.length() > 0); + boolean bAtom =3D (sAtom.length() > 0); + boolean bSelected =3D selected.isSelected(); + boolean bAll =3D select.getSelectedIndex() =3D=3D 0; + boolean bExcludeSameNumberedWaters =3D excludeSameNumberedWaters.isSelected(); + + if (bSelected) + =7B + // if we are going with selected then + // ignore these other params... + bChain =3D bResidueName =3D bResidueNumber =3D bAtom =3D fal= se; + + chain.setEnabled(false); + residueName.setEnabled(false); + residueNumber.setEnabled(false); + atom.setEnabled(false); + + chain.setBackground(Color.lightGray); + residueName.setBackground(Color.lightGray); + residueNumber.setBackground(Color.lightGray); + atom.setBackground(Color.lightGray); + =7D + else + =7B + chain.setEnabled(true); + residueName.setEnabled(true); + residueNumber.setEnabled(true); + atom.setEnabled(true); + + chain.setBackground(Color.white); + residueName.setBackground(Color.white); + residueNumber.setBackground(Color.white); + atom.setBackground(Color.white); + =7D + + double dDistance =3D 0.0; + if (bDistance) + =7B + try + =7B + dDistance =3D Double.parseDouble(sDistance); + =7D + catch (NumberFormatException e) + =7B + return CommandDistanceNonNumeric; + =7D + =7D + + int iResidueNumber =3D 0; + if (bResidueNumber) + =7B + try + =7B + iResidueNumber =3D Integer.parseInt(sResidueNumber); + =7D + catch (NumberFormatException e) + =7B + return CommandResidueNumberNonNumeric; + =7D + =7D + + if (=21bDistance) + return CommandTooFewParams; + + if (=21bResidueNumber && =21bResidueName && =21bAtom && =21bChai= n && =21bSelected) + return CommandTooFewParams; + + String param=3D=22=22; + boolean onlyAtom =3D false; + if (bSelected) + =7B + param =3D =22selected=22; + =7D + else if (bResidueName) + =7B + param =3D sResidueName; + =7D + else if (bResidueNumber) + =7B + param =3D sResidueNumber; + =7D + else if (bAtom) + =7B + param =3D sAtom; + onlyAtom =3D true; + =7D + + // if both name and number ...concatenate + if (bResidueName && bResidueNumber) + param =3D param + iResidueNumber; + + if (bChain && =21bSelected) + param =3D param + =22:=22 + sChain; + + if (bAtom && =21onlyAtom && =21bSelected) + param =3D param + =22.=22 + sAtom; + + StringBuffer sb =3D new StringBuffer(); + sb.append(=22select within(=22); + sb.append(dDistance); + sb.append(=22,=22); + sb.append(param); + if (bResidueNumber && bExcludeSameNumberedWaters) + sb.append(=22 and not waters=22); + sb.append(=22)=22); + + if (=21bAll) + sb.append(=22 and not waters=22); + + command =3D sb.toString(); + + return CommandLegal; + =7D + + private void updateCommand() + =7B + commandState =3D updateCommandAndState(); + + if (commandState =21=3D CommandLegal) + command =3D =22...=22; + + preview.setText(command); + =7D + + // display error & return true if current settings are not a legal command... + private boolean isIllegal() + =7B + if (commandState =3D=3D CommandLegal) + return false; + + String msg; + if (commandState =3D=3D CommandTooFewParams) + msg =3D JmolResourceHandler.getStringX(=22SelectWithinDialog.tooFewParamsError=22= ); + else if (commandState =3D=3D CommandTooManyParams) + msg =3D JmolResourceHandler.getStringX(=22SelectWithinDialog.tooManyParamsError=22= ); + else if (commandState =3D=3D CommandDistanceNonNumeric) + msg =3D JmolResourceHandler.getStringX(=22SelectWithinDialog.distanceNonNumericEr= ror=22); + else if (commandState =3D=3D CommandResidueNumberNonNumeric) + msg =3D JmolResourceHandler.getStringX(=22SelectWithinDialog.residueNumberNonNume= ricError=22); + else + msg =3D =22unknown=22; + + JOptionPane.showMessageDialog(this,msg); + + return true; + =7D + + /* (non-Javadoc) + * =40see java.awt.event.ActionListener=23actionPerformed(java.awt.event.ActionEven= t) + */ + public void actionPerformed(ActionEvent e) =7B + + String cmd =3D e.getActionCommand(); + if (cmd.equals(=22cancel=22)) + =7B + scriptCommand =3D null; + dispose(); + =7D + else if (cmd.equals(=22ok=22)) + =7B + if (isIllegal()) + return; + scriptCommand =3D command; + dispose(); + =7D + else + =7B + // check boxes... + updateCommand(); + =7D + =7D + + /* (non-Javadoc) + * =40see javax.swing.event.CaretListener=23caretUpdate(javax.swing.event.CaretEven= t) + */ + public void caretUpdate(CaretEvent e) =7B + updateCommand(); + =7D + +=7D +//phdana pfaat <- This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security?= Get stuff done quickly with pre-integrated technology to make your job ea= sier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronim= o http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat=3D= 121642 _______________________________________________ Jmol-commits mailing list Jmol-commits=40lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jmol-commits |