def update_widgets(self): self.bh.update_List_Widget() self.bh.bh_list.setCurrentRow(0) self.bh.update_List_Edits() self.mog.update_List_Widget() self.mog.update_edits() self.mog.MOG_list.setCurrentRow(0) self.mog.update_spectra_and_coverage_Tx_num_list() self.mog.update_spectra_and_coverage_Tx_elev_value_label() self.mog.update_edits() self.mog.update_prune_edits_info() self.mog.update_prune_info() self.model.update_model_list() self.model.update_model_mog_list() if str(database.engine.url) != 'sqlite:///:memory:': self.update_database_info(database.short_url(database))
def unhide(self): self.setHidden(False) url = database.short_url(database) if url == ":memory:": url = '' self.current_db.setText(url)
def chooseMOG(module, filename=None): d = QtWidgets.QDialog() l0 = QtWidgets.QLabel(parent=d) l0.setAlignment(QtCore.Qt.AlignCenter) l0.setStyleSheet('background-color: white') b0 = QtWidgets.QPushButton("Choose Database", d) b1 = QtWidgets.QPushButton("Ok", d) b2 = QtWidgets.QPushButton("Cancel", d) b3 = QtWidgets.QComboBox(d) l0.move(10, 10) b0.move(10, 40) b1.setMinimumWidth(b2.width()) b2.setMinimumWidth(b1.minimumWidth()) b0.setMinimumWidth(10 + 2 * b1.minimumWidth()) l0.setMinimumWidth(10 + 2 * b1.minimumWidth()) b3.setMinimumWidth(2 * b1.minimumWidth()) b3.move(15, 70) b2.move(10, 100) b1.move(20 + b1.minimumWidth(), 100) def cancel(): nonlocal d d.done(0) def ok(): nonlocal d d.done(1) def choose_db(): nonlocal d nonlocal l0 nonlocal b3 filename = QtWidgets.QFileDialog.getOpenFileName( d, 'Choose Database', '', 'Database (*.db)')[0] if filename: if filename.find('.db') != -1: database.load(module, filename) l0.setText(os.path.basename(filename)) load_mogs() else: QtWidgets.QMessageBox.warning(b3, '', 'Database not in *.db format', QtWidgets.QMessageBox.Cancel, QtWidgets.QMessageBox.NoButton) l0.setText('') def load_mogs(): nonlocal b3 nonlocal l0 b3.clear() mogs = module.session.query(Mog).all() if mogs: for mog in mogs: b3.addItem(mog.name) else: QtWidgets.QMessageBox.warning(b3, '', 'File does not contain MOGS.', QtWidgets.QMessageBox.Cancel, QtWidgets.QMessageBox.NoButton) l0.setText('') b1.setFocus() if str(module.engine.url) != 'sqlite:///:memory:': l0.setText(database.short_url(module)) load_mogs() else: l0.setText('') b1.clicked.connect(ok) b2.clicked.connect(cancel) b0.clicked.connect(choose_db) d.setWindowTitle("Choose MOG") d.setWindowModality(QtCore.Qt.ApplicationModal) isOk = d.exec_() if isOk == 1: mog_no = b3.currentIndex() if mog_no != -1: return module.session.query(Mog).filter( Mog.name == str(b3.currentText())).first()