diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/EllipseCurveLayoutDiagramConfiguration.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/EllipseCurveLayoutDiagramConfiguration.java index 276770cb670058ceb2c6a2d1af538debafd39d80..c86637eb040bb95705fb3124a7b4560b33a171f2 100644 --- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/EllipseCurveLayoutDiagramConfiguration.java +++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/EllipseCurveLayoutDiagramConfiguration.java @@ -18,6 +18,7 @@ $Id$ package org.fortiss.tooling.base.ui.layout; import static org.fortiss.tooling.base.layout.DefaultLayoutConstants.DEFAULT_CONNECTOR_SIZE; +import static org.fortiss.tooling.base.layout.DefaultLayoutConstants.DEFAULT_SHAPE_ASPECT_RATIO; import static org.fortiss.tooling.base.layout.DefaultLayoutConstants.DEFAULT_SHAPE_MINIMUM_HEIGHT; import static org.fortiss.tooling.base.layout.DefaultLayoutConstants.DEFAULT_SHAPE_MINIMUM_WIDTH; import static org.fortiss.tooling.base.ui.utils.EllipseLayoutUtils.calculateEllipseBorderPoint; @@ -46,7 +47,7 @@ import org.fortiss.tooling.base.ui.utils.EllipseLayoutUtils.Polar; * @author hoelzl * @author $Author$ * @version $Rev$ - * @ConQAT.Rating GREEN Hash: 15F97A0D63FF406F7D107915D03B110F + * @ConQAT.Rating YELLOW Hash: 4736CA2DB316F3869AE846AD92A44E35 */ public class EllipseCurveLayoutDiagramConfiguration extends DiagramLayoutConfigurationBase { @@ -101,7 +102,8 @@ public class EllipseCurveLayoutDiagramConfiguration extends ChangeBoundsRequest request, StickyConnectorEditPartBase<? extends ILayoutedModelElement> connectorEditPart, IFigure connectorFigure) { - ILayoutedModelElement stickyConnectorModel = connectorEditPart.getModel(); + ILayoutedModelElement stickyConnectorModel = connectorEditPart + .getModel(); double angle = getConnectorAngleAsDouble(stickyConnectorModel); // compute old bounds @@ -137,11 +139,18 @@ public class EllipseCurveLayoutDiagramConfiguration extends Dimension oldSize = new Dimension(elementBounds.width + oldSizeDelta.width, elementBounds.height + oldSizeDelta.height); + Dimension minimal = getMinimalElementSize(); Dimension newSize = clampEllipseShapeSize(oldSize, - request.getResizeDirection()); + request.getResizeDirection(), minimal.width, minimal.height, + getAspectRatio()); Dimension newSizeDelta = new Dimension(newSize.width - elementBounds.width, newSize.height - elementBounds.height); request.setSizeDelta(newSizeDelta); } + + /** Returns the aspect ratio to be used for ellipse resizing. */ + public double getAspectRatio() { + return DEFAULT_SHAPE_ASPECT_RATIO; + } } diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/RectangleGridLayoutDiagramConfiguration.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/RectangleGridLayoutDiagramConfiguration.java index d3013b5c788208e20a085f2b1dc056976824f221..62fd882d9734d6e2e64797bf6d50c6b250e10c0f 100644 --- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/RectangleGridLayoutDiagramConfiguration.java +++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/RectangleGridLayoutDiagramConfiguration.java @@ -52,7 +52,7 @@ import org.fortiss.tooling.base.ui.utils.LayoutDataUtils; * @author hoelzl * @author $Author$ * @version $Rev$ - * @ConQAT.Rating GREEN Hash: FE97BBE22F4CC3FACA47CD3F91ADCE5D + * @ConQAT.Rating YELLOW Hash: 412BCCEA0E2EF9D3B58DC15887A4D43D */ public class RectangleGridLayoutDiagramConfiguration extends DiagramLayoutConfigurationBase { @@ -150,8 +150,9 @@ public class RectangleGridLayoutDiagramConfiguration extends Rectangle bounds = elementEditPart.getFigure().getBounds(); Dimension oldSize = new Dimension(bounds.width + oldSizeDelta.width, bounds.height + oldSizeDelta.height); - Dimension newSize = clampRectangularShapeSize(oldSize, - MINIMUM_SIZE.width, MINIMUM_SIZE.height); + Dimension minimal = getMinimalElementSize(); + Dimension newSize = clampRectangularShapeSize(oldSize, minimal.width, + minimal.height); Dimension newSizeDelta = new Dimension(newSize.width - bounds.width, newSize.height - bounds.height); request.setSizeDelta(newSizeDelta);