def reset(self, _): if len(self.aw.qmc.timex) > 1: self.xlimitEdit.setText(stringfromseconds(self.aw.qmc.timex[-1])) else: self.xlimitEdit.setText( stringfromseconds(self.aw.qmc.endofx_default)) self.xlimitEdit_min.setText( stringfromseconds(self.aw.qmc.startofx_default)) try: self.xaxislencombobox.setCurrentIndex( self.timeconversion.index(self.aw.qmc.xgrid_default)) except Exception: self.xaxislencombobox.setCurrentIndex(1) if self.aw.qmc.mode == "F": self.ygridSpinBox.setValue(self.aw.qmc.ygrid_F_default) self.ylimitEdit.setText(str(self.aw.qmc.ylimit_F_default)) self.ylimitEdit_min.setText(str(self.aw.qmc.ylimit_min_F_default)) self.zlimitEdit.setText(str(self.aw.qmc.zlimit_F_default)) self.zlimitEdit_min.setText(str(self.aw.qmc.zlimit_min_F_default)) self.zgridSpinBox.setValue(self.aw.qmc.zgrid_F_default) else: self.ygridSpinBox.setValue(self.aw.qmc.ygrid_C_default) self.ylimitEdit.setText(str(self.aw.qmc.ylimit_C_default)) self.ylimitEdit_min.setText(str(self.aw.qmc.ylimit_min_C_default)) self.zlimitEdit.setText(str(self.aw.qmc.zlimit_C_default)) self.zlimitEdit_min.setText(str(self.aw.qmc.zlimit_min_C_default)) self.zgridSpinBox.setValue(self.aw.qmc.zgrid_C_default)
def calcEventRC(self,_): nevents = len(self.aw.qmc.specialevents) Aevent = int(self.eventAComboBox.currentIndex()) Bevent = int(self.eventBComboBox.currentIndex()) if Aevent <= nevents and Bevent <= nevents and Aevent and Bevent: if self.aw.qmc.timeindex[0] != -1: start = self.aw.qmc.timex[self.aw.qmc.timeindex[0]] else: start = 0 self.startEdit.setText(stringfromseconds(self.aw.qmc.timex[self.aw.qmc.specialevents[Aevent-1]] - start)) self.endEdit.setText(stringfromseconds(self.aw.qmc.timex[self.aw.qmc.specialevents[Bevent-1]] - start)) self.calculateRC()
def calculateRC(self): if len(self.aw.qmc.timex) > 2: if not len(self.startEdit.text()) or not len(self.endEdit.text()): #empty field return starttime = stringtoseconds(str(self.startEdit.text())) endtime = stringtoseconds(str(self.endEdit.text())) if starttime == -1 or endtime == -1: self.result1.setText( QApplication.translate( "Label", "Time syntax error. Time not valid", None)) self.result2.setText("") return if endtime > self.aw.qmc.timex[-1] or endtime < starttime: self.result1.setText( QApplication.translate( "Label", "Error: End time smaller than Start time", None)) self.result2.setText("") return if self.aw.qmc.timeindex[0] != -1: start = self.aw.qmc.timex[self.aw.qmc.timeindex[0]] else: start = 0 startindex = self.aw.qmc.time2index(starttime + start) endindex = self.aw.qmc.time2index(endtime + start) #delta deltatime = self.aw.qmc.timex[endindex] - self.aw.qmc.timex[ startindex] deltatemperature = self.aw.qmc.temp2[endindex] - self.aw.qmc.temp2[ startindex] if deltatime == 0: deltaseconds = 0 else: deltaseconds = deltatemperature / deltatime deltaminutes = deltaseconds * 60. string1 = QApplication.translate( "Label", "Best approximation was made from {0} to {1}", None).format( stringfromseconds(self.aw.qmc.timex[startindex] - start), stringfromseconds(self.aw.qmc.timex[endindex] - start)) string2 = QApplication.translate( "Label", "<b>{0}</b> {1}/sec, <b>{2}</b> {3}/min", None).format("%.2f" % (deltaseconds), self.aw.qmc.mode, "%.2f" % (deltaminutes), self.aw.qmc.mode) self.result1.setText(string1) self.result2.setText(string2) else: self.result1.setText( QApplication.translate("Label", "No profile found", None)) self.result2.setText("")
def __init__(self, parent=None, aw=None, values=[0, 0]): super(pointDlg, self).__init__(parent, aw) self.values = values self.setWindowTitle( QApplication.translate("Form Caption", "Add Point", None)) self.tempEdit = QLineEdit(str(int(round(self.values[1])))) self.tempEdit.setValidator(QIntValidator(0, 999, self.tempEdit)) self.tempEdit.setFocus() self.tempEdit.setAlignment(Qt.AlignRight) templabel = QLabel(QApplication.translate("Label", "temp", None)) regextime = QRegExp(r"^-?[0-9]?[0-9]?[0-9]:[0-5][0-9]$") self.timeEdit = QLineEdit( stringfromseconds(self.values[0], leadingzero=False)) self.timeEdit.setAlignment(Qt.AlignRight) self.timeEdit.setValidator(QRegExpValidator(regextime, self)) timelabel = QLabel(QApplication.translate("Label", "time", None)) # connect the ArtisanDialog standard OK/Cancel buttons self.dialogbuttons.accepted.connect(self.return_values) self.dialogbuttons.rejected.connect(self.reject) buttonLayout = QHBoxLayout() buttonLayout.addStretch() buttonLayout.addWidget(self.dialogbuttons) grid = QGridLayout() grid.addWidget(timelabel, 0, 0) grid.addWidget(self.timeEdit, 0, 1) grid.addWidget(templabel, 1, 0) grid.addWidget(self.tempEdit, 1, 1) mainLayout = QVBoxLayout() mainLayout.addLayout(grid) mainLayout.addStretch() mainLayout.addLayout(buttonLayout) self.setLayout(mainLayout) self.dialogbuttons.button(QDialogButtonBox.Ok).setFocus()
def reset(self,_): self.dryend.setChecked(True) self.fcs.setChecked(True) self.fce.setChecked(True) self.scs.setChecked(True) self.sce.setChecked(True) #reset designer self.aw.qmc.reset_designer() #update editboxes self.Edit0.setText(stringfromseconds(0)) self.Edit1.setText(stringfromseconds(self.aw.qmc.designertimeinit[1])) self.Edit2.setText(stringfromseconds(self.aw.qmc.designertimeinit[2])) self.Edit3.setText(stringfromseconds(self.aw.qmc.designertimeinit[3])) self.Edit4.setText(stringfromseconds(self.aw.qmc.designertimeinit[4])) self.Edit5.setText(stringfromseconds(self.aw.qmc.designertimeinit[5])) self.Edit6.setText(stringfromseconds(self.aw.qmc.designertimeinit[6])) self.Edit0bt.setText("%.1f"%self.aw.qmc.temp2[self.aw.qmc.timeindex[0]]) self.Edit1bt.setText("%.1f"%self.aw.qmc.temp2[self.aw.qmc.timeindex[1]]) self.Edit2bt.setText("%.1f"%self.aw.qmc.temp2[self.aw.qmc.timeindex[2]]) self.Edit3bt.setText("%.1f"%self.aw.qmc.temp2[self.aw.qmc.timeindex[3]]) self.Edit4bt.setText("%.1f"%self.aw.qmc.temp2[self.aw.qmc.timeindex[4]]) self.Edit5bt.setText("%.1f"%self.aw.qmc.temp2[self.aw.qmc.timeindex[5]]) self.Edit6bt.setText("%.1f"%self.aw.qmc.temp2[self.aw.qmc.timeindex[6]]) self.Edit0et.setText("%.1f"%self.aw.qmc.temp1[self.aw.qmc.timeindex[0]]) self.Edit1et.setText("%.1f"%self.aw.qmc.temp1[self.aw.qmc.timeindex[1]]) self.Edit2et.setText("%.1f"%self.aw.qmc.temp1[self.aw.qmc.timeindex[2]]) self.Edit3et.setText("%.1f"%self.aw.qmc.temp1[self.aw.qmc.timeindex[3]]) self.Edit4et.setText("%.1f"%self.aw.qmc.temp1[self.aw.qmc.timeindex[4]]) self.Edit5et.setText("%.1f"%self.aw.qmc.temp1[self.aw.qmc.timeindex[5]]) self.Edit6et.setText("%.1f"%self.aw.qmc.temp1[self.aw.qmc.timeindex[6]]) self.aw.sendmessage(QApplication.translate("Message","Designer has been reset",None))
def reset(self, _): if len(self.aw.qmc.timex) > 1: self.xlimitEdit.setText(stringfromseconds(self.aw.qmc.timex[-1])) else: self.xlimitEdit.setText( stringfromseconds(self.aw.qmc.endofx_default)) self.xlimitEdit_min.setText( stringfromseconds(self.aw.qmc.startofx_default)) if self.aw.qmc.mode == "F": self.ylimitEdit.setText(str(self.aw.qmc.ylimit_F_default)) self.ylimitEdit_min.setText(str(self.aw.qmc.ylimit_min_F_default)) self.zlimitEdit.setText(str(self.aw.qmc.zlimit_F_default)) self.zlimitEdit_min.setText(str(self.aw.qmc.zlimit_min_F_default)) else: self.ylimitEdit.setText(str(self.aw.qmc.ylimit_C_default)) self.ylimitEdit_min.setText(str(self.aw.qmc.ylimit_min_C_default)) self.zlimitEdit.setText(str(self.aw.qmc.zlimit_C_default)) self.zlimitEdit_min.setText(str(self.aw.qmc.zlimit_min_C_default))
def autoAxis(self, _=False): if self.aw.qmc.backgroundpath and not self.aw.curFile: t_min, t_max = self.aw.calcAutoAxisBackground() else: t_min, t_max = self.aw.calcAutoAxis() if self.aw.qmc.backgroundpath: _, t_max_b = self.aw.calcAutoAxisBackground() t_max = max( t_max, t_max_b - self.aw.qmc.timeB[self.aw.qmc.timeindexB[0]]) if self.aw.qmc.timeindex[0] != -1: self.xlimitEdit_min.setText( stringfromseconds(t_min - self.aw.qmc.timex[self.aw.qmc.timeindex[0]])) self.xlimitEdit.setText( stringfromseconds(t_max - self.aw.qmc.timex[self.aw.qmc.timeindex[0]])) else: self.xlimitEdit_min.setText(stringfromseconds(t_min)) self.xlimitEdit.setText(stringfromseconds(t_max)) self.xlimitEdit_min.repaint() self.xlimitEdit.repaint()
def __init__(self, parent=None, aw=None): super(WindowsDlg, self).__init__(parent, aw) self.setWindowTitle( QApplication.translate("Form Caption", "Axes", None)) self.setModal(True) xlimitLabel = QLabel(QApplication.translate("Label", "Max", None)) xlimitLabel_min = QLabel(QApplication.translate("Label", "Min", None)) ylimitLabel = QLabel(QApplication.translate("Label", "Max", None)) ylimitLabel_min = QLabel(QApplication.translate("Label", "Min", None)) zlimitLabel = QLabel(QApplication.translate("Label", "Max", None)) zlimitLabel_min = QLabel(QApplication.translate("Label", "Min", None)) step100Label = QLabel( QApplication.translate("Label", "100% Event Step", None)) self.step100Edit = QLineEdit() self.step100Edit.setMaximumWidth(55) self.step100Edit.setValidator( QIntValidator(self.aw.qmc.ylimit_min_max, 999999, self.step100Edit)) self.step100Edit.setAlignment(Qt.AlignRight) self.step100Edit.setToolTip( QApplication.translate( "Tooltip", "100% event values in step mode are aligned with the given y-axis value or the lowest phases limit if left empty", None)) self.xlimitEdit = QLineEdit() self.xlimitEdit.setMaximumWidth(50) self.xlimitEdit.setMinimumWidth(50) self.xlimitEdit.setAlignment(Qt.AlignRight) self.xlimitEdit_min = QLineEdit() self.xlimitEdit_min.setMaximumWidth(55) self.xlimitEdit_min.setMinimumWidth(55) self.xlimitEdit_min.setAlignment(Qt.AlignRight) regextime = QRegularExpression(r"^-?[0-9]?[0-9]?[0-9]:[0-5][0-9]$") self.xlimitEdit.setValidator( QRegularExpressionValidator(regextime, self)) self.xlimitEdit_min.setValidator( QRegularExpressionValidator(regextime, self)) self.ylimitEdit = QLineEdit() self.ylimitEdit.setMaximumWidth(60) self.ylimitEdit_min = QLineEdit() self.ylimitEdit_min.setMaximumWidth(60) self.ylimitEdit.setValidator( QIntValidator(self.aw.qmc.ylimit_min_max, self.aw.qmc.ylimit_max, self.ylimitEdit)) self.ylimitEdit_min.setValidator( QIntValidator(self.aw.qmc.ylimit_min_max, self.aw.qmc.ylimit_max, self.ylimitEdit_min)) self.ylimitEdit.setAlignment(Qt.AlignRight | Qt.AlignTrailing | Qt.AlignVCenter) self.ylimitEdit_min.setAlignment(Qt.AlignRight | Qt.AlignTrailing | Qt.AlignVCenter) self.zlimitEdit = QLineEdit() self.zlimitEdit.setMaximumWidth(60) self.zlimitEdit_min = QLineEdit() self.zlimitEdit_min.setMaximumWidth(60) self.zlimitEdit.setValidator( QIntValidator(self.aw.qmc.zlimit_min_max, self.aw.qmc.zlimit_max, self.zlimitEdit)) self.zlimitEdit_min.setValidator( QIntValidator(self.aw.qmc.zlimit_min_max, self.aw.qmc.zlimit_max, self.zlimitEdit_min)) self.zlimitEdit.setAlignment(Qt.AlignRight | Qt.AlignTrailing | Qt.AlignVCenter) self.zlimitEdit_min.setAlignment(Qt.AlignRight | Qt.AlignTrailing | Qt.AlignVCenter) self.xlimitEdit.setText(stringfromseconds(self.aw.qmc.endofx)) if self.aw.qmc.timeindex[0] != -1: self.xlimitEdit_min.setText( stringfromseconds(self.aw.qmc.startofx - self.aw.qmc.timex[self.aw.qmc.timeindex[0]])) else: self.xlimitEdit_min.setText(stringfromseconds( self.aw.qmc.startofx)) self.ylimitEdit.setText(str(self.aw.qmc.ylimit)) self.ylimitEdit_min.setText(str(self.aw.qmc.ylimit_min)) if self.aw.qmc.step100temp is not None: self.step100Edit.setText(str(self.aw.qmc.step100temp)) else: self.step100Edit.setText("") self.zlimitEdit.setText(str(self.aw.qmc.zlimit)) self.zlimitEdit_min.setText(str(self.aw.qmc.zlimit_min)) self.legendComboBox = QComboBox() self.legendComboBox.setMaximumWidth(160) legendlocs = [ "", #QApplication.translate("ComboBox", "none",None), QApplication.translate("ComboBox", "upper right", None), QApplication.translate("ComboBox", "upper left", None), QApplication.translate("ComboBox", "lower left", None), QApplication.translate("ComboBox", "lower right", None), QApplication.translate("ComboBox", "right", None), QApplication.translate("ComboBox", "center left", None), QApplication.translate("ComboBox", "center right", None), QApplication.translate("ComboBox", "lower center", None), QApplication.translate("ComboBox", "upper center", None), QApplication.translate("ComboBox", "center", None) ] self.legendComboBox.addItems(legendlocs) self.legendComboBox.setCurrentIndex(self.aw.qmc.legendloc) self.legendComboBox.currentIndexChanged.connect(self.changelegendloc) resettimelabel = QLabel(QApplication.translate("Label", "Max", None)) self.resetEdit = QLineEdit() self.resetEdit.setMaximumWidth(50) self.resetEdit.setMinimumWidth(50) self.resetEdit.setAlignment(Qt.AlignRight) regextime = QRegularExpression(r"^-?[0-9]?[0-9]?[0-9]:[0-5][0-9]$") self.resetEdit.setValidator( QRegularExpressionValidator(regextime, self)) self.resetEdit.setText(stringfromseconds(self.aw.qmc.resetmaxtime)) self.resetEdit.setToolTip( QApplication.translate("Tooltip", "Time axis max on RESET", None)) # CHARGE min chargeminlabel = QLabel( QApplication.translate("Label", "RESET", None) + " " + QApplication.translate("Label", "Min", None)) self.chargeminEdit = QLineEdit() self.chargeminEdit.setMaximumWidth(50) self.chargeminEdit.setMinimumWidth(50) self.chargeminEdit.setAlignment(Qt.AlignRight) self.chargeminEdit.setValidator( QRegularExpressionValidator(regextime, self)) self.chargeminEdit.setText(stringfromseconds( self.aw.qmc.chargemintime)) self.chargeminEdit.setToolTip( QApplication.translate("Tooltip", "Time axis min on RESET", None)) # fixmaxtime flag self.fixmaxtimeFlag = QCheckBox( QApplication.translate("CheckBox", "Expand", None)) self.fixmaxtimeFlag.setChecked(not self.aw.qmc.fixmaxtime) self.fixmaxtimeFlag.setToolTip( QApplication.translate( "Tooltip", "Automatically extend the time axis by 3min on need", None)) # locktimex flag self.locktimexFlag = QCheckBox( QApplication.translate("CheckBox", "Lock", None)) self.locktimexFlag.setChecked(self.aw.qmc.locktimex) self.locktimexFlag.stateChanged.connect(self.lockTimexFlagChanged) self.locktimexFlag.setToolTip( QApplication.translate( "Tooltip", "Do not set time axis min and max from profile on load", None)) # autotimex flag self.autotimexFlag = QCheckBox( QApplication.translate("CheckBox", "Auto", None)) self.autotimexFlag.setChecked(self.aw.qmc.autotimex) self.autotimexFlag.stateChanged.connect(self.autoTimexFlagChanged) self.autotimexFlag.setToolTip( QApplication.translate( "Tooltip", "Automatically set time axis min and max from profile CHARGE/DROP events", None)) autoButton = QPushButton(QApplication.translate( "Button", "Calc", None)) autoButton.setFocusPolicy(Qt.NoFocus) autoButton.clicked.connect(self.autoAxis) # time axis steps timegridlabel = QLabel(QApplication.translate("Label", "Step", None)) self.xaxislencombobox = QComboBox() timelocs = [ #QApplication.translate("ComboBox", "30 seconds",None), QApplication.translate("ComboBox", "1 minute", None), QApplication.translate("ComboBox", "2 minutes", None), QApplication.translate("ComboBox", "3 minutes", None), QApplication.translate("ComboBox", "4 minutes", None), QApplication.translate("ComboBox", "5 minutes", None), QApplication.translate("ComboBox", "10 minutes", None), QApplication.translate("ComboBox", "30 minutes", None), QApplication.translate("ComboBox", "1 hour", None) ] self.xaxislencombobox.addItems(timelocs) self.xaxislencombobox.setMinimumContentsLength(6) width = self.xaxislencombobox.minimumSizeHint().width() self.xaxislencombobox.setMinimumWidth(width) if platform.system() == 'Darwin': self.xaxislencombobox.setMaximumWidth(width) # self.xaxislencombobox.setMaximumWidth(120) self.timeconversion = [60, 120, 180, 240, 300, 600, 1800, 3600] try: self.xaxislencombobox.setCurrentIndex( self.timeconversion.index(self.aw.qmc.xgrid)) except Exception: self.xaxislencombobox.setCurrentIndex(0) self.xaxislencombobox.currentIndexChanged.connect(self.xaxislenloc) self.timeGridCheckBox = QCheckBox( QApplication.translate("CheckBox", "Time", None)) self.timeGridCheckBox.setChecked(self.aw.qmc.time_grid) self.timeGridCheckBox.setToolTip( QApplication.translate("Tooltip", "Show time grid", None)) self.timeGridCheckBox.setFocusPolicy(Qt.NoFocus) self.tempGridCheckBox = QCheckBox( QApplication.translate("CheckBox", "Temp", None)) self.tempGridCheckBox.setToolTip( QApplication.translate("Tooltip", "Show temperature grid", None)) self.tempGridCheckBox.setChecked(self.aw.qmc.temp_grid) self.tempGridCheckBox.setFocusPolicy(Qt.NoFocus) ygridlabel = QLabel(QApplication.translate("Label", "Step", None)) self.ygridSpinBox = QSpinBox() self.ygridSpinBox.setRange(10, 500) self.ygridSpinBox.setSingleStep(5) self.ygridSpinBox.setValue(self.aw.qmc.ygrid) self.ygridSpinBox.setAlignment(Qt.AlignRight | Qt.AlignTrailing | Qt.AlignVCenter) self.ygridSpinBox.valueChanged.connect(self.changeygrid) self.ygridSpinBox.setMaximumWidth(60) zgridlabel = QLabel(QApplication.translate("Label", "Step", None)) self.zgridSpinBox = QSpinBox() self.zgridSpinBox.setRange(1, 100) self.zgridSpinBox.setSingleStep(5) self.zgridSpinBox.setValue(self.aw.qmc.zgrid) self.zgridSpinBox.setAlignment(Qt.AlignRight | Qt.AlignTrailing | Qt.AlignVCenter) self.zgridSpinBox.valueChanged.connect(self.changezgrid) self.zgridSpinBox.setMaximumWidth(60) self.autodeltaxLabel = QLabel( QApplication.translate("CheckBox", "Auto", None)) self.autodeltaxETFlag = QCheckBox( deltaLabelUTF8 + QApplication.translate("CheckBox", "ET", None)) self.autodeltaxETFlag.setChecked(self.aw.qmc.autodeltaxET) self.autodeltaxBTFlag = QCheckBox( deltaLabelUTF8 + QApplication.translate("CheckBox", "BT", None)) self.autodeltaxBTFlag.setChecked(self.aw.qmc.autodeltaxBT) self.autodeltaxETFlag.setToolTip( QApplication.translate( "Tooltip", "Automatically set delta axis max from DeltaET", None)) self.autodeltaxBTFlag.setToolTip( QApplication.translate( "Tooltip", "Automatically set delta axis max from DeltaBT", None)) autoDeltaButton = QPushButton( QApplication.translate("Button", "Calc", None)) autoDeltaButton.setFocusPolicy(Qt.NoFocus) autoDeltaButton.clicked.connect(self.autoDeltaAxis) linestylegridlabel = QLabel( QApplication.translate("Label", "Style", None)) self.gridstylecombobox = QComboBox() gridstyles = [ QApplication.translate("ComboBox", "solid", None), QApplication.translate("ComboBox", "dashed", None), QApplication.translate("ComboBox", "dashed-dot", None), QApplication.translate("ComboBox", "dotted", None), QApplication.translate("ComboBox", "None", None) ] self.gridstylecombobox.addItems(gridstyles) self.gridstylecombobox.setCurrentIndex(self.aw.qmc.gridlinestyle) self.gridstylecombobox.currentIndexChanged.connect( self.changegridstyle) gridthicknesslabel = QLabel( QApplication.translate("Label", "Width", None)) self.gridwidthSpinBox = QSpinBox() self.gridwidthSpinBox.setRange(1, 5) self.gridwidthSpinBox.setValue(self.aw.qmc.gridthickness) self.gridwidthSpinBox.valueChanged.connect(self.changegridwidth) self.gridwidthSpinBox.setMaximumWidth(40) self.gridwidthSpinBox.setAlignment(Qt.AlignRight | Qt.AlignTrailing | Qt.AlignVCenter) gridalphalabel = QLabel( QApplication.translate("Label", "Opaqueness", None)) self.gridalphaSpinBox = QSpinBox() self.gridalphaSpinBox.setRange(1, 10) self.gridalphaSpinBox.setValue(int(self.aw.qmc.gridalpha * 10)) self.gridalphaSpinBox.valueChanged.connect(self.changegridalpha) self.gridalphaSpinBox.setMaximumWidth(40) self.gridalphaSpinBox.setAlignment(Qt.AlignRight | Qt.AlignTrailing | Qt.AlignVCenter) # connect the ArtisanDialog standard OK/Cancel buttons self.dialogbuttons.accepted.connect(self.updatewindow) self.dialogbuttons.rejected.connect(self.close) resetButton = self.dialogbuttons.addButton( QDialogButtonBox.RestoreDefaults) resetButton.clicked.connect(self.reset) if self.aw.locale not in self.aw.qtbase_locales: resetButton.setText( QApplication.translate("Button", "Defaults", None)) self.loadAxisFromProfile = QCheckBox( QApplication.translate("CheckBox", "Load from profile", None)) self.loadAxisFromProfile.setChecked(self.aw.qmc.loadaxisfromprofile) hline = QFrame() hline.setFrameShape(QFrame.HLine) hline.setFrameShadow(QFrame.Sunken) hline2 = QFrame() hline2.setFrameShape(QFrame.HLine) hline2.setFrameShadow(QFrame.Sunken) xlayout1 = QHBoxLayout() xlayout1.addWidget(self.autotimexFlag) xlayout1.addWidget(autoButton) xlayout1.addStretch() xlayout1.addWidget(self.locktimexFlag) xlayout2 = QHBoxLayout() xlayout2.addWidget(xlimitLabel_min) xlayout2.addWidget(self.xlimitEdit_min) xlayout2.addSpacing(10) xlayout2.addWidget(xlimitLabel) xlayout2.addWidget(self.xlimitEdit) xlayout2.addStretch() xlayout2.addWidget(timegridlabel) xlayout2.addWidget(self.xaxislencombobox) xlayout3 = QHBoxLayout() xlayout3.addWidget(chargeminlabel) xlayout3.addWidget(self.chargeminEdit) xlayout3.addSpacing(7) xlayout3.addWidget(resettimelabel) xlayout3.addWidget(self.resetEdit) xlayout3.addSpacing(7) xlayout3.addStretch() xlayout3.addWidget(self.fixmaxtimeFlag) xlayout = QVBoxLayout() xlayout.addLayout(xlayout1) xlayout.addLayout(xlayout2) xlayout.addWidget(hline) xlayout.addLayout(xlayout3) ylayout = QGridLayout() ylayout.addWidget(ylimitLabel_min, 0, 0, Qt.AlignRight) ylayout.addWidget(self.ylimitEdit_min, 0, 1) ylayout.addWidget(ylimitLabel, 0, 3, Qt.AlignRight) ylayout.addWidget(self.ylimitEdit, 0, 4) ylayout.addWidget(ygridlabel, 0, 6, Qt.AlignRight) ylayout.addWidget(self.ygridSpinBox, 0, 7) ylayout.setColumnMinimumWidth(2, 10) ylayout.setColumnMinimumWidth(5, 10) ylayoutHbox = QHBoxLayout() ylayoutHbox.addStretch() ylayoutHbox.addLayout(ylayout) ylayoutHbox.addStretch() steplayoutHbox = QHBoxLayout() steplayoutHbox.addWidget(step100Label) steplayoutHbox.addWidget(self.step100Edit) steplayoutHbox.addStretch() ylayoutVbox = QVBoxLayout() ylayoutVbox.addLayout(ylayoutHbox) ylayoutVbox.addWidget(hline) ylayoutVbox.addLayout(steplayoutHbox) ylayoutVbox.addStretch() zlayout1 = QHBoxLayout() zlayout1.addWidget(self.autodeltaxLabel) zlayout1.addSpacing(5) zlayout1.addWidget(self.autodeltaxETFlag) zlayout1.addSpacing(5) zlayout1.addWidget(self.autodeltaxBTFlag) zlayout1.addSpacing(5) zlayout1.addWidget(autoDeltaButton) zlayout1.addStretch() zlayout = QGridLayout() zlayout.addWidget(zlimitLabel_min, 0, 0, Qt.AlignRight) zlayout.addWidget(self.zlimitEdit_min, 0, 1) zlayout.addWidget(zlimitLabel, 0, 3, Qt.AlignRight) zlayout.addWidget(self.zlimitEdit, 0, 4) zlayout.addWidget(zgridlabel, 0, 6, Qt.AlignRight) zlayout.addWidget(self.zgridSpinBox, 0, 7) zlayout.setColumnMinimumWidth(2, 10) zlayout.setColumnMinimumWidth(5, 10) zlayoutHbox = QHBoxLayout() zlayoutHbox.addStretch() zlayoutHbox.addLayout(zlayout) zlayoutHbox.addStretch() zlayoutVbox = QVBoxLayout() zlayoutVbox.addLayout(zlayout1) zlayoutVbox.addLayout(zlayoutHbox) zlayoutVbox.addStretch() legentlayout = QHBoxLayout() legentlayout.addStretch() legentlayout.addWidget(self.legendComboBox, 0, Qt.AlignLeft) legentlayout.addStretch() graphgridlayout = QGridLayout() graphgridlayout.addWidget(linestylegridlabel, 1, 0, Qt.AlignRight) graphgridlayout.addWidget(self.gridstylecombobox, 1, 1, Qt.AlignLeft) graphgridlayout.addWidget(gridthicknesslabel, 1, 2, Qt.AlignRight) graphgridlayout.addWidget(self.gridwidthSpinBox, 1, 3, Qt.AlignLeft) graphgridlayout.addWidget(self.timeGridCheckBox, 2, 0, Qt.AlignLeft) graphgridlayout.addWidget(self.tempGridCheckBox, 2, 1, Qt.AlignLeft) graphgridlayout.addWidget(gridalphalabel, 2, 2, Qt.AlignRight) graphgridlayout.addWidget(self.gridalphaSpinBox, 2, 3, Qt.AlignLeft) xGroupLayout = QGroupBox( QApplication.translate("GroupBox", "Time Axis", None)) xGroupLayout.setLayout(xlayout) yGroupLayout = QGroupBox( QApplication.translate("GroupBox", "Temperature Axis", None)) yGroupLayout.setLayout(ylayoutVbox) zGroupLayout = QGroupBox( deltaLabelUTF8 + " " + QApplication.translate("GroupBox", "Axis", None)) zGroupLayout.setLayout(zlayoutVbox) legendLayout = QGroupBox( QApplication.translate("GroupBox", "Legend Location", None)) legendLayout.setLayout(legentlayout) GridGroupLayout = QGroupBox( QApplication.translate("GroupBox", "Grid", None)) GridGroupLayout.setLayout(graphgridlayout) buttonLayout = QHBoxLayout() buttonLayout.addWidget(self.loadAxisFromProfile) buttonLayout.addSpacing(10) buttonLayout.addWidget(self.dialogbuttons) mainLayout1 = QVBoxLayout() mainLayout1.addWidget(xGroupLayout) mainLayout1.addWidget(yGroupLayout) mainLayout1.addStretch() mainLayout2 = QVBoxLayout() mainLayout2.addWidget(legendLayout) mainLayout2.addWidget(GridGroupLayout) mainLayout2.addWidget(zGroupLayout) mainLayout2.addStretch() mainHLayout = QHBoxLayout() mainHLayout.addLayout(mainLayout1) mainHLayout.addLayout(mainLayout2) mainLayout = QVBoxLayout() mainLayout.addLayout(mainHLayout) mainLayout.addStretch() mainLayout.addLayout(buttonLayout) self.setLayout(mainLayout) self.dialogbuttons.button(QDialogButtonBox.Ok).setFocus() if self.aw.qmc.locktimex: self.disableXAxisControls() else: self.enableXAxisControls() settings = QSettings() if settings.contains("AxisPosition"): self.move(settings.value("AxisPosition")) mainLayout.setSizeConstraint(QLayout.SetFixedSize)
def createDataTable(self): try: #### lock shared resources ##### self.aw.qmc.samplingsemaphore.acquire(1) ndata = len(self.aw.qmc.timeB) self.datatable.clear() # this crashes Ubuntu 16.04 # if ndata != 0: # self.datatable.clearContents() # this crashes Ubuntu 16.04 if device table is empty and also sometimes else self.datatable.clearSelection() # this seems to work also for Ubuntu 16.04 if self.aw.qmc.timeindexB[0] != -1 and len(self.aw.qmc.timeB) > self.aw.qmc.timeindexB[0]: start = self.aw.qmc.timeB[self.aw.qmc.timeindexB[0]] else: start = 0 self.datatable.setRowCount(ndata) headers = [QApplication.translate("Table","Time",None), QApplication.translate("Table","ET",None), QApplication.translate("Table","BT",None), deltaLabelUTF8 + QApplication.translate("Table","ET",None), deltaLabelUTF8 + QApplication.translate("Table","BT",None)] xtcurve = False # no XT curve if self.aw.qmc.xtcurveidx > 0: # 3rd background curve set? idx3 = self.aw.qmc.xtcurveidx - 1 n3 = idx3 // 2 if len(self.aw.qmc.temp1BX) > n3 and len(self.aw.qmc.extratimexB) > n3: xtcurve = True if self.aw.qmc.xtcurveidx % 2: headers.append(self.aw.qmc.extraname1B[n3]) else: headers.append(self.aw.qmc.extraname2B[n3]) ytcurve = False # no YT curve if self.aw.qmc.ytcurveidx > 0: # 4th background curve set? idx4 = self.aw.qmc.ytcurveidx - 1 n4 = idx4 // 2 if len(self.aw.qmc.temp1BX) > n4 and len(self.aw.qmc.extratimexB) > n4: ytcurve = True if self.aw.qmc.ytcurveidx % 2: headers.append(self.aw.qmc.extraname1B[n4]) else: headers.append(self.aw.qmc.extraname2B[n4]) headers.append("") # dummy column that stretches self.datatable.setColumnCount(len(headers)) self.datatable.setHorizontalHeaderLabels(headers) self.datatable.setAlternatingRowColors(True) self.datatable.setEditTriggers(QTableWidget.NoEditTriggers) self.datatable.setSelectionBehavior(QTableWidget.SelectRows) self.datatable.setSelectionMode(QTableWidget.ExtendedSelection) # QTableWidget.SingleSelection, ContiguousSelection, MultiSelection self.datatable.setShowGrid(True) self.datatable.verticalHeader().setSectionResizeMode(2) for i in range(ndata): Rtime = QTableWidgetItem(stringfromseconds(self.aw.qmc.timeB[i]-start)) Rtime.setTextAlignment(Qt.AlignRight|Qt.AlignVCenter) if self.aw.qmc.LCDdecimalplaces: fmtstr = "%.1f" else: fmtstr = "%.0f" ET = QTableWidgetItem(fmtstr%self.aw.qmc.temp1B[i]) BT = QTableWidgetItem(fmtstr%self.aw.qmc.temp2B[i]) ET.setTextAlignment(Qt.AlignRight|Qt.AlignVCenter) BT.setTextAlignment(Qt.AlignRight|Qt.AlignVCenter) if i: d = (self.aw.qmc.timeB[i]-self.aw.qmc.timeB[i-1]) if d == 0: dET = 0. dBT = 0. else: dET = (60*(self.aw.qmc.temp1B[i]-self.aw.qmc.temp1B[i-1])/d) dBT = (60*(self.aw.qmc.temp2B[i]-self.aw.qmc.temp2B[i-1])/d) deltaET = QTableWidgetItem("%.1f"%dET) deltaBT = QTableWidgetItem("%.1f"%dBT) else: deltaET = QTableWidgetItem("--") deltaBT = QTableWidgetItem("--") deltaET.setTextAlignment(Qt.AlignRight|Qt.AlignVCenter) deltaBT.setTextAlignment(Qt.AlignRight|Qt.AlignVCenter) self.datatable.setItem(i,0,Rtime) if i: #identify by color and add notation if i == self.aw.qmc.timeindexB[0] != -1: self.datatable.item(i,0).setBackground(QColor('#f07800')) text = QApplication.translate("Table", "CHARGE",None) elif i == self.aw.qmc.timeindexB[1]: self.datatable.item(i,0).setBackground(QColor('orange')) text = QApplication.translate("Table", "DRY END",None) elif i == self.aw.qmc.timeindexB[2]: self.datatable.item(i,0).setBackground(QColor('orange')) text = QApplication.translate("Table", "FC START",None) elif i == self.aw.qmc.timeindexB[3]: self.datatable.item(i,0).setBackground(QColor('orange')) text = QApplication.translate("Table", "FC END",None) elif i == self.aw.qmc.timeindexB[4]: self.datatable.item(i,0).setBackground(QColor('orange')) text = QApplication.translate("Table", "SC START",None) elif i == self.aw.qmc.timeindexB[5]: self.datatable.item(i,0).setBackground(QColor('orange')) text = QApplication.translate("Table", "SC END",None) elif i == self.aw.qmc.timeindexB[6]: self.datatable.item(i,0).setBackground(QColor('#f07800')) text = QApplication.translate("Table", "DROP",None) elif i == self.aw.qmc.timeindexB[7]: self.datatable.item(i,0).setBackground(QColor('orange')) text = QApplication.translate("Table", "COOL",None) elif i in self.aw.qmc.backgroundEvents: self.datatable.item(i,0).setBackground(QColor('yellow')) index = self.aw.qmc.backgroundEvents.index(i) text = QApplication.translate("Table", "#{0} {1}{2}",None).format(str(index+1),self.aw.qmc.Betypesf(self.aw.qmc.backgroundEtypes[index])[0],self.aw.qmc.eventsvalues(self.aw.qmc.backgroundEvalues[index])) else: text = "" Rtime.setText(text + " " + Rtime.text()) self.datatable.setItem(i,1,ET) self.datatable.setItem(i,2,BT) self.datatable.setItem(i,3,deltaET) self.datatable.setItem(i,4,deltaBT) if xtcurve and len(self.aw.qmc.temp1BX[n3]) > i: # an XT column is availble, fill it with data if self.aw.qmc.xtcurveidx % 2: XT = QTableWidgetItem("%.0f"%self.aw.qmc.temp1BX[n3][i]) else: XT = QTableWidgetItem("%.0f"%self.aw.qmc.temp2BX[n3][i]) XT.setTextAlignment(Qt.AlignRight|Qt.AlignVCenter) self.datatable.setItem(i,5,XT) if ytcurve and len(self.aw.qmc.temp1BX[n4]) > i: # an YT column is availble, fill it with data if self.aw.qmc.ytcurveidx % 2: YT = QTableWidgetItem("%.0f"%self.aw.qmc.temp1BX[n4][i]) else: YT = QTableWidgetItem("%.0f"%self.aw.qmc.temp2BX[n4][i]) YT.setTextAlignment(Qt.AlignRight|Qt.AlignVCenter) if xtcurve: self.datatable.setItem(i,6,YT) else: self.datatable.setItem(i,5,YT) header = self.datatable.horizontalHeader() header.setSectionResizeMode(0, QHeaderView.Fixed) header.setSectionResizeMode(1, QHeaderView.Fixed) header.setSectionResizeMode(2, QHeaderView.Fixed) header.setSectionResizeMode(3, QHeaderView.Fixed) header.setSectionResizeMode(4, QHeaderView.Fixed) if (xtcurve and not ytcurve) or (ytcurve and not xtcurve): header.setSectionResizeMode(5, QHeaderView.Fixed) header.setSectionResizeMode(6, QHeaderView.Stretch) elif xtcurve and ytcurve: header.setSectionResizeMode(5, QHeaderView.Fixed) header.setSectionResizeMode(6, QHeaderView.Fixed) header.setSectionResizeMode(7, QHeaderView.Stretch) else: header.setSectionResizeMode(5, QHeaderView.Stretch) self.datatable.resizeColumnsToContents() finally: if self.aw.qmc.samplingsemaphore.available() < 1: self.aw.qmc.samplingsemaphore.release(1)
def createEventTable(self): ndata = len(self.aw.qmc.backgroundEvents) # self.eventtable.clear() # this crashes Ubuntu 16.04 # if ndata != 0: # self.eventtable.clearContents() # this crashes Ubuntu 16.04 if device table is empty and also sometimes else self.eventtable.clearSelection() # this seems to work also for Ubuntu 16.04 self.eventtable.setRowCount(ndata) self.eventtable.setColumnCount(6) self.eventtable.setHorizontalHeaderLabels([QApplication.translate("Table","Time",None), QApplication.translate("Table", "ET", None), QApplication.translate("Table", "BT", None), QApplication.translate("Table","Description",None), QApplication.translate("Table","Type",None), QApplication.translate("Table","Value",None)]) self.eventtable.setAlternatingRowColors(True) self.eventtable.setEditTriggers(QTableWidget.NoEditTriggers) self.eventtable.setSelectionBehavior(QTableWidget.SelectRows) self.eventtable.setSelectionMode(QTableWidget.ExtendedSelection) self.eventtable.setShowGrid(True) self.eventtable.verticalHeader().setSectionResizeMode(2) if self.aw.qmc.timeindex[0] != -1: start = self.aw.qmc.timex[self.aw.qmc.timeindex[0]] else: start = 0 for i in range(ndata): timez = QTableWidgetItem(stringfromseconds(self.aw.qmc.timeB[self.aw.qmc.backgroundEvents[i]]-start)) timez.setTextAlignment(Qt.AlignRight + Qt.AlignVCenter) if self.aw.qmc.LCDdecimalplaces: fmtstr = "%.1f" else: fmtstr = "%.0f" etline = QTableWidgetItem(fmtstr%(self.aw.qmc.temp1B[self.aw.qmc.backgroundEvents[i]]) + self.aw.qmc.mode) etline.setTextAlignment(Qt.AlignRight + Qt.AlignVCenter) btline = QTableWidgetItem(fmtstr%(self.aw.qmc.temp2B[self.aw.qmc.backgroundEvents[i]]) + self.aw.qmc.mode) btline.setTextAlignment(Qt.AlignRight + Qt.AlignVCenter) description = QTableWidgetItem(self.aw.qmc.backgroundEStrings[i]) etype = QTableWidgetItem(self.aw.qmc.Betypesf(self.aw.qmc.backgroundEtypes[i])) evalue = QTableWidgetItem(self.aw.qmc.eventsvalues(self.aw.qmc.backgroundEvalues[i])) evalue.setTextAlignment(Qt.AlignRight + Qt.AlignVCenter) #add widgets to the table self.eventtable.setItem(i,0,timez) self.eventtable.setItem(i,1,etline) self.eventtable.setItem(i,2,btline) self.eventtable.setItem(i,3,description) self.eventtable.setItem(i,4,etype) self.eventtable.setItem(i,5,evalue) # improve width of Time column self.eventtable.setColumnWidth(1,175) header = self.eventtable.horizontalHeader() header.setSectionResizeMode(0, QHeaderView.Fixed) header.setSectionResizeMode(1, QHeaderView.Fixed) header.setSectionResizeMode(2, QHeaderView.Fixed) header.setSectionResizeMode(3, QHeaderView.Stretch) header.setSectionResizeMode(4, QHeaderView.Fixed) header.setSectionResizeMode(5, QHeaderView.Fixed) self.eventtable.resizeColumnsToContents() self.eventtable.setColumnWidth(1,65) self.eventtable.setColumnWidth(2,65)
def __init__(self, parent=None, aw=None): super(designerconfigDlg, self).__init__(parent, aw) self.setWindowTitle( QApplication.translate("Form Caption", "Designer Config", None)) self.setModal(True) #landmarks charge = QLabel(QApplication.translate("Label", "CHARGE", None)) charge.setAlignment(Qt.AlignRight) charge.setStyleSheet("background-color: #f07800") self.dryend = QCheckBox( QApplication.translate("CheckBox", "DRY END", None)) self.dryend.setStyleSheet("background-color: orange") self.fcs = QCheckBox( QApplication.translate("CheckBox", "FC START", None)) self.fcs.setStyleSheet("background-color: orange") self.fce = QCheckBox(QApplication.translate("CheckBox", "FC END", None)) self.fce.setStyleSheet("background-color: orange") self.scs = QCheckBox( QApplication.translate("CheckBox", "SC START", None)) self.scs.setStyleSheet("background-color: orange") self.sce = QCheckBox(QApplication.translate("CheckBox", "SC END", None)) self.sce.setStyleSheet("background-color: orange") drop = QLabel(QApplication.translate("Label", "DROP", None)) drop.setAlignment(Qt.AlignRight) drop.setStyleSheet("background-color: #f07800") self.loadconfigflags() self.dryend.clicked.connect(self.changeflags) self.fcs.clicked.connect(self.changeflags) self.fce.clicked.connect(self.changeflags) self.scs.clicked.connect(self.changeflags) self.sce.clicked.connect(self.changeflags) if self.aw.qmc.timeindex[0] != -1: start = self.aw.qmc.timex[self.aw.qmc.timeindex[0]] else: start = 0 markersettinglabel = QLabel( QApplication.translate("Label", "Marker", None)) markersettinglabel.setAlignment(Qt.AlignCenter) timesettinglabel = QLabel(QApplication.translate( "Label", "Time", None)) timesettinglabel.setAlignment(Qt.AlignCenter) btsettinglabel = QLabel(QApplication.translate("Label", "BT", None)) btsettinglabel.setAlignment(Qt.AlignCenter) etsettinglabel = QLabel(QApplication.translate("Label", "ET", None)) etsettinglabel.setAlignment(Qt.AlignCenter) self.Edit0 = QLineEdit(stringfromseconds(0)) self.Edit0.setEnabled(False) self.Edit0bt = QLineEdit("%.1f" % self.aw.qmc.temp2[self.aw.qmc.timeindex[0]]) self.Edit0et = QLineEdit("%.1f" % self.aw.qmc.temp1[self.aw.qmc.timeindex[0]]) self.Edit0.setAlignment(Qt.AlignRight) self.Edit0bt.setAlignment(Qt.AlignRight) self.Edit0et.setAlignment(Qt.AlignRight) if self.aw.qmc.timeindex[1]: self.Edit1 = QLineEdit( stringfromseconds(self.aw.qmc.timex[self.aw.qmc.timeindex[1]] - start)) self.Edit1bt = QLineEdit( "%.1f" % self.aw.qmc.temp2[self.aw.qmc.timeindex[1]]) self.Edit1et = QLineEdit( "%.1f" % self.aw.qmc.temp1[self.aw.qmc.timeindex[1]]) else: self.Edit1 = QLineEdit(stringfromseconds(0)) self.Edit1bt = QLineEdit("0.0") self.Edit1et = QLineEdit("0.0") self.Edit1.setAlignment(Qt.AlignRight) self.Edit1bt.setAlignment(Qt.AlignRight) self.Edit1et.setAlignment(Qt.AlignRight) if self.aw.qmc.timeindex[2]: self.Edit2 = QLineEdit( stringfromseconds(self.aw.qmc.timex[self.aw.qmc.timeindex[2]] - start)) self.Edit2bt = QLineEdit( "%.1f" % self.aw.qmc.temp2[self.aw.qmc.timeindex[2]]) self.Edit2et = QLineEdit( "%.1f" % self.aw.qmc.temp1[self.aw.qmc.timeindex[2]]) else: self.Edit2 = QLineEdit(stringfromseconds(0)) self.Edit2bt = QLineEdit("0.0") self.Edit2et = QLineEdit("0.0") self.Edit2.setAlignment(Qt.AlignRight) self.Edit2bt.setAlignment(Qt.AlignRight) self.Edit2et.setAlignment(Qt.AlignRight) if self.aw.qmc.timeindex[3]: self.Edit3 = QLineEdit( stringfromseconds(self.aw.qmc.timex[self.aw.qmc.timeindex[3]] - start)) self.Edit3bt = QLineEdit( "%.1f" % self.aw.qmc.temp2[self.aw.qmc.timeindex[3]]) self.Edit3et = QLineEdit( "%.1f" % self.aw.qmc.temp1[self.aw.qmc.timeindex[3]]) else: self.Edit3 = QLineEdit(stringfromseconds(0)) self.Edit3bt = QLineEdit("0.0") self.Edit3et = QLineEdit("0.0") self.Edit3.setAlignment(Qt.AlignRight) self.Edit3bt.setAlignment(Qt.AlignRight) self.Edit3et.setAlignment(Qt.AlignRight) if self.aw.qmc.timeindex[4]: self.Edit4 = QLineEdit( stringfromseconds(self.aw.qmc.timex[self.aw.qmc.timeindex[4]] - start)) self.Edit4bt = QLineEdit( "%.1f" % self.aw.qmc.temp2[self.aw.qmc.timeindex[4]]) self.Edit4et = QLineEdit( "%.1f" % self.aw.qmc.temp1[self.aw.qmc.timeindex[4]]) else: self.Edit4 = QLineEdit(stringfromseconds(0)) self.Edit4bt = QLineEdit("0.0") self.Edit4et = QLineEdit("0.0") self.Edit4.setAlignment(Qt.AlignRight) self.Edit4bt.setAlignment(Qt.AlignRight) self.Edit4et.setAlignment(Qt.AlignRight) if self.aw.qmc.timeindex[5]: self.Edit5 = QLineEdit( stringfromseconds(self.aw.qmc.timex[self.aw.qmc.timeindex[5]] - start)) self.Edit5bt = QLineEdit( "%.1f" % self.aw.qmc.temp2[self.aw.qmc.timeindex[5]]) self.Edit5et = QLineEdit( "%.1f" % self.aw.qmc.temp1[self.aw.qmc.timeindex[5]]) else: self.Edit5 = QLineEdit(stringfromseconds(0)) self.Edit5bt = QLineEdit("0.0") self.Edit5et = QLineEdit("0.0") self.Edit5.setAlignment(Qt.AlignRight) self.Edit5bt.setAlignment(Qt.AlignRight) self.Edit5et.setAlignment(Qt.AlignRight) if self.aw.qmc.timeindex[6]: self.Edit6 = QLineEdit( stringfromseconds(self.aw.qmc.timex[self.aw.qmc.timeindex[6]] - start)) self.Edit6bt = QLineEdit( "%.1f" % self.aw.qmc.temp2[self.aw.qmc.timeindex[6]]) self.Edit6et = QLineEdit( "%.1f" % self.aw.qmc.temp1[self.aw.qmc.timeindex[6]]) else: self.Edit6 = QLineEdit(stringfromseconds(0)) self.Edit6bt = QLineEdit("0.0") self.Edit6et = QLineEdit("0.0") self.Edit6.setAlignment(Qt.AlignRight) self.Edit6bt.setAlignment(Qt.AlignRight) self.Edit6et.setAlignment(Qt.AlignRight) maxwidth = 70 self.Edit0.setMaximumWidth(maxwidth) self.Edit1.setMaximumWidth(maxwidth) self.Edit2.setMaximumWidth(maxwidth) self.Edit3.setMaximumWidth(maxwidth) self.Edit4.setMaximumWidth(maxwidth) self.Edit5.setMaximumWidth(maxwidth) self.Edit6.setMaximumWidth(maxwidth) self.Edit0bt.setMaximumWidth(maxwidth) self.Edit1bt.setMaximumWidth(maxwidth) self.Edit2bt.setMaximumWidth(maxwidth) self.Edit3bt.setMaximumWidth(maxwidth) self.Edit4bt.setMaximumWidth(maxwidth) self.Edit5bt.setMaximumWidth(maxwidth) self.Edit6bt.setMaximumWidth(maxwidth) self.Edit0et.setMaximumWidth(maxwidth) self.Edit1et.setMaximumWidth(maxwidth) self.Edit2et.setMaximumWidth(maxwidth) self.Edit3et.setMaximumWidth(maxwidth) self.Edit4et.setMaximumWidth(maxwidth) self.Edit5et.setMaximumWidth(maxwidth) self.Edit6et.setMaximumWidth(maxwidth) self.Edit1copy = self.Edit1.text() self.Edit2copy = self.Edit2.text() self.Edit3copy = self.Edit3.text() self.Edit4copy = self.Edit4.text() self.Edit5copy = self.Edit5.text() self.Edit6copy = self.Edit6.text() self.Edit0btcopy = self.Edit0bt.text() self.Edit1btcopy = self.Edit1bt.text() self.Edit2btcopy = self.Edit2bt.text() self.Edit3btcopy = self.Edit3bt.text() self.Edit4btcopy = self.Edit4bt.text() self.Edit5btcopy = self.Edit5bt.text() self.Edit6btcopy = self.Edit6bt.text() self.Edit0etcopy = self.Edit0et.text() self.Edit1etcopy = self.Edit1et.text() self.Edit2etcopy = self.Edit2et.text() self.Edit3etcopy = self.Edit3et.text() self.Edit4etcopy = self.Edit4et.text() self.Edit5etcopy = self.Edit5et.text() self.Edit6etcopy = self.Edit6et.text() regextime = QRegularExpression(r"^-?[0-9]?[0-9]?[0-9]:[0-5][0-9]$") self.Edit0.setValidator(QRegularExpressionValidator(regextime, self)) self.Edit1.setValidator(QRegularExpressionValidator(regextime, self)) self.Edit2.setValidator(QRegularExpressionValidator(regextime, self)) self.Edit3.setValidator(QRegularExpressionValidator(regextime, self)) self.Edit4.setValidator(QRegularExpressionValidator(regextime, self)) self.Edit5.setValidator(QRegularExpressionValidator(regextime, self)) self.Edit6.setValidator(QRegularExpressionValidator(regextime, self)) regextemp = QRegularExpression(r"^-?[0-9]?[0-9]?[0-9]?\.?[0-9]?$") self.Edit0bt.setValidator(QRegularExpressionValidator(regextemp, self)) self.Edit1bt.setValidator(QRegularExpressionValidator(regextemp, self)) self.Edit2bt.setValidator(QRegularExpressionValidator(regextemp, self)) self.Edit3bt.setValidator(QRegularExpressionValidator(regextemp, self)) self.Edit4bt.setValidator(QRegularExpressionValidator(regextemp, self)) self.Edit5bt.setValidator(QRegularExpressionValidator(regextemp, self)) self.Edit6bt.setValidator(QRegularExpressionValidator(regextemp, self)) self.Edit0et.setValidator(QRegularExpressionValidator(regextemp, self)) self.Edit1et.setValidator(QRegularExpressionValidator(regextemp, self)) self.Edit2et.setValidator(QRegularExpressionValidator(regextemp, self)) self.Edit3et.setValidator(QRegularExpressionValidator(regextemp, self)) self.Edit4et.setValidator(QRegularExpressionValidator(regextemp, self)) self.Edit5et.setValidator(QRegularExpressionValidator(regextemp, self)) self.Edit6et.setValidator(QRegularExpressionValidator(regextemp, self)) curvinesslabel = QLabel( QApplication.translate("Label", "Curviness", None)) etcurviness = QLabel(QApplication.translate("Label", "ET", None)) btcurviness = QLabel(QApplication.translate("Label", "BT", None)) etcurviness.setAlignment(Qt.AlignRight) btcurviness.setAlignment(Qt.AlignRight) self.ETsplineComboBox = QComboBox() self.ETsplineComboBox.addItems(["1", "2", "3", "4", "5"]) self.ETsplineComboBox.setCurrentIndex(self.aw.qmc.ETsplinedegree - 1) self.ETsplineComboBox.currentIndexChanged.connect(self.redrawcurviness) self.BTsplineComboBox = QComboBox() self.BTsplineComboBox.addItems(["1", "2", "3", "4", "5"]) self.BTsplineComboBox.setCurrentIndex(self.aw.qmc.BTsplinedegree - 1) self.BTsplineComboBox.currentIndexChanged.connect(self.redrawcurviness) # connect the ArtisanDialog standard OK/Cancel buttons self.dialogbuttons.removeButton( self.dialogbuttons.button(QDialogButtonBox.Ok)) self.dialogbuttons.removeButton( self.dialogbuttons.button(QDialogButtonBox.Cancel)) self.dialogbuttons.addButton(QDialogButtonBox.Close) self.dialogbuttons.addButton(QDialogButtonBox.Apply) self.dialogbuttons.addButton(QDialogButtonBox.RestoreDefaults) if self.aw.locale not in self.aw.qtbase_locales: self.dialogbuttons.button( QDialogButtonBox.RestoreDefaults).setText( QApplication.translate("Button", "Reset", None)) self.dialogbuttons.rejected.connect(self.accept) self.dialogbuttons.button( QDialogButtonBox.RestoreDefaults).clicked.connect(self.reset) self.dialogbuttons.button(QDialogButtonBox.Apply).clicked.connect( self.settimes) buttonLayout = QHBoxLayout() buttonLayout.addStretch() buttonLayout.addWidget(self.dialogbuttons) marksLayout = QGridLayout() marksLayout.addWidget(markersettinglabel, 0, 0) marksLayout.addWidget(timesettinglabel, 0, 1) marksLayout.addWidget(btsettinglabel, 0, 2) marksLayout.addWidget(etsettinglabel, 0, 3) marksLayout.addWidget(charge, 1, 0) marksLayout.addWidget(self.Edit0, 1, 1) marksLayout.addWidget(self.Edit0bt, 1, 2) marksLayout.addWidget(self.Edit0et, 1, 3) marksLayout.addWidget(self.dryend, 2, 0) marksLayout.addWidget(self.Edit1, 2, 1) marksLayout.addWidget(self.Edit1bt, 2, 2) marksLayout.addWidget(self.Edit1et, 2, 3) marksLayout.addWidget(self.fcs, 3, 0) marksLayout.addWidget(self.Edit2, 3, 1) marksLayout.addWidget(self.Edit2bt, 3, 2) marksLayout.addWidget(self.Edit2et, 3, 3) marksLayout.addWidget(self.fce, 4, 0) marksLayout.addWidget(self.Edit3, 4, 1) marksLayout.addWidget(self.Edit3bt, 4, 2) marksLayout.addWidget(self.Edit3et, 4, 3) marksLayout.addWidget(self.scs, 5, 0) marksLayout.addWidget(self.Edit4, 5, 1) marksLayout.addWidget(self.Edit4bt, 5, 2) marksLayout.addWidget(self.Edit4et, 5, 3) marksLayout.addWidget(self.sce, 6, 0) marksLayout.addWidget(self.Edit5, 6, 1) marksLayout.addWidget(self.Edit5bt, 6, 2) marksLayout.addWidget(self.Edit5et, 6, 3) marksLayout.addWidget(drop, 7, 0) marksLayout.addWidget(self.Edit6, 7, 1) marksLayout.addWidget(self.Edit6bt, 7, 2) marksLayout.addWidget(self.Edit6et, 7, 3) settingsLayout = QVBoxLayout() settingsLayout.addLayout(marksLayout) curvinessLayout = QHBoxLayout() curvinessLayout.addWidget(curvinesslabel) curvinessLayout.addWidget(etcurviness) curvinessLayout.addWidget(self.ETsplineComboBox) curvinessLayout.addWidget(btcurviness) curvinessLayout.addWidget(self.BTsplineComboBox) modLayout = QVBoxLayout() modLayout.addLayout(curvinessLayout) marksGroupLayout = QGroupBox( QApplication.translate("GroupBox", "Initial Settings", None)) marksGroupLayout.setLayout(settingsLayout) mainLayout = QVBoxLayout() mainLayout.addWidget(marksGroupLayout) mainLayout.addLayout(modLayout) mainLayout.addLayout(buttonLayout) self.setLayout(mainLayout) self.dialogbuttons.button(QDialogButtonBox.Close).setFocus() settings = QSettings() if settings.contains("DesignerPosition"): self.move(settings.value("DesignerPosition")) mainLayout.setSizeConstraint(QLayout.SetFixedSize)
def setalarmtablerow(self,i): #flag flagComboBox = QCheckBox() flagComboBox.setFocusPolicy(Qt.NoFocus) flagComboBox.setText(QApplication.translate("ComboBox","ON",None)) if self.aw.qmc.alarmflag[i]: flagComboBox.setCheckState(Qt.Checked) else: flagComboBox.setCheckState(Qt.Unchecked) #guarded by alarm if self.aw.qmc.alarmguard[i] > -1: guardstr = str(self.aw.qmc.alarmguard[i] + 1) else: guardstr = "0" guardedit = QLineEdit(guardstr) guardedit.setValidator(QIntValidator(0, 999,guardedit)) guardedit.setAlignment(Qt.AlignRight) #neg guarded by alarm if self.aw.qmc.alarmnegguard[i] > -1: negguardstr = str(self.aw.qmc.alarmnegguard[i] + 1) else: negguardstr = "0" negguardedit = QLineEdit(negguardstr) negguardedit.setValidator(QIntValidator(0, 999,negguardedit)) negguardedit.setAlignment(Qt.AlignRight) #Effective time from timeComboBox = MyQComboBox() timeComboBox.setSizeAdjustPolicy(QComboBox.AdjustToMinimumContentsLength) timeComboBox.addItems([QApplication.translate("ComboBox","ON",None), # qmc.alarmtime 9 QApplication.translate("ComboBox","START",None), # qmc.alarmtime -1 QApplication.translate("ComboBox","CHARGE",None), # qmc.alarmtime 0 QApplication.translate("ComboBox","TP",None), # qmc.alarmtime 8 QApplication.translate("ComboBox","DRY END",None), # qmc.alarmtime 1 QApplication.translate("ComboBox","FC START",None), # qmc.alarmtime 2 QApplication.translate("ComboBox","FC END",None), # qmc.alarmtime 3 QApplication.translate("ComboBox","SC START",None), # qmc.alarmtime 4 QApplication.translate("ComboBox","SC END",None), # qmc.alarmtime 5 QApplication.translate("ComboBox","DROP",None), # qmc.alarmtime 6 QApplication.translate("ComboBox","COOL",None), # qmc.alarmtime 7 QApplication.translate("ComboBox","If Alarm",None)]) # qmc.alarmtime 10 timeComboBox.setCurrentIndex(self.aw.qmc.alarmtime2menuidx[self.aw.qmc.alarmtime[i]]) #time after selected event timeoffsetedit = QLineEdit(stringfromseconds(max(0,self.aw.qmc.alarmoffset[i]))) timeoffsetedit.setAlignment(Qt.AlignRight) regextime = QRegExp(r"^[0-5][0-9]:[0-5][0-9]$") timeoffsetedit.setValidator(QRegExpValidator(regextime,self)) #type/source typeComboBox = MyQComboBox() typeComboBox.setSizeAdjustPolicy(QComboBox.AdjustToMinimumContentsLength) aitems = self.buildAlarmSourceList() typeComboBox.addItems(aitems) if self.aw.qmc.alarmsource[i] + 3 < len(aitems): typeComboBox.setCurrentIndex(self.aw.qmc.alarmsource[i] + 3) else: typeComboBox.setCurrentIndex(3) #condition condComboBox = MyQComboBox() condComboBox.setSizeAdjustPolicy(QComboBox.AdjustToMinimumContentsLength) condComboBox.addItems([QApplication.translate("ComboBox","below",None), QApplication.translate("ComboBox","above",None)]) condComboBox.setCurrentIndex(self.aw.qmc.alarmcond[i]) #temperature tempedit = QLineEdit(str(self.aw.float2float(self.aw.qmc.alarmtemperature[i]))) tempedit.setAlignment(Qt.AlignRight) tempedit.setMaximumWidth(130) # tempedit.setValidator(QIntValidator(0, 999,tempedit)) tempedit.setValidator(self.aw.createCLocaleDoubleValidator(-999.9, 999.9,1,tempedit)) #action actionComboBox = MyQComboBox() actionComboBox.setSizeAdjustPolicy(QComboBox.AdjustToMinimumContentsLength) actionComboBox.addItems(["", QApplication.translate("ComboBox","Pop Up",None), QApplication.translate("ComboBox","Call Program",None), QApplication.translate("ComboBox","Event Button",None), QApplication.translate("ComboBox","Slider",None) + " " + self.aw.qmc.etypesf(0), QApplication.translate("ComboBox","Slider",None) + " " + self.aw.qmc.etypesf(1), QApplication.translate("ComboBox","Slider",None) + " " + self.aw.qmc.etypesf(2), QApplication.translate("ComboBox","Slider",None) + " " + self.aw.qmc.etypesf(3), QApplication.translate("ComboBox","START",None), QApplication.translate("ComboBox","DRY",None), QApplication.translate("ComboBox","FCs",None), QApplication.translate("ComboBox","FCe",None), QApplication.translate("ComboBox","SCs",None), QApplication.translate("ComboBox","SCe",None), QApplication.translate("ComboBox","DROP",None), QApplication.translate("ComboBox","COOL END",None), QApplication.translate("ComboBox","OFF",None), QApplication.translate("ComboBox","CHARGE",None), QApplication.translate("ComboBox","RampSoak ON",None), QApplication.translate("ComboBox","RampSoak OFF",None), QApplication.translate("ComboBox","PID ON",None), QApplication.translate("ComboBox","PID OFF",None), QApplication.translate("ComboBox","SV",None), QApplication.translate("ComboBox","Playback ON",None), QApplication.translate("ComboBox","Playback OFF",None), QApplication.translate("ComboBox","Set Canvas Color",None), QApplication.translate("ComboBox","Reset Canvas Color",None)]) actionComboBox.setCurrentIndex(self.aw.qmc.alarmaction[i] + 1) #beep beepWidget = QWidget() beepComboBox = QCheckBox() beepComboBox.setFocusPolicy(Qt.NoFocus) beepLayout = QHBoxLayout() beepLayout.addStretch() beepLayout.addWidget(beepComboBox) beepLayout.addSpacing(6); beepLayout.addStretch() beepLayout.setContentsMargins(0,0,0,0) beepLayout.setSpacing(0) beepWidget.setLayout(beepLayout) if len(self.aw.qmc.alarmbeep) > i and self.aw.qmc.alarmbeep[i]: beepComboBox.setCheckState(Qt.Checked) else: beepComboBox.setCheckState(Qt.Unchecked) #text description descriptionedit = QLineEdit(self.aw.qmc.alarmstrings[i]) descriptionedit.setCursorPosition(0) self.alarmtable.setItem(i, 0, MyTableWidgetItemInt(str(i+1),i)) self.alarmtable.setCellWidget(i,1,flagComboBox) self.alarmtable.setItem(i, 1, MyTableWidgetItemQCheckBox(flagComboBox)) self.alarmtable.setCellWidget(i,2,guardedit) self.alarmtable.setItem(i, 2, MyTableWidgetItemQLineEdit(guardedit)) self.alarmtable.setCellWidget(i,3,negguardedit) self.alarmtable.setItem(i, 3, MyTableWidgetItemQLineEdit(negguardedit)) self.alarmtable.setCellWidget(i,4,timeComboBox) self.alarmtable.setItem(i, 4, MyTableWidgetItemQComboBox(timeComboBox)) self.alarmtable.setCellWidget(i,5,timeoffsetedit) self.alarmtable.setItem(i, 5, MyTableWidgetItemQLineEdit(timeoffsetedit)) self.alarmtable.setCellWidget(i,6,typeComboBox) self.alarmtable.setItem(i, 6, MyTableWidgetItemQComboBox(typeComboBox)) self.alarmtable.setCellWidget(i,7,condComboBox) self.alarmtable.setItem(i, 7, MyTableWidgetItemQComboBox(condComboBox)) self.alarmtable.setCellWidget(i,8,tempedit) self.alarmtable.setItem(i, 8, MyTableWidgetItemQLineEdit(tempedit)) self.alarmtable.setCellWidget(i,9,actionComboBox) self.alarmtable.setItem(i, 9, MyTableWidgetItemQComboBox(actionComboBox)) self.alarmtable.setCellWidget(i,10,beepWidget) self.alarmtable.setItem(i, 10, MyTableWidgetItemQCheckBox(beepWidget.layout().itemAt(1).widget())) self.alarmtable.setCellWidget(i,11,descriptionedit) self.alarmtable.setItem(i, 11, MyTableWidgetItemQLineEdit(descriptionedit))