From: <sh...@us...> - 2009-11-20 11:35:26
|
Revision: 15072 http://cdk.svn.sourceforge.net/cdk/?rev=15072&view=rev Author: shk3 Date: 2009-11-20 11:35:18 +0000 (Fri, 20 Nov 2009) Log Message: ----------- Reworked controllerhub to properly work on chemmodel, readded reaction to menus etc Modified Paths: -------------- jchempaint/trunk/META-INF/applet-core.files jchempaint/trunk/META-INF/applet-editor.files jchempaint/trunk/src/main/org/openscience/jchempaint/JCPMenuTextMaker.java jchempaint/trunk/src/main/org/openscience/jchempaint/JChemPaintPanel.java jchempaint/trunk/src/main/org/openscience/jchempaint/action/CopyPasteAction.java jchempaint/trunk/src/main/org/openscience/jchempaint/application/JChemPaint.java jchempaint/trunk/src/main/org/openscience/jchempaint/controller/ControllerHub.java jchempaint/trunk/src/main/org/openscience/jchempaint/controller/IAtomBondEdits.java jchempaint/trunk/src/main/org/openscience/jchempaint/resources/JCPGUI_applet.properties jchempaint/trunk/src/main/org/openscience/jchempaint/resources/JCPGUI_stable.properties jchempaint/trunk/src/main/org/openscience/jchempaint/resources/JChemPaintResources.properties Added Paths: ----------- jchempaint/trunk/src/main/org/openscience/jchempaint/action/CreateReactionAction.java Modified: jchempaint/trunk/META-INF/applet-core.files =================================================================== --- jchempaint/trunk/META-INF/applet-core.files 2009-11-19 16:47:09 UTC (rev 15071) +++ jchempaint/trunk/META-INF/applet-core.files 2009-11-20 11:35:18 UTC (rev 15072) @@ -12,7 +12,6 @@ javax/vecmath/Vector2f.class javax/vecmath/Vector3d.class org/_3pq/jgrapht/alg/ConnectivityInspector.class -org/_3pq/jgrapht/alg/ConnectivityInspector$1.class org/_3pq/jgrapht/alg/ConnectivityInspector$MyTraversalListener.class org/_3pq/jgrapht/DirectedGraph.class org/_3pq/jgrapht/Edge.class @@ -32,7 +31,6 @@ org/_3pq/jgrapht/event/VertexTraversalEvent.class org/_3pq/jgrapht/graph/AbstractBaseGraph$ArrayListFactory.class org/_3pq/jgrapht/graph/AbstractBaseGraph.class -org/_3pq/jgrapht/graph/AbstractBaseGraph$1.class org/_3pq/jgrapht/graph/AbstractBaseGraph$DirectedEdgeContainer.class org/_3pq/jgrapht/graph/AbstractBaseGraph$DirectedSpecifics.class org/_3pq/jgrapht/graph/AbstractBaseGraph$Specifics.class @@ -99,41 +97,23 @@ org/openscience/cdk/AtomContainerSet$AtomContainerIterator.class org/openscience/cdk/AtomContainerSet.class org/openscience/cdk/AtomContainer$SingleElectronIterator.class +org/openscience/cdk/atomtype/CDKAtomTypeMatcher.class org/openscience/cdk/AtomType.class +org/openscience/cdk/atomtype/IAtomTypeMatcher.class org/openscience/cdk/Bond$1.class org/openscience/cdk/Bond$AtomsIterator.class org/openscience/cdk/Bond.class org/openscience/cdk/CDKConstants.class org/openscience/cdk/ChemModel.class org/openscience/cdk/ChemObject.class -org/openscience/cdk/controller/AddBondDragModule.class -org/openscience/cdk/controller/AddRingModule.class -org/openscience/cdk/controller/AtomAtomMappingModule.class -org/openscience/cdk/controller/ControllerHub.class -org/openscience/cdk/controller/ControllerModel.class -org/openscience/cdk/controller/ControllerModuleAdapter.class -org/openscience/cdk/controller/ControllerParameters.class -org/openscience/cdk/controller/HighlightModule.class -org/openscience/cdk/controller/IChangeModeListener.class -org/openscience/cdk/controller/IChemModelEventRelayHandler.class -org/openscience/cdk/controller/IChemModelRelay.class -org/openscience/cdk/controller/IControllerModel.class -org/openscience/cdk/controller/IControllerModule.class -org/openscience/cdk/controller/IMouseEventRelay.class -org/openscience/cdk/controller/IViewEventRelay.class -org/openscience/cdk/controller/MoveModule.class -org/openscience/cdk/controller/PhantomBondGenerator.class -org/openscience/cdk/controller/RemoveModule.class -org/openscience/cdk/controller/RotateModule.class -org/openscience/cdk/controller/SelectLassoModule.class -org/openscience/cdk/controller/SelectSquareModule.class -org/openscience/cdk/controller/SwingMouseEventRelay.class -org/openscience/cdk/controller/undoredo/AddAtomsAndBondsEdit.class -org/openscience/cdk/controller/undoredo/IUndoListener.class -org/openscience/cdk/controller/undoredo/IUndoRedoable.class -org/openscience/cdk/controller/undoredo/IUndoRedoFactory.class -org/openscience/cdk/controller/undoredo/UndoRedoHandler.class -org/openscience/cdk/controller/ZoomModule.class +org/openscience/cdk/config/AtomTypeFactory.class +org/openscience/cdk/config/atomtypes/OWLAtomTypeHandler.class +org/openscience/cdk/config/atomtypes/OWLAtomTypeReader.class +org/openscience/cdk/config/IAtomTypeConfigurator.class +org/openscience/cdk/config/IsotopeFactory.class +org/openscience/cdk/config/isotopes/IsotopeHandler.class +org/openscience/cdk/config/isotopes/IsotopeReader.class +org/openscience/cdk/config/OWLBasedAtomTypeConfigurator.class org/openscience/cdk/DefaultChemObjectBuilder.class org/openscience/cdk/ElectronContainer.class org/openscience/cdk/Element.class @@ -142,7 +122,6 @@ org/openscience/cdk/exception/CDKException.class org/openscience/cdk/exception/NoSuchAtomException.class org/openscience/cdk/exception/NoSuchAtomTypeException.class -org/openscience/cdk/formula/MolecularFormula.class org/openscience/cdk/geometry/GeometryTools.class org/openscience/cdk/graph/BFSShortestPath.class org/openscience/cdk/graph/BFSShortestPath$MyBreadthFirstIterator.class @@ -151,7 +130,6 @@ org/openscience/cdk/graph/MoleculeGraphs.class org/openscience/cdk/graph/PathTools.class org/openscience/cdk/graph/SpanningTree.class -org/openscience/cdk/inchi/InChIGenerator.class org/openscience/cdk/interfaces/IAdductFormula.class org/openscience/cdk/interfaces/IAminoAcid.class org/openscience/cdk/interfaces/IAtom.class @@ -163,6 +141,7 @@ org/openscience/cdk/interfaces/IBioPolymer.class org/openscience/cdk/interfaces/IBond.class org/openscience/cdk/interfaces/IBond$Order.class +org/openscience/cdk/interfaces/IBond$Stereo.class org/openscience/cdk/interfaces/IChemFile.class org/openscience/cdk/interfaces/IChemModel.class org/openscience/cdk/interfaces/IChemObjectBuilder.class @@ -195,7 +174,6 @@ org/openscience/cdk/interfaces/IRingSet.class org/openscience/cdk/interfaces/ISingleElectron.class org/openscience/cdk/interfaces/IStrand.class -org/openscience/cdk/io/CMLReader.class org/openscience/cdk/io/DefaultChemObjectReader.class org/openscience/cdk/io/FormatFactory.class org/openscience/cdk/io/formats/ABINITFormat.class @@ -297,6 +275,8 @@ org/openscience/cdk/io/ISimpleChemObjectReader.class org/openscience/cdk/io/MDLV2000Reader.class org/openscience/cdk/io/ReaderFactory.class +org/openscience/cdk/io/setting/BooleanIOSetting.class +org/openscience/cdk/io/setting/IOSetting.class org/openscience/cdk/io/SMILESReader.class org/openscience/cdk/Isotope.class org/openscience/cdk/layout/AtomPlacer$1.class @@ -304,65 +284,6 @@ org/openscience/cdk/layout/RingPlacer.class org/openscience/cdk/Molecule.class org/openscience/cdk/MoleculeSet.class -org/openscience/cdk/renderer/AtomContainerRenderer.class -org/openscience/cdk/renderer/BoundsCalculator.class -org/openscience/cdk/renderer/color/CDK2DAtomColors.class -org/openscience/cdk/renderer/color/IAtomColorer.class -org/openscience/cdk/renderer/elements/ArrowElement.class -org/openscience/cdk/renderer/elements/ElementGroup.class -org/openscience/cdk/renderer/elements/IRenderingElement.class -org/openscience/cdk/renderer/elements/IRenderingVisitor.class -org/openscience/cdk/renderer/elements/LineElement.class -org/openscience/cdk/renderer/elements/OvalElement.class -org/openscience/cdk/renderer/elements/RectangleElement.class -org/openscience/cdk/renderer/elements/TextElement.class -org/openscience/cdk/renderer/elements/TextGroupElement$Child.class -org/openscience/cdk/renderer/elements/TextGroupElement.class -org/openscience/cdk/renderer/elements/TextGroupElement$Position.class -org/openscience/cdk/renderer/elements/WedgeLineElement.class -org/openscience/cdk/renderer/elements/WigglyLineElement.class -org/openscience/cdk/renderer/font/AbstractFontManager.class -org/openscience/cdk/renderer/font/AWTFontManager.class -org/openscience/cdk/renderer/font/IFontManager.class -org/openscience/cdk/renderer/font/IFontManager$FontStyle.class -org/openscience/cdk/renderer/generators/BasicAtomGenerator.class -org/openscience/cdk/renderer/generators/BasicBondGenerator$1.class -org/openscience/cdk/renderer/generators/BasicBondGenerator.class -org/openscience/cdk/renderer/generators/ExtendedAtomGenerator.class -org/openscience/cdk/renderer/generators/ExternalHighlightGenerator.class -org/openscience/cdk/renderer/generators/HighlightAtomGenerator.class -org/openscience/cdk/renderer/generators/HighlightBondGenerator.class -org/openscience/cdk/renderer/generators/IGenerator.class -org/openscience/cdk/renderer/generators/IReactionGenerator.class -org/openscience/cdk/renderer/generators/LonePairGenerator.class -org/openscience/cdk/renderer/generators/MappingGenerator.class -org/openscience/cdk/renderer/generators/MergeAtomsGenerator.class -org/openscience/cdk/renderer/generators/ProductsBoxGenerator.class -org/openscience/cdk/renderer/generators/RadicalGenerator.class -org/openscience/cdk/renderer/generators/ReactantsBoxGenerator.class -org/openscience/cdk/renderer/generators/ReactionArrowGenerator.class -org/openscience/cdk/renderer/generators/ReactionBoxGenerator.class -org/openscience/cdk/renderer/generators/ReactionPlusGenerator.class -org/openscience/cdk/renderer/generators/RingGenerator.class -org/openscience/cdk/renderer/generators/SelectAtomGenerator.class -org/openscience/cdk/renderer/generators/SelectAtomGenerator$1.class -org/openscience/cdk/renderer/generators/SelectBondGenerator.class -org/openscience/cdk/renderer/elements/AtomSymbolElement.class -org/openscience/cdk/renderer/IRenderer.class -org/openscience/cdk/renderer/Renderer.class -org/openscience/cdk/renderer/RendererModel.class -org/openscience/cdk/renderer/RenderingParameters$AtomShape.class -org/openscience/cdk/renderer/RenderingParameters.class -org/openscience/cdk/renderer/selection/IChemObjectSelection.class -org/openscience/cdk/renderer/selection/IncrementalSelection.class -org/openscience/cdk/renderer/selection/LogicalSelection.class -org/openscience/cdk/renderer/selection/LogicalSelection$Type.class -org/openscience/cdk/renderer/selection/SingleSelection.class -org/openscience/cdk/renderer/visitor/AbstractAWTDrawVisitor.class -org/openscience/cdk/renderer/visitor/AWTDrawVisitor$1.class -org/openscience/cdk/renderer/visitor/AWTDrawVisitor$2.class -org/openscience/cdk/renderer/visitor/AWTDrawVisitor.class -org/openscience/cdk/renderer/visitor/IDrawVisitor.class org/openscience/cdk/Ring.class org/openscience/cdk/ringsearch/cyclebasis/CycleBasis.class org/openscience/cdk/ringsearch/cyclebasis/SimpleCycleBasis$AuxiliaryGraph.class @@ -372,12 +293,13 @@ org/openscience/cdk/RingSet.class org/openscience/cdk/smiles/SmilesParser.class org/openscience/cdk/tools/CDKHydrogenAdder.class +org/openscience/cdk/tools/ILoggingTool.class org/openscience/cdk/tools/LoggingTool.class -org/openscience/cdk/tools/manipulator/AtomContainerManipulator.class +org/openscience/cdk/tools/LoggingToolFactory.class +org/openscience/cdk/tools/manipulator/AtomContainerComparatorBy2DCenter.class org/openscience/cdk/tools/manipulator/AtomContainerSetManipulator.class org/openscience/cdk/tools/manipulator/ChemModelManipulator.class org/openscience/cdk/tools/manipulator/MoleculeSetManipulator.class -org/openscience/cdk/tools/manipulator/MolecularFormulaManipulator.class org/openscience/cdk/tools/manipulator/RingSetManipulator.class org/openscience/cdk/validate/ProblemMarker.class org/openscience/jchempaint/AbstractJChemPaintPanel.class @@ -386,41 +308,85 @@ org/openscience/jchempaint/applet/JChemPaintAbstractApplet.class org/openscience/jchempaint/applet/JChemPaintViewerApplet.class org/openscience/jchempaint/application/JChemPaint.class -org/openscience/jchempaint/JChemPaintPanel$1.class +org/openscience/jchempaint/controller/ControllerHub.class +org/openscience/jchempaint/controller/ControllerModel.class +org/openscience/jchempaint/controller/ControllerModuleAdapter.class +org/openscience/jchempaint/controller/ControllerParameters.class +org/openscience/jchempaint/controller/HighlightModule.class +org/openscience/jchempaint/controller/IAtomBondEdits.class +org/openscience/jchempaint/controller/IChangeModeListener.class +org/openscience/jchempaint/controller/IChemModelEventRelayHandler.class +org/openscience/jchempaint/controller/IChemModelRelay.class +org/openscience/jchempaint/controller/IControllerModel.class +org/openscience/jchempaint/controller/IControllerModule.class +org/openscience/jchempaint/controller/IMouseEventRelay.class +org/openscience/jchempaint/controller/IViewEventRelay.class +org/openscience/jchempaint/controller/PhantomBondGenerator.class +org/openscience/jchempaint/controller/SwingMouseEventRelay.class +org/openscience/jchempaint/controller/undoredo/IUndoListener.class +org/openscience/jchempaint/controller/undoredo/IUndoRedoable.class +org/openscience/jchempaint/controller/undoredo/IUndoRedoFactory.class +org/openscience/jchempaint/controller/undoredo/UndoRedoHandler.class +org/openscience/jchempaint/controller/ZoomModule.class org/openscience/jchempaint/JChemPaintPanel.class org/openscience/jchempaint/JChemPaintViewerPanel.class org/openscience/jchempaint/JCPPropertyHandler.class org/openscience/jchempaint/JExternalFrame.class +org/openscience/jchempaint/renderer/AtomContainerRenderer.class +org/openscience/jchempaint/renderer/BoundsCalculator.class +org/openscience/jchempaint/renderer/color/CDK2DAtomColors.class +org/openscience/jchempaint/renderer/color/IAtomColorer.class +org/openscience/jchempaint/renderer/elements/ArrowElement.class +org/openscience/jchempaint/renderer/elements/ElementGroup.class +org/openscience/jchempaint/renderer/elements/IRenderingElement.class +org/openscience/jchempaint/renderer/elements/IRenderingVisitor.class +org/openscience/jchempaint/renderer/elements/LineElement.class +org/openscience/jchempaint/renderer/elements/OvalElement.class +org/openscience/jchempaint/renderer/elements/path/Type.class +org/openscience/jchempaint/renderer/elements/RectangleElement.class +org/openscience/jchempaint/renderer/elements/TextElement.class +org/openscience/jchempaint/renderer/elements/TextGroupElement$Child.class +org/openscience/jchempaint/renderer/elements/TextGroupElement.class +org/openscience/jchempaint/renderer/elements/TextGroupElement$Position.class +org/openscience/jchempaint/renderer/elements/WedgeLineElement.class +org/openscience/jchempaint/renderer/elements/WigglyLineElement.class +org/openscience/jchempaint/renderer/font/AbstractFontManager.class +org/openscience/jchempaint/renderer/font/AWTFontManager.class +org/openscience/jchempaint/renderer/font/IFontManager.class +org/openscience/jchempaint/renderer/font/IFontManager$FontStyle.class +org/openscience/jchempaint/renderer/generators/BasicAtomGenerator.class +org/openscience/jchempaint/renderer/generators/BasicBondGenerator$1.class +org/openscience/jchempaint/renderer/generators/BasicBondGenerator.class +org/openscience/jchempaint/renderer/generators/ExtendedAtomGenerator.class +org/openscience/jchempaint/renderer/generators/ExternalHighlightGenerator.class +org/openscience/jchempaint/renderer/generators/HighlightAtomGenerator.class +org/openscience/jchempaint/renderer/generators/HighlightBondGenerator.class +org/openscience/jchempaint/renderer/generators/IGenerator.class +org/openscience/jchempaint/renderer/generators/IReactionGenerator.class +org/openscience/jchempaint/renderer/generators/LonePairGenerator.class +org/openscience/jchempaint/renderer/generators/MappingGenerator.class +org/openscience/jchempaint/renderer/generators/MergeAtomsGenerator.class +org/openscience/jchempaint/renderer/generators/ProductsBoxGenerator.class +org/openscience/jchempaint/renderer/generators/RadicalGenerator.class +org/openscience/jchempaint/renderer/generators/ReactantsBoxGenerator.class +org/openscience/jchempaint/renderer/generators/ReactionArrowGenerator.class +org/openscience/jchempaint/renderer/generators/ReactionBoxGenerator.class +org/openscience/jchempaint/renderer/generators/ReactionPlusGenerator.class +org/openscience/jchempaint/renderer/generators/RingGenerator.class +org/openscience/jchempaint/renderer/generators/SelectAtomGenerator.class +org/openscience/jchempaint/renderer/generators/SelectBondGenerator.class +org/openscience/jchempaint/renderer/IRenderer.class +org/openscience/jchempaint/renderer/Renderer.class +org/openscience/jchempaint/renderer/RendererModel.class +org/openscience/jchempaint/renderer/RenderingParameters$AtomShape.class +org/openscience/jchempaint/renderer/RenderingParameters.class +org/openscience/jchempaint/renderer/selection/IChemObjectSelection.class +org/openscience/jchempaint/renderer/selection/IncrementalSelection.class +org/openscience/jchempaint/renderer/selection/LogicalSelection.class +org/openscience/jchempaint/renderer/selection/LogicalSelection$Type.class +org/openscience/jchempaint/renderer/visitor/AbstractAWTDrawVisitor.class +org/openscience/jchempaint/renderer/visitor/AWTDrawVisitor$2.class +org/openscience/jchempaint/renderer/visitor/AWTDrawVisitor.class +org/openscience/jchempaint/renderer/visitor/IDrawVisitor.class org/openscience/jchempaint/RenderPanel.class -io-formats.set -org/openscience/jchempaint/undoredo/SwingUndoRedoFactory$EditOperationWrapper.class org/openscience/jchempaint/undoredo/SwingUndoRedoFactory.class -org/openscience/jchempaint/InsertTextPanel.class -org/openscience/jchempaint/JCPMenuTextMaker.class -org/openscience/cdk/controller/undoredo/AdjustBondOrdersEdit.class -org/openscience/jchempaint/undoredo/SwingAdjustBondOrdersEdit.class -org/openscience/cdk/controller/IChemModelRelay$Direction.class -org/openscience/cdk/renderer/elements/WedgeLineElement$Direction.class -org/openscience/cdk/controller/AddAtomModule.class -org/openscience/cdk/controller/undoredo/ChangeAtomSymbolEdit.class -org/openscience/jchempaint/undoredo/SwingChangeAtomSymbolEdit.class -org/openscience/cdk/interfaces/IBond$Stereo.class -org/openscience/cdk/renderer/elements/path/Close.class -org/openscience/cdk/renderer/elements/path/CubicTo.class -org/openscience/cdk/renderer/elements/path/LineTo.class -org/openscience/cdk/renderer/elements/path/MoveTo.class -org/openscience/cdk/renderer/elements/path/PathBuilder.class -org/openscience/cdk/renderer/elements/path/PathElement.class -org/openscience/cdk/renderer/elements/path/QuadTo.class -org/openscience/cdk/renderer/elements/path/Type.class -org/openscience/cdk/controller/IAtomBondEdits.class -org/openscience/cdk/renderer/elements/AtomMassSymbolElement.class -org/openscience/cdk/renderer/elements/GeneralPath.class -org/openscience/cdk/renderer/elements/LineElement$LineType.class -org/openscience/cdk/renderer/elements/PathElement.class -org/openscience/cdk/renderer/elements/RingElement.class -org/openscience/cdk/renderer/selection/MultiSelection.class -org/openscience/cdk/tools/manipulator/BondManipulator.class -org/openscience/cdk/tools/manipulator/AtomContainerComparatorBy2DCenter.class -org/openscience/cdk/io/MDLReader.class -org/openscience/jchempaint/dialog/TemplateBrowser.class Modified: jchempaint/trunk/META-INF/applet-editor.files =================================================================== --- jchempaint/trunk/META-INF/applet-editor.files 2009-11-19 16:47:09 UTC (rev 15071) +++ jchempaint/trunk/META-INF/applet-editor.files 2009-11-20 11:35:18 UTC (rev 15072) @@ -1,3 +1,4 @@ +io-formats.set javax/vecmath/Point2d.class javax/vecmath/Point2f.class javax/vecmath/Point3d.class @@ -88,32 +89,20 @@ org/openscience/cdk/AtomContainerSet$AtomContainerIterator.class org/openscience/cdk/AtomContainerSet.class org/openscience/cdk/AtomContainer$SingleElectronIterator.class +org/openscience/cdk/atomtype/CDKAtomTypeMatcher.class org/openscience/cdk/AtomType.class +org/openscience/cdk/atomtype/IAtomTypeMatcher.class org/openscience/cdk/Bond$1.class org/openscience/cdk/Bond$AtomsIterator.class org/openscience/cdk/Bond.class org/openscience/cdk/CDKConstants.class org/openscience/cdk/ChemModel.class org/openscience/cdk/ChemObject.class -org/openscience/cdk/controller/ControllerHub.class -org/openscience/cdk/controller/ControllerModel.class -org/openscience/cdk/controller/ControllerModuleAdapter.class -org/openscience/cdk/controller/ControllerParameters.class -org/openscience/cdk/controller/HighlightModule.class -org/openscience/cdk/controller/IChangeModeListener.class -org/openscience/cdk/controller/IChemModelEventRelayHandler.class -org/openscience/cdk/controller/IChemModelRelay.class -org/openscience/cdk/controller/IControllerModel.class -org/openscience/cdk/controller/IControllerModule.class -org/openscience/cdk/controller/IMouseEventRelay.class -org/openscience/cdk/controller/IViewEventRelay.class -org/openscience/cdk/controller/PhantomBondGenerator.class -org/openscience/cdk/controller/SwingMouseEventRelay.class -org/openscience/cdk/controller/undoredo/IUndoListener.class -org/openscience/cdk/controller/undoredo/IUndoRedoable.class -org/openscience/cdk/controller/undoredo/IUndoRedoFactory.class -org/openscience/cdk/controller/undoredo/UndoRedoHandler.class -org/openscience/cdk/controller/ZoomModule.class +org/openscience/cdk/config/AtomTypeFactory.class +org/openscience/cdk/config/atomtypes/OWLAtomTypeHandler.class +org/openscience/cdk/config/atomtypes/OWLAtomTypeReader.class +org/openscience/cdk/config/IAtomTypeConfigurator.class +org/openscience/cdk/config/OWLBasedAtomTypeConfigurator.class org/openscience/cdk/DefaultChemObjectBuilder.class org/openscience/cdk/ElectronContainer.class org/openscience/cdk/Element.class @@ -123,6 +112,7 @@ org/openscience/cdk/exception/InvalidSmilesException.class org/openscience/cdk/exception/NoSuchAtomException.class org/openscience/cdk/exception/NoSuchAtomTypeException.class +org/openscience/cdk/formula/MolecularFormula.class org/openscience/cdk/geometry/GeometryTools.class org/openscience/cdk/graph/BFSShortestPath.class org/openscience/cdk/graph/BFSShortestPath$MyBreadthFirstIterator.class @@ -141,6 +131,7 @@ org/openscience/cdk/interfaces/IBioPolymer.class org/openscience/cdk/interfaces/IBond.class org/openscience/cdk/interfaces/IBond$Order.class +org/openscience/cdk/interfaces/IBond$Stereo.class org/openscience/cdk/interfaces/IChemFile.class org/openscience/cdk/interfaces/IChemModel.class org/openscience/cdk/interfaces/IChemObjectBuilder.class @@ -179,7 +170,7 @@ org/openscience/cdk/io/IChemObjectWriter.class org/openscience/cdk/io/ISimpleChemObjectReader.class org/openscience/cdk/io/listener/IChemObjectIOListener.class -org/openscience/cdk/io/MDLV2000Reader.class +org/openscience/cdk/io/MDLReader.class org/openscience/cdk/Isotope.class org/openscience/cdk/layout/AtomPlacer$1.class org/openscience/cdk/layout/AtomPlacer.class @@ -187,63 +178,7 @@ org/openscience/cdk/Molecule.class org/openscience/cdk/MoleculeSet.class org/openscience/cdk/PseudoAtom.class -org/openscience/cdk/renderer/AtomContainerRenderer.class -org/openscience/cdk/renderer/color/CDK2DAtomColors.class -org/openscience/cdk/renderer/color/IAtomColorer.class -org/openscience/cdk/renderer/elements/ArrowElement.class -org/openscience/cdk/renderer/elements/ElementGroup.class -org/openscience/cdk/renderer/elements/IRenderingElement.class -org/openscience/cdk/renderer/elements/IRenderingVisitor.class -org/openscience/cdk/renderer/elements/LineElement.class -org/openscience/cdk/renderer/elements/OvalElement.class -org/openscience/cdk/renderer/elements/RectangleElement.class -org/openscience/cdk/renderer/elements/TextElement.class -org/openscience/cdk/renderer/elements/TextGroupElement$Child.class -org/openscience/cdk/renderer/elements/TextGroupElement.class -org/openscience/cdk/renderer/elements/TextGroupElement$Position.class -org/openscience/cdk/renderer/elements/WedgeLineElement.class -org/openscience/cdk/renderer/elements/WigglyLineElement.class -org/openscience/cdk/renderer/font/AbstractFontManager.class -org/openscience/cdk/renderer/font/AWTFontManager.class -org/openscience/cdk/renderer/font/IFontManager.class -org/openscience/cdk/renderer/font/IFontManager$FontStyle.class -org/openscience/cdk/renderer/generators/BasicAtomGenerator.class -org/openscience/cdk/renderer/generators/BasicBondGenerator.class -org/openscience/cdk/renderer/generators/ExtendedAtomGenerator.class -org/openscience/cdk/renderer/generators/ExternalHighlightGenerator.class -org/openscience/cdk/renderer/generators/HighlightAtomGenerator.class -org/openscience/cdk/renderer/generators/HighlightBondGenerator.class -org/openscience/cdk/renderer/generators/IGenerator.class -org/openscience/cdk/renderer/generators/IReactionGenerator.class -org/openscience/cdk/renderer/generators/LonePairGenerator.class -org/openscience/cdk/renderer/generators/MappingGenerator.class -org/openscience/cdk/renderer/generators/MergeAtomsGenerator.class -org/openscience/cdk/renderer/generators/ProductsBoxGenerator.class -org/openscience/cdk/renderer/generators/RadicalGenerator.class -org/openscience/cdk/renderer/generators/ReactantsBoxGenerator.class -org/openscience/cdk/renderer/generators/ReactionArrowGenerator.class -org/openscience/cdk/renderer/generators/ReactionBoxGenerator.class -org/openscience/cdk/renderer/generators/ReactionPlusGenerator.class -org/openscience/cdk/renderer/generators/RingGenerator.class -org/openscience/cdk/renderer/generators/SelectAtomGenerator.class -org/openscience/cdk/renderer/generators/SelectBondGenerator.class -org/openscience/cdk/renderer/IRenderer.class -org/openscience/cdk/renderer/Renderer.class -org/openscience/cdk/renderer/RendererModel.class -org/openscience/cdk/renderer/RenderingParameters$AtomShape.class -org/openscience/cdk/renderer/RenderingParameters.class -org/openscience/cdk/renderer/selection/AbstractSelection$1.class -org/openscience/cdk/renderer/selection/AbstractSelection.class -org/openscience/cdk/renderer/selection/IChemObjectSelection.class -org/openscience/cdk/renderer/selection/IncrementalSelection.class -org/openscience/cdk/renderer/selection/LogicalSelection.class -org/openscience/cdk/renderer/selection/LogicalSelection$Type.class -org/openscience/cdk/renderer/selection/RectangleSelection.class -org/openscience/cdk/renderer/selection/ShapeSelection.class -org/openscience/cdk/renderer/visitor/AbstractAWTDrawVisitor.class -org/openscience/cdk/renderer/visitor/AWTDrawVisitor$1.class -org/openscience/cdk/renderer/visitor/AWTDrawVisitor.class -org/openscience/cdk/renderer/visitor/IDrawVisitor.class +org/openscience/cdk/Reaction.class org/openscience/cdk/Ring.class org/openscience/cdk/ringsearch/cyclebasis/CycleBasis.class org/openscience/cdk/ringsearch/cyclebasis/SimpleCycleBasis$AuxiliaryGraph.class @@ -252,28 +187,33 @@ org/openscience/cdk/ringsearch/SSSRFinder.class org/openscience/cdk/RingSet.class org/openscience/cdk/smiles/SmilesParser.class +org/openscience/cdk/tools/CDKHydrogenAdder.class +org/openscience/cdk/tools/ILoggingTool.class org/openscience/cdk/tools/LoggingTool.class +org/openscience/cdk/tools/LoggingToolFactory.class +org/openscience/cdk/tools/manipulator/AtomContainerComparatorBy2DCenter.class +org/openscience/cdk/tools/manipulator/AtomContainerManipulator.class org/openscience/cdk/tools/manipulator/AtomContainerSetManipulator.class org/openscience/cdk/tools/manipulator/ChemModelManipulator.class +org/openscience/cdk/tools/manipulator/MolecularFormulaManipulator.class org/openscience/cdk/tools/manipulator/MoleculeSetManipulator.class org/openscience/cdk/tools/manipulator/RingSetManipulator.class org/openscience/cdk/validate/ProblemMarker.class org/openscience/jchempaint/AbstractJChemPaintPanel.class org/openscience/jchempaint/action/AboutAction.class org/openscience/jchempaint/action/AddHydrogenAction.class -org/openscience/jchempaint/action/AdjustBondOrdersAction.class org/openscience/jchempaint/action/ChangeAtomSymbolAction.class org/openscience/jchempaint/action/ChangeBondAction.class org/openscience/jchempaint/action/ChangeIsotopeAction.class org/openscience/jchempaint/action/ChangeModeAction.class +org/openscience/jchempaint/action/ChangeSingleElectronAction.class org/openscience/jchempaint/action/ChangeValenceAction.class org/openscience/jchempaint/action/ChargeAction.class org/openscience/jchempaint/action/CleanupAction.class org/openscience/jchempaint/action/ConvertToPseudoAtomAction.class -org/openscience/jchempaint/action/ConvertToRadicalAction.class org/openscience/jchempaint/action/CopyPasteAction.class org/openscience/jchempaint/action/CopyPasteAction$JcpSelection.class -org/openscience/jchempaint/action/CreateInChIAction.class +org/openscience/jchempaint/action/CreateReactionAction.class org/openscience/jchempaint/action/CreateSmilesAction.class org/openscience/jchempaint/action/EditAtomContainerPropsAction.class org/openscience/jchempaint/action/EditChemObjectPropsAction.class @@ -293,6 +233,35 @@ org/openscience/jchempaint/action/ZoomAction.class org/openscience/jchempaint/applet/JChemPaintAbstractApplet.class org/openscience/jchempaint/applet/JChemPaintEditorApplet.class +org/openscience/jchempaint/controller/AbstractSelectModule.class +org/openscience/jchempaint/controller/AddBondDragModule.class +org/openscience/jchempaint/controller/AddRingModule.class +org/openscience/jchempaint/controller/AtomAtomMappingModule.class +org/openscience/jchempaint/controller/ControllerHub.class +org/openscience/jchempaint/controller/ControllerModel.class +org/openscience/jchempaint/controller/ControllerModuleAdapter.class +org/openscience/jchempaint/controller/ControllerParameters.class +org/openscience/jchempaint/controller/HighlightModule.class +org/openscience/jchempaint/controller/IAtomBondEdits.class +org/openscience/jchempaint/controller/IChangeModeListener.class +org/openscience/jchempaint/controller/IChemModelEventRelayHandler.class +org/openscience/jchempaint/controller/IChemModelRelay.class +org/openscience/jchempaint/controller/IControllerModel.class +org/openscience/jchempaint/controller/IControllerModule.class +org/openscience/jchempaint/controller/IMouseEventRelay.class +org/openscience/jchempaint/controller/IViewEventRelay.class +org/openscience/jchempaint/controller/MoveModule.class +org/openscience/jchempaint/controller/PhantomBondGenerator.class +org/openscience/jchempaint/controller/RotateModule.class +org/openscience/jchempaint/controller/SelectLassoModule.class +org/openscience/jchempaint/controller/SelectSquareModule.class +org/openscience/jchempaint/controller/SwingMouseEventRelay.class +org/openscience/jchempaint/controller/undoredo/AddAtomsAndBondsEdit.class +org/openscience/jchempaint/controller/undoredo/IUndoListener.class +org/openscience/jchempaint/controller/undoredo/IUndoRedoable.class +org/openscience/jchempaint/controller/undoredo/IUndoRedoFactory.class +org/openscience/jchempaint/controller/undoredo/UndoRedoHandler.class +org/openscience/jchempaint/controller/ZoomModule.class org/openscience/jchempaint/dialog/editor/AtomContainerEditor.class org/openscience/jchempaint/dialog/editor/AtomEditor.class org/openscience/jchempaint/dialog/editor/BondEditor.class @@ -302,29 +271,92 @@ org/openscience/jchempaint/dialog/FieldTablePanel.class org/openscience/jchempaint/GT.class org/openscience/jchempaint/GT$Language.class +org/openscience/jchempaint/InsertTextPanel.class org/openscience/jchempaint/io/JCPFileView.class org/openscience/jchempaint/JChemPaintMenuBar.class org/openscience/jchempaint/JChemPaintMenuHelper$1.class org/openscience/jchempaint/JChemPaintMenuHelper.class +org/openscience/jchempaint/JChemPaintPanel$1.class org/openscience/jchempaint/JChemPaintPanel.class org/openscience/jchempaint/JChemPaintPopupMenu.class +org/openscience/jchempaint/JCPMenuTextMaker.class org/openscience/jchempaint/JCPPropertyHandler.class org/openscience/jchempaint/JCPStatusBar.class org/openscience/jchempaint/JCPToolBar$1.class org/openscience/jchempaint/JCPToolBar.class org/openscience/jchempaint/JExternalFrame.class +org/openscience/jchempaint/renderer/AtomContainerRenderer.class +org/openscience/jchempaint/renderer/color/CDK2DAtomColors.class +org/openscience/jchempaint/renderer/color/IAtomColorer.class +org/openscience/jchempaint/renderer/elements/ArrowElement.class +org/openscience/jchempaint/renderer/elements/AtomSymbolElement.class +org/openscience/jchempaint/renderer/elements/ElementGroup.class +org/openscience/jchempaint/renderer/elements/GeneralPath.class +org/openscience/jchempaint/renderer/elements/IRenderingElement.class +org/openscience/jchempaint/renderer/elements/IRenderingVisitor.class +org/openscience/jchempaint/renderer/elements/LineElement.class +org/openscience/jchempaint/renderer/elements/OvalElement.class +org/openscience/jchempaint/renderer/elements/path/Close.class +org/openscience/jchempaint/renderer/elements/path/CubicTo.class +org/openscience/jchempaint/renderer/elements/PathElement.class +org/openscience/jchempaint/renderer/elements/path/LineTo.class +org/openscience/jchempaint/renderer/elements/path/MoveTo.class +org/openscience/jchempaint/renderer/elements/path/PathBuilder.class +org/openscience/jchempaint/renderer/elements/path/PathElement.class +org/openscience/jchempaint/renderer/elements/path/QuadTo.class +org/openscience/jchempaint/renderer/elements/path/Type.class +org/openscience/jchempaint/renderer/elements/RectangleElement.class +org/openscience/jchempaint/renderer/elements/TextElement.class +org/openscience/jchempaint/renderer/elements/TextGroupElement$Child.class +org/openscience/jchempaint/renderer/elements/TextGroupElement.class +org/openscience/jchempaint/renderer/elements/TextGroupElement$Position.class +org/openscience/jchempaint/renderer/elements/WedgeLineElement.class +org/openscience/jchempaint/renderer/elements/WigglyLineElement.class +org/openscience/jchempaint/renderer/font/AbstractFontManager.class +org/openscience/jchempaint/renderer/font/AWTFontManager.class +org/openscience/jchempaint/renderer/font/IFontManager.class +org/openscience/jchempaint/renderer/font/IFontManager$FontStyle.class +org/openscience/jchempaint/renderer/generators/BasicAtomGenerator.class +org/openscience/jchempaint/renderer/generators/BasicBondGenerator.class +org/openscience/jchempaint/renderer/generators/ExtendedAtomGenerator.class +org/openscience/jchempaint/renderer/generators/ExternalHighlightGenerator.class +org/openscience/jchempaint/renderer/generators/HighlightAtomGenerator.class +org/openscience/jchempaint/renderer/generators/HighlightBondGenerator.class +org/openscience/jchempaint/renderer/generators/IGenerator.class +org/openscience/jchempaint/renderer/generators/IReactionGenerator.class +org/openscience/jchempaint/renderer/generators/LonePairGenerator.class +org/openscience/jchempaint/renderer/generators/MappingGenerator.class +org/openscience/jchempaint/renderer/generators/MergeAtomsGenerator.class +org/openscience/jchempaint/renderer/generators/ProductsBoxGenerator.class +org/openscience/jchempaint/renderer/generators/RadicalGenerator.class +org/openscience/jchempaint/renderer/generators/ReactantsBoxGenerator.class +org/openscience/jchempaint/renderer/generators/ReactionArrowGenerator.class +org/openscience/jchempaint/renderer/generators/ReactionBoxGenerator.class +org/openscience/jchempaint/renderer/generators/ReactionPlusGenerator.class +org/openscience/jchempaint/renderer/generators/RingGenerator.class +org/openscience/jchempaint/renderer/generators/SelectAtomGenerator.class +org/openscience/jchempaint/renderer/generators/SelectBondGenerator.class +org/openscience/jchempaint/renderer/IRenderer.class +org/openscience/jchempaint/renderer/Renderer.class +org/openscience/jchempaint/renderer/RendererModel.class +org/openscience/jchempaint/renderer/RenderingParameters$AtomShape.class +org/openscience/jchempaint/renderer/RenderingParameters.class +org/openscience/jchempaint/renderer/selection/AbstractSelection$1.class +org/openscience/jchempaint/renderer/selection/AbstractSelection.class +org/openscience/jchempaint/renderer/selection/IChemObjectSelection.class +org/openscience/jchempaint/renderer/selection/IncrementalSelection.class +org/openscience/jchempaint/renderer/selection/LogicalSelection.class +org/openscience/jchempaint/renderer/selection/LogicalSelection$Type.class +org/openscience/jchempaint/renderer/selection/RectangleSelection.class +org/openscience/jchempaint/renderer/selection/ShapeSelection.class +org/openscience/jchempaint/renderer/selection/SingleSelection.class +org/openscience/jchempaint/renderer/visitor/AbstractAWTDrawVisitor.class +org/openscience/jchempaint/renderer/visitor/AWTDrawVisitor$1.class +org/openscience/jchempaint/renderer/visitor/AWTDrawVisitor$2.class +org/openscience/jchempaint/renderer/visitor/AWTDrawVisitor.class +org/openscience/jchempaint/renderer/visitor/IDrawVisitor.class org/openscience/jchempaint/RenderPanel.class org/openscience/jchempaint/StringHelper.class org/openscience/jchempaint/SwingPopupModule.class org/openscience/jchempaint/undoredo/SwingAddAtomsAndBondsEdit.class org/openscience/jchempaint/undoredo/SwingUndoRedoFactory.class -org/openscience/cdk/atomtype/CDKAtomTypeMatcher.class -org/openscience/cdk/atomtype/IAtomTypeMatcher.class -org/openscience/cdk/config/AtomTypeFactory.class -org/openscience/cdk/config/atomtypes/OWLAtomTypeHandler.class -org/openscience/cdk/config/atomtypes/OWLAtomTypeReader.class -org/openscience/cdk/config/IAtomTypeConfigurator.class -org/openscience/cdk/config/OWLBasedAtomTypeConfigurator.class -org/openscience/cdk/dict/data/cdk-atom-types.owl -org/openscience/jchempaint/action/ChangeSingleElectronAction.class -org/openscience/cdk/controller/AbstractSelectModule.class Modified: jchempaint/trunk/src/main/org/openscience/jchempaint/JCPMenuTextMaker.java =================================================================== --- jchempaint/trunk/src/main/org/openscience/jchempaint/JCPMenuTextMaker.java 2009-11-19 16:47:09 UTC (rev 15071) +++ jchempaint/trunk/src/main/org/openscience/jchempaint/JCPMenuTextMaker.java 2009-11-20 11:35:18 UTC (rev 15072) @@ -295,8 +295,15 @@ entries.put("ClTooltip", GT._("Change drawing symbol to Cl")); entries.put("BrTooltip", GT._("Change drawing symbol to Br")); entries.put("ITooltip", GT._("Change drawing symbol to I")); - -} + entries.put("reaction", GT._("Reaction")); + entries.put("addReactantToNewReaction", GT._("Make Reactant in New Reaction")); + entries.put("addReactantToExistingReaction", GT._("Make Reactant in Existing Reaction")); + entries.put("addProductToNewReaction", GT._("Make Product in New Reaction")); + entries.put("addProductToExistingReaction", GT._("Make Product in Existing Reaction")); + entries.put("selectReactants", GT._("Select Reactants")); + entries.put("selectProducts", GT._("Select Products")); + entries.put("reactionMenuTitle", GT._("Reaction Popup Menu")); + } /** * Gives the text for an item. Modified: jchempaint/trunk/src/main/org/openscience/jchempaint/JChemPaintPanel.java =================================================================== --- jchempaint/trunk/src/main/org/openscience/jchempaint/JChemPaintPanel.java 2009-11-19 16:47:09 UTC (rev 15071) +++ jchempaint/trunk/src/main/org/openscience/jchempaint/JChemPaintPanel.java 2009-11-20 11:35:18 UTC (rev 15072) @@ -67,6 +67,7 @@ import org.openscience.cdk.CDKConstants; import org.openscience.cdk.ChemModel; import org.openscience.cdk.PseudoAtom; +import org.openscience.cdk.Reaction; import org.openscience.cdk.config.IsotopeFactory; import org.openscience.cdk.event.ICDKChangeListener; import org.openscience.cdk.interfaces.IAtom; @@ -198,6 +199,10 @@ inputAdapter.setPopupMenu(ChemModel.class, new JChemPaintPopupMenu( this, "chemmodel", this.guistring)); } + if (inputAdapter.getPopupMenu(Reaction.class) == null) { + inputAdapter.setPopupMenu(Reaction.class, new JChemPaintPopupMenu( + this, "reaction", this.guistring)); + } } /** Modified: jchempaint/trunk/src/main/org/openscience/jchempaint/action/CopyPasteAction.java =================================================================== --- jchempaint/trunk/src/main/org/openscience/jchempaint/action/CopyPasteAction.java 2009-11-19 16:47:09 UTC (rev 15071) +++ jchempaint/trunk/src/main/org/openscience/jchempaint/action/CopyPasteAction.java 2009-11-20 11:35:18 UTC (rev 15072) @@ -75,6 +75,7 @@ import org.openscience.cdk.tools.manipulator.AtomContainerManipulator; import org.openscience.cdk.tools.manipulator.ChemFileManipulator; import org.openscience.cdk.tools.manipulator.ChemModelManipulator; +import org.openscience.cdk.tools.manipulator.MoleculeSetManipulator; import org.openscience.cdk.tools.manipulator.ReactionManipulator; import org.openscience.jchempaint.GT; import org.openscience.jchempaint.JChemPaintPanel; @@ -433,6 +434,52 @@ else { logger.warn("Cannot select everything in : ", object); } + } else if (type.equals("selectReactionReactants")) { + IChemObject object = getSource(e); + if (object instanceof IReaction) { + IReaction reaction = (IReaction) object; + IAtomContainer wholeModel = + jcpPanel.getChemModel().getBuilder().newAtomContainer(); + for (IAtomContainer container : + MoleculeSetManipulator.getAllAtomContainers( + reaction.getReactants())) { + wholeModel.add(container); + } + ShapeSelection container = new RectangleSelection(); + for (IAtom atom : wholeModel.atoms()) { + container.atoms.add(atom); + } + for (IBond bond : wholeModel.bonds()) { + container.bonds.add(bond); + } + renderModel.setSelection(container); + } + else { + logger.warn("Cannot select reactants from : ", object); + } + } else if (type.equals("selectReactionProducts")) { + IChemObject object = getSource(e); + if (object instanceof IReaction) { + IReaction reaction = (IReaction) object; + IAtomContainer wholeModel = + jcpPanel.getChemModel().getBuilder().newAtomContainer(); + for (IAtomContainer container : + MoleculeSetManipulator.getAllAtomContainers( + reaction.getProducts())) { + wholeModel.add(container); + } + ShapeSelection container = new RectangleSelection(); + for (IAtom atom : wholeModel.atoms()) { + container.atoms.add(atom); + } + for (IBond bond : wholeModel.bonds()) { + container.bonds.add(bond); + } + renderModel.setSelection(container); + } + else { + logger.warn("Cannot select reactants from : ", object); + } } jcpPanel.get2DHub().updateView(); jcpPanel.updateStatusBar(); Added: jchempaint/trunk/src/main/org/openscience/jchempaint/action/CreateReactionAction.java =================================================================== --- jchempaint/trunk/src/main/org/openscience/jchempaint/action/CreateReactionAction.java (rev 0) +++ jchempaint/trunk/src/main/org/openscience/jchempaint/action/CreateReactionAction.java 2009-11-20 11:35:18 UTC (rev 15072) @@ -0,0 +1,205 @@ +/* + * $RCSfile$ + * $Author: egonw $ + * $Date: 2007-01-04 17:26:00 +0000 (Thu, 04 Jan 2007) $ + * $Revision: 7634 $ + * + * Copyright (C) 1997-2008 Christoph Steinbeck, Stefan Kuhn + * + * Contact: cdk...@li... + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 + * of the License, or (at your option) any later version. + * All we ask is that proper credit is given for our work, which includes + * - but is not limited to - adding the above copyright notice to the beginning + * of your source code files, and to any copyright notice that you may distribute + * with programs based on this work. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + */ +package org.openscience.jchempaint.action; + +import java.awt.event.ActionEvent; + +import javax.swing.JOptionPane; + +import org.openscience.cdk.interfaces.IAtom; +import org.openscience.cdk.interfaces.IAtomContainer; +import org.openscience.cdk.interfaces.IBond; +import org.openscience.cdk.interfaces.IChemModel; +import org.openscience.cdk.interfaces.IChemObject; +import org.openscience.cdk.interfaces.IReactionSet; +import org.openscience.cdk.tools.manipulator.ChemModelManipulator; +import org.openscience.jchempaint.GT; +import org.openscience.jchempaint.controller.ControllerHub; +import org.openscience.jchempaint.controller.IChemModelRelay; +import org.openscience.jchempaint.controller.ReactionHub; + + +/** + * Creates a reaction object + * + */ +public class CreateReactionAction extends JCPAction +{ + + private static final long serialVersionUID = -7625810885316702776L; + + public void actionPerformed(ActionEvent event) + { + IChemObject object = getSource(event); + + logger.debug("CreateReaction action"); + IChemModel model = jcpPanel.getChemModel(); + IReactionSet reactionSet = model.getReactionSet(); + if (reactionSet == null) + { + reactionSet = model.getBuilder().newReactionSet(); + } + IAtomContainer container = null; + if (object instanceof IAtom) + { + container = ChemModelManipulator.getRelevantAtomContainer(model, (IAtom) object); + } else if(object instanceof IBond) + { + container = ChemModelManipulator.getRelevantAtomContainer(model, (IBond) object); + } else + { + logger.error("Cannot add to reaction object of type: " + object.getClass().getName()); + } + if (container == null) + { + logger.error("Cannot find container to add object to!"); + } else + { + IChemModelRelay hub = jcpPanel.get2DHub(); + IAtomContainer newContainer; + try { + newContainer = (IAtomContainer) container.clone(); + if(container.getID()!=null) + newContainer.setID(container.getID()); + else + newContainer.setID("ac"+System.currentTimeMillis()); + } catch (CloneNotSupportedException e) { + logger.error("Could not clone IAtomContainer: ", e.getMessage()); + logger.debug(e); + return; + } + + logger.debug("type: ", type); + if ("addReactantToNew".equals(type)) + { + ReactionHub.makeReactantInNewReaction((ControllerHub)hub, newContainer, container); + //TODO this.jcpPanel.atomAtomMappingButton.setEnabled(true); + } else if ("addReactantToExisting".equals(type)) + { + if (reactionSet.getReactionCount() == 0) + { + logger.warn("Cannot add to reaction if no one exists"); + JOptionPane.showMessageDialog(jcpPanel, GT._("No reaction existing. Cannot add therefore to something!"), GT._("No existing reactions"), JOptionPane.WARNING_MESSAGE); + return; + } else + { + Object[] ids = getReactionIDs(reactionSet); + + String s = (String)ids[0]; + if(ids.length>1){ + s = (String) JOptionPane.showInputDialog( + null, + "Reaction Chooser", + "Choose reaction to add reaction to", + JOptionPane.PLAIN_MESSAGE, + null, + ids, + ids[0] + ); + } + if ((s != null) && (s.length() > 0)) + { + ReactionHub.makeReactantInExistingReaction((ControllerHub)hub, s, newContainer, container); + //TODO this.jcpPanel.atomAtomMappingButton.setEnabled(true); + } else + { + logger.error("No reaction selected"); + } + } + } else if ("addProductToNew".equals(type)) + { + ReactionHub.makeProductInNewReaction((ControllerHub)hub, newContainer, container); + //this.jcpPanel.atomAtomMappingButton.setEnabled(true); + } else if ("addProductToExisting".equals(type)) + { + if (reactionSet.getReactionCount() == 0) + { + logger.warn("Cannot add to reaction if no one exists"); + JOptionPane.showMessageDialog(jcpPanel, GT._("No reaction existing. Cannot add therefore to something!"), GT._("No existing reactions"), JOptionPane.WARNING_MESSAGE); + return; + } else + { + Object[] ids = getReactionIDs(reactionSet); + String s = (String)ids[0]; + if(ids.length>1){ + s = (String) JOptionPane.showInputDialog( + null, + "Reaction Chooser", + "Choose reaction to add reaction to", + JOptionPane.PLAIN_MESSAGE, + null, + ids, + ids[0] + ); + } + + if ((s != null) && (s.length() > 0)) + { + ReactionHub.makeProductInExistingReaction((ControllerHub)hub, s, newContainer, container); + //TODO this.jcpPanel.atomAtomMappingButton.setEnabled(true); + } else + { + logger.error("No reaction selected"); + } + } + } else + { + logger.warn("Don't know about this action type: " + type); + return; + } + } + logger.debug("Deleted atom from old container..."); + jcpPanel.get2DHub().updateView(); + } + + + /** + * Gets the reactionIDs attribute of the CreateReactionAction object + * + *@param reactionSet Description of the Parameter + *@return The reactionIDs value + */ + private Object[] getReactionIDs(IReactionSet reactionSet) + { + if (reactionSet != null) + { + + String[] ids = new String[reactionSet.getReactionCount()]; + for (int i = 0; i < reactionSet.getReactionCount(); i++) + { + ids[i] = reactionSet.getReaction(i).getID(); + } + return ids; + } else + { + return new String[0]; + } + } +} + Property changes on: jchempaint/trunk/src/main/org/openscience/jchempaint/action/CreateReactionAction.java ___________________________________________________________________ Added: svn:executable + * Modified: jchempaint/trunk/src/main/org/openscience/jchempaint/application/JChemPaint.java =================================================================== --- jchempaint/trunk/src/main/org/openscience/jchempaint/application/JChemPaint.java 2009-11-19 16:47:09 UTC (rev 15071) +++ jchempaint/trunk/src/main/org/openscience/jchempaint/application/JChemPaint.java 2009-11-20 11:35:18 UTC (rev 15072) @@ -254,8 +254,7 @@ throws CDKException { JChemPaint.setReactionIDs(chemModel); JChemPaint.replaceReferencesWithClones(chemModel); - //if we want to have reactions, we need this - //JChemPaint.removeDuplicateMolecules(chemModel); + JChemPaint.removeDuplicateMolecules(chemModel); // check for bonds if (ChemModelManipulator.getBondCount(chemModel) == 0) { Modified: jchempaint/trunk/src/main/org/openscience/jchempaint/controller/ControllerHub.java =================================================================== --- jchempaint/trunk/src/main/org/openscience/jchempaint/controller/ControllerHub.java 2009-11-19 16:47:09 UTC (rev 15071) +++ jchempaint/trunk/src/main/org/openscience/jchempaint/controller/ControllerHub.java 2009-11-20 11:35:18 UTC (rev 15072) @@ -157,7 +157,6 @@ public void setChemModel(IChemModel model) { this.chemModel = model; - //updateAtoms(ring, ring.atoms()); structureChanged(); } @@ -334,6 +333,7 @@ changeModeListeners.get(i).modeChanged(activeDrawModule); } + //OK public IAtom getClosestAtom(Point2d worldCoord) { IAtom closestAtom = null; double closestDistanceSQ = Double.MAX_VALUE; @@ -356,6 +356,7 @@ return closestAtom; } + //OK public IBond getClosestBond(Point2d worldCoord) { IBond closestBond = null; double closestDistanceSQ = Double.MAX_VALUE; @@ -380,17 +381,14 @@ return closestBond; } - + //OK public IAtomContainer removeAtomWithoutUndo(IAtom atom) { IAtomContainer ac = atom.getBuilder().newAtomContainer(); ac.addAtom(atom); Iterator<IBond> connbonds = ChemModelManipulator.getRelevantAtomContainer(chemModel, atom).getConnectedBondsList(atom).iterator(); while(connbonds.hasNext()) ac.addBond(connbonds.next()); - //FIXME: This assumes the only-one-atom-container architecture. The old method - //split up the atom container, which we don't want right now. - chemModel.getMoleculeSet().getAtomContainer(0).removeAtomAndConnectedElectronContainers(atom); - //ChemModelManipulator.removeAtomAndConnectedElectronContainers(chemModel, atom); + ChemModelManipulator.removeAtomAndConnectedElectronContainers(chemModel, atom); for(IBond bond : ac.bonds()){ if(bond.getAtom(0)==atom) updateAtom(bond.getAtom(1)); @@ -401,6 +399,7 @@ return ac; } + //OK TODO this could do with less partitioning public IAtomContainer removeAtom(IAtom atom) { IAtomContainer ac = removeAtomWithoutUndo(atom); if(getUndoRedoFactory()!=null && getUndoRedoHandler()!=null){ @@ -410,6 +409,7 @@ return ac; } + //OK /* (non-Javadoc) * @see org.openscience.cdk.controller.IChemModelRelay#addAtom(java.lang.String, javax.vecmath.Point2d) */ @@ -417,6 +417,7 @@ return addAtom(atomType, 0, worldCoord); } + //OK /* (non-Javadoc) * @see org.openscience.cdk.controller.IChemModelRelay#addAtom(java.lang.String, int, javax.vecmath.Point2d) */ @@ -430,6 +431,7 @@ return undoRedoContainer.getAtom(0); } + //OK /* (non-Javadoc) * @see org.openscience.cdk.controller.IChemModelRelay#addAtomWithoutUndo(java.lang.String, javax.vecmath.Point2d) */ @@ -437,6 +439,7 @@ return addAtomWithoutUndo(atomType, 0, worldCoord); } + //OK /* (non-Javadoc) * @see org.openscience.cdk.controller.IChemModelRelay#addAtomWithoutUndo(java.lang.String, int, javax.vecmath.Point2d) */ @@ -453,10 +456,10 @@ ac.addAtom(newAtom); molSet.addMolecule(ac); chemModel.setMoleculeSet(molSet); - } else { - // FIXME : always add to the first container? - molSet.getMolecule(0).addAtom(newAtom); } + IAtomContainer newAtomContainer = chemModel.getBuilder().newAtomContainer(); + newAtomContainer.addAtom(newAtom); + molSet.addAtomContainer(newAtomContainer); updateAtom(newAtom); RendererModel model = this.getRenderer().getRenderer2DModel(); double nudgeDistance = model.getHighlightDistance() / model.getScale(); @@ -466,6 +469,7 @@ return newAtom; } + //OK public IAtom addAtom(String atomType, IAtom atom) { IAtomContainer undoRedoContainer = atom.getBuilder().newAtomContainer(); undoRedoContainer.addAtom(addAtomWithoutUndo(atomType, atom)); @@ -481,6 +485,7 @@ return undoRedoContainer.getAtom(0); } + //OK /* (non-Javadoc) * @see org.openscience.cdk.controller.IChemModelRelay#addAtomWithoutUndo(java.lang.String, org.openscience.cdk.interfaces.IAtom) */ @@ -488,6 +493,7 @@ return addAtomWithoutUndo(atomType, atom, IBond.Stereo.NONE); } + //OK /* (non-Javadoc) * @see org.openscience.cdk.controller.IChemModelRelay#addAtomWithoutUndo(java.lang.String, org.openscience.cdk.interfaces.IAtom, int) */ @@ -563,6 +569,7 @@ return newAtom; } + //OK public void addNewBond(Point2d worldCoordinate) { IAtomContainer undoRedoContainer = getIChemModel().getBuilder().newAtomContainer(); @@ -592,6 +599,7 @@ } } + //OK public void cycleBondValence(IBond bond) { IBond.Order[] orders=new IBond.Order[2]; IBond.Stereo[] stereos=new IBond.Stereo[2]; @@ -627,6 +635,7 @@ } } + //OK public IBond makeNewStereoBond(IAtom atom, Direction desiredDirection) { String atomType = getController2DModel().getDrawElement(); IAtom newAtom = addAtomWithoutUndo(atomType, atom); @@ -656,6 +665,7 @@ return newBond; } + //OK public void moveToWithoutUndo( IAtom atom, Point2d worldCoords ) { if ( atom != null ) { Point2d atomCoord = new Point2d( worldCoords ); @@ -664,6 +674,7 @@ coordinatesChanged(); } + //OK public void moveTo( IAtom atom, Point2d worldCoords ) { if ( atom != null ) { if(getUndoRedoFactory()!=null && getUndoRedoHandler()!=null){ @@ -678,6 +689,7 @@ } } + //OK public void moveToWithoutUndo( IBond bond, Point2d point ) { if (bond != null) { Point2d center = bond.get2DCenter(); @@ -693,6 +705,7 @@ coordinatesChanged(); } + //OK public void moveTo( IBond bond, Point2d point ) { if (bond != null) { if(getUndoRedoFactory()!=null && getUndoRedoHandler()!=null){ @@ -708,20 +721,28 @@ } } - + //OK /* (non-Javadoc) * @see org.openscience.cdk.controller.IChemModelRelay#addBond(org.openscience.cdk.interfaces.IAtom, org.openscience.cdk.interfaces.IAtom, int) */ public IBond addBond(IAtom fromAtom, IAtom toAtom, IBond.Stereo stereo) { IBond newBond = chemModel.getBuilder().newBond(fromAtom, toAtom, CDKConstants.BONDORDER_SINGLE, stereo); - chemModel.getMoleculeSet().getAtomContainer(0).addBond(newBond); + IAtomContainer fromContainer = ChemModelManipulator.getRelevantAtomContainer(chemModel, fromAtom); + IAtomContainer toContainer = ChemModelManipulator.getRelevantAtomContainer(chemModel, toAtom); + //we need to check if this merges two atomconainers or not + if(fromContainer!=toContainer){ + fromContainer.add(toContainer); + chemModel.getMoleculeSet().removeAtomContainer(toContainer); + } + fromContainer.addBond(newBond); updateAtom(newBond.getAtom(0)); updateAtom(newBond.getAtom(1)); structureChanged(); return newBond; } + //OK /* (non-Javadoc) * @see org.openscience.cdk.controller.IChemModelRelay#addBond(org.openscience.cdk.interfaces.IAtom, org.openscience.cdk.interfaces.IAtom) */ @@ -729,6 +750,7 @@ return addBond(fromAtom, toAtom, IBond.Stereo.NONE); } + //OK public void setCharge(IAtom atom, int charge) { if(getUndoRedoFactory()!=null && getUndoRedoHandler()!=null){ IUndoRedoable undoredo = getUndoRedoFactory().getChangeChargeEdit(atom,atom.getFormalCharge(),charge, "Change charge to "+charge,this); @@ -739,6 +761,7 @@ structurePropertiesChanged(); } + //OK public void setMassNumber(IAtom atom, int massNumber) { if(getUndoRedoFactory()!=null && getUndoRedoHandler()!=null){ IUndoRedoable undoredo = getUndoRedoFactory().getChangeIsotopeEdit(atom, atom.getMassNumber(), massNumber, "Change Atomic Mass to "+massNumber); @@ -748,6 +771,7 @@ structurePropertiesChanged(); } + //OK public void setOrder(IBond bond, Order order) { Map<IBond, IBond.Order[]> changedBonds= new HashMap<IBond, IBond.Order[]>(); changedBonds.put(bond,new Order[]{order,bond.getOrder()}); @@ -766,6 +790,7 @@ } } + //OK public void setSymbol(IAtom atom, String symbol) { if(getUndoRedoFactory()!=null && getUndoRedoHandler()!=null){ IUndoRedoable undoredo = getUndoRedoFactory().getChangeAtomSymbolEdit(atom,atom.getSymbol(),symbol,"Change Atom Symbol to "+symbol,this); @@ -789,11 +814,7 @@ structurePropertiesChanged(); } - public void setWedgeType(IBond bond, IBond.Stereo type) { - bond.setStereo(type); - structurePropertiesChanged(); - } - + //OK public void updateImplicitHydr... [truncated message content] |