Search in sources :

Example 1 with Rectangle

use of com.willwinder.ugs.nbp.designer.entities.cuttable.Rectangle in project Universal-G-Code-Sender by winder.

the class EntityRectangleV1 method toInternal.

@Override
public Entity toInternal() {
    Rectangle rectangle = new Rectangle();
    applyCommonAttributes(rectangle);
    return rectangle;
}
Also used : Rectangle(com.willwinder.ugs.nbp.designer.entities.cuttable.Rectangle)

Example 2 with Rectangle

use of com.willwinder.ugs.nbp.designer.entities.cuttable.Rectangle in project Universal-G-Code-Sender by winder.

the class EntityGroupTest method moveShouldMoveChildren.

@Test
public void moveShouldMoveChildren() {
    EntityGroup entityGroup = new EntityGroup();
    Rectangle rectangle = new Rectangle(10, 10);
    rectangle.setWidth(10);
    rectangle.setHeight(10);
    entityGroup.addChild(rectangle);
    entityGroup.move(new Point2D.Double(-10, -10));
    assertEquals(0, rectangle.getPosition().getX(), 0.1);
    assertEquals(0, rectangle.getPosition().getX(), 0.1);
}
Also used : Point2D(java.awt.geom.Point2D) Rectangle(com.willwinder.ugs.nbp.designer.entities.cuttable.Rectangle) Test(org.junit.Test)

Example 3 with Rectangle

use of com.willwinder.ugs.nbp.designer.entities.cuttable.Rectangle in project Universal-G-Code-Sender by winder.

the class MoveControlTest method moveShouldMoveWhenDraggedAndReleasedTarget.

@Test
public void moveShouldMoveWhenDraggedAndReleasedTarget() {
    Rectangle rectangle = new Rectangle();
    rectangle.setWidth(10);
    rectangle.setHeight(10);
    rectangle.move(new Point2D.Double(10, 10));
    SelectionManager selectionManager = new SelectionManager();
    selectionManager.addSelection(rectangle);
    Controller controller = new Controller(selectionManager, new SimpleUndoManager());
    MoveControl target = new MoveControl(controller);
    target.onEvent(new MouseEntityEvent(target, EventType.MOUSE_PRESSED, new Point2D.Double(10, 10), new Point2D.Double(10, 10)));
    target.onEvent(new MouseEntityEvent(target, EventType.MOUSE_DRAGGED, new Point2D.Double(10, 10), new Point2D.Double(11, 11)));
    target.onEvent(new MouseEntityEvent(target, EventType.MOUSE_DRAGGED, new Point2D.Double(10, 10), new Point2D.Double(12, 12)));
    target.onEvent(new MouseEntityEvent(target, EventType.MOUSE_DRAGGED, new Point2D.Double(10, 10), new Point2D.Double(11, 11)));
    target.onEvent(new MouseEntityEvent(target, EventType.MOUSE_RELEASED, new Point2D.Double(10, 10), new Point2D.Double(11, 11)));
    Assert.assertEquals(11, rectangle.getPosition().getX(), 0.1);
    Assert.assertEquals(11, rectangle.getPosition().getY(), 0.1);
}
Also used : SelectionManager(com.willwinder.ugs.nbp.designer.entities.selection.SelectionManager) MouseEntityEvent(com.willwinder.ugs.nbp.designer.gui.MouseEntityEvent) SimpleUndoManager(com.willwinder.ugs.nbp.designer.actions.SimpleUndoManager) Point2D(java.awt.geom.Point2D) Rectangle(com.willwinder.ugs.nbp.designer.entities.cuttable.Rectangle) Controller(com.willwinder.ugs.nbp.designer.logic.Controller) MoveControl(com.willwinder.ugs.nbp.designer.entities.controls.MoveControl) Test(org.junit.Test)

Example 4 with Rectangle

use of com.willwinder.ugs.nbp.designer.entities.cuttable.Rectangle in project Universal-G-Code-Sender by winder.

the class MoveControlTest method moveShouldMoveEntitiesWhenParentIsScaled.

@Test
public void moveShouldMoveEntitiesWhenParentIsScaled() {
    EntityGroup entityGroup = new EntityGroup();
    entityGroup.applyTransform(AffineTransform.getScaleInstance(0.1, 0.1));
    Rectangle rectangle = new Rectangle();
    rectangle.setWidth(10);
    rectangle.setHeight(10);
    entityGroup.addChild(rectangle);
    SelectionManager selectionManager = new SelectionManager();
    selectionManager.addSelection(rectangle);
    Assert.assertEquals(0, selectionManager.getPosition().getX(), 0.1);
    Assert.assertEquals(0, selectionManager.getPosition().getY(), 0.1);
    Controller controller = new Controller(selectionManager, new SimpleUndoManager());
    MoveControl target = new MoveControl(controller);
    target.onEvent(new MouseEntityEvent(target, EventType.MOUSE_PRESSED, new Point2D.Double(10, 10), new Point2D.Double(10, 10)));
    target.onEvent(new MouseEntityEvent(target, EventType.MOUSE_DRAGGED, new Point2D.Double(10, 10), new Point2D.Double(11, 11)));
    target.onEvent(new MouseEntityEvent(target, EventType.MOUSE_DRAGGED, new Point2D.Double(10, 10), new Point2D.Double(12, 12)));
    target.onEvent(new MouseEntityEvent(target, EventType.MOUSE_DRAGGED, new Point2D.Double(10, 10), new Point2D.Double(20, 20)));
    target.onEvent(new MouseEntityEvent(target, EventType.MOUSE_RELEASED, new Point2D.Double(10, 10), new Point2D.Double(20, 20)));
    Assert.assertEquals(10, rectangle.getPosition().getX(), 0.1);
    Assert.assertEquals(10, rectangle.getPosition().getY(), 0.1);
}
Also used : SelectionManager(com.willwinder.ugs.nbp.designer.entities.selection.SelectionManager) MouseEntityEvent(com.willwinder.ugs.nbp.designer.gui.MouseEntityEvent) SimpleUndoManager(com.willwinder.ugs.nbp.designer.actions.SimpleUndoManager) Rectangle(com.willwinder.ugs.nbp.designer.entities.cuttable.Rectangle) Controller(com.willwinder.ugs.nbp.designer.logic.Controller) MoveControl(com.willwinder.ugs.nbp.designer.entities.controls.MoveControl) Test(org.junit.Test)

Example 5 with Rectangle

use of com.willwinder.ugs.nbp.designer.entities.cuttable.Rectangle in project Universal-G-Code-Sender by winder.

the class MoveControlTest method moveShouldMoveWhenDragged.

@Test
public void moveShouldMoveWhenDragged() {
    Rectangle rectangle = new Rectangle();
    rectangle.setWidth(10);
    rectangle.setHeight(10);
    rectangle.move(new Point2D.Double(10, 10));
    SelectionManager selectionManager = new SelectionManager();
    selectionManager.addSelection(rectangle);
    Controller controller = new Controller(selectionManager, new SimpleUndoManager());
    MoveControl target = new MoveControl(controller);
    target.onEvent(new MouseEntityEvent(target, EventType.MOUSE_PRESSED, new Point2D.Double(10, 10), new Point2D.Double(10, 10)));
    target.onEvent(new MouseEntityEvent(target, EventType.MOUSE_DRAGGED, new Point2D.Double(10, 10), new Point2D.Double(11, 11)));
    target.onEvent(new MouseEntityEvent(target, EventType.MOUSE_DRAGGED, new Point2D.Double(10, 10), new Point2D.Double(12, 12)));
    target.onEvent(new MouseEntityEvent(target, EventType.MOUSE_DRAGGED, new Point2D.Double(10, 10), new Point2D.Double(11, 11)));
    Assert.assertEquals(11, rectangle.getPosition().getX(), 0.1);
    Assert.assertEquals(11, rectangle.getPosition().getY(), 0.1);
}
Also used : SelectionManager(com.willwinder.ugs.nbp.designer.entities.selection.SelectionManager) MouseEntityEvent(com.willwinder.ugs.nbp.designer.gui.MouseEntityEvent) SimpleUndoManager(com.willwinder.ugs.nbp.designer.actions.SimpleUndoManager) Point2D(java.awt.geom.Point2D) Rectangle(com.willwinder.ugs.nbp.designer.entities.cuttable.Rectangle) Controller(com.willwinder.ugs.nbp.designer.logic.Controller) MoveControl(com.willwinder.ugs.nbp.designer.entities.controls.MoveControl) Test(org.junit.Test)

Aggregations

Rectangle (com.willwinder.ugs.nbp.designer.entities.cuttable.Rectangle)43 Test (org.junit.Test)40 Point2D (java.awt.geom.Point2D)22 Size (com.willwinder.ugs.nbp.designer.model.Size)8 SimpleUndoManager (com.willwinder.ugs.nbp.designer.actions.SimpleUndoManager)6 MoveControl (com.willwinder.ugs.nbp.designer.entities.controls.MoveControl)6 SelectionManager (com.willwinder.ugs.nbp.designer.entities.selection.SelectionManager)6 MouseEntityEvent (com.willwinder.ugs.nbp.designer.gui.MouseEntityEvent)6 Controller (com.willwinder.ugs.nbp.designer.logic.Controller)6 Segment (com.willwinder.ugs.nbp.designer.io.gcode.path.Segment)2 SegmentType (com.willwinder.ugs.nbp.designer.io.gcode.path.SegmentType)2 Axis (com.willwinder.universalgcodesender.model.Axis)2 PartialPosition (com.willwinder.universalgcodesender.model.PartialPosition)2 AffineTransform (java.awt.geom.AffineTransform)2 List (java.util.List)2 Collectors (java.util.stream.Collectors)2 Assert (org.junit.Assert)2 AddAction (com.willwinder.ugs.nbp.designer.actions.AddAction)1 GcodePath (com.willwinder.ugs.nbp.designer.io.gcode.path.GcodePath)1 ActionEvent (java.awt.event.ActionEvent)1