Search in sources :

Example 1 with EdgeLabelQuery

use of org.yakindu.base.xtext.utils.gmf.routing.EdgeLabelQuery in project statecharts by Yakindu.

the class SetLabelsOffsetOperation method computeGMFLabelOffset.

/**
 * Update {@link Bounds} of a label {@link Node}.
 *
 * @param labelEdgeEditPart
 *            the editPart of the edge label to be updated
 * @param connectionEditPart
 *            The connection having these labels
 */
private void computeGMFLabelOffset(LabelEditPart labelEditPartToUpdate, ConnectionEditPart connectionEditPart) {
    Point newLabelOffset = null;
    Node labelNodeToUpdate = (Node) labelEditPartToUpdate.getModel();
    if (connectionEditPart.getModel() instanceof Edge) {
        PointList oldBendpoints = oldBendPointsList;
        if (oldBendpoints == null) {
            oldBendpoints = connectionEditPart.getConnectionFigure().getPoints();
        }
        boolean isEdgeWithObliqueRoutingStyle = isEdgeWithObliqueRoutingStyle(connectionEditPart);
        LayoutConstraint layoutConstraint = labelNodeToUpdate.getLayoutConstraint();
        if (layoutConstraint instanceof Location) {
            Location point = (Location) layoutConstraint;
            newLabelOffset = new EdgeLabelQuery(oldBendpoints, newPointList, isEdgeWithObliqueRoutingStyle, new Point(point.getX(), point.getY()), labelEditPartToUpdate.getFigure().getSize(), labelEditPartToUpdate.getKeyPoint(), false).calculateGMFLabelOffset();
        }
    }
    if (newLabelOffset != null) {
        labelsWithNewOffset.put(labelNodeToUpdate, newLabelOffset);
    }
}
Also used : PointList(org.eclipse.draw2d.geometry.PointList) EdgeLabelQuery(org.yakindu.base.xtext.utils.gmf.routing.EdgeLabelQuery) Node(org.eclipse.gmf.runtime.notation.Node) LayoutConstraint(org.eclipse.gmf.runtime.notation.LayoutConstraint) Point(org.eclipse.draw2d.geometry.Point) Edge(org.eclipse.gmf.runtime.notation.Edge) Location(org.eclipse.gmf.runtime.notation.Location)

Aggregations

Point (org.eclipse.draw2d.geometry.Point)1 PointList (org.eclipse.draw2d.geometry.PointList)1 Edge (org.eclipse.gmf.runtime.notation.Edge)1 LayoutConstraint (org.eclipse.gmf.runtime.notation.LayoutConstraint)1 Location (org.eclipse.gmf.runtime.notation.Location)1 Node (org.eclipse.gmf.runtime.notation.Node)1 EdgeLabelQuery (org.yakindu.base.xtext.utils.gmf.routing.EdgeLabelQuery)1