From: <sh...@us...> - 2009-08-19 17:13:48
|
Revision: 14744 http://cdk.svn.sourceforge.net/cdk/?rev=14744&view=rev Author: shk3 Date: 2009-08-19 17:13:37 +0000 (Wed, 19 Aug 2009) Log Message: ----------- more work on menus Modified Paths: -------------- 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/AddHydrogenAction.java jchempaint/trunk/src/main/org/openscience/jchempaint/application/JChemPaint.java jchempaint/trunk/src/main/org/openscience/jchempaint/resources/JCPGUI_stable.properties jchempaint/trunk/src/main/org/openscience/jchempaint/resources/JChemPaintResources.properties jchempaint/trunk/src/test/org/openscience/jchempaint/JCPEditorAppletTest.java Modified: jchempaint/trunk/src/main/org/openscience/jchempaint/JCPMenuTextMaker.java =================================================================== --- jchempaint/trunk/src/main/org/openscience/jchempaint/JCPMenuTextMaker.java 2009-08-19 12:25:09 UTC (rev 14743) +++ jchempaint/trunk/src/main/org/openscience/jchempaint/JCPMenuTextMaker.java 2009-08-19 17:13:37 UTC (rev 14744) @@ -71,7 +71,7 @@ entries.put("paste", GT._("Paste")); entries.put("cutSelected", GT._("Cut")); entries.put("cut", GT._("Cut")); - entries.put("hydrogen", GT._("Hydrogens...")); + entries.put("hydrogen", GT._("Implicit Hydrogens")); entries.put("adjustBondOrders", GT._("Adjust Bond Orders")); entries.put("resetBondOrders", GT._("Reset Bond Orders")); entries.put("flip", GT._("Flip")); @@ -92,10 +92,8 @@ entries.put("tutorial", GT._("Tutorial")); entries.put("license", GT._("License")); entries.put("about", GT._("About")); - entries.put("addImplHydrogen", GT._("Switch on/off Tracking of Implicit Hydrogens")); - entries.put("makeHydrogenExplicit", GT._("Make Existing Implicit Hydrogens Explicit")); - entries.put("makeHydrogenImplicit", GT._("Make Existing Explicit Hydrogens Implicit")); - entries.put("updateHydrogenImplicit", GT._("Update Implicit Hydrogen Count")); + entries.put("hydroon", GT._("On all")); + entries.put("hydrooff", GT._("Off")); entries.put("editPreferences", GT._("Edit...")); entries.put("reloadPreferences", GT._("Reload Preferences")); entries.put("savePreferences", GT._("Save Preferences")); Modified: jchempaint/trunk/src/main/org/openscience/jchempaint/JChemPaintPanel.java =================================================================== --- jchempaint/trunk/src/main/org/openscience/jchempaint/JChemPaintPanel.java 2009-08-19 12:25:09 UTC (rev 14743) +++ jchempaint/trunk/src/main/org/openscience/jchempaint/JChemPaintPanel.java 2009-08-19 17:13:37 UTC (rev 14744) @@ -144,6 +144,8 @@ renderPanel.getRenderer().getRenderer2DModel().addCDKChangeListener( this); instances.add(this); + //we set this to true always, the user should have no option to switch it off + renderPanel.getHub().getController2DModel().setAutoUpdateImplicitHydrogens(true); this.addKeyListener(this); } Modified: jchempaint/trunk/src/main/org/openscience/jchempaint/action/AddHydrogenAction.java =================================================================== --- jchempaint/trunk/src/main/org/openscience/jchempaint/action/AddHydrogenAction.java 2009-08-19 12:25:09 UTC (rev 14743) +++ jchempaint/trunk/src/main/org/openscience/jchempaint/action/AddHydrogenAction.java 2009-08-19 17:13:37 UTC (rev 14744) @@ -45,22 +45,14 @@ logger.debug("Trying to add hydrogen in mode: ", type); if (jcpPanel.getChemModel() != null) { - if (type.equals("allexplicit")) { - jcpPanel.get2DHub().makeAllImplicitExplicit(); + if (type.equals("hydroon")) { + jcpPanel.get2DHub().getRenderer().getRenderer2DModel() + .setShowImplicitHydrogens(true); } - else if ( type.equals("trackimplicit")) { - if(!jcpPanel.get2DHub().getController2DModel().getAutoUpdateImplicitHydrogens()){ - jcpPanel.get2DHub().getController2DModel().setAutoUpdateImplicitHydrogens(true); - }else{ - jcpPanel.get2DHub().getController2DModel().setAutoUpdateImplicitHydrogens(false); - } + else if ( type.equals("hydrooff")) { + jcpPanel.get2DHub().getRenderer().getRenderer2DModel() + .setShowImplicitHydrogens(false); } - else if (type.equals("allimplicit")) { - jcpPanel.get2DHub().makeAllExplicitImplicit(); - } - else if (type.equals("updateimplicit")) { - jcpPanel.get2DHub().updateImplicitHydrogenCounts(); - } jcpPanel.get2DHub().updateView(); } } Modified: jchempaint/trunk/src/main/org/openscience/jchempaint/application/JChemPaint.java =================================================================== --- jchempaint/trunk/src/main/org/openscience/jchempaint/application/JChemPaint.java 2009-08-19 12:25:09 UTC (rev 14743) +++ jchempaint/trunk/src/main/org/openscience/jchempaint/application/JChemPaint.java 2009-08-19 17:13:37 UTC (rev 14744) @@ -41,7 +41,6 @@ import java.io.Reader; import java.net.MalformedURLException; import java.net.URL; -import java.util.ArrayList; import java.util.List; import javax.swing.JFrame; @@ -60,16 +59,19 @@ import org.openscience.cdk.DefaultChemObjectBuilder; import org.openscience.cdk.Molecule; import org.openscience.cdk.MoleculeSet; +import org.openscience.cdk.atomtype.CDKAtomTypeMatcher; import org.openscience.cdk.controller.ControllerHub; import org.openscience.cdk.exception.CDKException; import org.openscience.cdk.geometry.GeometryTools; -import org.openscience.cdk.graph.ConnectivityChecker; +import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IAtomContainer; +import org.openscience.cdk.interfaces.IAtomType; import org.openscience.cdk.interfaces.IChemFile; import org.openscience.cdk.interfaces.IChemModel; import org.openscience.cdk.interfaces.IChemObject; import org.openscience.cdk.interfaces.IMolecule; import org.openscience.cdk.interfaces.IMoleculeSet; +import org.openscience.cdk.interfaces.IPseudoAtom; import org.openscience.cdk.interfaces.IReaction; import org.openscience.cdk.interfaces.IReactionSet; import org.openscience.cdk.io.CMLReader; @@ -86,7 +88,6 @@ import org.openscience.cdk.tools.manipulator.ReactionSetManipulator; import org.openscience.jchempaint.GT; import org.openscience.jchempaint.JChemPaintPanel; -import org.openscience.jchempaint.dialog.CreateCoordinatesForFileDialog; import org.openscience.jchempaint.io.JCPFileFilter; public class JChemPaint { @@ -263,6 +264,30 @@ JChemPaint.removeEmptyMolecules(chemModel); ControllerHub.avoidOverlap(chemModel); + + //We update implicit Hs in any case + CDKAtomTypeMatcher matcher = CDKAtomTypeMatcher.getInstance(chemModel.getBuilder()); + for (IAtomContainer container : + ChemModelManipulator.getAllAtomContainers(chemModel)) { + for (IAtom atom : container.atoms()) { + if (!(atom instanceof IPseudoAtom)) { + try { + IAtomType type = matcher.findMatchingAtomType( + container, atom + ); + if (type != null && + type.getFormalNeighbourCount() != null) { + int connectedAtomCount = container.getConnectedAtomsCount(atom); + atom.setHydrogenCount( + type.getFormalNeighbourCount() - connectedAtomCount + ); + } + } catch ( CDKException e ) { + e.printStackTrace(); + } + } + } + } } private static Reader getReader(URL url) { Modified: jchempaint/trunk/src/main/org/openscience/jchempaint/resources/JCPGUI_stable.properties =================================================================== --- jchempaint/trunk/src/main/org/openscience/jchempaint/resources/JCPGUI_stable.properties 2009-08-19 12:25:09 UTC (rev 14743) +++ jchempaint/trunk/src/main/org/openscience/jchempaint/resources/JCPGUI_stable.properties 2009-08-19 17:13:37 UTC (rev 14744) @@ -56,9 +56,9 @@ file=new open save saveAs - export print - close - exit edit=undo redo - cutSelected copy copyAsSmiles paste - delete selectAll - @preferences renderOptions view=zoomin zoomout zoomoriginal - cleanup @flip @hydrogen -atom=@formalCharge @isotopeChange convertToRadical @pseudoSymbols @valence - @symbolChange +atom=@formalCharge @hydrogen @isotopeChange convertToRadical @pseudoSymbols @valence - @symbolChange bond=singleBond stereoDownBond stereoUpBond undefinedStereoBond undefinedEZBond -tools=@validate - createSMILES createInChI +tools=cleanup - createSMILES createInChI help=help tutorial - about license hydrogen=hydroon hydrooff Modified: jchempaint/trunk/src/main/org/openscience/jchempaint/resources/JChemPaintResources.properties =================================================================== --- jchempaint/trunk/src/main/org/openscience/jchempaint/resources/JChemPaintResources.properties 2009-08-19 12:25:09 UTC (rev 14743) +++ jchempaint/trunk/src/main/org/openscience/jchempaint/resources/JChemPaintResources.properties 2009-08-19 17:13:37 UTC (rev 14744) @@ -107,10 +107,8 @@ copyAsSmilesAction=org.openscience.jchempaint.action.CopyPasteAction@copyAsSmiles deleteAction=org.openscience.jchempaint.action.CopyPasteAction@delete pasteAction=org.openscience.jchempaint.action.CopyPasteAction@paste -addImplHydrogenAction=org.openscience.jchempaint.action.AddHydrogenAction@trackimplicit -makeHydrogenExplicitAction=org.openscience.jchempaint.action.AddHydrogenAction@allexplicit -makeHydrogenImplicitAction=org.openscience.jchempaint.action.AddHydrogenAction@allimplicit -updateHydrogenImplicitAction=org.openscience.jchempaint.action.AddHydrogenAction@updateimplicit +hydroonAction=org.openscience.jchempaint.action.AddHydrogenAction@hydroon +hydrooffAction=org.openscience.jchempaint.action.AddHydrogenAction@hydrooff adjustBondOrdersAction=org.openscience.jchempaint.action.AdjustBondOrdersAction resetBondOrdersAction=org.openscience.jchempaint.action.AdjustBondOrdersAction@clear cleanupAction=org.openscience.jchempaint.action.CleanupAction Modified: jchempaint/trunk/src/test/org/openscience/jchempaint/JCPEditorAppletTest.java =================================================================== --- jchempaint/trunk/src/test/org/openscience/jchempaint/JCPEditorAppletTest.java 2009-08-19 12:25:09 UTC (rev 14743) +++ jchempaint/trunk/src/test/org/openscience/jchempaint/JCPEditorAppletTest.java 2009-08-19 17:13:37 UTC (rev 14744) @@ -49,6 +49,7 @@ JChemPaintPanel panel = (JChemPaintPanel)jcppanel.target; Assert.assertEquals("",panel.getSmiles()); restoreModel(); + panel.get2DHub().updateView(); } private void restoreModel(){ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |