Search in sources :

Example 6 with Shape

use of org.kie.workbench.common.stunner.core.client.shape.Shape in project kie-wb-common by kiegroup.

the class ShapeDefFunctionalFactoryTest method testCreateAll.

@Test
@SuppressWarnings("unchecked")
public void testCreateAll() {
    this.tested.set(TestShapeDefType1.class, shapeDef1FactoryFunction);
    this.tested.set(TestShapeDefType2.class, shapeDef2FactoryFunction);
    final Shape s1 = this.tested.newShape(definitionBean, shapeDef1);
    final Shape s2 = this.tested.newShape(definitionBean, shapeDef2);
    assertNotNull(s1);
    assertEquals(shape1, s1);
    assertNotNull(s2);
    assertEquals(shape2, s2);
}
Also used : Shape(org.kie.workbench.common.stunner.core.client.shape.Shape) Test(org.junit.Test)

Example 7 with Shape

use of org.kie.workbench.common.stunner.core.client.shape.Shape in project kie-wb-common by kiegroup.

the class ShapeUtilsTest method testApplyConnections.

@Test
@SuppressWarnings("unchecked")
public void testApplyConnections() {
    final Shape startNodeShape = mock(Shape.class);
    final ShapeView startNodeShapeView = mock(ShapeView.class);
    final Shape intermNodeShape = mock(Shape.class);
    final ShapeView intermNodeShapeView = mock(ShapeView.class);
    final EdgeShape edge1EdgeShape = mock(EdgeShape.class);
    when(canvas.getShape(eq(instance2.startNode.getUUID()))).thenReturn(startNodeShape);
    when(canvas.getShape(eq(instance2.intermNode.getUUID()))).thenReturn(intermNodeShape);
    when(canvas.getShape(eq(instance2.edge1.getUUID()))).thenReturn(edge1EdgeShape);
    when(startNodeShape.getShapeView()).thenReturn(startNodeShapeView);
    when(intermNodeShape.getShapeView()).thenReturn(intermNodeShapeView);
    when(edge1EdgeShape.getShapeView()).thenReturn(edge1ShapeView);
    ShapeUtils.applyConnections(instance2.edge1, canvasHandler, MutationContext.STATIC);
    verify(edge1EdgeShape, times(1)).applyConnections(eq(instance2.edge1), eq(startNodeShapeView), eq(intermNodeShapeView), eq(MutationContext.STATIC));
}
Also used : EdgeShape(org.kie.workbench.common.stunner.core.client.shape.EdgeShape) ConnectorShape(org.kie.workbench.common.stunner.core.client.shape.impl.ConnectorShape) Shape(org.kie.workbench.common.stunner.core.client.shape.Shape) EdgeShape(org.kie.workbench.common.stunner.core.client.shape.EdgeShape) ShapeView(org.kie.workbench.common.stunner.core.client.shape.view.ShapeView) Test(org.junit.Test)

Example 8 with Shape

use of org.kie.workbench.common.stunner.core.client.shape.Shape in project kie-wb-common by kiegroup.

the class LienzoSelectionControl method deregister.

protected void deregister(final String uuid) {
    final Shape shape = getSelectionControl().getCanvas().getShape(uuid);
    final ViewHandler<?> handler = handlers.get(uuid);
    doDeregisterHandler(shape, handler);
}
Also used : Shape(org.kie.workbench.common.stunner.core.client.shape.Shape)

Example 9 with Shape

use of org.kie.workbench.common.stunner.core.client.shape.Shape in project kie-wb-common by kiegroup.

the class ResizeControlImpl method registerResizeHandlers.

@SuppressWarnings("unchecked")
private void registerResizeHandlers(final Element element, final Shape<?> shape) {
    if (shape.getShapeView() instanceof HasEventHandlers) {
        final HasEventHandlers hasEventHandlers = (HasEventHandlers) shape.getShapeView();
        final ResizeHandler resizeHandler = new ResizeHandler() {

            @Override
            public void start(final ResizeEvent event) {
            }

            @Override
            public void handle(final ResizeEvent event) {
            }

            @Override
            public void end(final ResizeEvent event) {
                LOGGER.log(Level.FINE, "Shape [" + element.getUUID() + "] resized to size {" + event.getWidth() + ", " + event.getHeight() + "] " + "& Coordinates [" + event.getX() + ", " + event.getY() + "]");
                final Shape shape = canvasHandler.getCanvas().getShape(element.getUUID());
                final double x = shape.getShapeView().getShapeX();
                final double y = shape.getShapeView().getShapeY();
                final CommandResult<CanvasViolation> result = doResize(element, x + event.getX(), y + event.getY(), event.getWidth(), event.getHeight());
                if (CommandUtils.isError(result)) {
                    LOGGER.log(Level.WARNING, "Command failed at resize end [result=" + result + "]");
                }
            }
        };
        hasEventHandlers.addHandler(ViewEventType.RESIZE, resizeHandler);
        registerHandler(element.getUUID(), resizeHandler);
    }
}
Also used : CanvasViolation(org.kie.workbench.common.stunner.core.client.command.CanvasViolation) Shape(org.kie.workbench.common.stunner.core.client.shape.Shape) ResizeHandler(org.kie.workbench.common.stunner.core.client.shape.view.event.ResizeHandler) HasEventHandlers(org.kie.workbench.common.stunner.core.client.shape.view.HasEventHandlers) ResizeEvent(org.kie.workbench.common.stunner.core.client.shape.view.event.ResizeEvent)

Example 10 with Shape

use of org.kie.workbench.common.stunner.core.client.shape.Shape in project kie-wb-common by kiegroup.

the class CanvasBoundsIndexerImpl method getAt.

@Override
@SuppressWarnings("unchecked")
public Node<View<?>, Edge> getAt(final double x, final double y, final double width, final double height, final Element parentNode) {
    final AbstractCanvas canvas = canvasHandler.getAbstractCanvas();
    final LienzoLayer lienzoLayer = (LienzoLayer) canvas.getLayer();
    Node node;
    final String viewUUID_UL = LienzoLayerUtils.getUUID_At(lienzoLayer, x, y);
    final String viewUUID_UR = LienzoLayerUtils.getUUID_At(lienzoLayer, x + width, y);
    final String viewUUID_CC = LienzoLayerUtils.getUUID_At(lienzoLayer, x + (width / 2), y + (height / 2));
    final String viewUUID_LL = LienzoLayerUtils.getUUID_At(lienzoLayer, x, y + height);
    final String viewUUID_LR = LienzoLayerUtils.getUUID_At(lienzoLayer, x + width, y + height);
    if (null != viewUUID_UL && viewUUID_UL.trim().length() > 0) {
        final Shape<?> shape = canvas.getShape(viewUUID_UL);
        if (null != shape) {
            node = canvasHandler.getGraphIndex().getNode(shape.getUUID());
            if (node != parentNode) {
                return node;
            }
        }
    } else if (null != viewUUID_UR && viewUUID_UR.trim().length() > 0) {
        final Shape<?> shape = canvas.getShape(viewUUID_UR);
        if (null != shape) {
            node = canvasHandler.getGraphIndex().getNode(shape.getUUID());
            if (node != parentNode) {
                return node;
            }
        }
    } else if (null != viewUUID_CC && viewUUID_CC.trim().length() > 0) {
        final Shape<?> shape = canvas.getShape(viewUUID_CC);
        if (null != shape) {
            node = canvasHandler.getGraphIndex().getNode(shape.getUUID());
            if (node != parentNode) {
                return node;
            }
        }
    } else if (null != viewUUID_LL && viewUUID_LL.trim().length() > 0) {
        final Shape<?> shape = canvas.getShape(viewUUID_LL);
        if (null != shape) {
            node = canvasHandler.getGraphIndex().getNode(shape.getUUID());
            if (node != parentNode) {
                return node;
            }
        }
    } else if (null != viewUUID_LR && viewUUID_LR.trim().length() > 0) {
        final Shape<?> shape = canvas.getShape(viewUUID_LR);
        if (null != shape) {
            node = canvasHandler.getGraphIndex().getNode(shape.getUUID());
            if (node != parentNode) {
                return node;
            }
        }
    }
    return null;
}
Also used : LienzoLayer(org.kie.workbench.common.stunner.client.lienzo.canvas.LienzoLayer) Shape(org.kie.workbench.common.stunner.core.client.shape.Shape) AbstractCanvas(org.kie.workbench.common.stunner.core.client.canvas.AbstractCanvas) Node(org.kie.workbench.common.stunner.core.graph.Node)

Aggregations

Shape (org.kie.workbench.common.stunner.core.client.shape.Shape)42 Test (org.junit.Test)14 Element (org.kie.workbench.common.stunner.core.graph.Element)8 ElementShape (org.kie.workbench.common.stunner.core.client.shape.ElementShape)7 NullShape (org.kie.workbench.common.stunner.cm.client.shape.NullShape)5 Node (org.kie.workbench.common.stunner.core.graph.Node)4 AbstractCanvas (org.kie.workbench.common.stunner.core.client.canvas.AbstractCanvas)3 EdgeShape (org.kie.workbench.common.stunner.core.client.shape.EdgeShape)3 HasEventHandlers (org.kie.workbench.common.stunner.core.client.shape.view.HasEventHandlers)3 ShapeView (org.kie.workbench.common.stunner.core.client.shape.view.ShapeView)3 CanvasShapeRemovedEvent (org.kie.workbench.common.stunner.core.client.canvas.event.registration.CanvasShapeRemovedEvent)2 ShapeFactory (org.kie.workbench.common.stunner.core.client.shape.factory.ShapeFactory)2 MouseClickEvent (org.kie.workbench.common.stunner.core.client.shape.view.event.MouseClickEvent)2 MouseClickHandler (org.kie.workbench.common.stunner.core.client.shape.view.event.MouseClickHandler)2 ShapeGlyph (org.kie.workbench.common.stunner.core.definition.shape.ShapeGlyph)2 BoundsImpl (org.kie.workbench.common.stunner.core.graph.content.view.BoundsImpl)2 Index (org.kie.workbench.common.stunner.core.graph.processing.index.Index)2 Group (com.ait.lienzo.client.core.shape.Group)1 WiresShape (com.ait.lienzo.client.core.shape.wires.WiresShape)1 BoundingBox (com.ait.lienzo.client.core.types.BoundingBox)1