Example #1
0
 def __init__(self, parent=None):
     """
     constructor
     """
     super(DataSelectorGUI, self).__init__(parent)
     self.ui = Ui_DockWidget_DataSelector()
     self.ui.setupUi(self)
     self.filesAndDirs = FilesAndDirs()
Example #2
0
class DataSelectorGUI(QDockWidget):

    analysisRaisedSignal = pyqtSignal(str)
    masstabRaisedSignal = pyqtSignal(str)

    def __init__(self, parent=None):
        """
        constructor
        """
        super(DataSelectorGUI, self).__init__(parent)
        self.ui = Ui_DockWidget_DataSelector()
        self.ui.setupUi(self)
        self.filesAndDirs = FilesAndDirs()

    def setup(self):
        self.connect_events()
        self.fill_year()

    def connect_events(self):
        self.ui.lineEdit_Folder.textChanged.connect(self.fill_year)
        self.ui.comboBox_Year.currentIndexChanged.connect(self.fill_month)
        self.ui.comboBox_Month.currentIndexChanged.connect(self.fill_day)
        self.ui.comboBox_Day.currentIndexChanged.connect(self.fill_setup)
        self.ui.comboBox_Setup.currentIndexChanged.connect(self.fill_spectra)
        self.ui.comboBox_Number.currentIndexChanged.connect(self.fill_acquis)
        self.ui.comboBox_Acquis.currentIndexChanged.connect(self.fill_accums)
        #         self.ui.checkBox_AutoUpdate.stateChanged.connect(self.toggle_update)
        self.ui.pushButton_StartAnalysis.clicked.connect(self.emit_signals)
        self.ui.pushButton_GetLast.clicked.connect(self.get_last)

    def fill_year(self):
        log.debug("event from %s", self.sender())
        self.ui.pushButton_GetLast.hide()
        self.ui.comboBox_Year.clear()
        self.folder = self.ui.lineEdit_Folder.text()
        li = self.filesAndDirs.get_years(self.folder)
        if li:
            self.ui.comboBox_Year.addItems(li)

    def fill_month(self):
        log.debug("event from %s", self.sender())
        self.ui.pushButton_GetLast.hide()
        self.ui.comboBox_Month.clear()
        self.year = self.ui.comboBox_Year.currentText()
        if self.year:
            months = self.filesAndDirs.get_months(int(self.year))
            if months:
                self.ui.comboBox_Month.addItems(months)

    def fill_day(self):
        log.debug("event from %s", self.sender())
        self.ui.pushButton_GetLast.hide()
        self.ui.comboBox_Day.clear()
        self.ui.lineEdit_Directory.clear()
        self.month = self.ui.comboBox_Month.currentText()
        if self.month:
            days = self.filesAndDirs.get_days(int(self.year), int(self.month))
            if days:
                self.ui.comboBox_Day.addItems(days)

    def fill_setup(self):
        log.debug("event from %s", self.sender())
        self.ui.pushButton_GetLast.hide()
        self.ui.comboBox_Setup.clear()
        self.day = self.ui.comboBox_Day.currentText()
        if self.day:
            self.directory = self.filesAndDirs.get_dirname(
                self.folder, int(self.year), int(self.month), int(self.day))
            self.ui.lineEdit_Directory.setText(self.directory)
            if self.directory:
                setups = self.filesAndDirs.get_setup(self.directory)
                self.ui.comboBox_Setup.addItems(setups)

    def fill_spectra(self, last=False):
        log.debug("event from %s", self.sender())
        self.ui.comboBox_Number.clear()
        self.setup = self.ui.comboBox_Setup.currentText()
        if self.setup:
            spectra = self.filesAndDirs.get_spectra(self.directory, self.setup)
            if spectra:
                self.ui.comboBox_Number.addItems(spectra)
                if last:
                    self.ui.comboBox_Number.setCurrentIndex(len(spectra) - 1)

    def fill_acquis(self):
        log.debug("event from %s", self.sender())
        self.ui.comboBox_Acquis.clear()
        self.specNum = self.ui.comboBox_Number.currentText()
        if self.specNum:
            acquis = self.filesAndDirs.get_acquis(self.directory, self.setup,
                                                  self.specNum)
            if acquis:
                self.ui.comboBox_Acquis.addItems(acquis)

    def fill_accums(self):
        log.debug("event from %s", self.sender())
        self.ui.comboBox_Accum.clear()
        self.acquis = self.ui.comboBox_Acquis.currentText()
        if self.acquis:
            accums = self.filesAndDirs.get_accums(self.directory, self.setup,
                                                  self.specNum, self.acquis)
            if accums:
                self.ui.comboBox_Accum.addItems(accums)


#     def toggle_update(self):
#         log.debug("event from %s", self.sender())
#         if self.ui.checkBox_AutoUpdate.isChecked():
#             self.ui.pushButton_UpdatePlot.setDisabled(True)
#         else:
#             self.ui.pushButton_UpdatePlot.setEnabled(True)

    def emit_signals(self):
        log.debug("event from %s", self.sender())
        self.accum = self.ui.comboBox_Accum.currentText()
        self.ui.pushButton_GetLast.show()
        if self.accum:
            spectrumName = self.filesAndDirs.get_spectrumName(
                self.directory, self.year, self.month, self.day, self.setup,
                self.specNum, self.acquis, self.accum)
            self.analysisRaisedSignal.emit(spectrumName)
            self.masstabRaisedSignal.emit(spectrumName)
        else:
            log.error("No data, accumulation not selected")

    def get_last(self):
        log.debug("event from %s", self.sender())
        self.fill_spectra(last=True)
        self.fill_acquis()
        self.fill_accums()
Example #3
0
class DataSelectorGUI(QDockWidget):

    analysisRaisedSignal = pyqtSignal(str)
    masstabRaisedSignal = pyqtSignal(str)

    """ constructor """

    def __init__(self, parent=None):
        super(DataSelectorGUI, self).__init__(parent)
        self.ui = Ui_DockWidget_DataSelector()
        self.ui.setupUi(self)
        self.filesAndDirs = FilesAndDirs()

    def setup(self):
        self.connect_events()
        self.fill_year()

    def connect_events(self):
        self.ui.lineEdit_Folder.textChanged.connect(self.fill_year)
        self.ui.comboBox_Year.currentIndexChanged.connect(self.fill_month)
        self.ui.comboBox_Month.currentIndexChanged.connect(self.fill_day)
        self.ui.comboBox_Day.currentIndexChanged.connect(self.fill_spectra)
        self.ui.comboBox_Number.currentIndexChanged.connect(self.fill_acquis)
        self.ui.comboBox_Acquis.currentIndexChanged.connect(self.fill_accums)
#         self.ui.checkBox_AutoUpdate.stateChanged.connect(self.toggle_update)
        self.ui.pushButton_StartAnalysis.clicked.connect(self.emit_signals)

    def fill_year(self):
        log.debug("event from %s", self.sender())
        self.ui.comboBox_Year.clear()
        self.folder = self.ui.lineEdit_Folder.text()
        li = self.filesAndDirs.get_years(self.folder)
        if li:
            self.ui.comboBox_Year.addItems(li)

    def fill_month(self):
        log.debug("event from %s", self.sender())
        self.ui.comboBox_Month.clear()
        self.year = self.ui.comboBox_Year.currentText()
        if self.year:
            months = self.filesAndDirs.get_months(int(self.year))
            if months:
                self.ui.comboBox_Month.addItems(months)

    """Fill input widgets with default values """

    def fill_day(self):
        log.debug("event from %s", self.sender())
        self.ui.comboBox_Day.clear()
        self.ui.lineEdit_Directory.clear()
        self.month = self.ui.comboBox_Month.currentText()
        if self.month:
            days = self.filesAndDirs.get_days(int(self.year), int(self.month))
            if days:
                self.ui.comboBox_Day.addItems(days)

    """Update list of spectra """

    def fill_spectra(self):
        log.debug("event from %s", self.sender())
        self.ui.comboBox_Number.clear()
        self.day = self.ui.comboBox_Day.currentText()
        if self.day:
            self.directory = self.filesAndDirs.get_dirname(self.folder, int(self.year),
                                                           int(self.month), int(self.day))
            self.ui.lineEdit_Directory.setText(self.directory)
            if self.directory:
                spectra = self.filesAndDirs.get_spectra(self.directory)
                self.ui.comboBox_Number.addItems(spectra)

    """Update list of acquis """

    def fill_acquis(self):
        log.debug("event from %s", self.sender())
        self.ui.comboBox_Acquis.clear()
        self.specNum = self.ui.comboBox_Number.currentText()
        if self.specNum:
            acquis = self.filesAndDirs.get_acquis(self.directory, self.specNum)
            if acquis:
                self.ui.comboBox_Acquis.addItems(acquis)

    """Update list of spectra """

    def fill_accums(self):
        log.debug("event from %s", self.sender())
        self.ui.comboBox_Accum.clear()
        self.acquis = self.ui.comboBox_Acquis.currentText()
        if self.acquis:
            accums = self.filesAndDirs.get_accums(
                self.directory, self.specNum, self.acquis)
            if accums:
                self.ui.comboBox_Accum.addItems(accums)

#     def toggle_update(self):
#         log.debug("event from %s", self.sender())
#         if self.ui.checkBox_AutoUpdate.isChecked():
#             self.ui.pushButton_UpdatePlot.setDisabled(True)
#         else:
#             self.ui.pushButton_UpdatePlot.setEnabled(True)

    def emit_signals(self):
        log.debug("event from %s", self.sender())
        self.accum = self.ui.comboBox_Accum.currentText()
        if self.accum:
            spectrumName = self.filesAndDirs.get_spectrumName(self.directory,
                                                              self.year, self.month, self.day,
                                                              self.specNum, self.acquis, self.accum)
            self.analysisRaisedSignal.emit(spectrumName)
            self.masstabRaisedSignal.emit(spectrumName)
        else:
            log.error("No data, accumulation not selected")
Example #4
0
 def __init__(self, parent=None):
     super(DataSelectorGUI, self).__init__(parent)
     self.ui = Ui_DockWidget_DataSelector()
     self.ui.setupUi(self)
     self.filesAndDirs = FilesAndDirs()
Example #5
0
class DataSelectorGUI(QDockWidget):

    analysisRaisedSignal = pyqtSignal(str)
    masstabRaisedSignal = pyqtSignal(str)

    """ constructor """

    def __init__(self, parent=None):
        super(DataSelectorGUI, self).__init__(parent)
        self.ui = Ui_DockWidget_DataSelector()
        self.ui.setupUi(self)
        self.filesAndDirs = FilesAndDirs()

    def setup(self):
        self.connect_events()

    def connect_events(self):
        self.ui.pushButton_ChooseDirectory.clicked.connect(self.choose_directory)
        self.ui.lineEdit_Folder.textChanged.connect(self.fill_year)
        self.ui.comboBox_Year.currentIndexChanged.connect(self.fill_month)
        self.ui.comboBox_Month.currentIndexChanged.connect(self.fill_day)
        self.ui.comboBox_Day.currentIndexChanged.connect(self.fill_exp)
        self.ui.comboBox_Exp.currentIndexChanged.connect(self.fill_spectra)
#         self.ui.checkBox_AutoUpdate.stateChanged.connect(self.toggle_update)
        self.ui.pushButton_StartAnalysis.clicked.connect(self.emit_signals)

    def choose_directory(self):
        log.debug("event from %s", self.sender())
        self.ui.comboBox_Year.clear()
        self.folder = QFileDialog.getExistingDirectory(self, "Choose Spectra Directory",
                                                       "C:")
        if str(self.folder).endswith("Spectra"):
            self.fill_year()

    def fill_year(self):
        log.debug("event from %s", self.sender())
        self.ui.comboBox_Year.clear()
        self.ui.lineEdit_Folder.setText(self.folder)
        li = self.filesAndDirs.get_years(self.folder)
        if li:
            self.ui.comboBox_Year.addItems(li)

    def fill_month(self):
        log.debug("event from %s", self.sender())
        self.ui.comboBox_Month.clear()
        self.year = self.ui.comboBox_Year.currentText()
        if self.year:
            months = self.filesAndDirs.get_months(int(self.year))
            if months:
                self.ui.comboBox_Month.addItems(months)

    """Fill input widgets with default values """

    def fill_day(self):
        log.debug("event from %s", self.sender())
        self.ui.comboBox_Day.clear()
        self.month = self.ui.comboBox_Month.currentText()
        if self.month:
            days = self.filesAndDirs.get_days(int(self.year), int(self.month))
            if days:
                self.ui.comboBox_Day.addItems(days)

    """Update list of experiments """

    def fill_exp(self):
        log.debug("event from %s", self.sender())
        self.ui.comboBox_Exp.clear()
        self.day = self.ui.comboBox_Day.currentText()
        if self.day:
            self.directory = self.filesAndDirs.get_dirname(self.folder, int(self.year),
                                                           int(self.month), int(self.day))
            if self.directory:
                experiments = self.filesAndDirs.get_exp(self.directory)
                self.ui.comboBox_Exp.addItems(experiments)

    """Update list of spectra """

    def fill_spectra(self):
        log.debug("event from %s", self.sender())
        self.ui.comboBox_Number.clear()
        self.exp = self.ui.comboBox_Exp.currentText()
        if self.exp:
            numbers = self.filesAndDirs.get_spectra(self.directory, self.exp)
            if numbers:
                self.ui.comboBox_Number.addItems(numbers)

    def emit_signals(self):
        log.debug("event from %s", self.sender())
        self.number = self.ui.comboBox_Number.currentText()
        if self.number:
            spectrum_name = self.filesAndDirs.get_spectrumName(
                self.directory, self.exp, self.number)
            self.analysisRaisedSignal.emit(spectrum_name)
            self.masstabRaisedSignal.emit(spectrum_name)
        else:
            log.error("No data, accumulation not selected")