Author: bobtarling Date: 2011-04-21 08:18:00-0700 New Revision: 19268 Modified: trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/ConcavePentagonDisplayState.java trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/FigBaseNode.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: Centralize min size logic into one class 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=19268&r1=19267&r2=19268 ============================================================================== --- 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-21 08:18:00-0700 @@ -14,7 +14,6 @@ package org.argouml.activity2.diagram; import java.awt.Color; -import java.awt.Dimension; import java.awt.Polygon; import java.awt.Rectangle; @@ -24,27 +23,12 @@ class ConcavePentagonDisplayState extends BaseDisplayState implements StereotypeDisplayer, NameDisplayer { - private static final int PADDING = 8; - public ConcavePentagonDisplayState(Rectangle rect, Color lineColor, Color fillColor, Object modelElement, DiagramSettings settings) { super(rect, lineColor, fillColor, modelElement, settings); createBigPort(rect, lineColor, fillColor); } - @Override - public Dimension getMinimumSize() { - final Dimension stereoDim = getStereotypeDisplay().getMinimumSize(); - final Dimension nameDim = getNameDisplay().getMinimumSize(); - - int w = Math.max(stereoDim.width, nameDim.width) + PADDING * 2; - /* The stereoDim has height=2, even if it is empty, - * hence the -2 below: */ - final int h = stereoDim.height - 2 + nameDim.height + PADDING; - w = Math.max(w, h + 44); // the width needs to be > the height - return new Dimension(w, h); - } - protected DiagramElement createBigPort( final Rectangle rect, final Color lineColor, Modified: trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/FigBaseNode.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/FigBaseNode.java?view=diff&pathrev=19268&r1=19267&r2=19268 ============================================================================== --- trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/FigBaseNode.java (original) +++ trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/FigBaseNode.java 2011-04-21 08:18:00-0700 @@ -83,6 +83,11 @@ final Rectangle oldBounds = getBounds(); bounds = new Rectangle(x, y, w, h); + + if (oldBounds.equals(bounds)) { + return; + } + _x = x; _y = y; _w = w; @@ -90,9 +95,7 @@ positionChildren(); - if (!oldBounds.equals(getBounds())) { - firePropChange("bounds", oldBounds, bounds); - } + firePropChange("bounds", oldBounds, bounds); } protected Rectangle getBoundsImpl() { 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=19268&r1=19267&r2=19268 ============================================================================== --- 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-21 08:18:00-0700 @@ -31,19 +31,6 @@ createBigPort(rect, lineColor, fillColor); } - @Override - public Dimension getMinimumSize() { - final Dimension stereoDim = getStereotypeDisplay().getMinimumSize(); - final Dimension nameDim = getNameDisplay().getMinimumSize(); - - int w = Math.max(stereoDim.width, nameDim.width) + PADDING * 2; - /* The stereoDim has height=2, even if it is empty, - * hence the -2 below: */ - final int h = stereoDim.height - 2 + nameDim.height + PADDING; - w = Math.max(w, h + 44); // the width needs to be > the height - return new Dimension(w, h); - } - protected DiagramElement createBigPort( final Rectangle rect, final Color lineColor, @@ -67,6 +54,10 @@ return poly; } + protected int getLeftMargin() { + return getBounds().height / 2; + } + private class Poly extends FigPoly implements DiagramElement { Poly() { super(); 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=19268&r1=19267&r2=19268 ============================================================================== --- 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-21 08:18:00-0700 @@ -27,7 +27,6 @@ class RRectDisplayState extends BaseDisplayState implements StereotypeDisplayer, NameDisplayer { - private static final int PADDING = 8; private static int RADIUS = 16; public RRectDisplayState( @@ -40,26 +39,6 @@ createBigPort(rect, lineColor, fillColor); } - @Override - public Dimension getMinimumSize() { - - final Dimension nameDim = getNameDisplay().getMinimumSize(); - int width = nameDim.width; - int height = nameDim.height; - if (getStereotypeDisplay() != null) { - final Dimension stereoDim = getStereotypeDisplay().getMinimumSize(); - width += Math.max(stereoDim.width, nameDim.width); - height += (stereoDim.height - 2); - } - - int w = width + RADIUS * 2; - /* The stereoDim has height=2, even if it is empty, - * hence the -2 below: */ - final int h = height + PADDING; - w = Math.max(w, h + 44); // the width needs to be > the height - return new Dimension(w, h); - } - DiagramElement createBigPort(Rectangle rect, Color lineColor, Color fillColor) { return new RRect( rect.x, rect.y, rect.width, rect.height, lineColor, fillColor); @@ -78,4 +57,12 @@ } } + + protected int getRightMargin() { + return RADIUS; + } + + protected int getLeftMargin() { + return RADIUS; + } } 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=19268&r1=19267&r2=19268 ============================================================================== --- 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-21 08:18:00-0700 @@ -32,21 +32,6 @@ createBigPort(rect, lineColor, fillColor); } - @Override - public Dimension getMinimumSize() { - final Dimension stereoDim = getStereotypeDisplay().getMinimumSize(); - final Dimension nameDim = getNameDisplay().getMinimumSize(); - - int w = Math.max(stereoDim.width, nameDim.width) + PADDING * 2; - /* The stereoDim has height=2, even if it is empty, - * hence the -2 below: */ - final int h = stereoDim.height - 2 + nameDim.height + PADDING; - w = Math.max(w, h + 44); // the width needs to be > the height - return new Dimension(w, h); - } - - - DiagramElement createBigPort( final Rectangle rect, final Color lineColor, ------------------------------------------------------ http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2722187 To unsubscribe from this discussion, e-mail: [[email protected]].
