Skip to content
Snippets Groups Projects
Commit 17998ffe authored by Alexander Diewald's avatar Alexander Diewald
Browse files

Merge branch '3517' into 'master'

3517 Graphical glitch with states

See merge request !31
parents 2e91f961 25dd9531
No related branches found
No related tags found
1 merge request!313517 Graphical glitch with states
DiagramLayoutConfigurationBase.java a2fdf000358081429b80706bf29ad6eeda056c2b GREEN DiagramLayoutConfigurationBase.java a2fdf000358081429b80706bf29ad6eeda056c2b GREEN
EllipseCurveLayoutDiagramConfiguration.java 2705bda6ed35bc1af4f01a9db2f435587932bacc GREEN EllipseCurveLayoutDiagramConfiguration.java c829b7b82c062a96f8e0c76f78b49ff05b4ddaa2 GREEN
IDiagramLayoutConfiguration.java 2c05b73b104fcea91ad3505ae255e014c314685c GREEN IDiagramLayoutConfiguration.java 2c05b73b104fcea91ad3505ae255e014c314685c GREEN
RectangleGridLayoutDiagramConfiguration.java 23ddf57d202057181c150bd8c8b6df972b762522 GREEN RectangleGridLayoutDiagramConfiguration.java 23ddf57d202057181c150bd8c8b6df972b762522 GREEN
...@@ -27,7 +27,6 @@ import static org.fortiss.tooling.base.utils.LayoutDataUtils.getNodeSize; ...@@ -27,7 +27,6 @@ import static org.fortiss.tooling.base.utils.LayoutDataUtils.getNodeSize;
import org.eclipse.draw2d.IFigure; import org.eclipse.draw2d.IFigure;
import org.eclipse.draw2d.geometry.Dimension; import org.eclipse.draw2d.geometry.Dimension;
import org.eclipse.draw2d.geometry.Point;
import org.eclipse.draw2d.geometry.Rectangle; import org.eclipse.draw2d.geometry.Rectangle;
import org.eclipse.gef.requests.ChangeBoundsRequest; import org.eclipse.gef.requests.ChangeBoundsRequest;
import org.fortiss.tooling.base.model.layout.ILayoutedModelElement; import org.fortiss.tooling.base.model.layout.ILayoutedModelElement;
...@@ -88,7 +87,7 @@ public class EllipseCurveLayoutDiagramConfiguration extends DiagramLayoutConfigu ...@@ -88,7 +87,7 @@ public class EllipseCurveLayoutDiagramConfiguration extends DiagramLayoutConfigu
.translate(HALF_DEFAULT_CONNECTOR_SIZE, HALF_DEFAULT_CONNECTOR_SIZE); .translate(HALF_DEFAULT_CONNECTOR_SIZE, HALF_DEFAULT_CONNECTOR_SIZE);
Dimension ellipseSize = connectorEditPart.getParentEditPart().getFigure().getSize(); Dimension ellipseSize = connectorEditPart.getParentEditPart().getFigure().getSize();
Dimension scaledEllipseSize = ellipseSize.getScaled(-.5); Dimension scaledEllipseSize = ellipseSize.getScaled(-.5);
newPosition.translate(scaledEllipseSize.height(), scaledEllipseSize.width()); newPosition.translate(scaledEllipseSize.width(), scaledEllipseSize.height());
setConnectorAngle(connector, new Polar(newPosition).angle); setConnectorAngle(connector, new Polar(newPosition).angle);
} }
...@@ -98,6 +97,7 @@ public class EllipseCurveLayoutDiagramConfiguration extends DiagramLayoutConfigu ...@@ -98,6 +97,7 @@ public class EllipseCurveLayoutDiagramConfiguration extends DiagramLayoutConfigu
public void alterStickyConnectorMoveFeedbackRequest(ChangeBoundsRequest request, public void alterStickyConnectorMoveFeedbackRequest(ChangeBoundsRequest request,
StickyConnectorEditPartBase<? extends ILayoutedModelElement> connectorEditPart, StickyConnectorEditPartBase<? extends ILayoutedModelElement> connectorEditPart,
IFigure connectorFigure) { IFigure connectorFigure) {
ILayoutedModelElement stickyConnectorModel = connectorEditPart.getModel(); ILayoutedModelElement stickyConnectorModel = connectorEditPart.getModel();
double angle = getConnectorAngleAsDouble(stickyConnectorModel); double angle = getConnectorAngleAsDouble(stickyConnectorModel);
...@@ -106,6 +106,7 @@ public class EllipseCurveLayoutDiagramConfiguration extends DiagramLayoutConfigu ...@@ -106,6 +106,7 @@ public class EllipseCurveLayoutDiagramConfiguration extends DiagramLayoutConfigu
org.fortiss.tooling.base.model.layout.Dimension ellipseSizeElement = org.fortiss.tooling.base.model.layout.Dimension ellipseSizeElement =
LayoutModelElementFactory.createDimension(ellipseSize.width(), ellipseSize.height(), LayoutModelElementFactory.createDimension(ellipseSize.width(), ellipseSize.height(),
ellipseSize.toString() + "_element"); ellipseSize.toString() + "_element");
org.fortiss.tooling.base.model.layout.Point oldPosition = org.fortiss.tooling.base.model.layout.Point oldPosition =
calculateEllipseBorderPoint(angle, ellipseSizeElement, HALF_DEFAULT_CONNECTOR_SIZE) calculateEllipseBorderPoint(angle, ellipseSizeElement, HALF_DEFAULT_CONNECTOR_SIZE)
.translate(-HALF_DEFAULT_CONNECTOR_SIZE, -HALF_DEFAULT_CONNECTOR_SIZE); .translate(-HALF_DEFAULT_CONNECTOR_SIZE, -HALF_DEFAULT_CONNECTOR_SIZE);
...@@ -120,9 +121,16 @@ public class EllipseCurveLayoutDiagramConfiguration extends DiagramLayoutConfigu ...@@ -120,9 +121,16 @@ public class EllipseCurveLayoutDiagramConfiguration extends DiagramLayoutConfigu
newPosition = calculateEllipseBorderPoint(new Polar(newPosition).angle, ellipseSizeElement, newPosition = calculateEllipseBorderPoint(new Polar(newPosition).angle, ellipseSizeElement,
HALF_DEFAULT_CONNECTOR_SIZE).translate(-HALF_DEFAULT_CONNECTOR_SIZE, HALF_DEFAULT_CONNECTOR_SIZE).translate(-HALF_DEFAULT_CONNECTOR_SIZE,
-HALF_DEFAULT_CONNECTOR_SIZE); -HALF_DEFAULT_CONNECTOR_SIZE);
// update move delta with new position // update move delta with new position
newPosition.translate(newPosition.getDifference(oldPosition)); newPosition.translate(newPosition.getDifference(oldPosition));
request.setMoveDelta(new Point(newPosition.getX(), newPosition.getY()));
// TODO FR (see #3517). The moveData is not correctly calculated. The projected location
// should move on the ellipse border, the same as on a rectangular border. As of now the
// projection is also placed outside and inside the ellipse.
// Until the calculation code is fixed, do not apply the result such that these connectors
// are at least moveable all around the ellipse.
// request.setMoveDelta(new Point(newPosition.getX(), newPosition.getY()));
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment