Beispiel #1
0
    def save_design(self, _=None):
        """Handles click on save design."""
        if self.design:
            # get file path
            filename = self.design.save_path
            if not filename:
                QMessageBox.warning(
                    self, 'Warning', 'This  will save a .metal.py script '
                    'that needs to be copied into a jupyter notebook to run.'
                    'The "Load" button has not yet been implemented.')

                filename = QFileDialog.getSaveFileName(
                    None,
                    'Select a new location to save Metal design to',
                    self.design.get_design_name() + '.metal.py',
                    selectedFilter='*.metal.py')[0]
                self.design.save_path = filename
            # save python script to file path
            pyscript = self.design.to_python_script()
            with open(filename, 'w') as f:
                f.write(pyscript)

            #make it clear it's saving
            saving_dialog = QDialog(self)
            saving_dialog.setWindowModality(Qt.NonModal)
            v = QVBoxLayout()
            saving_dialog.setLayout(v)
            v.addWidget(QLabel("Saving..."))
            saving_dialog.open()
            saving_dialog.show()
            QTimer.singleShot(200, saving_dialog.close)
        else:
            self.logger.info('No design present.')
            QMessageBox.warning(self, 'Warning', 'No design present! Can'
                                't save')
Beispiel #2
0
 def __open_settings_window(self):
     settings_window = QDialog(self)
     settings_window.setWindowTitle("Settings")
     printer_settings = QGroupBox("Printer Settings:", settings_window)
     printer_type_label = QLabel("Printer Type:", printer_settings)
     self.printer_type_combo = QComboBox(printer_settings)
     self.printer_type_combo.addItems(self.supported_printers)
     self.printer_type_combo.setCurrentIndex(
         self.supported_printers.index(self.selected_printer))
     apply_button = QPushButton("Apply Changes", printer_settings)
     apply_button.clicked.connect(self.__apply_settings)
     apply_button.clicked.connect(settings_window.close)
     apply_button.setAutoDefault(False)
     printer_settings_layout = QGridLayout(printer_settings)
     printer_settings_layout.addWidget(printer_type_label, 0, 0)
     printer_settings_layout.addWidget(self.printer_type_combo, 0, 1)
     printer_settings_layout.addWidget(apply_button, 4, 1)
     if self.selected_printer is self.supported_printers[0]:
         extra_settings = self.dlp_gui.get_settings_window(settings_window)
     elif self.selected_printer is self.supported_printers[1]:
         extra_settings = self.metal_gui.get_settings_window(
             settings_window)
     settings_layout = QVBoxLayout(settings_window)
     settings_layout.addWidget(printer_settings)
     settings_layout.addWidget(extra_settings)
     settings_window.open()