From 0cf7e9bf83018a04a139b09c95ec666bedef3b41 Mon Sep 17 00:00:00 2001 From: josephblt Date: Fri, 20 Oct 2017 12:09:40 -0200 Subject: [PATCH] Min Max Constraints Support - Issue #121 Round Corners Support - Issue #140 --- .../roger600/lienzo/client/DockingTests.java | 27 +++++++++++-------- .../lienzo/client/ShapeResizeTests.java | 4 ++- 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/src/main/java/org/roger600/lienzo/client/DockingTests.java b/src/main/java/org/roger600/lienzo/client/DockingTests.java index 101b832..69ff778 100644 --- a/src/main/java/org/roger600/lienzo/client/DockingTests.java +++ b/src/main/java/org/roger600/lienzo/client/DockingTests.java @@ -47,7 +47,7 @@ public boolean acceptContainment(WiresContainer parent, WiresShape child) { return true; } }); - + wires_manager.setDockingAcceptor(new IDockingAcceptor() { @Override public boolean dockingAllowed(WiresContainer parent, WiresShape child) { @@ -105,41 +105,46 @@ public int getHotspotSize() { } }); - MultiPath parentMultiPath = new MultiPath().rect(0, 0, 300, 300).setStrokeColor("#000000"); + MultiPath parentMultiPath = new MultiPath().rect(0, 0, 200, 200).setStrokeColor("#000000"); final WiresShape parentShape = new WiresShape(parentMultiPath); parentShape.getContainer().setUserData( "dock-source" ); wires_manager.register( parentShape ); - parentShape.setDraggable(true).setX(200).setY(200); + parentShape.setDraggable(true).setX(100).setY(200); wires_manager.getMagnetManager().createMagnets(parentShape); + MultiPath parentMultiPath2 = new MultiPath().rect(0, 0, 200, 200).setCornerRadius(30).setStrokeColor("#000000"); + final WiresShape parentShape2 = new WiresShape(parentMultiPath2); + parentShape2.getContainer().setUserData( "dock-source" ); + wires_manager.register( parentShape2 ); + parentShape2.setDraggable(true).setX(500).setY(200); + wires_manager.getMagnetManager().createMagnets(parentShape2); + MultiPath childMultiPath = new MultiPath().rect(0, 0, 100, 100).setStrokeColor("#CC0000"); final WiresShape childShape = new WiresShape(childMultiPath); childShape.getContainer().setUserData( "dock-source" ); wires_manager.register( childShape ); - childShape.setDraggable(true).setX(600).setY(200); + childShape.setDraggable(true).setX(200).setY(200); wires_manager.getMagnetManager().createMagnets(childShape); MultiPath dockMultiPath = new MultiPath().rect(0, 0, 100, 100).setStrokeColor("#0000FF"); final WiresShape dockShape = new WiresShape(dockMultiPath); dockShape.getContainer().setUserData( "dock-target" ); wires_manager.register( dockShape ); - dockShape.setDraggable(true).setX(600).setY(200); + dockShape.setDraggable(true).setX(200).setY(200); wires_manager.getMagnetManager().createMagnets(dockShape); doDock( parentShape, dockShape ); - } - + private void doDock( WiresShape parentShape , WiresShape child ) { child.removeFromParent(); child.getGroup().setX( -50 ).setY( 50 ); - + parentShape.add(child); child.setDockedTo(parentShape); - - } -} + } +} \ No newline at end of file diff --git a/src/main/java/org/roger600/lienzo/client/ShapeResizeTests.java b/src/main/java/org/roger600/lienzo/client/ShapeResizeTests.java index 0a9b469..0f82d88 100644 --- a/src/main/java/org/roger600/lienzo/client/ShapeResizeTests.java +++ b/src/main/java/org/roger600/lienzo/client/ShapeResizeTests.java @@ -18,6 +18,7 @@ import com.ait.lienzo.client.core.shape.wires.event.WiresResizeStartHandler; import com.ait.lienzo.client.core.shape.wires.event.WiresResizeStepEvent; import com.ait.lienzo.client.core.shape.wires.event.WiresResizeStepHandler; +import com.ait.lienzo.client.core.types.BoundingBox; import com.google.gwt.core.client.GWT; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; @@ -73,7 +74,8 @@ public void test(Layer layer) { // Rectangle - cornering via corner-radius attribute rectangle3 = new WiresShape( new MultiPath().rect(0, 0, 400, 400) - // TODO .setCornerRadius(50) + .setCornerRadius(50) + .setSizeConstraints( new BoundingBox(40, 40, 500, 500) ) .setStrokeColor( "#FFFFFF" ).setFillColor( "#CCBB00" ) ) .setX( 500 ).setY( 100 );