Author: bobtarling Date: 2011-04-12 15:49:14-0700 New Revision: 19228 Modified: trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/BaseDisplayState.java trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/ConcavePentagonDisplayState.java trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/DiagramElementBuilder.java trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/PentagonDisplayState.java trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/RRectDisplayState.java trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/RectDisplayState.java
Log: Pass rectangle instead of x,y,w,h in Fig constructors. Use FigNotation for text Modified: trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/BaseDisplayState.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/BaseDisplayState.java?view=diff&pathrev=19228&r1=19227&r2=19228 ============================================================================== --- trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/BaseDisplayState.java (original) +++ trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/BaseDisplayState.java 2011-04-12 15:49:14-0700 @@ -17,22 +17,30 @@ import java.awt.Dimension; import java.awt.Rectangle; +import org.argouml.notation2.NotationType; import org.argouml.uml.diagram.DiagramSettings; -import org.argouml.uml.diagram.ui.FigSingleLineText; import org.argouml.uml.diagram.ui.FigStereotypesGroup; import org.tigris.gef.presentation.Fig; abstract class BaseDisplayState implements StereotypeDisplayer, NameDisplayer { - private Fig bigPort; - private Fig stereotypeFig; - private Fig nameFig; + private final Fig bigPort; + private final Fig stereotypeFig; + private final Fig nameFig; - public BaseDisplayState(int x, int y, int w, int h, Color lineColor, - Color fillColor, Object modelElement, DiagramSettings settings) { + public BaseDisplayState( + final Rectangle rect, + final Color lineColor, + final Color fillColor, + final Object modelElement, + final DiagramSettings settings) { stereotypeFig = new FigStereotypesGroup(modelElement, new Rectangle(0, 0, 0, 0), settings); - nameFig = new FigSingleLineText(modelElement, new Rectangle(0, 0, 0, 0), settings, true); - bigPort = createBigPort(x, y, w, h, lineColor, fillColor); + nameFig = new FigNotation( + modelElement, + new Rectangle(0, 0, 0, 0), + settings, + NotationType.NAME); + bigPort = createBigPort(rect, lineColor, fillColor); } public Fig getStereotypeDisplay() { @@ -44,7 +52,7 @@ } abstract Dimension getMinimumSize(); - abstract Fig createBigPort(int x, int y, int w, int h, Color lineColor, Color fillColor); + abstract Fig createBigPort(Rectangle rect, Color lineColor, Color fillColor); Fig getBigPort() { return bigPort; Modified: trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/ConcavePentagonDisplayState.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/ConcavePentagonDisplayState.java?view=diff&pathrev=19228&r1=19227&r2=19228 ============================================================================== --- trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/ConcavePentagonDisplayState.java (original) +++ trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/ConcavePentagonDisplayState.java 2011-04-12 15:49:14-0700 @@ -16,6 +16,7 @@ import java.awt.Color; import java.awt.Dimension; import java.awt.Polygon; +import java.awt.Rectangle; import org.argouml.uml.diagram.DiagramSettings; import org.tigris.gef.presentation.Fig; @@ -25,10 +26,10 @@ private static final int PADDING = 8; - public ConcavePentagonDisplayState(int x, int y, int w, int h, Color lineColor, + public ConcavePentagonDisplayState(Rectangle rect, Color lineColor, Color fillColor, Object modelElement, DiagramSettings settings) { - super(x, y, w, h, lineColor, fillColor, modelElement, settings); - createBigPort(x, y, w, h, lineColor, fillColor); + super(rect, lineColor, fillColor, modelElement, settings); + createBigPort(rect, lineColor, fillColor); } @Override @@ -44,17 +45,20 @@ return new Dimension(w, h); } - protected Fig createBigPort(int x, int y, int w, int h, Color lineColor, Color fillColor) { + protected Fig createBigPort(Rectangle rect, Color lineColor, Color fillColor) { final FigPoly polyFig = new FigPoly(); final int[] xs = new int[6]; final int[] ys = new int[6]; - - xs[0] = x; ys[0] = y; - xs[1] = x + w; ys[1] = y; - xs[2] = x + w; ys[2] = y + h; - xs[3] = x; ys[3] = y + h; + final int x = rect.x; + final int y = rect.y; + final int w = rect.width; + final int h = rect.height; + xs[0] = x; ys[0] = y; + xs[1] = x + w; ys[1] = y; + xs[2] = x + w; ys[2] = y + h; + xs[3] = x; ys[3] = y + h; xs[4] = x + h / 2; ys[4] = y + h / 2; - xs[5] = x; ys[5] = y; + xs[5] = x; ys[5] = y; final Polygon p = new Polygon(xs, ys, 6); polyFig.setPolygon(p); Modified: trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/DiagramElementBuilder.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/DiagramElementBuilder.java?view=diff&pathrev=19228&r1=19227&r2=19228 ============================================================================== --- trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/DiagramElementBuilder.java (original) +++ trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/DiagramElementBuilder.java 2011-04-12 15:49:14-0700 @@ -13,6 +13,8 @@ package org.argouml.activity2.diagram; +import java.awt.Rectangle; + import org.argouml.uml.diagram.DiagramSettings; class DiagramElementBuilder { @@ -21,16 +23,20 @@ private static final int HEIGHT = 25; static void buildDiagramElement( - final FigBaseNode fig, String style, Object owner, DiagramSettings settings) { + final FigBaseNode fig, + final String style, + final Object owner, + final DiagramSettings settings) { + + final Rectangle bounds = + new Rectangle(fig.getX(), fig.getX(), WIDTH, HEIGHT); + if (style.equals("compartmentbox")) { - + // For classifiers } else if (style.equals("rect")) { fig.setDisplayState( new RectDisplayState( - fig.getX(), - fig.getX(), - WIDTH, - HEIGHT, + bounds, fig.getLineColor(), fig.getFillColor(), owner, @@ -38,10 +44,7 @@ } else if (style.equals("rrect")) { fig.setDisplayState( new RRectDisplayState( - fig.getX(), - fig.getX(), - WIDTH, - HEIGHT, + bounds, fig.getLineColor(), fig.getFillColor(), owner, @@ -49,10 +52,7 @@ } else if (style.equals("pentagon")) { fig.setDisplayState( new PentagonDisplayState( - fig.getX(), - fig.getX(), - WIDTH, - HEIGHT, + bounds, fig.getLineColor(), fig.getFillColor(), owner, @@ -60,10 +60,7 @@ } else if (style.equals("concave-pentagon")) { fig.setDisplayState( new ConcavePentagonDisplayState( - fig.getX(), - fig.getX(), - WIDTH, - HEIGHT, + bounds, fig.getLineColor(), fig.getFillColor(), owner, Modified: trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/PentagonDisplayState.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/PentagonDisplayState.java?view=diff&pathrev=19228&r1=19227&r2=19228 ============================================================================== --- trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/PentagonDisplayState.java (original) +++ trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/PentagonDisplayState.java 2011-04-12 15:49:14-0700 @@ -15,6 +15,7 @@ import java.awt.Color; import java.awt.Dimension; import java.awt.Polygon; +import java.awt.Rectangle; import org.argouml.uml.diagram.DiagramSettings; import org.tigris.gef.presentation.Fig; @@ -24,10 +25,10 @@ private static final int PADDING = 8; - public PentagonDisplayState(int x, int y, int w, int h, Color lineColor, + public PentagonDisplayState(Rectangle rect, Color lineColor, Color fillColor, Object modelElement, DiagramSettings settings) { - super(x, y, w, h, lineColor, fillColor, modelElement, settings); - createBigPort(x, y, w, h, lineColor, fillColor); + super(rect, lineColor, fillColor, modelElement, settings); + createBigPort(rect, lineColor, fillColor); } @Override @@ -43,10 +44,14 @@ return new Dimension(w, h); } - protected Fig createBigPort(int x, int y, int w, int h, Color lineColor, Color fillColor) { + protected Fig createBigPort(Rectangle rect, Color lineColor, Color fillColor) { final FigPoly polyFig = new FigPoly(); final int[] xs = new int[6]; final int[] ys = new int[6]; + final int x = rect.x; + final int y = rect.y; + final int w = rect.width; + final int h = rect.height; xs[0] = x; ys[0] = y; xs[1] = x + w - h / 2; ys[1] = y; xs[2] = x + w; ys[2] = y + h / 2; Modified: trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/RRectDisplayState.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/RRectDisplayState.java?view=diff&pathrev=19228&r1=19227&r2=19228 ============================================================================== --- trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/RRectDisplayState.java (original) +++ trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/RRectDisplayState.java 2011-04-12 15:49:14-0700 @@ -1,6 +1,6 @@ /* $Id: $ ***************************************************************************** - * Copyright (c) 2010 Contributors - see below + * Copyright (c) 2010-2011 Contributors - see below * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -15,19 +15,29 @@ import java.awt.Color; import java.awt.Dimension; +import java.awt.Rectangle; import org.argouml.uml.diagram.DiagramSettings; import org.tigris.gef.presentation.Fig; import org.tigris.gef.presentation.FigRRect; -public class RRectDisplayState extends BaseDisplayState implements StereotypeDisplayer, NameDisplayer { +/** + * The state for displaying a node as a rounded rectangle + * @author Bob Tarling + */ +public class RRectDisplayState extends BaseDisplayState + implements StereotypeDisplayer, NameDisplayer { private static final int PADDING = 8; - public RRectDisplayState(int x, int y, int w, int h, Color lineColor, - Color fillColor, Object modelElement, DiagramSettings settings) { - super(x, y, w, h, lineColor, fillColor, modelElement, settings); - createBigPort(x, y, w, h, lineColor, fillColor); + public RRectDisplayState( + final Rectangle rect, + final Color lineColor, + final Color fillColor, + final Object modelElement, + final DiagramSettings settings) { + super(rect, lineColor, fillColor, modelElement, settings); + createBigPort(rect, lineColor, fillColor); } @Override @@ -43,7 +53,8 @@ return new Dimension(w, h); } - Fig createBigPort(int x, int y, int w, int h, Color lineColor, Color fillColor) { - return new FigRRect(x, y, w, h, lineColor, fillColor); + Fig createBigPort(Rectangle rect, Color lineColor, Color fillColor) { + return new FigRRect( + rect.x, rect.y, rect.width, rect.height, lineColor, fillColor); } } Modified: trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/RectDisplayState.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/RectDisplayState.java?view=diff&pathrev=19228&r1=19227&r2=19228 ============================================================================== --- trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/RectDisplayState.java (original) +++ trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/RectDisplayState.java 2011-04-12 15:49:14-0700 @@ -14,6 +14,7 @@ import java.awt.Color; import java.awt.Dimension; +import java.awt.Rectangle; import org.argouml.uml.diagram.DiagramSettings; import org.tigris.gef.presentation.Fig; @@ -23,11 +24,12 @@ private static final int PADDING = 8; - public RectDisplayState(int x, int y, int w, int h, Color lineColor, + public RectDisplayState( + final Rectangle rect, Color lineColor, Color fillColor, Object modelElement, DiagramSettings settings) { - super(x, y, w, h, lineColor, + super(rect, lineColor, fillColor, modelElement, settings); - createBigPort(x, y, w, h, lineColor, fillColor); + createBigPort(rect, lineColor, fillColor); } @Override @@ -43,7 +45,8 @@ return new Dimension(w, h); } - Fig createBigPort(int x, int y, int w, int h, Color lineColor, Color fillColor) { - return new FigRect(x, y, w, h, lineColor, fillColor); + Fig createBigPort(Rectangle rect, Color lineColor, Color fillColor) { + return new FigRect( + rect.x, rect.y, rect.width, rect.height, lineColor, fillColor); } } ------------------------------------------------------ http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2719234 To unsubscribe from this discussion, e-mail: [[email protected]].
