From: Egon W. <eg...@us...> - 2003-11-21 13:59:10
|
Update of /cvsroot/cdk/cdk/src/org/openscience/cdk/controller In directory sc8-pr-cvs1:/tmp/cvs-serv28868/src/org/openscience/cdk/controller Modified Files: Controller2D.java Controller2DModel.java Log Message: The Controller2D now maintains an active draw element. Changing the element of an existing atom using the SYMBOL mode, also changes the draw element. Index: Controller2D.java =================================================================== RCS file: /cvsroot/cdk/cdk/src/org/openscience/cdk/controller/Controller2D.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- Controller2D.java 1 Nov 2003 13:34:20 -0000 1.9 +++ Controller2D.java 21 Nov 2003 13:59:06 -0000 1.10 @@ -289,14 +289,18 @@ } else { index = 0; } - atomInRange.setSymbol((String)commonElements.get(index)); + String symbol = (String)commonElements.get(index); + atomInRange.setSymbol(symbol); + // configure the atom, so that the atomic number matches the symbol try { - // configure the atom, so that the atomic number matches the symbol IsotopeFactory.getInstance().configure(atomInRange); } catch (Exception exception) { logger.error("Error while configuring atom"); logger.debug(exception); } + // also adjust the new draw elem + c2dm.setDrawElement(symbol); + /* PRESERVE THIS. This notifies the * the listener responsible for * undo and redo storage that it @@ -376,7 +380,7 @@ if (atomInRange != null) { newAtom1 = atomInRange; } else { - newAtom1 = new Atom(c2dm.getDefaultElementSymbol(), new Point2d(startX,startY)); + newAtom1 = new Atom(c2dm.getDrawElement(), new Point2d(startX,startY)); AtomContainer atomCon = ChemModelManipulator.createNewMolecule(chemModel); atomCon.addAtom(newAtom1); /* PRESERVE THIS. This notifies the @@ -397,7 +401,7 @@ newAtom2 = atomInRange; atomCon = ChemModelManipulator.getRelevantAtomContainer(chemModel, newAtom2); } else { - newAtom2 = new Atom(c2dm.getDefaultElementSymbol(), new Point2d(endX,endY)); + newAtom2 = new Atom(c2dm.getDrawElement(), new Point2d(endX,endY)); atomCon = ChemModelManipulator.getRelevantAtomContainer(chemModel, newAtom1); atomCon.addAtom(newAtom2); } @@ -537,7 +541,7 @@ RingPlacer ringPlacer = new RingPlacer(); int ringSize = c2dm.getRingSize(); - String symbol = c2dm.getDefaultElementSymbol(); + String symbol = c2dm.getDrawElement(); AtomContainer sharedAtoms = getHighlighted(); /******************** NO ATTACHMENT ************************************/ Index: Controller2DModel.java =================================================================== RCS file: /cvsroot/cdk/cdk/src/org/openscience/cdk/controller/Controller2DModel.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- Controller2DModel.java 1 Nov 2003 13:34:20 -0000 1.3 +++ Controller2DModel.java 21 Nov 2003 13:59:06 -0000 1.4 @@ -60,6 +60,7 @@ private int snapCartesian = 10; private String defaultElementSymbol = "C"; + private String drawElement = "C"; private String[] commonElements = { "C", "O", "N", "H", "P", "S" }; private double bondPointerLength = 20; @@ -289,7 +290,6 @@ return this.ringPointerLength; } - /** * Sets the pointer length * @@ -308,4 +308,12 @@ return this.commonElements; } + public void setDrawElement(String element) { + this.drawElement = element; + } + + public String getDrawElement() { + return this.drawElement; + } + } |