Search in sources :

Example 1 with Height

use of org.kie.workbench.common.stunner.bpmn.definition.property.dimensions.Height in project kie-wb-common by kiegroup.

the class AbstractNodeBuilder method setSize.

protected void setSize(final BuilderContext context, final T node, final double width, final double height) {
    Object definition = node.getContent().getDefinition();
    Width w = null;
    Height h = null;
    Set<?> properties = context.getDefinitionManager().adapters().forDefinition().getProperties(definition);
    if (null != properties) {
        // Look for w/h or radius and set the values.
        for (Object property : properties) {
            if (property instanceof Radius) {
                Radius radius = (Radius) property;
                double r = getRadius(width, height);
                radius.setValue(r);
                break;
            }
            if (property instanceof Width) {
                w = (Width) property;
                w.setValue(width);
                if (h != null) {
                    break;
                }
            }
            if (property instanceof Height) {
                h = (Height) property;
                h.setValue(height);
                if (w != null) {
                    break;
                }
            }
        }
    }
}
Also used : Radius(org.kie.workbench.common.stunner.bpmn.definition.property.dimensions.Radius) Height(org.kie.workbench.common.stunner.bpmn.definition.property.dimensions.Height) Width(org.kie.workbench.common.stunner.bpmn.definition.property.dimensions.Width)

Example 2 with Height

use of org.kie.workbench.common.stunner.bpmn.definition.property.dimensions.Height in project kie-wb-common by kiegroup.

the class BaseArtifactsTest method testEquals.

@Test
public void testEquals() {
    assertTrue(tested.equals(new DataObject()));
    assertFalse(tested.equals(""));
    final DataObject dataObject = new DataObject();
    BgColor color = new BgColor();
    color.setValue("Black");
    dataObject.getBackgroundSet().setBgColor(color);
    assertFalse(tested.equals(dataObject));
    tested.getBackgroundSet().setBgColor(color);
    assertTrue(tested.equals(dataObject));
    dataObject.getFontSet().setFontSize(new FontSize(11.0));
    assertFalse(tested.equals(dataObject));
    tested.getFontSet().setFontSize(new FontSize(11.0));
    assertTrue(tested.equals(dataObject));
    dataObject.getDimensionsSet().setHeight(new Height(11.0));
    assertFalse(tested.equals(dataObject));
    tested.getDimensionsSet().setHeight(new Height(11.0));
    assertTrue(tested.equals(dataObject));
}
Also used : FontSize(org.kie.workbench.common.stunner.bpmn.definition.property.font.FontSize) Height(org.kie.workbench.common.stunner.bpmn.definition.property.dimensions.Height) BgColor(org.kie.workbench.common.stunner.bpmn.definition.property.background.BgColor) Test(org.junit.Test)

Example 3 with Height

use of org.kie.workbench.common.stunner.bpmn.definition.property.dimensions.Height in project kie-wb-common by kiegroup.

the class CustomTaskShapeViewHandlerTest method init.

@Before
@SuppressWarnings("unchecked")
public void init() {
    task = new CustomTask();
    task.setName(WID_ID);
    task.setDimensionsSet(new RectangleDimensionsSet());
    width = spy(new Width(0d));
    height = spy(new Height(0d));
    task.getDimensionsSet().setWidth(width);
    task.getDimensionsSet().setHeight(height);
    when(registry.items()).thenReturn(Collections.singleton(DEF));
    when(registry.get(eq(WID_ID))).thenReturn(DEF);
    when(view.getChildren()).thenReturn(Collections.singletonList(iconSVGPrimiite));
    when(iconSVGPrimiite.getId()).thenReturn(CustomTaskShapeViewHandler.WID_ICON_ID);
    when(iconSVGPrimiite.get()).thenReturn(icon);
    when(iconSVGPrimiite.getPrimitiveId()).thenReturn(CustomTaskShapeViewHandler.WID_ICON_ID);
    when(icon.getID()).thenReturn(CustomTaskShapeViewHandler.WID_ICON_ID);
    when(icon.getImageProxy()).thenReturn(imageProxy);
    when(view.getPrimitive()).thenReturn(iconSVGPrimiite);
    when(icon.getAttributes()).thenReturn(svgAttr);
    when(svgAttr.getHeight()).thenReturn(HEIGHT);
    when(svgAttr.getWidth()).thenReturn(WIDTH);
    this.tested = new CustomTaskShapeViewHandler(() -> registry);
}
Also used : Height(org.kie.workbench.common.stunner.bpmn.definition.property.dimensions.Height) RectangleDimensionsSet(org.kie.workbench.common.stunner.bpmn.definition.property.dimensions.RectangleDimensionsSet) CustomTask(org.kie.workbench.common.stunner.bpmn.workitem.CustomTask) Width(org.kie.workbench.common.stunner.bpmn.definition.property.dimensions.Width) Before(org.junit.Before)

Example 4 with Height

use of org.kie.workbench.common.stunner.bpmn.definition.property.dimensions.Height in project kie-wb-common by kiegroup.

the class ProcessPostConverter method adjustLane.

private static void adjustLane(BpmnNode lane, Padding padding) {
    if (lane.hasChildren()) {
        ViewPort viewPort = ViewPort.of(lane, false);
        Bounds laneBounds = lane.value().getContent().getBounds();
        Bound laneUl = laneBounds.getUpperLeft();
        Bound laneLr = laneBounds.getLowerRight();
        laneUl.setX(viewPort.getUpperLeftX() - padding.getLeft());
        laneUl.setY(viewPort.getUpperLeftY() - padding.getTop());
        laneLr.setX(viewPort.getLowerRightX() + padding.getRight());
        laneLr.setY(viewPort.getLowerRightY() + padding.getBottom());
        RectangleDimensionsSet laneRectangle = ((Lane) lane.value().getContent().getDefinition()).getDimensionsSet();
        laneRectangle.setWidth(new Width(laneBounds.getWidth()));
        laneRectangle.setHeight(new Height(laneBounds.getHeight()));
    }
}
Also used : Bounds(org.kie.workbench.common.stunner.core.graph.content.Bounds) Bound(org.kie.workbench.common.stunner.core.graph.content.Bound) Lane(org.kie.workbench.common.stunner.bpmn.definition.Lane) Height(org.kie.workbench.common.stunner.bpmn.definition.property.dimensions.Height) RectangleDimensionsSet(org.kie.workbench.common.stunner.bpmn.definition.property.dimensions.RectangleDimensionsSet) Width(org.kie.workbench.common.stunner.bpmn.definition.property.dimensions.Width)

Example 5 with Height

use of org.kie.workbench.common.stunner.bpmn.definition.property.dimensions.Height in project kie-wb-common by kiegroup.

the class ProcessPostConverter method resizeSubProcess.

private void resizeSubProcess(BpmnNode subProcess) {
    if (subProcess.hasChildren()) {
        ViewPort viewPort = ViewPort.of(subProcess, true);
        double leftPadding = viewPort.getUpperLeftX();
        double topPadding = viewPort.getUpperLeftY();
        double width = viewPort.getLowerRightX() + leftPadding;
        double height = viewPort.getLowerRightY() + topPadding;
        Bounds subProcessBounds = subProcess.value().getContent().getBounds();
        Bound subProcessUl = subProcessBounds.getUpperLeft();
        Bound subProcessLr = subProcessBounds.getLowerRight();
        Bounds subProcessOriginalBounds = Bounds.create(subProcessUl.getX(), subProcessUl.getY(), subProcessLr.getX(), subProcessLr.getY());
        double originalWidth = subProcessBounds.getWidth();
        double originalHeight = subProcessBounds.getHeight();
        subProcessLr.setX(subProcessUl.getX() + width);
        subProcessLr.setY(subProcessUl.getY() + height);
        RectangleDimensionsSet subProcessRectangle = ((BaseSubprocess) subProcess.value().getContent().getDefinition()).getDimensionsSet();
        subProcessRectangle.setWidth(new Width(width));
        subProcessRectangle.setHeight(new Height(height));
        context.setResized(subProcess, true);
        double widthFactor = width / originalWidth;
        double heightFactor = height / originalHeight;
        // incoming connections has the target point relative to subProcess so they needs to be scaled.
        inEdges(subProcess.getParent(), subProcess).forEach(edge -> scale(edge.getTargetConnection().getLocation(), widthFactor, heightFactor));
        // outgoing connections has source point relative to the subProcess so they needs to be scaled.
        outEdges(subProcess.getParent(), subProcess).forEach(edge -> scale(edge.getSourceConnection().getLocation(), widthFactor, heightFactor));
        // boundary elements are relative to the target subProcess so they needs to be scaled.
        dockedNodes(subProcess.getParent(), subProcess).forEach(node -> scaleBoundaryEventPosition(node, subProcessOriginalBounds, subProcessBounds, widthFactor, heightFactor));
    }
}
Also used : BaseSubprocess(org.kie.workbench.common.stunner.bpmn.definition.BaseSubprocess) Bounds(org.kie.workbench.common.stunner.core.graph.content.Bounds) Bound(org.kie.workbench.common.stunner.core.graph.content.Bound) Height(org.kie.workbench.common.stunner.bpmn.definition.property.dimensions.Height) RectangleDimensionsSet(org.kie.workbench.common.stunner.bpmn.definition.property.dimensions.RectangleDimensionsSet) Width(org.kie.workbench.common.stunner.bpmn.definition.property.dimensions.Width)

Aggregations

Height (org.kie.workbench.common.stunner.bpmn.definition.property.dimensions.Height)5 Width (org.kie.workbench.common.stunner.bpmn.definition.property.dimensions.Width)4 RectangleDimensionsSet (org.kie.workbench.common.stunner.bpmn.definition.property.dimensions.RectangleDimensionsSet)3 Bound (org.kie.workbench.common.stunner.core.graph.content.Bound)2 Bounds (org.kie.workbench.common.stunner.core.graph.content.Bounds)2 Before (org.junit.Before)1 Test (org.junit.Test)1 BaseSubprocess (org.kie.workbench.common.stunner.bpmn.definition.BaseSubprocess)1 Lane (org.kie.workbench.common.stunner.bpmn.definition.Lane)1 BgColor (org.kie.workbench.common.stunner.bpmn.definition.property.background.BgColor)1 Radius (org.kie.workbench.common.stunner.bpmn.definition.property.dimensions.Radius)1 FontSize (org.kie.workbench.common.stunner.bpmn.definition.property.font.FontSize)1 CustomTask (org.kie.workbench.common.stunner.bpmn.workitem.CustomTask)1