Search in sources :

Example 6 with Entity

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

the class TraceImageAction method actionPerformed.

@Override
public void actionPerformed(ActionEvent e) {
    ImageTracerDialog dialog = new ImageTracerDialog();
    ThreadHelper.invokeLater(() -> {
        List<Entity> entities = dialog.showDialog();
        if (entities != null && !entities.isEmpty()) {
            AddAction addAction = new AddAction(controller, entities);
            addAction.actionPerformed(e);
            controller.getSelectionManager().addSelection(entities);
            controller.getDrawing().repaint();
            controller.setTool(Tool.SELECT);
        }
    });
}
Also used : Entity(com.willwinder.ugs.nbp.designer.entities.Entity) ImageTracerDialog(com.willwinder.ugs.nbp.designer.gui.imagetracer.ImageTracerDialog)

Example 7 with Entity

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

the class PasteAction method actionPerformed.

@Override
public void actionPerformed(ActionEvent e) {
    Transferable contents = Toolkit.getDefaultToolkit().getSystemClipboard().getContents(null);
    try {
        String data = (String) contents.getTransferData(DataFlavor.stringFlavor);
        UgsDesignReader reader = new UgsDesignReader();
        List<Entity> entities = reader.deserialize(data);
        controller.getDrawing().insertEntities(entities);
        controller.getSelectionManager().clearSelection();
        controller.getSelectionManager().setSelection(entities);
    } catch (UnsupportedFlavorException | JsonSyntaxException | IOException ex) {
        LOGGER.log(Level.INFO, "Unknown paste buffer data format, ignoring");
    }
}
Also used : Entity(com.willwinder.ugs.nbp.designer.entities.Entity) JsonSyntaxException(com.google.gson.JsonSyntaxException) Transferable(java.awt.datatransfer.Transferable) IOException(java.io.IOException) UnsupportedFlavorException(java.awt.datatransfer.UnsupportedFlavorException) UgsDesignReader(com.willwinder.ugs.nbp.designer.io.ugsd.UgsDesignReader)

Example 8 with Entity

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

the class DeleteAction method actionPerformed.

@Override
public void actionPerformed(ActionEvent e) {
    SelectionManager selectionManager = controller.getSelectionManager();
    List<Entity> selection = selectionManager.getChildren();
    if (!selection.isEmpty()) {
        UndoableDeleteAction undoableAction = new UndoableDeleteAction(controller.getDrawing(), selection);
        controller.getUndoManager().addAction(undoableAction);
        undoableAction.execute();
    }
    selectionManager.clearSelection();
}
Also used : SelectionManager(com.willwinder.ugs.nbp.designer.entities.selection.SelectionManager) Entity(com.willwinder.ugs.nbp.designer.entities.Entity)

Example 9 with Entity

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

the class FlipHorizontallyAction method actionPerformed.

@Override
public void actionPerformed(ActionEvent e) {
    SelectionManager selectionManager = controller.getSelectionManager();
    if (!selectionManager.getSelection().isEmpty()) {
        List<Entity> entities = selectionManager.getSelection();
        EntityGroup entityGroup = new EntityGroup();
        entityGroup.addAll(entities);
        UndoableFlipHorizontallyAction undoableAction = new UndoableFlipHorizontallyAction(controller.getDrawing(), entityGroup);
        controller.getUndoManager().addAction(undoableAction);
        undoableAction.execute();
    }
}
Also used : SelectionManager(com.willwinder.ugs.nbp.designer.entities.selection.SelectionManager) Entity(com.willwinder.ugs.nbp.designer.entities.Entity) EntityGroup(com.willwinder.ugs.nbp.designer.entities.EntityGroup)

Example 10 with Entity

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

the class BreakApartAction method onSelectionEvent.

@Override
public void onSelectionEvent(SelectionEvent selectionEvent) {
    SelectionManager selectionManager = controller.getSelectionManager();
    boolean isSingleEntity = selectionManager.getSelection().size() == 1;
    if (!isSingleEntity) {
        setEnabled(false);
        return;
    }
    boolean isCompoundPath = false;
    Entity entity = selectionManager.getSelection().get(0);
    if (entity instanceof Path) {
        isCompoundPath = ((Path) entity).isCompoundPath();
    }
    setEnabled(isCompoundPath);
}
Also used : Path(com.willwinder.ugs.nbp.designer.entities.cuttable.Path) SelectionManager(com.willwinder.ugs.nbp.designer.entities.selection.SelectionManager) Entity(com.willwinder.ugs.nbp.designer.entities.Entity)

Aggregations

Entity (com.willwinder.ugs.nbp.designer.entities.Entity)22 Point2D (java.awt.geom.Point2D)7 SelectionManager (com.willwinder.ugs.nbp.designer.entities.selection.SelectionManager)6 EntityGroup (com.willwinder.ugs.nbp.designer.entities.EntityGroup)4 Design (com.willwinder.ugs.nbp.designer.model.Design)4 ArrayList (java.util.ArrayList)4 Text (com.willwinder.ugs.nbp.designer.entities.cuttable.Text)3 MouseEntityEvent (com.willwinder.ugs.nbp.designer.gui.MouseEntityEvent)3 UndoManager (com.willwinder.ugs.nbp.designer.actions.UndoManager)2 Group (com.willwinder.ugs.nbp.designer.entities.cuttable.Group)2 Size (com.willwinder.ugs.nbp.designer.model.Size)2 Gson (com.google.gson.Gson)1 GsonBuilder (com.google.gson.GsonBuilder)1 JsonSyntaxException (com.google.gson.JsonSyntaxException)1 MoveAction (com.willwinder.ugs.nbp.designer.actions.MoveAction)1 RotateAction (com.willwinder.ugs.nbp.designer.actions.RotateAction)1 Cuttable (com.willwinder.ugs.nbp.designer.entities.cuttable.Cuttable)1 Path (com.willwinder.ugs.nbp.designer.entities.cuttable.Path)1 ImageTracerDialog (com.willwinder.ugs.nbp.designer.gui.imagetracer.ImageTracerDialog)1 C2dFile (com.willwinder.ugs.nbp.designer.io.c2d.model.C2dFile)1