From: <sh...@us...> - 2009-09-28 15:22:49
|
Revision: 14891 http://cdk.svn.sourceforge.net/cdk/?rev=14891&view=rev Author: shk3 Date: 2009-09-28 12:27:03 +0000 (Mon, 28 Sep 2009) Log Message: ----------- pseudo atom creation does now switch mode, this was the last menu to change to observe the new behaviour Modified Paths: -------------- jchempaint/trunk/src/main/org/openscience/jchempaint/action/ChangeAtomSymbolAction.java jchempaint/trunk/src/main/org/openscience/jchempaint/action/ChangeIsotopeAction.java jchempaint/trunk/src/main/org/openscience/jchempaint/action/ConvertToPseudoAtomAction.java jchempaint/trunk/src/test/org/openscience/jchempaint/JCPEditorAppletMenuTest.java Modified: jchempaint/trunk/src/main/org/openscience/jchempaint/action/ChangeAtomSymbolAction.java =================================================================== --- jchempaint/trunk/src/main/org/openscience/jchempaint/action/ChangeAtomSymbolAction.java 2009-09-28 11:30:32 UTC (rev 14890) +++ jchempaint/trunk/src/main/org/openscience/jchempaint/action/ChangeAtomSymbolAction.java 2009-09-28 12:27:03 UTC (rev 14891) @@ -92,6 +92,7 @@ return; jcpPanel.get2DHub().getController2DModel().setDrawElement(symbol); jcpPanel.get2DHub().getController2DModel().setDrawIsotopeNumber(0); + jcpPanel.get2DHub().getController2DModel().setDrawPseudoAtom(false); }else if(symbol.equals("enterelement")){ newActiveModule=new EnterElementSwingModule(jcpPanel.get2DHub()); newActiveModule.setID(symbol); Modified: jchempaint/trunk/src/main/org/openscience/jchempaint/action/ChangeIsotopeAction.java =================================================================== --- jchempaint/trunk/src/main/org/openscience/jchempaint/action/ChangeIsotopeAction.java 2009-09-28 11:30:32 UTC (rev 14890) +++ jchempaint/trunk/src/main/org/openscience/jchempaint/action/ChangeIsotopeAction.java 2009-09-28 12:27:03 UTC (rev 14891) @@ -109,6 +109,7 @@ newActiveModule.setID(atom.getSymbol()); jcpPanel.get2DHub().getController2DModel().setDrawElement(atom.getSymbol()); jcpPanel.get2DHub().getController2DModel().setDrawIsotopeNumber(isotopeNumber); + jcpPanel.get2DHub().getController2DModel().setDrawPseudoAtom(false); } jcpPanel.get2DHub().setActiveDrawModule(newActiveModule); } Modified: jchempaint/trunk/src/main/org/openscience/jchempaint/action/ConvertToPseudoAtomAction.java =================================================================== --- jchempaint/trunk/src/main/org/openscience/jchempaint/action/ConvertToPseudoAtomAction.java 2009-09-28 11:30:32 UTC (rev 14890) +++ jchempaint/trunk/src/main/org/openscience/jchempaint/action/ConvertToPseudoAtomAction.java 2009-09-28 12:27:03 UTC (rev 14891) @@ -36,6 +36,7 @@ import javax.swing.JOptionPane; import org.openscience.cdk.PseudoAtom; +import org.openscience.cdk.controller.AddAtomModule; import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IChemObject; ; @@ -68,6 +69,9 @@ } if(atomsInRange==null) return; + String x = type; + if(type.equals("RX")) + x = JOptionPane.showInputDialog("Enter label", "R"); while(atomsInRange.hasNext()){ IAtom atom = atomsInRange.next(); if(type.equals("normal")){ @@ -75,17 +79,28 @@ IAtom normal = pseudo.getBuilder().newAtom(pseudo); normal.setSymbol("C"); jcpPanel.get2DHub().replaceAtom(normal,pseudo); - }else if(type.equals("RX")){ - String x = JOptionPane.showInputDialog("Enter label", "R"); - PseudoAtom pseudo = new PseudoAtom(atom); - pseudo.setLabel(x); - jcpPanel.get2DHub().replaceAtom(pseudo,atom); - }else{ - PseudoAtom pseudo = new PseudoAtom(atom); - pseudo.setLabel(type); - jcpPanel.get2DHub().replaceAtom(pseudo,atom); + }else { + setTo(atom,x); } } jcpPanel.get2DHub().updateView(); } + + /** + * Converts atom to a pseudo atom with label and sets active draw module to + * AddAtomModule drawing pseudo atoms with label. + * + * @param atom The atom to convert. + * @param label The label to use. + */ + private void setTo(IAtom atom, String label){ + jcpPanel.get2DHub().convertToPseudoAtom(atom,label); + AddAtomModule newActiveModule = new AddAtomModule(jcpPanel.get2DHub()); + newActiveModule.setID(label); + jcpPanel.get2DHub().setActiveDrawModule(newActiveModule); + jcpPanel.get2DHub().getController2DModel().setDrawPseudoAtom(true); + jcpPanel.get2DHub().getController2DModel().setDrawElement(label); + jcpPanel.get2DHub().getController2DModel().setDrawIsotopeNumber(0); + + } } Modified: jchempaint/trunk/src/test/org/openscience/jchempaint/JCPEditorAppletMenuTest.java =================================================================== --- jchempaint/trunk/src/test/org/openscience/jchempaint/JCPEditorAppletMenuTest.java 2009-09-28 11:30:32 UTC (rev 14890) +++ jchempaint/trunk/src/test/org/openscience/jchempaint/JCPEditorAppletMenuTest.java 2009-09-28 12:27:03 UTC (rev 14891) @@ -314,6 +314,10 @@ panel.selectionChanged(); applet.menuItem("pseudoStar").click(); Assert.assertEquals("*", ((IPseudoAtom)panel.getChemModel().getMoleculeSet().getAtomContainer(0).getAtom(0)).getLabel()); + //the mode should have changed now + Assert.assertEquals("*", panel.get2DHub().getActiveDrawModule().getID()); + Assert.assertTrue(panel.get2DHub().getController2DModel().getDrawPseudoAtom()); + Assert.assertEquals("*",panel.get2DHub().getActiveDrawModule().getID()); IAtom normal = panel.getChemModel().getMoleculeSet().getAtomContainer(0).getAtom(0).getBuilder().newAtom(panel.getChemModel().getMoleculeSet().getAtomContainer(0).getAtom(0)); normal.setSymbol("C"); panel.get2DHub().replaceAtom(normal,panel.getChemModel().getMoleculeSet().getAtomContainer(0).getAtom(0)); @@ -326,6 +330,10 @@ panel.selectionChanged(); applet.menuItem("pseudoR").click(); Assert.assertEquals("R", ((IPseudoAtom)panel.getChemModel().getMoleculeSet().getAtomContainer(0).getAtom(0)).getLabel()); + //the mode should have changed now + Assert.assertEquals("R", panel.get2DHub().getActiveDrawModule().getID()); + Assert.assertTrue(panel.get2DHub().getController2DModel().getDrawPseudoAtom()); + Assert.assertEquals("R",panel.get2DHub().getActiveDrawModule().getID()); IAtom normal = panel.getChemModel().getMoleculeSet().getAtomContainer(0).getAtom(0).getBuilder().newAtom(panel.getChemModel().getMoleculeSet().getAtomContainer(0).getAtom(0)); normal.setSymbol("C"); panel.get2DHub().replaceAtom(normal,panel.getChemModel().getMoleculeSet().getAtomContainer(0).getAtom(0)); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |