Search in sources :

Example 66 with Bounds

use of org.kie.workbench.common.stunner.core.graph.content.Bounds in project kie-wb-common by kiegroup.

the class DMNCommonActionsToolboxFactoryTest method testBuildToolboxForDecisionType.

@Test
@SuppressWarnings("unchecked")
public void testBuildToolboxForDecisionType() {
    final Node<View<Decision>, Edge> decisionNode = new NodeImpl<>("decisionNode1");
    final Decision decision = new Decision();
    final Bounds bounds = Bounds.create(0d, 0d, 100d, 150d);
    final View<Decision> nodeContent = new ViewImpl<>(decision, bounds);
    decisionNode.setContent(nodeContent);
    final Optional<Toolbox<?>> _toolbox = tested.build(canvasHandler, decisionNode);
    assertTrue(_toolbox.isPresent());
    Toolbox<?> toolbox = _toolbox.get();
    assertTrue(toolbox instanceof ActionsToolbox);
    final ActionsToolbox actionsToolbox = (ActionsToolbox) toolbox;
    assertEquals("decisionNode1", actionsToolbox.getElementUUID());
    assertEquals(3, actionsToolbox.size());
    final Iterator<ToolboxAction> actionsIt = actionsToolbox.iterator();
    assertEquals(deleteNodeAction, actionsIt.next());
    assertEquals(editDecisionToolboxActionInstance, actionsIt.next());
    assertTrue(actionsIt.hasNext());
    verify(viewInstance, times(1)).init(eq(actionsToolbox));
}
Also used : NodeImpl(org.kie.workbench.common.stunner.core.graph.impl.NodeImpl) ActionsToolbox(org.kie.workbench.common.stunner.core.client.components.toolbox.actions.ActionsToolbox) Bounds(org.kie.workbench.common.stunner.core.graph.content.Bounds) View(org.kie.workbench.common.stunner.core.graph.content.view.View) ActionsToolboxView(org.kie.workbench.common.stunner.core.client.components.toolbox.actions.ActionsToolboxView) Decision(org.kie.workbench.common.dmn.api.definition.model.Decision) ToolboxAction(org.kie.workbench.common.stunner.core.client.components.toolbox.actions.ToolboxAction) DeleteNodeToolboxAction(org.kie.workbench.common.stunner.core.client.components.toolbox.actions.DeleteNodeToolboxAction) ActionsToolbox(org.kie.workbench.common.stunner.core.client.components.toolbox.actions.ActionsToolbox) Toolbox(org.kie.workbench.common.stunner.core.client.components.toolbox.Toolbox) ViewImpl(org.kie.workbench.common.stunner.core.graph.content.view.ViewImpl) Edge(org.kie.workbench.common.stunner.core.graph.Edge) Test(org.junit.Test)

Example 67 with Bounds

use of org.kie.workbench.common.stunner.core.graph.content.Bounds in project kie-wb-common by kiegroup.

the class DMNEditDecisionToolboxActionTest method setup.

@Before
public void setup() throws Exception {
    decisionNode = new NodeImpl<>(E_UUID);
    decision = new Decision();
    final Bounds bounds = Bounds.create(0d, 0d, 100d, 150d);
    final View<Decision> nodeContent = new ViewImpl<>(decision, bounds);
    decisionNode.setContent(nodeContent);
    when(canvasHandler.getGraphIndex()).thenReturn(graphIndex);
    when(graphIndex.get(eq(E_UUID))).thenReturn(decisionNode);
    when(sessionManager.getCurrentSession()).thenReturn(session);
    this.tested = new DMNEditDecisionToolboxAction(sessionManager, translationService, editExpressionEvent, readOnlyProvider);
}
Also used : Bounds(org.kie.workbench.common.stunner.core.graph.content.Bounds) ViewImpl(org.kie.workbench.common.stunner.core.graph.content.view.ViewImpl) Decision(org.kie.workbench.common.dmn.api.definition.model.Decision) Before(org.junit.Before)

Example 68 with Bounds

use of org.kie.workbench.common.stunner.core.graph.content.Bounds in project kie-wb-common by kiegroup.

the class LienzoShapeUtilsTest method testTranslateBounds.

@Test
public void testTranslateBounds() {
    Bounds bounds = Bounds.create(1.1d, 2.2d, 3.3d, 4.4d);
    OptionalBounds lienzoBounds = LienzoShapeUtils.translateBounds(bounds);
    assertTrue(lienzoBounds.hasMinX());
    assertEquals(1.1d, lienzoBounds.getMinX(), 0d);
    assertTrue(lienzoBounds.hasMinY());
    assertEquals(2.2d, lienzoBounds.getMinY(), 0d);
    assertTrue(lienzoBounds.hasMaxX());
    assertEquals(3.3d, lienzoBounds.getMaxX(), 0d);
    assertTrue(lienzoBounds.hasMaxY());
    assertEquals(4.4d, lienzoBounds.getMaxY(), 0d);
    Bounds minBounds = Bounds.createMinBounds(0d, 0d);
    OptionalBounds lienzoMinBounds = LienzoShapeUtils.translateBounds(minBounds);
    assertTrue(lienzoMinBounds.hasMinX());
    assertEquals(0d, lienzoMinBounds.getMinX(), 0d);
    assertTrue(lienzoMinBounds.hasMinY());
    assertEquals(0d, lienzoMinBounds.getMinY(), 0d);
    assertFalse(lienzoMinBounds.hasMaxX());
    assertNull(lienzoMinBounds.getMaxX());
    assertFalse(lienzoMinBounds.hasMaxY());
    assertNull(lienzoMinBounds.getMaxY());
}
Also used : OptionalBounds(com.ait.lienzo.client.core.shape.wires.OptionalBounds) Bounds(org.kie.workbench.common.stunner.core.graph.content.Bounds) OptionalBounds(com.ait.lienzo.client.core.shape.wires.OptionalBounds) Test(org.junit.Test)

Example 69 with Bounds

use of org.kie.workbench.common.stunner.core.graph.content.Bounds in project kie-wb-common by kiegroup.

the class CanvasLayoutUtils method getBoundCoordinates.

private double[] getBoundCoordinates(final View view, final Optional<Point2D> parentPosition) {
    final Point2D relativePositionTo = parentPosition.orElse(new Point2D(0, 0));
    final Bounds bounds = view.getBounds();
    final Bound ulBound = bounds.getUpperLeft();
    final Bound lrBound = bounds.getLowerRight();
    final double lrX = lrBound.getX();
    final double lrY = ulBound.getY();
    return new double[] { lrX + relativePositionTo.getX(), lrY + relativePositionTo.getY() };
}
Also used : Point2D(org.kie.workbench.common.stunner.core.graph.content.view.Point2D) Bounds(org.kie.workbench.common.stunner.core.graph.content.Bounds) Bound(org.kie.workbench.common.stunner.core.graph.content.Bound)

Example 70 with Bounds

use of org.kie.workbench.common.stunner.core.graph.content.Bounds in project kie-wb-common by kiegroup.

the class ResizeNodeCommand method postOperation.

CommandResult<CanvasViolation> postOperation(final AbstractCanvasHandler context, final CommandResult<CanvasViolation> result, final double width, final double height) {
    if (!CommandUtils.isError(result)) {
        final Point2D current = GraphUtils.getPosition(candidate.getContent());
        final Bounds newBounds = Bounds.create(current.getX(), current.getY(), current.getX() + width, current.getY() + height);
        candidate.getContent().setBounds(newBounds);
        final ShapeView shapeView = getShape(context, candidate.getUUID()).getShapeView();
        ShapeUtils.setSizeFromBoundingBox(shapeView, width, height);
        onResize.accept(getShape(context, candidate.getUUID()));
    }
    return result;
}
Also used : Point2D(org.kie.workbench.common.stunner.core.graph.content.view.Point2D) Bounds(org.kie.workbench.common.stunner.core.graph.content.Bounds) ShapeView(org.kie.workbench.common.stunner.core.client.shape.view.ShapeView)

Aggregations

Bounds (org.kie.workbench.common.stunner.core.graph.content.Bounds)95 Test (org.junit.Test)42 View (org.kie.workbench.common.stunner.core.graph.content.view.View)34 Bound (org.kie.workbench.common.stunner.core.graph.content.Bound)26 Node (org.kie.workbench.common.stunner.core.graph.Node)24 Edge (org.kie.workbench.common.stunner.core.graph.Edge)20 Point2D (org.kie.workbench.common.stunner.core.graph.content.view.Point2D)20 Graph (org.kie.workbench.common.stunner.core.graph.Graph)9 ArrayList (java.util.ArrayList)8 Metadata (org.kie.workbench.common.stunner.core.diagram.Metadata)7 HasBounds (org.kie.workbench.common.stunner.core.graph.content.HasBounds)7 Connection (org.kie.workbench.common.stunner.core.graph.content.view.Connection)7 Dock (org.kie.workbench.common.stunner.core.graph.content.relationship.Dock)6 NodeImpl (org.kie.workbench.common.stunner.core.graph.impl.NodeImpl)6 Before (org.junit.Before)5 Definition (org.kie.workbench.common.stunner.core.graph.content.definition.Definition)5 ViewImpl (org.kie.workbench.common.stunner.core.graph.content.view.ViewImpl)5 List (java.util.List)4 Ignore (org.junit.Ignore)4 Lane (org.kie.workbench.common.stunner.bpmn.definition.Lane)4