From: <sh...@us...> - 2009-09-16 16:49:59
|
Revision: 14838 http://cdk.svn.sourceforge.net/cdk/?rev=14838&view=rev Author: shk3 Date: 2009-09-16 16:49:35 +0000 (Wed, 16 Sep 2009) Log Message: ----------- Some of the bond menu items and buttons behave identical, tests Modified Paths: -------------- jchempaint/trunk/src/main/org/openscience/jchempaint/JCPMenuTextMaker.java jchempaint/trunk/src/main/org/openscience/jchempaint/JCPToolBar.java jchempaint/trunk/src/main/org/openscience/jchempaint/JChemPaintMenuHelper.java jchempaint/trunk/src/main/org/openscience/jchempaint/JChemPaintPanel.java jchempaint/trunk/src/main/org/openscience/jchempaint/action/ChangeAtomSymbolAction.java jchempaint/trunk/src/main/org/openscience/jchempaint/action/ChangeModeAction.java jchempaint/trunk/src/main/org/openscience/jchempaint/action/ChargeAction.java jchempaint/trunk/src/main/org/openscience/jchempaint/action/CopyPasteAction.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 jchempaint/trunk/src/test/org/openscience/jchempaint/JCPEditorAppletDrawingTest.java jchempaint/trunk/src/test/org/openscience/jchempaint/JCPEditorAppletMenuTest.java Modified: jchempaint/trunk/src/main/org/openscience/jchempaint/JCPMenuTextMaker.java =================================================================== --- jchempaint/trunk/src/main/org/openscience/jchempaint/JCPMenuTextMaker.java 2009-09-16 13:25:39 UTC (rev 14837) +++ jchempaint/trunk/src/main/org/openscience/jchempaint/JCPMenuTextMaker.java 2009-09-16 16:49:35 UTC (rev 14838) @@ -67,7 +67,7 @@ entries.put("selectAll", GT._("Select All")); entries.put("copy", GT._("Copy")); entries.put("copyAsSmiles", GT._("Copy as SMILES")); - entries.put("delete", GT._("Delete")); + entries.put("eraser", GT._("Delete")); entries.put("paste", GT._("Paste")); entries.put("cutSelected", GT._("Cut")); entries.put("cut", GT._("Cut")); @@ -81,9 +81,9 @@ entries.put("undefined_stereo_bond", GT._("Undefined E/Z")); entries.put("formalCharge", GT._("Charge")); entries.put("chargePlus2", GT._("+2")); - entries.put("chargePlus1", GT._("+1")); + entries.put("plus", GT._("+1")); entries.put("chargeZero", GT._("0")); - entries.put("chargeMinus1", GT._("-1")); + entries.put("minus", GT._("-1")); entries.put("chargeMinus2", GT._("-2")); entries.put("hydrogen", GT._("Implicit Hydrogens")); entries.put("adjustBondOrders", GT._("Adjust Bond Orders")); @@ -111,8 +111,8 @@ entries.put("selectFromChemObject", GT._("Select")); entries.put("selectMolecule", GT._("Select Molecule")); entries.put("symbolChange", GT._("Change Element")); - entries.put("periodictablemenu", GT._("Periodic Table")); - entries.put("enterelementmenu", GT._("Custom")); + entries.put("periodictable", GT._("Periodic Table")); + entries.put("enterelement", GT._("Custom")); entries.put("isotopeChange", GT._("Isotopes")); entries.put("convertToRadical", GT._("Convert to Radical")); entries.put("showChemObjectProperties", GT._("Properties")); Modified: jchempaint/trunk/src/main/org/openscience/jchempaint/JCPToolBar.java =================================================================== --- jchempaint/trunk/src/main/org/openscience/jchempaint/JCPToolBar.java 2009-09-16 13:25:39 UTC (rev 14837) +++ jchempaint/trunk/src/main/org/openscience/jchempaint/JCPToolBar.java 2009-09-16 16:49:35 UTC (rev 14838) @@ -48,6 +48,7 @@ import org.openscience.cdk.renderer.color.CDK2DAtomColors; import org.openscience.cdk.renderer.color.IAtomColorer; import org.openscience.cdk.tools.LoggingTool; +import org.openscience.jchempaint.action.ChangeAtomSymbolAction; import org.openscience.jchempaint.action.ChangeModeAction; import org.openscience.jchempaint.action.JCPAction; @@ -179,9 +180,9 @@ } }else{ b=new JButton(key); - ChangeModeAction a = new ChangeModeAction (); + ChangeAtomSymbolAction a = new ChangeAtomSymbolAction(); a.setJChemPaintPanel(chemPaintPanel); - a.setType(key); + b.setActionCommand(a.getClass().getName()+"@"+key); b.addActionListener(a); b.setEnabled(a.isEnabled()); b.setToolTipText(GT._("Change drawing symbol to")+" "+key); Modified: jchempaint/trunk/src/main/org/openscience/jchempaint/JChemPaintMenuHelper.java =================================================================== --- jchempaint/trunk/src/main/org/openscience/jchempaint/JChemPaintMenuHelper.java 2009-09-16 13:25:39 UTC (rev 14837) +++ jchempaint/trunk/src/main/org/openscience/jchempaint/JChemPaintMenuHelper.java 2009-09-16 16:49:35 UTC (rev 14838) @@ -167,7 +167,7 @@ menu.add(new JChemPaintMenuHelper().createMenuItem(jcpPanel, "majorMinusOne", false)); menu.add(new JChemPaintMenuHelper().createMenuItem(jcpPanel, "majorMinusTwo", false)); menu.add(new JChemPaintMenuHelper().createMenuItem(jcpPanel, "majorMinusThree", false)); - jcpPanel.enOrDisableMenus((JMenu)menu, jcpPanel.getRenderPanel().getRenderer().getRenderer2DModel().getSelection()==null || jcpPanel.getRenderPanel().getRenderer().getRenderer2DModel().getSelection().getConnectedAtomContainer().getAtomCount()==0 ? false : true); + jcpPanel.enOrDisableMenus((JMenu)menu, jcpPanel.getRenderPanel().getRenderer().getRenderer2DModel().getSelection()==null || !jcpPanel.getRenderPanel().getRenderer().getRenderer2DModel().getSelection().isFilled() ? false : true); } } }); Modified: jchempaint/trunk/src/main/org/openscience/jchempaint/JChemPaintPanel.java =================================================================== --- jchempaint/trunk/src/main/org/openscience/jchempaint/JChemPaintPanel.java 2009-09-16 13:25:39 UTC (rev 14837) +++ jchempaint/trunk/src/main/org/openscience/jchempaint/JChemPaintPanel.java 2009-09-16 16:49:35 UTC (rev 14838) @@ -77,6 +77,7 @@ import org.openscience.cdk.interfaces.IChemModel; import org.openscience.cdk.interfaces.IIsotope; import org.openscience.cdk.renderer.RendererModel; +import org.openscience.cdk.renderer.selection.AbstractSelection; import org.openscience.cdk.tools.LoggingTool; import org.openscience.cdk.tools.manipulator.ChemModelManipulator; import org.openscience.jchempaint.action.SaveAction; Modified: jchempaint/trunk/src/main/org/openscience/jchempaint/action/ChangeAtomSymbolAction.java =================================================================== --- jchempaint/trunk/src/main/org/openscience/jchempaint/action/ChangeAtomSymbolAction.java 2009-09-16 13:25:39 UTC (rev 14837) +++ jchempaint/trunk/src/main/org/openscience/jchempaint/action/ChangeAtomSymbolAction.java 2009-09-16 16:49:35 UTC (rev 14838) @@ -37,14 +37,13 @@ import javax.swing.JOptionPane; import org.openscience.cdk.config.IsotopeFactory; -import org.openscience.cdk.controller.IControllerModel; -import org.openscience.cdk.controller.undoredo.IUndoRedoable; +import org.openscience.cdk.controller.AddAtomModule; +import org.openscience.cdk.controller.IControllerModule; import org.openscience.cdk.interfaces.IAtom; -import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IChemObject; import org.openscience.cdk.interfaces.IIsotope; -import org.openscience.jchempaint.GT; import org.openscience.jchempaint.dialog.EnterElementOrGroupDialog; +import org.openscience.jchempaint.dialog.EnterElementSwingModule; import org.openscience.jchempaint.dialog.PeriodicTableDialog; @@ -55,17 +54,18 @@ { private static final long serialVersionUID = -8502905723573311893L; + private IControllerModule newActiveModule; public void actionPerformed(ActionEvent event) { logger.debug("About to change atom type of relevant atom!"); - IControllerModel c2dm = jcpPanel.get2DHub().getController2DModel(); IChemObject object = getSource(event); logger.debug("Source of call: ", object); Iterator<IAtom> atomsInRange = null; if (object == null){ //this means the main menu was used - if(jcpPanel.getRenderPanel().getRenderer().getRenderer2DModel().getSelection().isFilled()) + if(jcpPanel.getRenderPanel().getRenderer().getRenderer2DModel().getSelection()!=null && + jcpPanel.getRenderPanel().getRenderer().getRenderer2DModel().getSelection().isFilled()) atomsInRange=jcpPanel.getRenderPanel().getRenderer().getRenderer2DModel().getSelection().getConnectedAtomContainer().atoms().iterator(); }else if (object instanceof IAtom) { @@ -78,18 +78,23 @@ atoms.add(jcpPanel.getRenderPanel().getRenderer().getRenderer2DModel().getHighlightedAtom()); atomsInRange = atoms.iterator(); } - if(atomsInRange==null) - return; String s = event.getActionCommand(); String symbol = s.substring(s.indexOf("@") + 1); if(symbol.equals("periodictable")){ + newActiveModule=new AddAtomModule(jcpPanel.get2DHub()); + newActiveModule.setID(symbol); + jcpPanel.get2DHub().setActiveDrawModule(newActiveModule); // open PeriodicTable panel PeriodicTableDialog dialog = new PeriodicTableDialog(); dialog.setName("periodictabledialog"); symbol=dialog.getChoosenSymbol(); if(symbol.equals("")) return; + jcpPanel.get2DHub().getController2DModel().setDrawElement(symbol); }else if(symbol.equals("enterelement")){ + newActiveModule=new EnterElementSwingModule(jcpPanel.get2DHub()); + newActiveModule.setID(symbol); + jcpPanel.get2DHub().setActiveDrawModule(newActiveModule); String[] funcGroupsKeys=new String[0]; symbol=EnterElementOrGroupDialog.showDialog(null,null, "Enter an element symbol:", "Enter element", funcGroupsKeys, "",""); if(symbol!=null && symbol.length()>0){ @@ -108,20 +113,28 @@ return; } } + }else{ + //it must be a symbol + newActiveModule=new AddAtomModule(jcpPanel.get2DHub()); + newActiveModule.setID(symbol); + jcpPanel.get2DHub().setActiveDrawModule(newActiveModule); + jcpPanel.get2DHub().getController2DModel().setDrawElement(symbol); } - while(atomsInRange.hasNext()){ - IAtom atom = atomsInRange.next(); - jcpPanel.get2DHub().setSymbol(atom,symbol); - //TODO still needed? should this go in hub? - // configure the atom, so that the atomic number matches the symbol - try - { - IsotopeFactory.getInstance(atom.getBuilder()).configure(atom); - } catch (Exception exception) - { - logger.error("Error while configuring atom"); - logger.debug(exception); - } + if(atomsInRange!=null){ + while(atomsInRange.hasNext()){ + IAtom atom = atomsInRange.next(); + jcpPanel.get2DHub().setSymbol(atom,symbol); + //TODO still needed? should this go in hub? + // configure the atom, so that the atomic number matches the symbol + try + { + IsotopeFactory.getInstance(atom.getBuilder()).configure(atom); + } catch (Exception exception) + { + logger.error("Error while configuring atom"); + logger.debug(exception); + } + } } jcpPanel.get2DHub().updateView(); } Modified: jchempaint/trunk/src/main/org/openscience/jchempaint/action/ChangeModeAction.java =================================================================== --- jchempaint/trunk/src/main/org/openscience/jchempaint/action/ChangeModeAction.java 2009-09-16 13:25:39 UTC (rev 14837) +++ jchempaint/trunk/src/main/org/openscience/jchempaint/action/ChangeModeAction.java 2009-09-16 16:49:35 UTC (rev 14838) @@ -28,36 +28,16 @@ */ package org.openscience.jchempaint.action; -import java.awt.Color; import java.awt.event.ActionEvent; -import java.io.IOException; -import java.util.EventObject; -import javax.swing.JComponent; - -import org.openscience.cdk.CDKConstants; -import org.openscience.cdk.controller.AddAtomModule; -import org.openscience.cdk.controller.AddBondDragModule; import org.openscience.cdk.controller.AddRingModule; -import org.openscience.cdk.controller.AlterBondStereoModule; import org.openscience.cdk.controller.AtomAtomMappingModule; -import org.openscience.cdk.controller.ChangeFormalChargeModule; import org.openscience.cdk.controller.ControllerHub; -import org.openscience.cdk.controller.CycleSymbolModule; -import org.openscience.cdk.controller.IControllerModel; import org.openscience.cdk.controller.IControllerModule; import org.openscience.cdk.controller.MoveModule; -import org.openscience.cdk.controller.RemoveModule; import org.openscience.cdk.controller.RotateModule; import org.openscience.cdk.controller.SelectLassoModule; import org.openscience.cdk.controller.SelectSquareModule; -import org.openscience.cdk.controller.IChemModelRelay.Direction; -import org.openscience.cdk.event.ICDKChangeListener; -import org.openscience.cdk.exception.CDKException; -import org.openscience.jchempaint.JCPToolBar; -import org.openscience.jchempaint.dialog.EnterElementSwingModule; -import org.openscience.jchempaint.dialog.PeriodicTableDialog; -import org.openscience.jchempaint.dialog.PeriodicTablePanel; /** * JChemPaint menu actions @@ -72,20 +52,6 @@ IControllerModule newActiveModule=null; if (type.equals("move")) { newActiveModule=new MoveModule(hub); - } else if (type.equals("eraser")) { - newActiveModule=new RemoveModule(hub); - } else if (type.equals("plus")) { - newActiveModule=new ChangeFormalChargeModule(hub, 1); - } else if (type.equals("minus")) { - newActiveModule=new ChangeFormalChargeModule(hub, -1); - } else if (type.equals("periodictable")) { - newActiveModule=new AddAtomModule(hub); - // open PeriodicTable panel - PeriodicTableDialog dialog = new PeriodicTableDialog(); - dialog.setName("periodictabledialog"); - hub.getController2DModel().setDrawElement(dialog.getChoosenSymbol()); - } else if (type.equals("enterelement")) { - newActiveModule=new EnterElementSwingModule(hub); } else if (type.equals("lasso")) { newActiveModule=new SelectLassoModule(hub); hub.getController2DModel().setDrawElement("C"); @@ -116,11 +82,6 @@ } else if (type.equals("atomatommapping")) { newActiveModule=new AtomAtomMappingModule(hub); hub.getController2DModel().setDrawElement("C"); - } else if (type.length() == 1 || type.length() == 2) { - // I assume something with length of 1 is an atom name - // (C/H/O/N/etc.) - newActiveModule=new AddAtomModule(hub); - hub.getController2DModel().setDrawElement(type); } else if (type.equals("rotate")) { newActiveModule=new RotateModule(hub); } Modified: jchempaint/trunk/src/main/org/openscience/jchempaint/action/ChargeAction.java =================================================================== --- jchempaint/trunk/src/main/org/openscience/jchempaint/action/ChargeAction.java 2009-09-16 13:25:39 UTC (rev 14837) +++ jchempaint/trunk/src/main/org/openscience/jchempaint/action/ChargeAction.java 2009-09-16 16:49:35 UTC (rev 14838) @@ -33,6 +33,7 @@ import java.util.Iterator; import java.util.List; +import org.openscience.cdk.controller.ChangeFormalChargeModule; import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IChemObject; @@ -70,20 +71,26 @@ return; String s = event.getActionCommand(); String action = s.substring(s.indexOf("@") + 1); + int charge=0; + if(action.equals("plus2")){ + charge=2; + }else if(action.equals("plus")){ + charge=1; + }else if(action.equals("minus")){ + charge=-1; + }else if(action.equals("minus2")){ + charge=-2; + } while(atomsInRange.hasNext()){ IAtom atom = atomsInRange.next(); - if(action.equals("plus2")){ - atom.setFormalCharge(2); - }else if(action.equals("plus1")){ - atom.setFormalCharge(1); - }else if(action.equals("zero")){ - atom.setFormalCharge(0); - }else if(action.equals("minus1")){ - atom.setFormalCharge(-1); - }else if(action.equals("minus2")){ - atom.setFormalCharge(-2); - } + int newCharge = charge; + if( atom.getFormalCharge() != null) + newCharge += atom.getFormalCharge(); + jcpPanel.get2DHub().setCharge(atom, newCharge); } + ChangeFormalChargeModule newActiveModule = new ChangeFormalChargeModule(jcpPanel.get2DHub(), charge); + newActiveModule.setID(action); + jcpPanel.get2DHub().setActiveDrawModule(newActiveModule); jcpPanel.get2DHub().updateView(); } } Modified: jchempaint/trunk/src/main/org/openscience/jchempaint/action/CopyPasteAction.java =================================================================== --- jchempaint/trunk/src/main/org/openscience/jchempaint/action/CopyPasteAction.java 2009-09-16 13:25:39 UTC (rev 14837) +++ jchempaint/trunk/src/main/org/openscience/jchempaint/action/CopyPasteAction.java 2009-09-16 16:49:35 UTC (rev 14838) @@ -50,6 +50,7 @@ import org.openscience.cdk.Molecule; import org.openscience.cdk.controller.ControllerHub; import org.openscience.cdk.controller.MoveModule; +import org.openscience.cdk.controller.RemoveModule; import org.openscience.cdk.exception.CDKException; import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IAtomContainer; @@ -173,7 +174,10 @@ // TODO Auto-generated catch block e1.printStackTrace(); } - } else if ("delete".equals(type)) { + } else if ("eraser".equals(type)) { + RemoveModule newActiveModule = new RemoveModule(jcpPanel.get2DHub()); + newActiveModule.setID(type); + jcpPanel.get2DHub().setActiveDrawModule(newActiveModule); IAtom atomInRange = null; IChemObject object = getSource(e); logger.debug("Source of call: ", object); Modified: jchempaint/trunk/src/main/org/openscience/jchempaint/resources/JCPGUI_applet.properties =================================================================== --- jchempaint/trunk/src/main/org/openscience/jchempaint/resources/JCPGUI_applet.properties 2009-09-16 13:25:39 UTC (rev 14837) +++ jchempaint/trunk/src/main/org/openscience/jchempaint/resources/JCPGUI_applet.properties 2009-09-16 16:49:35 UTC (rev 14838) @@ -54,7 +54,7 @@ menubar=file edit view atomMenu bondMenu tools file=new open save saveAs - export print -edit=undo redo - cutSelected copy copyAsSmiles paste - delete selectAll - options +edit=undo redo - cutSelected copy copyAsSmiles paste - eraser selectAll - options view=zoomin zoomout zoomoriginal - cleanup @flip @hydrogen atomMenu=@formalCharge @hydrogen @isotopeChange convertToRadical @pseudoSymbols pseudoStar @valence - @symbolChange bondMenu=bond down_bond up_bond undefined_bond undefined_stereo_bond @@ -64,7 +64,7 @@ hydrogen=hydroon hydrooff preferences=editPreferences reloadPreferences savePreferences flip=flipHorizontal flipVertical -formalCharge=chargePlus2 chargePlus1 chargeZero chargeMinus1 chargeMinus2 +formalCharge=plus minus valence= valenceOff valence1 valence2 valence3 valence4 valence5 valence6 valence7 valence8 ####################################################### @@ -75,7 +75,7 @@ @pseudoSymbols pseudoStar @valence - @symbolChange - cut copy delete selectFromChemObject \ selectMolecule - showChemObjectProperties showACProperties pseudopopup=selectFromChemObject cut - makeNormal -symbolChange=periodictablemenu enterelementmenu - @commonSymbols @alkaliMetals \ +symbolChange=periodictable enterelement - @commonSymbols @alkaliMetals \ @alkaliEarthMetals @transitionMetals @metals @metalloids @halogenSymbols \ @nobelSymbols isotopeChange=majorPlusThree majorPlusTwo majorPlusOne \ Modified: jchempaint/trunk/src/main/org/openscience/jchempaint/resources/JCPGUI_stable.properties =================================================================== --- jchempaint/trunk/src/main/org/openscience/jchempaint/resources/JCPGUI_stable.properties 2009-09-16 13:25:39 UTC (rev 14837) +++ jchempaint/trunk/src/main/org/openscience/jchempaint/resources/JCPGUI_stable.properties 2009-09-16 16:49:35 UTC (rev 14838) @@ -54,7 +54,7 @@ menubar=file edit view atomMenu bondMenu tools file=new open save saveAs - export print - close - exit -edit=undo redo - cutSelected copy copyAsSmiles paste - delete selectAll - options +edit=undo redo - cutSelected copy copyAsSmiles paste - eraser selectAll - options view=toolbar++ statusbar++ menubar++ insertstructure++ - zoomin zoomout zoomoriginal - cleanup @flip @hydrogen atomMenu=@formalCharge @hydrogen @isotopeChange convertToRadical @pseudoSymbols pseudoStar @valence - @symbolChange bondMenu=bond down_bond up_bond undefined_bond undefined_stereo_bond @@ -63,7 +63,7 @@ hydrogen=hydroon hydrooff flip=flipHorizontal flipVertical -formalCharge=chargePlus2 chargePlus1 chargeZero chargeMinus1 chargeMinus2 +formalCharge=plus minus valence= valenceOff valence1 valence2 valence3 valence4 valence5 valence6 valence7 valence8 ####################################################### @@ -74,7 +74,7 @@ @pseudoSymbols @valence - @symbolChange - cut copy delete selectFromChemObject \ selectMolecule - showChemObjectProperties showACProperties pseudopopup=selectFromChemObject cut - makeNormal -symbolChange=periodictablemenu enterelementmenu @commonSymbols @alkaliMetals \ +symbolChange=periodictable enterelement @commonSymbols @alkaliMetals \ @alkaliEarthMetals @transitionMetals @metals @metalloids @halogenSymbols \ @nobelSymbols isotopeChange=majorPlusThree majorPlusTwo majorPlusOne \ Modified: jchempaint/trunk/src/main/org/openscience/jchempaint/resources/JChemPaintResources.properties =================================================================== --- jchempaint/trunk/src/main/org/openscience/jchempaint/resources/JChemPaintResources.properties 2009-09-16 13:25:39 UTC (rev 14837) +++ jchempaint/trunk/src/main/org/openscience/jchempaint/resources/JChemPaintResources.properties 2009-09-16 16:49:35 UTC (rev 14838) @@ -77,11 +77,6 @@ flipHorizontalImage=resources/small-bin/flip_H.gif flipVerticalImage=resources/small-bin/flip_V.gif -#images for menu -deleteImage=resources/small-bin/eraser.gif -periodictablemenuImage=resources/small-bin/element.gif -enterelementmenuImage=resources/small-bin/enterelement.gif - ####################################################### # Action definition # ####################################################### @@ -105,7 +100,6 @@ selectMoleculeAction=org.openscience.jchempaint.action.CopyPasteAction@selectMolecule copyAction=org.openscience.jchempaint.action.CopyPasteAction@copy copyAsSmilesAction=org.openscience.jchempaint.action.CopyPasteAction@copyAsSmiles -deleteAction=org.openscience.jchempaint.action.CopyPasteAction@delete pasteAction=org.openscience.jchempaint.action.CopyPasteAction@paste hydroonAction=org.openscience.jchempaint.action.AddHydrogenAction@hydroon hydrooffAction=org.openscience.jchempaint.action.AddHydrogenAction@hydrooff @@ -116,8 +110,7 @@ flipVerticalAction=org.openscience.jchempaint.action.FlipAction@vertical # Change symbol actions -periodictablemenuAction=org.openscience.jchempaint.action.ChangeAtomSymbolAction@periodictable -enterelementmenuAction=org.openscience.jchempaint.action.ChangeAtomSymbolAction@enterelement +#some actions are the same as for buttons symbolBAction=org.openscience.jchempaint.action.ChangeAtomSymbolAction@B symbolCAction=org.openscience.jchempaint.action.ChangeAtomSymbolAction@C symbolOAction=org.openscience.jchempaint.action.ChangeAtomSymbolAction@O @@ -190,12 +183,8 @@ zoomoriginalAction=org.openscience.jchempaint.action.ZoomAction@original optionsAction=org.openscience.jchempaint.action.ModifySettingsAction -# Atom menu -chargePlus2Action=org.openscience.jchempaint.action.ChargeAction@plus2 -chargePlus1Action=org.openscience.jchempaint.action.ChargeAction@plus1 -chargeZeroAction=org.openscience.jchempaint.action.ChargeAction@zero -chargeMinus1Action=org.openscience.jchempaint.action.ChargeAction@minus1 -chargeMinus2Action=org.openscience.jchempaint.action.ChargeAction@minus2 +# Charge menu +# actions are the same as for buttons # Bond menu # actions are the same as for buttons @@ -227,12 +216,12 @@ bondAction=org.openscience.jchempaint.action.ChangeBondAction@bond lassoAction=org.openscience.jchempaint.action.ChangeModeAction@lasso selectAction=org.openscience.jchempaint.action.ChangeModeAction@select -eraserAction=org.openscience.jchempaint.action.ChangeModeAction@eraser +eraserAction=org.openscience.jchempaint.action.CopyPasteAction@eraser moveAction=org.openscience.jchempaint.action.ChangeModeAction@move -periodictableAction=org.openscience.jchempaint.action.ChangeModeAction@periodictable -enterelementAction=org.openscience.jchempaint.action.ChangeModeAction@enterelement -plusAction=org.openscience.jchempaint.action.ChangeModeAction@plus -minusAction=org.openscience.jchempaint.action.ChangeModeAction@minus +periodictableAction=org.openscience.jchempaint.action.ChangeAtomSymbolAction@periodictable +enterelementAction=org.openscience.jchempaint.action.ChangeAtomSymbolAction@enterelement +plusAction=org.openscience.jchempaint.action.ChargeAction@plus +minusAction=org.openscience.jchempaint.action.ChargeAction@minus triangleAction=org.openscience.jchempaint.action.ChangeModeAction@triangle squareAction=org.openscience.jchempaint.action.ChangeModeAction@square pentagonAction=org.openscience.jchempaint.action.ChangeModeAction@pentagon Modified: jchempaint/trunk/src/test/org/openscience/jchempaint/JCPEditorAppletDrawingTest.java =================================================================== --- jchempaint/trunk/src/test/org/openscience/jchempaint/JCPEditorAppletDrawingTest.java 2009-09-16 13:25:39 UTC (rev 14837) +++ jchempaint/trunk/src/test/org/openscience/jchempaint/JCPEditorAppletDrawingTest.java 2009-09-16 16:49:35 UTC (rev 14838) @@ -103,10 +103,13 @@ } @Test public void testElement() throws CDKException, ClassNotFoundException, IOException, CloneNotSupportedException { + //we go into bond_down mode to see that hitting O button actually changes activeDrawModule + applet.button("down_bond").click(); JPanelFixture jcppanel=applet.panel("appletframe"); JChemPaintPanel panel = (JChemPaintPanel)jcppanel.target; int oldAtomCount=panel.getChemModel().getMoleculeSet().getAtomContainer(0).getAtomCount(); applet.button("O").click(); + Assert.assertEquals("O",panel.get2DHub().getActiveDrawModule().getID()); Point2d moveto=panel.getRenderPanel().getRenderer().toScreenCoordinates(panel.getChemModel().getMoleculeSet().getAtomContainer(0).getAtom(0).getPoint2d().x,panel.getChemModel().getMoleculeSet().getAtomContainer(0).getAtom(0).getPoint2d().y); applet.panel("renderpanel").robot.click(applet.panel("renderpanel").component(), new Point((int)moveto.x, (int)moveto.y), MouseButton.LEFT_BUTTON,1); Assert.assertEquals("O",panel.getChemModel().getMoleculeSet().getAtomContainer(0).getAtom(0).getSymbol()); @@ -115,6 +118,7 @@ applet.panel("renderpanel").robot.click(applet.panel("renderpanel").component(), new Point((int)moveto.x, (int)moveto.y), MouseButton.LEFT_BUTTON,1); Assert.assertEquals(oldAtomCount+1, panel.getChemModel().getMoleculeSet().getAtomContainer(0).getAtomCount()); Assert.assertEquals("O",panel.getChemModel().getMoleculeSet().getAtomContainer(0).getAtom(panel.getChemModel().getMoleculeSet().getAtomContainer(0).getAtomCount()-1).getSymbol()); + Assert.assertEquals("O",panel.get2DHub().getController2DModel().getDrawElement()); } @Test public void testPeriodictable() throws CDKException, ClassNotFoundException, IOException, CloneNotSupportedException { Modified: jchempaint/trunk/src/test/org/openscience/jchempaint/JCPEditorAppletMenuTest.java =================================================================== --- jchempaint/trunk/src/test/org/openscience/jchempaint/JCPEditorAppletMenuTest.java 2009-09-16 13:25:39 UTC (rev 14837) +++ jchempaint/trunk/src/test/org/openscience/jchempaint/JCPEditorAppletMenuTest.java 2009-09-16 16:49:35 UTC (rev 14838) @@ -161,56 +161,28 @@ //TODO printing as a such can not be tested, I suppose } - @Test public void testMenuChargePlus2() throws CDKException, ClassNotFoundException, IOException, CloneNotSupportedException { - JPanelFixture jcppanel=applet.panel("appletframe"); - JChemPaintPanel panel = (JChemPaintPanel)jcppanel.target; - panel.getRenderPanel().getRenderer().getRenderer2DModel().setSelection(new SingleSelection<IAtom>(panel.getChemModel().getMoleculeSet().getAtomContainer(0).getAtom(0))); - panel.selectionChanged(); - applet.menuItem("chargePlus2").click(); - Assert.assertEquals(2, panel.getChemModel().getMoleculeSet().getAtomContainer(0).getAtom(0).getFormalCharge().intValue()); - panel.getChemModel().getMoleculeSet().getAtomContainer(0).getAtom(0).setFormalCharge(0); - } - @Test public void testMenuChargePlus1() throws CDKException, ClassNotFoundException, IOException, CloneNotSupportedException { JPanelFixture jcppanel=applet.panel("appletframe"); JChemPaintPanel panel = (JChemPaintPanel)jcppanel.target; panel.getRenderPanel().getRenderer().getRenderer2DModel().setSelection(new SingleSelection<IAtom>(panel.getChemModel().getMoleculeSet().getAtomContainer(0).getAtom(0))); panel.selectionChanged(); - applet.menuItem("chargePlus1").click(); + applet.menuItem("plus").click(); Assert.assertEquals(1, panel.getChemModel().getMoleculeSet().getAtomContainer(0).getAtom(0).getFormalCharge().intValue()); panel.getChemModel().getMoleculeSet().getAtomContainer(0).getAtom(0).setFormalCharge(0); + Assert.assertEquals("plus",panel.get2DHub().getActiveDrawModule().getID()); } - @Test public void testMenuChargeZero() throws CDKException, ClassNotFoundException, IOException, CloneNotSupportedException { - JPanelFixture jcppanel=applet.panel("appletframe"); - JChemPaintPanel panel = (JChemPaintPanel)jcppanel.target; - panel.getRenderPanel().getRenderer().getRenderer2DModel().setSelection(new SingleSelection<IAtom>(panel.getChemModel().getMoleculeSet().getAtomContainer(0).getAtom(0))); - panel.selectionChanged(); - applet.menuItem("chargeZero").click(); - Assert.assertEquals(0, panel.getChemModel().getMoleculeSet().getAtomContainer(0).getAtom(0).getFormalCharge().intValue()); - panel.getChemModel().getMoleculeSet().getAtomContainer(0).getAtom(0).setFormalCharge(0); - } - @Test public void testMenuChargeMinus1() throws CDKException, ClassNotFoundException, IOException, CloneNotSupportedException { JPanelFixture jcppanel=applet.panel("appletframe"); JChemPaintPanel panel = (JChemPaintPanel)jcppanel.target; panel.getRenderPanel().getRenderer().getRenderer2DModel().setSelection(new SingleSelection<IAtom>(panel.getChemModel().getMoleculeSet().getAtomContainer(0).getAtom(0))); panel.selectionChanged(); - applet.menuItem("chargeMinus1").click(); + applet.menuItem("minus").click(); Assert.assertEquals(-1, panel.getChemModel().getMoleculeSet().getAtomContainer(0).getAtom(0).getFormalCharge().intValue()); panel.getChemModel().getMoleculeSet().getAtomContainer(0).getAtom(0).setFormalCharge(0); + Assert.assertEquals("minus",panel.get2DHub().getActiveDrawModule().getID()); } - @Test public void testMenuChargeMinus2() throws CDKException, ClassNotFoundException, IOException, CloneNotSupportedException { - JPanelFixture jcppanel=applet.panel("appletframe"); - JChemPaintPanel panel = (JChemPaintPanel)jcppanel.target; - panel.getRenderPanel().getRenderer().getRenderer2DModel().setSelection(new SingleSelection<IAtom>(panel.getChemModel().getMoleculeSet().getAtomContainer(0).getAtom(0))); - panel.selectionChanged(); - applet.menuItem("chargeMinus2").click(); - Assert.assertEquals(-2, panel.getChemModel().getMoleculeSet().getAtomContainer(0).getAtom(0).getFormalCharge().intValue()); - panel.getChemModel().getMoleculeSet().getAtomContainer(0).getAtom(0).setFormalCharge(0); - } - @Test public void testMenuIsotopeMajorPlusThree() throws CDKException, ClassNotFoundException, IOException, CloneNotSupportedException { JPanelFixture jcppanel=applet.panel("appletframe"); JChemPaintPanel panel = (JChemPaintPanel)jcppanel.target; @@ -314,8 +286,8 @@ @Test public void testMenuPseudoR() throws CDKException, ClassNotFoundException, IOException, CloneNotSupportedException { JPanelFixture jcppanel=applet.panel("appletframe"); JChemPaintPanel panel = (JChemPaintPanel)jcppanel.target; - panel.selectionChanged(); panel.getRenderPanel().getRenderer().getRenderer2DModel().setSelection(new SingleSelection<IAtom>(panel.getChemModel().getMoleculeSet().getAtomContainer(0).getAtom(0))); + panel.selectionChanged(); applet.menuItem("pseudoR").click(); Assert.assertEquals("R", ((IPseudoAtom)panel.getChemModel().getMoleculeSet().getAtomContainer(0).getAtom(0)).getLabel()); IAtom normal = panel.getChemModel().getMoleculeSet().getAtomContainer(0).getAtom(0).getBuilder().newAtom(panel.getChemModel().getMoleculeSet().getAtomContainer(0).getAtom(0)); @@ -326,14 +298,14 @@ @Test public void testMenuPeriodictable() throws CDKException, ClassNotFoundException, IOException, CloneNotSupportedException { JPanelFixture jcppanel=applet.panel("appletframe"); JChemPaintPanel panel = (JChemPaintPanel)jcppanel.target; - panel.selectionChanged(); panel.getRenderPanel().getRenderer().getRenderer2DModel().setSelection(new SingleSelection<IAtom>(panel.getChemModel().getMoleculeSet().getAtomContainer(0).getAtom(0))); panel.selectionChanged(); - applet.menuItem("periodictablemenu").click(); + applet.menuItem("periodictable").click(); DialogFixture dialog = applet.dialog(); dialog.button("Li").click(); Assert.assertEquals("Li", panel.getChemModel().getMoleculeSet().getAtomContainer(0).getAtom(0).getSymbol()); panel.get2DHub().setSymbol(panel.getChemModel().getMoleculeSet().getAtomContainer(0).getAtom(0),"C"); + Assert.assertEquals("periodictable",panel.get2DHub().getActiveDrawModule().getID()); } @Test public void testMenuBondSingle() throws CDKException, ClassNotFoundException, IOException, CloneNotSupportedException { @@ -345,6 +317,7 @@ applet.menuItem("bond").click(); Assert.assertEquals(IBond.Order.SINGLE, panel.getChemModel().getMoleculeSet().getAtomContainer(0).getBond(0).getOrder()); panel.getChemModel().getMoleculeSet().getAtomContainer(0).getBond(0).setOrder(IBond.Order.SINGLE); + Assert.assertEquals("bond", panel.get2DHub().getActiveDrawModule().getID()); } @Test public void testMenuBondStereoDown() throws CDKException, ClassNotFoundException, IOException, CloneNotSupportedException { @@ -356,6 +329,7 @@ applet.menuItem("down_bond").click(); Assert.assertEquals(CDKConstants.STEREO_BOND_DOWN, panel.getChemModel().getMoleculeSet().getAtomContainer(0).getBond(0).getStereo()); panel.getChemModel().getMoleculeSet().getAtomContainer(0).getBond(0).setStereo(CDKConstants.STEREO_BOND_NONE); + Assert.assertEquals("down_bond", panel.get2DHub().getActiveDrawModule().getID()); } @Test public void testMenuBondStereoUp() throws CDKException, ClassNotFoundException, IOException, CloneNotSupportedException { @@ -367,6 +341,7 @@ applet.menuItem("up_bond").click(); Assert.assertEquals(CDKConstants.STEREO_BOND_UP, panel.getChemModel().getMoleculeSet().getAtomContainer(0).getBond(0).getStereo()); panel.getChemModel().getMoleculeSet().getAtomContainer(0).getBond(0).setStereo(CDKConstants.STEREO_BOND_NONE); + Assert.assertEquals("up_bond", panel.get2DHub().getActiveDrawModule().getID()); } @Test public void testMenuBondUndefinedStereo() throws CDKException, ClassNotFoundException, IOException, CloneNotSupportedException { @@ -378,6 +353,7 @@ applet.menuItem("undefined_bond").click(); Assert.assertEquals(CDKConstants.STEREO_BOND_UNDEFINED, panel.getChemModel().getMoleculeSet().getAtomContainer(0).getBond(0).getStereo()); panel.getChemModel().getMoleculeSet().getAtomContainer(0).getBond(0).setStereo(CDKConstants.STEREO_BOND_NONE); + Assert.assertEquals("undefined_bond", panel.get2DHub().getActiveDrawModule().getID()); } @Test public void testMenuBondUndefinedEZ() throws CDKException, ClassNotFoundException, IOException, CloneNotSupportedException { @@ -389,6 +365,7 @@ applet.menuItem("undefined_stereo_bond").click(); Assert.assertEquals(CDKConstants.EZ_BOND_UNDEFINED, panel.getChemModel().getMoleculeSet().getAtomContainer(0).getBond(0).getStereo()); panel.getChemModel().getMoleculeSet().getAtomContainer(0).getBond(0).setStereo(CDKConstants.STEREO_BOND_NONE); + Assert.assertEquals("undefined_stereo_bond", panel.get2DHub().getActiveDrawModule().getID()); } @Test public void testMenuReportSmiles() { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |