def __init__(self, sess, UUID, parent=None): QtGui.QDialog.__init__(self,parent) self.ui=Ui_DatabaseDialog() self.ui.setupUi(self) self.sess = sess self.UUID = UUID self.getData(self.UUID) self.ui.pushButtonSave.clicked.connect(self.saveData) self.ui.pushButtonCancel.clicked.connect(self.cancel) self.ui.comboBoxColor1.currentIndexChanged.connect(self.changeColor1) self.ui.comboBoxColor2.currentIndexChanged.connect(self.changeColor2) self.ui.comboBoxColor3.currentIndexChanged.connect(self.changeColor3) self.ui.lineEditName.setReadOnly(True) self.ui.lineEdit_size.setReadOnly(True) self.ui.lineEdit_riseTime.setReadOnly(True) self.ui.lineEdit_shots.setReadOnly(True) self.ui.lineEdit_weightGross.setReadOnly(True) self.ui.lineEdit_weightNet.setReadOnly(True) self.ui.lineEdit_HorizSafeDistance.setReadOnly(True) self.ui.lineEdit_VertSafeDistance.setReadOnly(True) self.ui.lineEdit_riseHeight.setReadOnly(True) self.ui.lineEdit_diameter.setReadOnly(True) self.ui.lineEdit_Price.setReadOnly(True) self.ui.lineEdit_calcFactor.setReadOnly(True)
class uiCustomShow(QtGui.QDialog): def __init__(self, sess, UUID, parent=None): QtGui.QDialog.__init__(self,parent) self.ui=Ui_DatabaseDialog() self.ui.setupUi(self) self.sess = sess self.UUID = UUID self.getData(self.UUID) self.ui.pushButtonSave.clicked.connect(self.saveData) self.ui.pushButtonCancel.clicked.connect(self.cancel) self.ui.comboBoxColor1.currentIndexChanged.connect(self.changeColor1) self.ui.comboBoxColor2.currentIndexChanged.connect(self.changeColor2) self.ui.comboBoxColor3.currentIndexChanged.connect(self.changeColor3) self.ui.lineEditName.setReadOnly(True) self.ui.lineEdit_size.setReadOnly(True) self.ui.lineEdit_riseTime.setReadOnly(True) self.ui.lineEdit_shots.setReadOnly(True) self.ui.lineEdit_weightGross.setReadOnly(True) self.ui.lineEdit_weightNet.setReadOnly(True) self.ui.lineEdit_HorizSafeDistance.setReadOnly(True) self.ui.lineEdit_VertSafeDistance.setReadOnly(True) self.ui.lineEdit_riseHeight.setReadOnly(True) self.ui.lineEdit_diameter.setReadOnly(True) self.ui.lineEdit_Price.setReadOnly(True) self.ui.lineEdit_calcFactor.setReadOnly(True) def getData(self, UUID): with self.sess.begin(): record = self.sess.query (FireworksData).filter_by(UUID = UUID).first() self.ui.lineEditName.setText(record.Name) self.ui.lineEditAlias.setText(record.Alias) self.ui.lineEdit_descript.setText(record.Description) self.ui.lineEdit_size.setText(str(record.Size)) self.ui.lineEdit_usedEffect.setText(str(record.UsedEffects)) self.ui.lineEdit_Min.setText(str(record.Min)) self.ui.lineEdit_Best.setText(str(record.Best)) self.ui.lineEdit_stock.setText(str(record.Stock)) risTime = record.RisingTime self.ui.lineEdit_riseTime.setText(str(risTime.total_seconds())) info = json.loads(record.EffectsInfo) self.ui.lineEdit_effect1.setText(info["EffectsInfo"][0][0]) self.ui.comboBoxColor1.setCurrentIndex(self.ui.comboBoxColor1.findText(info["EffectsInfo"][0][1])) self.ui.IconLabel_color1.setAutoFillBackground(True) self.ui.IconLabel_color1.setStyleSheet("QLabel{background-color:%s}" % info["EffectsInfo"][0][1]) self.ui.lineEdit_durationTime1.setText(str(info["EffectsInfo"][0][2])) self.ui.lineEdit_effect2.setText(info["EffectsInfo"][1][0]) self.ui.comboBoxColor2.setCurrentIndex(self.ui.comboBoxColor2.findText(info["EffectsInfo"][1][1])) self.ui.IconLabel_color2.setAutoFillBackground(True) self.ui.IconLabel_color2.setStyleSheet("QLabel{background-color:%s}" % info["EffectsInfo"][1][1]) self.ui.lineEdit_durationTime2.setText(str(info["EffectsInfo"][1][2])) self.ui.lineEdit_effect3.setText(info["EffectsInfo"][2][0]) self.ui.comboBoxColor3.setCurrentIndex(self.ui.comboBoxColor3.findText(info["EffectsInfo"][2][1])) self.ui.IconLabel_color3.setAutoFillBackground(True) self.ui.IconLabel_color3.setStyleSheet("QLabel{background-color:%s}" % info["EffectsInfo"][2][1]) self.ui.lineEdit_durationTime3.setText(str(info["EffectsInfo"][2][2])) self.ui.lineEdit_shots.setText(str(record.Shots)) if record.Indoor == 0: self.ui.radioButton_indoor.setChecked(True) self.ui.radioButton_outdoor.setChecked(False) elif record.Indoor == 1: self.ui.radioButton_indoor.setChecked(False) self.ui.radioButton_outdoor.setChecked(True) self.ui.lineEdit_riseHeight.setText(str(record.RisingHeight)) self.ui.lineEdit_diameter.setText(str(record.Diameter)) self.ui.lineEdit_class.setText(record.Class) self.ui.lineEdit_BAMnumber.setText(record.BAMNumber) self.ui.lineEdit_ADRclass.setText(record.ADRClass) self.ui.lineEdit_UNnumber.setText(record.UNNumber) self.ui.lineEdit_chiper.setText(str(record.Chipher)) self.ui.lineEdit_weightGross.setText(str(record.WeightGross)) self.ui.lineEdit_weightNet.setText(str(record.WeightNet)) self.ui.lineEdit_HorizSafeDistance.setText(str(record.SDHorizontal)) self.ui.lineEdit_VertSafeDistance.setText(str(record.SDVertical)) self.ui.lineEdit_SimEffectID.setText(str(record.EffectID)) self.ui.lineEdit_Rating.setText(record.Rating) self.ui.lineEdit_information.setText(record.Information) self.ui.lineEdit_supplier.setText(record.Supplier) self.ui.lineEdit_producer.setText(record.Producer) self.ui.lineEdit_itemNo.setText(record.ItemNo) self.ui.lineEdit_StockPlace.setText(record.StockPlace) self.ui.lineEdit_Price.setText(str(record.Price)) self.ui.lineEdit_calcFactor.setText(str(record.CalcFactor)) self.ui.textEditNotes.setText(record.Notes) def saveData(self): data = {"EffectsInfo" : [(self.ui.lineEdit_effect1.text(), self.ui.comboBoxColor1.currentText(), self.ui.lineEdit_durationTime1.text()), (self.ui.lineEdit_effect2.text(), self.ui.comboBoxColor2.currentText(), self.ui.lineEdit_durationTime2.text()),(self.ui.lineEdit_effect3.text(), self.ui.comboBoxColor3.currentText(), self.ui.lineEdit_durationTime3.text())]} d = json.dumps(data) with self.sess.begin(): record = FireworksData() record.UUID = str(uuid.uuid1()) record.CTime = datetime.utcnow() record.MTime = datetime.utcnow() record.Type = "Custom" record.Name = self.ui.lineEditName.text() record.Alias = self.ui.lineEditAlias.text() record.Description = self.ui.lineEdit_descript.text() # record.Picture = "" # record.Animation = "" # record.Model = "" # record.SoundEffect = "" record.Size = float(self.ui.lineEdit_size.text()) record.UsedEffects = int(self.ui.lineEdit_usedEffect.text()) record.Min = int(self.ui.lineEdit_Min.text()) record.Best = int(self.ui.lineEdit_Best.text()) record.Stock = int(self.ui.lineEdit_stock.text()) record.RisingTime = timedelta(seconds = float(self.ui.lineEdit_riseTime.text())) record.EffectsInfo= d record.Shots = int(self.ui.lineEdit_shots.text()) if self.ui.radioButton_indoor.isChecked(): record.Indoor = 0 if self.ui.radioButton_outdoor.isChecked(): record.Indoor = 1 record.RisingHeight = int(self.ui.lineEdit_riseHeight.text()) record.Diameter = int(self.ui.lineEdit_diameter.text()) record.Class = self.ui.lineEdit_class.text() record.BAMNumber = self.ui.lineEdit_BAMnumber.text() record.ADRClass = self.ui.lineEdit_ADRclass.text() record.UNNumber = self.ui.lineEdit_UNnumber.text() record.Chipher = int(self.ui.lineEdit_chiper.text()) record.WeightGross = float(self.ui.lineEdit_weightGross.text()) record.WeightNet = float(self.ui.lineEdit_weightNet.text()) record.SDHorizontal = int(self.ui.lineEdit_HorizSafeDistance.text()) record.SDVertical = int(self.ui.lineEdit_VertSafeDistance.text()) record.EffectID = self.ui.lineEdit_SimEffectID.text() record.Rating = self.ui.lineEdit_Rating.text() record.Information = self.ui.lineEdit_information.text() record.Supplier = self.ui.lineEdit_supplier.text() record.Producer = self.ui.lineEdit_producer.text() record.ItemNo = self.ui.lineEdit_itemNo.text() record.StockPlace = self.ui.lineEdit_StockPlace.text() record.Price = float(self.ui.lineEdit_Price.text()) record.CalcFactor = float(self.ui.lineEdit_calcFactor.text()) record.Notes = self.ui.textEditNotes.toPlainText() record.Perm = 0 # # record.Owner = "" # self.sess.add(record) self.accept() self.close() def cancel(self): self.close() @Slot(int) def changeColor1(self, index): self.ui.IconLabel_color1.setAutoFillBackground(True) if index == 0: self.ui.IconLabel_color1.setStyleSheet("QLabel{background-color: transparent}") else : self.ui.IconLabel_color1.setStyleSheet("QLabel{background-color:%s}" % self.ui.comboBoxColor1.itemText(index)) @Slot(int) def changeColor2(self, index): self.ui.IconLabel_color2.setAutoFillBackground(True) if index == 0: self.ui.IconLabel_color2.setStyleSheet("QLabel{background-color: transparent}") else : self.ui.IconLabel_color2.setStyleSheet("QLabel{background-color:%s}" % self.ui.comboBoxColor2.itemText(index)) @Slot(int) def changeColor3(self, index): self.ui.IconLabel_color3.setAutoFillBackground(True) if index == 0: self.ui.IconLabel_color3.setStyleSheet("QLabel{background-color: transparent}") else : self.ui.IconLabel_color3.setStyleSheet("QLabel{background-color:%s}" % self.ui.comboBoxColor3.itemText(index))