Search in sources :

Example 1 with UgsDesignReader

use of com.willwinder.ugs.nbp.designer.io.ugsd.UgsDesignReader in project Universal-G-Code-Sender by winder.

the class DesignerTopComponent method loadDesign.

private void loadDesign(UgsDataObject dataObject) {
    Design design = new Design();
    try {
        File file = new File(dataObject.getPrimaryFile().getPath());
        if (file.exists()) {
            UgsDesignReader reader = new UgsDesignReader();
            design = reader.read(file).orElse(design);
        }
    } catch (Exception e) {
        LOGGER.log(Level.SEVERE, "Couldn't load design from file " + dataObject.getPrimaryFile(), e);
    }
    controller.setDesign(design);
}
Also used : Design(com.willwinder.ugs.nbp.designer.model.Design) File(java.io.File) UgsDesignReader(com.willwinder.ugs.nbp.designer.io.ugsd.UgsDesignReader)

Example 2 with UgsDesignReader

use of com.willwinder.ugs.nbp.designer.io.ugsd.UgsDesignReader 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 3 with UgsDesignReader

use of com.willwinder.ugs.nbp.designer.io.ugsd.UgsDesignReader in project Universal-G-Code-Sender by winder.

the class OpenAction 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);
    fileChooser.showOpenDialog(null);
    ThreadHelper.invokeLater(() -> {
        DesignReader designReader = new UgsDesignReader();
        if (fileChooser.getFileFilter() == SVG_FILE_FILTER) {
            designReader = new SvgReader();
        } else if (fileChooser.getFileFilter() == C2D_FILE_FILTER) {
            designReader = new C2dReader();
        }
        File selectedFile = fileChooser.getSelectedFile();
        Optional<Design> optional = designReader.read(selectedFile);
        if (optional.isPresent()) {
            controller.setDesign(optional.get());
        } else {
            throw new RuntimeException("Could not open svg: " + selectedFile.getName());
        }
    });
}
Also used : Design(com.willwinder.ugs.nbp.designer.model.Design) SelectionManager(com.willwinder.ugs.nbp.designer.entities.selection.SelectionManager) SvgReader(com.willwinder.ugs.nbp.designer.io.svg.SvgReader) C2dReader(com.willwinder.ugs.nbp.designer.io.c2d.C2dReader) DesignReader(com.willwinder.ugs.nbp.designer.io.DesignReader) UgsDesignReader(com.willwinder.ugs.nbp.designer.io.ugsd.UgsDesignReader) Controller(com.willwinder.ugs.nbp.designer.logic.Controller) File(java.io.File) UgsDesignReader(com.willwinder.ugs.nbp.designer.io.ugsd.UgsDesignReader)

Aggregations

UgsDesignReader (com.willwinder.ugs.nbp.designer.io.ugsd.UgsDesignReader)3 Design (com.willwinder.ugs.nbp.designer.model.Design)2 File (java.io.File)2 JsonSyntaxException (com.google.gson.JsonSyntaxException)1 Entity (com.willwinder.ugs.nbp.designer.entities.Entity)1 SelectionManager (com.willwinder.ugs.nbp.designer.entities.selection.SelectionManager)1 DesignReader (com.willwinder.ugs.nbp.designer.io.DesignReader)1 C2dReader (com.willwinder.ugs.nbp.designer.io.c2d.C2dReader)1 SvgReader (com.willwinder.ugs.nbp.designer.io.svg.SvgReader)1 Controller (com.willwinder.ugs.nbp.designer.logic.Controller)1 Transferable (java.awt.datatransfer.Transferable)1 UnsupportedFlavorException (java.awt.datatransfer.UnsupportedFlavorException)1 IOException (java.io.IOException)1