Search in sources :

Example 1 with DesignReader

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

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 UgsDesignReader (com.willwinder.ugs.nbp.designer.io.ugsd.UgsDesignReader)1 Controller (com.willwinder.ugs.nbp.designer.logic.Controller)1 Design (com.willwinder.ugs.nbp.designer.model.Design)1 File (java.io.File)1