def addRotencDownDataref(self): index = self.DOWN_DREFS_TABLE.rowCount() self.DOWN_DREFS_TABLE.insertRow(index) editWidget = pyXPdatarefCommandEditWidget.datarefCommandEditWidget( self.DOWN_DREFS_TABLE) editWidget.lineEdit.setText('') editWidget.lineEdit.editingFinished.connect(self.updateXMLdata) editWidget.lookupDREFCMDbutton.clicked.connect(self.editXPDataref) self.DOWN_DREFS_TABLE.setCellWidget(index, 0, editWidget) item = QtWidgets.QTableWidgetItem('0') self.DOWN_DREFS_TABLE.setItem(index, 1, item) item = QtWidgets.QTableWidgetItem('0.0') self.DOWN_DREFS_TABLE.setItem(index, 2, item) check_state = QtCore.Qt.Unchecked item = QtWidgets.QTableWidgetItem() item.setCheckState(check_state) self.DOWN_DREFS_TABLE.setItem(index, 3, item) self.DOWN_DREFS_TABLE.resizeColumnsToContents() self.DOWN_DREFS_TABLE.resizeRowsToContents() self.DOWN_DREFS_TABLE.setColumnWidth(0, self.DREFCMD_COLSIZE) self.updateXMLdata() self.actionSave.setEnabled(True)
def addCommand(self): logging.debug("ADD POT COMMAND") index = self.CMDS_TABLE.rowCount() self.CMDS_TABLE.insertRow(index) editWidget = pyXPdatarefCommandEditWidget.datarefCommandEditWidget( self) editWidget.lineEdit.setText('') editWidget.lineEdit.editingFinished.connect(self.updateXMLdata) editWidget.lookupDREFCMDbutton.clicked.connect(self.editXPCommand) self.CMDS_TABLE.setCellWidget(index, 0, editWidget) item = QtWidgets.QTableWidgetItem('') item.setToolTip( '<html><head/><body><p>Enter intervals where the command should be sent. </p><p>For example to send the command if the pot value is between 0 and 200 or between 600 and 800, enter: </p><p><span style=" color:#0000ff;">[0,200], [600,800]</span></p></body></html>' ) self.CMDS_TABLE.setItem(index, 1, item) self.CMDS_TABLE.resizeRowsToContents() self.CMDS_TABLE.resizeColumnsToContents() self.CMDS_TABLE.setColumnWidth(0, self.DREFCMD_COLSIZE) self.updateXMLdata() self.actionSave.setEnabled(True)
def addRotencUpCommand(self): logger.debug("ADD ROT UP COMMAND") index = self.UP_CMDS_TABLE.rowCount() self.UP_CMDS_TABLE.insertRow(index) editWidget = pyXPdatarefCommandEditWidget.datarefCommandEditWidget( self.UP_CMDS_TABLE) editWidget.lineEdit.setText('') editWidget.lineEdit.editingFinished.connect(self.updateXMLdata) editWidget.lookupDREFCMDbutton.clicked.connect(self.editXPCommand) self.UP_CMDS_TABLE.setCellWidget(index, 0, editWidget) check_state = QtCore.Qt.Unchecked item = QtWidgets.QTableWidgetItem() item.setCheckState(check_state) self.UP_CMDS_TABLE.setItem(index, 1, item) self.UP_CMDS_TABLE.resizeColumnsToContents() self.UP_CMDS_TABLE.resizeRowsToContents() self.UP_CMDS_TABLE.setColumnWidth(0, self.DREFCMD_COLSIZE) self.updateXMLdata() self.actionSave.setEnabled(True)
def addDataref(self): index = self.DREFS_TABLE.rowCount() self.DREFS_TABLE.insertRow(index) editWidget = pyXPdatarefCommandEditWidget.datarefCommandEditWidget( self) editWidget.lineEdit.setText('') editWidget.lineEdit.editingFinished.connect(self.updateXMLdata) editWidget.lookupDREFCMDbutton.clicked.connect(self.editXPDataref) self.DREFS_TABLE.setCellWidget(index, 0, editWidget) item = QtWidgets.QTableWidgetItem('0') self.DREFS_TABLE.setItem(index, 1, item) item = QtWidgets.QTableWidgetItem('0.0') item.setToolTip( '<html><head/><body><p>Enter series of points [pot input value, output dataref value]. The output value of the dataref in between 2 points will be linearly interpolated. </p><p>Note that the potentiometer value varies between 0 and 1023 (this is the raw output reading from the ADC of the arduino)</p><p>For example to set the dataref to vary linearly between 10 and 300 when the potentiometer value varies between 0 and 1023, enter: </p><p><span style=" color:#0000ff;">[0,10], [1023,300]</span></p></body></html>' ) self.DREFS_TABLE.setItem(index, 2, item) self.DREFS_TABLE.resizeRowsToContents() self.DREFS_TABLE.resizeColumnsToContents() self.DREFS_TABLE.setColumnWidth(0, self.DREFCMD_COLSIZE) self.updateXMLdata() self.actionSave.setEnabled(True)
def show(self, componentID, ardSerialNr=None): self.repopulating = True self.componentID = componentID componentData = self.ardXMLconfig.getComponentData( componentID, self.componentType) self.nameLineEdit.setText(componentData['name']) self.IDlineEdit.setText(componentData['id']) self.multiplierLineEdit.setText(componentData['multiplier']) self.IDlineEdit.setText(componentData['id']) check_state = QtCore.Qt.Unchecked if componentData['acceleration'] == 'True': check_state = QtCore.Qt.Checked self.acceleration_checkBox.setCheckState(check_state) pinIndex = self.PINA_comboBox.findText(componentData['pin']) self.PINA_comboBox.setCurrentIndex(pinIndex) pinIndex = self.PINB_comboBox.findText(componentData['pin2']) self.PINB_comboBox.setCurrentIndex(pinIndex) stepsIndex = self.steps_comboBox.findText( componentData['stepsPerNotch']) self.steps_comboBox.setCurrentIndex(stepsIndex) ################### TO UPDATE switchState = componentData['state'] if switchState == 'on': self.switchStateButton.setChecked(True) else: self.switchStateButton.setChecked(False) ###################### self.UP_CMDS_TABLE.setRowCount(0) self.DOWN_CMDS_TABLE.setRowCount(0) actions = componentData['actions'] for action in actions: if action['state'] == 'up': if action['action_type'] == 'cmd': index = self.UP_CMDS_TABLE.rowCount() self.UP_CMDS_TABLE.insertRow(index) editWidget = pyXPdatarefCommandEditWidget.datarefCommandEditWidget( self.UP_CMDS_TABLE) editWidget.lineEdit.setText(action['cmddref']) editWidget.lineEdit.editingFinished.connect( self.updateXMLdata) editWidget.lookupDREFCMDbutton.clicked.connect( self.editXPCommand) self.UP_CMDS_TABLE.setCellWidget(index, 0, editWidget) check_state = QtCore.Qt.Unchecked if action['continuous'] == 'True': check_state = QtCore.Qt.Checked item = QtWidgets.QTableWidgetItem() item.setCheckState(check_state) self.UP_CMDS_TABLE.setItem(index, 1, item) if action['action_type'] == 'dref': index = self.UP_DREFS_TABLE.rowCount() self.UP_DREFS_TABLE.insertRow(index) editWidget = pyXPdatarefCommandEditWidget.datarefCommandEditWidget( self.UP_DREFS_TABLE) editWidget.lineEdit.setText(action['cmddref']) editWidget.lineEdit.editingFinished.connect( self.updateXMLdata) editWidget.lookupDREFCMDbutton.clicked.connect( self.editXPDataref) self.UP_DREFS_TABLE.setCellWidget(index, 0, editWidget) item = QtWidgets.QTableWidgetItem(action['index']) self.UP_DREFS_TABLE.setItem(index, 1, item) item = QtWidgets.QTableWidgetItem(action['setToValue']) self.UP_DREFS_TABLE.setItem(index, 2, item) check_state = QtCore.Qt.Unchecked if action['continuous'] == 'True': check_state = QtCore.Qt.Checked item = QtWidgets.QTableWidgetItem() item.setCheckState(check_state) self.UP_DREFS_TABLE.setItem(index, 3, item) drefList = XPrefData.getXPDatarefList( None, action['cmddref']) if len(drefList) > 0: # we have found the dataref item = QtWidgets.QTableWidgetItem( drefList[0][2]) # type self.UP_DREFS_TABLE.setItem(index, 4, item) item = QtWidgets.QTableWidgetItem( drefList[0][4]) # unit self.UP_DREFS_TABLE.setItem(index, 5, item) if action['state'] == 'down': if action['action_type'] == 'cmd': index = self.DOWN_CMDS_TABLE.rowCount() self.DOWN_CMDS_TABLE.insertRow(index) editWidget = pyXPdatarefCommandEditWidget.datarefCommandEditWidget( self.DOWN_CMDS_TABLE) editWidget.lineEdit.setText(action['cmddref']) editWidget.lineEdit.editingFinished.connect( self.updateXMLdata) editWidget.lookupDREFCMDbutton.clicked.connect( self.editXPCommand) self.DOWN_CMDS_TABLE.setCellWidget(index, 0, editWidget) check_state = QtCore.Qt.Unchecked if action['continuous'] == 'True': check_state = QtCore.Qt.Checked item = QtWidgets.QTableWidgetItem() item.setCheckState(check_state) self.DOWN_CMDS_TABLE.setItem(index, 1, item) if action['action_type'] == 'dref': index = self.DOWN_DREFS_TABLE.rowCount() self.DOWN_DREFS_TABLE.insertRow(index) editWidget = pyXPdatarefCommandEditWidget.datarefCommandEditWidget( self.DOWN_DREFS_TABLE) editWidget.lineEdit.setText(action['cmddref']) editWidget.lineEdit.editingFinished.connect( self.updateXMLdata) editWidget.lookupDREFCMDbutton.clicked.connect( self.editXPDataref) self.DOWN_DREFS_TABLE.setCellWidget(index, 0, editWidget) item = QtWidgets.QTableWidgetItem(action['index']) self.DOWN_DREFS_TABLE.setItem(index, 1, item) item = QtWidgets.QTableWidgetItem(action['setToValue']) self.DOWN_DREFS_TABLE.setItem(index, 2, item) check_state = QtCore.Qt.Unchecked if action['continuous'] == 'True': check_state = QtCore.Qt.Checked item = QtWidgets.QTableWidgetItem() item.setCheckState(check_state) self.DOWN_DREFS_TABLE.setItem(index, 3, item) drefList = XPrefData.getXPDatarefList( None, action['cmddref']) if len(drefList) > 0: # we have found the dataref item = QtWidgets.QTableWidgetItem( drefList[0][2]) # type self.DOWN_DREFS_TABLE.setItem(index, 4, item) item = QtWidgets.QTableWidgetItem( drefList[0][4]) # unit self.DOWN_DREFS_TABLE.setItem(index, 5, item) self.UP_CMDS_TABLE.resizeColumnsToContents() self.UP_CMDS_TABLE.resizeRowsToContents() self.UP_CMDS_TABLE.setColumnWidth(0, self.DREFCMD_COLSIZE) self.DOWN_CMDS_TABLE.resizeColumnsToContents() self.DOWN_CMDS_TABLE.resizeRowsToContents() self.DOWN_CMDS_TABLE.setColumnWidth(0, self.DREFCMD_COLSIZE) self.UP_DREFS_TABLE.resizeColumnsToContents() self.UP_DREFS_TABLE.resizeRowsToContents() self.UP_DREFS_TABLE.setColumnWidth(0, self.DREFCMD_COLSIZE) self.DOWN_DREFS_TABLE.resizeColumnsToContents() self.DOWN_DREFS_TABLE.resizeRowsToContents() self.DOWN_DREFS_TABLE.setColumnWidth(0, self.DREFCMD_COLSIZE) self.repopulating = False super().show()
def show(self, componentID, ardSerialNr=None): self.repopulating = True self.componentID = componentID componentData = self.ardXMLconfig.getComponentData( componentID, self.componentType) self.nameLineEdit.setText(componentData['name']) self.IDlineEdit.setText(componentData['id']) pinIndex = self.PIN_comboBox.findText(componentData['pin']) self.PIN_comboBox.setCurrentIndex(pinIndex) state = componentData['state'] self.valueLabel.setText(state) try: self.valueSlider.setValue(int(state)) except: logging.debug('could not convert state to int, state value: ' + state) self.CMDS_TABLE.setRowCount(0) actions = componentData['actions'] for action in actions: if action['action_type'] == 'cmd': index = self.CMDS_TABLE.rowCount() self.CMDS_TABLE.insertRow(index) editWidget = pyXPdatarefCommandEditWidget.datarefCommandEditWidget( self) editWidget.lineEdit.setText(action['cmddref']) editWidget.lineEdit.editingFinished.connect(self.updateXMLdata) editWidget.lookupDREFCMDbutton.clicked.connect( self.editXPCommand) self.CMDS_TABLE.setCellWidget(index, 0, editWidget) item = QtWidgets.QTableWidgetItem(action['state']) item.setToolTip( '<html><head/><body><p>Enter intervals where the command should be sent. </p><p>For example to send the command if the pot value is between 0 and 200 or between 600 and 800, enter: </p><p><span style=" color:#0000ff;">[0,200], [600,800]</span></p></body></html>' ) self.CMDS_TABLE.setItem(index, 1, item) if action['action_type'] == 'dref': index = self.DREFS_TABLE.rowCount() self.DREFS_TABLE.insertRow(index) editWidget = pyXPdatarefCommandEditWidget.datarefCommandEditWidget( self) editWidget.lineEdit.setText(action['cmddref']) editWidget.lineEdit.editingFinished.connect(self.updateXMLdata) editWidget.lookupDREFCMDbutton.clicked.connect( self.editXPDataref) self.DREFS_TABLE.setCellWidget(index, 0, editWidget) item = QtWidgets.QTableWidgetItem(action['index']) self.DREFS_TABLE.setItem(index, 1, item) item = QtWidgets.QTableWidgetItem(action['setToValue']) item.setToolTip( '<html><head/><body><p>Enter series of points [pot input value, output dataref value]. The output value of the dataref in between 2 points will be linearly interpolated. </p><p>Note that the potentiometer value varies between 0 and 1023 (this is the raw output reading from the ADC of the arduino)</p><p>For example to set the dataref to vary linearly between 10 and 300 when the potentiometer value varies between 0 and 1023, enter: </p><p><span style=" color:#0000ff;">[0,10], [1023,300]</span></p></body></html>' ) self.DREFS_TABLE.setItem(index, 2, item) drefList = XPrefData.getXPDatarefList(None, action['cmddref']) if len(drefList) > 0: # we have found the dataref item = QtWidgets.QTableWidgetItem(drefList[0][2]) # type self.DREFS_TABLE.setItem(index, 3, item) item = QtWidgets.QTableWidgetItem(drefList[0][4]) # unit self.DREFS_TABLE.setItem(index, 4, item) self.CMDS_TABLE.resizeRowsToContents() self.CMDS_TABLE.resizeColumnsToContents() self.CMDS_TABLE.setColumnWidth(0, self.DREFCMD_COLSIZE) self.DREFS_TABLE.resizeColumnsToContents() self.DREFS_TABLE.resizeRowsToContents() self.DREFS_TABLE.setColumnWidth(0, self.DREFCMD_COLSIZE) self.repopulating = False super().show()