Source code for optimeed.visualize.gui.gui_collection_exporter

from PyQt5 import QtWidgets, QtCore
from optimeed.core.collection import ListDataStruct
import os


[docs]class gui_collection_exporter(QtWidgets.QMainWindow): """Simple gui that allows to export data""" signal_has_exported = QtCore.pyqtSignal() signal_has_reset = QtCore.pyqtSignal() def __init__(self): self.theCollection = ListDataStruct() # Create PyQt5 window super(gui_collection_exporter, self).__init__() self.mainbox = QtWidgets.QWidget() self.setCentralWidget(self.mainbox) self.mainbox.setLayout(QtWidgets.QVBoxLayout()) self.mainbox.layout().setContentsMargins(0, 0, 0, 0) self.exportButton = QtWidgets.QPushButton('Export Collection', self) self.mainbox.layout().addWidget(self.exportButton) self.exportButton.clicked.connect(self.exportCollection) resetButton = QtWidgets.QPushButton('Reset', self) self.mainbox.layout().addWidget(resetButton) resetButton.clicked.connect(self.reset)
[docs] def exportCollection(self): """Export the collection""" dlg = QtWidgets.QFileDialog.getSaveFileName()[0] if dlg: root, ext = os.path.splitext(dlg) filename_collection = root + self.theCollection.get_extension() self.theCollection.save(filename_collection) self.signal_has_exported.emit()
[docs] def reset(self): self.theCollection.theData = list() self.signal_has_reset.emit()
[docs] def add_data_to_collection(self, data): """ Add data to the collection to export :param data: Whichever type you like """ self.theCollection.add_data(data) self.show()
[docs] def set_info(self, info): self.theCollection.set_info(info)
[docs] def set_collection(self, theCollection): self.theCollection = theCollection