Search in sources :

Example 1 with C2dReader

use of com.willwinder.ugs.nbp.designer.io.c2d.C2dReader 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)

Example 2 with C2dReader

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

the class ToolImportAction method actionPerformed.

@Override
public void actionPerformed(ActionEvent e) {
    JFileChooser fileDialog = new JFileChooser();
    fileDialog.setFileSelectionMode(JFileChooser.FILES_ONLY);
    fileDialog.addChoosableFileFilter(new FileNameExtensionFilter("Scalable Vector Graphics (.svg)", "svg"));
    fileDialog.addChoosableFileFilter(new FileNameExtensionFilter("Autodesk CAD (.dxf)", "dxf"));
    fileDialog.addChoosableFileFilter(new FileNameExtensionFilter("Carbide Create (.c2d)", "c2d"));
    fileDialog.showOpenDialog(null);
    ThreadHelper.invokeLater(() -> {
        File f = fileDialog.getSelectedFile();
        if (f != null) {
            Optional<Design> optionalDesign = Optional.empty();
            if (StringUtils.endsWithIgnoreCase(f.getName(), ".svg")) {
                SvgReader svgReader = new SvgReader();
                optionalDesign = svgReader.read(f);
            } else if (StringUtils.endsWithIgnoreCase(f.getName(), ".dxf")) {
                DxfReader reader = new DxfReader();
                optionalDesign = reader.read(f);
            } else if (StringUtils.endsWithIgnoreCase(f.getName(), ".c2d")) {
                C2dReader reader = new C2dReader();
                optionalDesign = reader.read(f);
            }
            if (optionalDesign.isPresent()) {
                Design design = optionalDesign.get();
                controller.addEntities(design.getEntities());
                controller.getSelectionManager().addSelection(design.getEntities());
                controller.getDrawing().repaint();
                controller.setTool(Tool.SELECT);
            } else {
                throw new RuntimeException("Could not open: " + f.getName());
            }
        }
    });
}
Also used : Design(com.willwinder.ugs.nbp.designer.model.Design) SvgReader(com.willwinder.ugs.nbp.designer.io.svg.SvgReader) JFileChooser(javax.swing.JFileChooser) DxfReader(com.willwinder.ugs.nbp.designer.io.dxf.DxfReader) C2dReader(com.willwinder.ugs.nbp.designer.io.c2d.C2dReader) FileNameExtensionFilter(javax.swing.filechooser.FileNameExtensionFilter) File(java.io.File)

Aggregations

C2dReader (com.willwinder.ugs.nbp.designer.io.c2d.C2dReader)2 SvgReader (com.willwinder.ugs.nbp.designer.io.svg.SvgReader)2 Design (com.willwinder.ugs.nbp.designer.model.Design)2 File (java.io.File)2 SelectionManager (com.willwinder.ugs.nbp.designer.entities.selection.SelectionManager)1 DesignReader (com.willwinder.ugs.nbp.designer.io.DesignReader)1 DxfReader (com.willwinder.ugs.nbp.designer.io.dxf.DxfReader)1 UgsDesignReader (com.willwinder.ugs.nbp.designer.io.ugsd.UgsDesignReader)1 Controller (com.willwinder.ugs.nbp.designer.logic.Controller)1 JFileChooser (javax.swing.JFileChooser)1 FileNameExtensionFilter (javax.swing.filechooser.FileNameExtensionFilter)1