Search in sources :

Example 6 with Controller

use of com.willwinder.ugs.nbp.designer.logic.Controller 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)

Example 7 with Controller

use of com.willwinder.ugs.nbp.designer.logic.Controller in project Universal-G-Code-Sender by winder.

the class MoveControlTest method moveShouldMoveMultipleSelectedEntitiesFromSelectionManager.

@Test
public void moveShouldMoveMultipleSelectedEntitiesFromSelectionManager() {
    Rectangle rectangle1 = new Rectangle();
    rectangle1.setWidth(10);
    rectangle1.setHeight(10);
    rectangle1.move(new Point2D.Double(10, 10));
    Rectangle rectangle2 = new Rectangle();
    rectangle2.setWidth(10);
    rectangle2.setHeight(10);
    SelectionManager selectionManager = new SelectionManager();
    selectionManager.addSelection(rectangle1);
    selectionManager.addSelection(rectangle2);
    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, selectionManager.getPosition().getX(), 0.1);
    Assert.assertEquals(10, selectionManager.getPosition().getY(), 0.1);
    Assert.assertEquals(20, rectangle1.getPosition().getX(), 0.1);
    Assert.assertEquals(20, rectangle1.getPosition().getY(), 0.1);
    Assert.assertEquals(10, rectangle2.getPosition().getX(), 0.1);
    Assert.assertEquals(10, rectangle2.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 8 with Controller

use of com.willwinder.ugs.nbp.designer.logic.Controller in project Universal-G-Code-Sender by winder.

the class SelectionManagerTest method setSelectionWithControlShouldNotBePossible.

@Test
public void setSelectionWithControlShouldNotBePossible() {
    Controller controller = mock(Controller.class);
    MoveControl control = new MoveControl(controller);
    target.setSelection(Collections.singletonList(control));
    assertTrue(target.isEmpty());
}
Also used : Controller(com.willwinder.ugs.nbp.designer.logic.Controller) MoveControl(com.willwinder.ugs.nbp.designer.entities.controls.MoveControl) Test(org.junit.Test)

Example 9 with Controller

use of com.willwinder.ugs.nbp.designer.logic.Controller in project Universal-G-Code-Sender by winder.

the class NewAction method actionPerformed.

@Override
public void actionPerformed(ActionEvent e) {
    UndoManager undoManager = CentralLookup.getDefault().lookup(UndoManager.class);
    undoManager.clear();
    SelectionManager selectionManager = CentralLookup.getDefault().lookup(SelectionManager.class);
    selectionManager.clearSelection();
    Controller controller = CentralLookup.getDefault().lookup(Controller.class);
    controller.newDrawing();
}
Also used : SelectionManager(com.willwinder.ugs.nbp.designer.entities.selection.SelectionManager) Controller(com.willwinder.ugs.nbp.designer.logic.Controller)

Example 10 with Controller

use of com.willwinder.ugs.nbp.designer.logic.Controller in project Universal-G-Code-Sender by winder.

the class ExportGcodeAction method actionPerformed.

@Override
public void actionPerformed(ActionEvent e) {
    Optional<File> fileOptional = SwingHelpers.createFile("");
    if (fileOptional.isPresent()) {
        String path = fileOptional.get().getAbsolutePath();
        boolean hasGcodeFileEnding = path.endsWith(".gcode") || path.endsWith(".nc") || path.endsWith(".txt");
        if (!hasGcodeFileEnding) {
            path = path + ".gcode";
        }
        Controller controller = CentralLookup.getDefault().lookup(Controller.class);
        DesignWriter designWriter = new GcodeDesignWriter();
        designWriter.write(new File(path), controller);
    }
}
Also used : Controller(com.willwinder.ugs.nbp.designer.logic.Controller) DesignWriter(com.willwinder.ugs.nbp.designer.io.DesignWriter) GcodeDesignWriter(com.willwinder.ugs.nbp.designer.io.gcode.GcodeDesignWriter) File(java.io.File) GcodeDesignWriter(com.willwinder.ugs.nbp.designer.io.gcode.GcodeDesignWriter)

Aggregations

Controller (com.willwinder.ugs.nbp.designer.logic.Controller)14 MoveControl (com.willwinder.ugs.nbp.designer.entities.controls.MoveControl)8 SelectionManager (com.willwinder.ugs.nbp.designer.entities.selection.SelectionManager)8 Test (org.junit.Test)8 SimpleUndoManager (com.willwinder.ugs.nbp.designer.actions.SimpleUndoManager)6 Rectangle (com.willwinder.ugs.nbp.designer.entities.cuttable.Rectangle)6 MouseEntityEvent (com.willwinder.ugs.nbp.designer.gui.MouseEntityEvent)6 Point2D (java.awt.geom.Point2D)4 File (java.io.File)3 SelectionSettingsPanel (com.willwinder.ugs.nbp.designer.gui.SelectionSettingsPanel)1 EntitiesTree (com.willwinder.ugs.nbp.designer.gui.tree.EntitiesTree)1 DesignReader (com.willwinder.ugs.nbp.designer.io.DesignReader)1 DesignWriter (com.willwinder.ugs.nbp.designer.io.DesignWriter)1 C2dReader (com.willwinder.ugs.nbp.designer.io.c2d.C2dReader)1 GcodeDesignWriter (com.willwinder.ugs.nbp.designer.io.gcode.GcodeDesignWriter)1 SvgReader (com.willwinder.ugs.nbp.designer.io.svg.SvgReader)1 UgsDesignReader (com.willwinder.ugs.nbp.designer.io.ugsd.UgsDesignReader)1 UgsDesignWriter (com.willwinder.ugs.nbp.designer.io.ugsd.UgsDesignWriter)1 Design (com.willwinder.ugs.nbp.designer.model.Design)1 FileStateInvalidException (org.openide.filesystems.FileStateInvalidException)1