From: <gil...@us...> - 2009-03-02 18:21:39
|
Revision: 14281 http://cdk.svn.sourceforge.net/cdk/?rev=14281&view=rev Author: gilleain Date: 2009-03-02 18:21:34 +0000 (Mon, 02 Mar 2009) Log Message: ----------- Return an empty rectangle, rather than null if the chem model is empty. Modified Paths: -------------- cdk/branches/jchempaint-primary/src/main/org/openscience/cdk/renderer/Renderer.java Modified: cdk/branches/jchempaint-primary/src/main/org/openscience/cdk/renderer/Renderer.java =================================================================== --- cdk/branches/jchempaint-primary/src/main/org/openscience/cdk/renderer/Renderer.java 2009-03-02 17:57:48 UTC (rev 14280) +++ cdk/branches/jchempaint-primary/src/main/org/openscience/cdk/renderer/Renderer.java 2009-03-02 18:21:34 UTC (rev 14281) @@ -250,53 +250,32 @@ IMoleculeSet moleculeSet = chemModel.getMoleculeSet(); IReactionSet reactionSet = chemModel.getReactionSet(); - if (moleculeSet==null && reactionSet != null) { + if (moleculeSet == null && reactionSet != null) { return paintReactionSet(reactionSet, drawVisitor); } - if (moleculeSet!=null && reactionSet == null) { + + if (moleculeSet != null && reactionSet == null) { return paintMoleculeSet(moleculeSet, drawVisitor); } - if(moleculeSet !=null && reactionSet !=null){ - return paintMoleculeSetAndReactionSet(moleculeSet, reactionSet, drawVisitor); + + if (moleculeSet != null && reactionSet != null) { + Rectangle2D totalBounds = Renderer.calculateBounds(reactionSet); + totalBounds = totalBounds.createUnion( + Renderer.calculateBounds(moleculeSet)); + this.setupTransformNatural(totalBounds); + ElementGroup diagram = new ElementGroup(); + for (IReaction reaction : reactionSet.reactions()) { + diagram.add(this.generateDiagram(reaction)); + } + diagram.add(this.generateDiagram(moleculeSet)); + this.paint(drawVisitor, diagram); + + // the size of the painted diagram is returned + return this.convertToDiagramBounds(totalBounds); } - return null; + return new Rectangle(0, 0, 0, 0); } - public Rectangle paintMoleculeSetAndReactionSet(IMoleculeSet moleculeSet, - IReactionSet reactionSet, IDrawVisitor drawVisitor) { - // total up the bounding boxes - Rectangle2D totalBounds = null; - for (IReaction reaction : reactionSet.reactions()) { - Rectangle2D modelBounds = Renderer.calculateBounds(reaction); - if (totalBounds == null) { - totalBounds = modelBounds; - } else { - totalBounds = totalBounds.createUnion(modelBounds); - } - } - for (IAtomContainer molecule : moleculeSet.molecules()) { - Rectangle2D modelBounds = Renderer.calculateBounds(molecule); - if (totalBounds == null) { - totalBounds = modelBounds; - } else { - totalBounds = totalBounds.createUnion(modelBounds); - } - } - // setup and draw - this.setupTransformNatural(totalBounds); - ElementGroup diagram = new ElementGroup(); - for (IReaction reaction : reactionSet.reactions()) { - diagram.add(this.generateDiagram(reaction)); - } - for (IAtomContainer molecule : moleculeSet.molecules()) { - diagram.add(this.generateDiagram(molecule)); - } - this.paint(drawVisitor, diagram); - - // the size of the painted diagram is returned - return this.convertToDiagramBounds(totalBounds); - } - public Rectangle paintReactionSet( IReactionSet reactionSet, IDrawVisitor drawVisitor) { // total up the bounding boxes This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |