[Exmmt-commit] SF.net SVN: exmmt: [93] net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/r
Status: Inactive
Brought to you by:
lgrammel
|
From: <lgr...@us...> - 2006-06-05 23:43:47
|
Revision: 93 Author: lgrammel Date: 2006-06-05 06:04:57 -0700 (Mon, 05 Jun 2006) ViewCVS: http://svn.sourceforge.net/exmmt/?rev=93&view=rev Log Message: ----------- #1500774 scenario "shopping list" Modified Paths: -------------- net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/graphics/IDrawArea.java net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/renderer/AttributeRenderer.java net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/renderer/HorizontalSequenceRenderer.java net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/renderer/IRenderer.java net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/renderer/NullRenderer.java Modified: net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/graphics/IDrawArea.java =================================================================== --- net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/graphics/IDrawArea.java 2006-06-05 12:50:43 UTC (rev 92) +++ net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/graphics/IDrawArea.java 2006-06-05 13:04:57 UTC (rev 93) @@ -24,4 +24,5 @@ int getX(); int getY(); + } \ No newline at end of file Modified: net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/renderer/AttributeRenderer.java =================================================================== --- net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/renderer/AttributeRenderer.java 2006-06-05 12:50:43 UTC (rev 92) +++ net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/renderer/AttributeRenderer.java 2006-06-05 13:04:57 UTC (rev 93) @@ -21,23 +21,29 @@ public class AttributeRenderer implements IRenderer { private final Attribute attribute; - + + private Rectangle size; + public AttributeRenderer(Attribute attribute) { assert attribute != null; - + this.attribute = attribute; } public void render(IDrawArea outputArea) { assert outputArea != null; - + outputArea.drawText(attribute.getValue()); } - public Rectangle calculateSize(ISizeCalculator sizeCalculator) { + public void calculateSize(ISizeCalculator sizeCalculator) { assert sizeCalculator != null; - - return sizeCalculator.calculateSize(attribute.getValue()); + + this.size = sizeCalculator.calculateSize(attribute.getValue()); } - + + public Rectangle getSize() { + return size; + } + } Modified: net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/renderer/HorizontalSequenceRenderer.java =================================================================== --- net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/renderer/HorizontalSequenceRenderer.java 2006-06-05 12:50:43 UTC (rev 92) +++ net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/renderer/HorizontalSequenceRenderer.java 2006-06-05 13:04:57 UTC (rev 93) @@ -24,12 +24,15 @@ private final List<IRenderer> subRenderers = new ArrayList<IRenderer>(); - public Rectangle calculateSize(ISizeCalculator sizeCalculator) { + private Rectangle size; + + public void calculateSize(ISizeCalculator sizeCalculator) { int height = 0; int width = 0; for (IRenderer renderer : subRenderers) { - Rectangle bounds = renderer.calculateSize(sizeCalculator); + renderer.calculateSize(sizeCalculator); + Rectangle bounds = renderer.getSize(); if (bounds.height > height) { height = bounds.height; @@ -38,10 +41,22 @@ width += bounds.width; } - return new Rectangle(0, 0, width, height); + this.size = new Rectangle(0, 0, width, height); } - public void render(IDrawArea outputArea) { + public void render(IDrawArea drawArea) { + int oldX = drawArea.getX(); + int oldY = drawArea.getY(); + + for (IRenderer renderer : subRenderers) { + renderer.render(drawArea); + + Rectangle bounds = renderer.getSize(); + + drawArea.changePosition(bounds.width, 0); + } + + drawArea.setPosition(oldX, oldY); } public void add(IRenderer subRenderer) { @@ -50,4 +65,8 @@ subRenderers.add(subRenderer); } + public Rectangle getSize() { + return size; + } + } \ No newline at end of file Modified: net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/renderer/IRenderer.java =================================================================== --- net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/renderer/IRenderer.java 2006-06-05 12:50:43 UTC (rev 92) +++ net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/renderer/IRenderer.java 2006-06-05 13:04:57 UTC (rev 93) @@ -12,15 +12,17 @@ */ package net.sourceforge.exmmt.renderer; -import org.eclipse.swt.graphics.Rectangle; - import net.sourceforge.exmmt.graphics.IDrawArea; import net.sourceforge.exmmt.graphics.ISizeCalculator; +import org.eclipse.swt.graphics.Rectangle; + public interface IRenderer { - void render(IDrawArea outputArea); + void render(IDrawArea drawArea); - Rectangle calculateSize(ISizeCalculator sizeCalculator); + void calculateSize(ISizeCalculator sizeCalculator); + Rectangle getSize(); + } Modified: net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/renderer/NullRenderer.java =================================================================== --- net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/renderer/NullRenderer.java 2006-06-05 12:50:43 UTC (rev 92) +++ net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/renderer/NullRenderer.java 2006-06-05 13:04:57 UTC (rev 93) @@ -21,7 +21,10 @@ private final Rectangle bounds = new Rectangle(0, 0, 0, 0); - public Rectangle calculateSize(ISizeCalculator sizeCalculator) { + public void calculateSize(ISizeCalculator sizeCalculator) { + } + + public Rectangle getSize() { return bounds; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |