def labler(lablename,signalname,self,num): #incoming signal names are local, must be global for use in exec global selfglobal global rightInfoHub selfglobal=self #boolean logic if lablename in self.booleanList: if signalname=='true': rightInfoHub['textBoxes'][lablename].setCurrentIndex(0) elif signalname=='false': rightInfoHub['textBoxes'][lablename].setCurrentIndex(1) if lablename in (x[0] for x in self.catelogList) and signalname!='': if lablename==self.catelogList[0][0]: stdList=getInfo.getStandardNames(fileName()) else: stdList=getInfo.getCategories(fileName()) rightInfoHub['textBoxes'][lablename].setCurrentIndex(stdList.index(signalname)) if lablename=='voltage_range': stdList=['','-10 10','-5 5','-2.5 2.5','0 10'] rightInfoHub['textBoxes'][lablename].setCurrentIndex(stdList.index(signalname)) #if lablename=='default_sample_rate': rightInfoHub['headers'][lablename].setText(lablename) rightInfoHub['headers'][lablename].setMinimumSize(rightInfoHub['headers'][lablename].sizeHint()) if lablename not in self.booleanList and lablename not in (x[0] for x in self.catelogList) and lablename not in ['voltage_range','default_sample_rate']: rightInfoHub['textBoxes'][lablename].setText(str(signalname)) #Connvects changes in text box to bools logic rightInfoHub['textBoxes'][lablename].textEdited.connect(lambda: textChange()) textChange() #global variable bools set False to indicate no changes have been made yet bools=False
def makeRightInfoHub(self,headers): global rightInfoHub global bools clearRightInfoHub() def onActivated(self,sig): global rightInfoHub global bools bools=True i=0 while i<len(headers): rightInfoHub['headers'][headers[i]]=QtGui.QLabel(headers[i],self.upright) self.upright.verticalLayoutScroll.addWidget(rightInfoHub['headers'][headers[i]],i,1) #Check for boolean variable if headers[i] in self.booleanList: rightInfoHub['textBoxes'][headers[i]]=QtGui.QComboBox(self.upright) #warning: preserve assignment order rightInfoHub['textBoxes'][headers[i]].addItem("true") rightInfoHub['textBoxes'][headers[i]].addItem("false") rightInfoHub['textBoxes'][headers[i]].setCurrentIndex(1) rightInfoHub['textBoxes'][headers[i]].activated.connect(partial(onActivated,self,headers[i])) rightInfoHub['textBoxes'][headers[i]].activated.connect(lambda:textChange()) #Check if variable is in catalog list elif headers[i] in (entry[0] for entry in self.catelogList): rightInfoHub['textBoxes'][headers[i]]=QtGui.QComboBox(self.upright) if headers[i]==self.catelogList[0][0]: stdList=getInfo.getStandardNames(fileName()) else: stdList=getInfo.getCategories(fileName()) for item in stdList: rightInfoHub['textBoxes'][headers[i]].addItem(item) rightInfoHub['textBoxes'][headers[i]].currentIndexChanged.connect(lambda:textChange()) elif headers[i]=='default_sample_rate': rightInfoHub['textBoxes'][headers[i]]=QtGui.QComboBox(self.upright) rightInfoHub['textBoxes'][headers[i]].addItem("") rightInfoHub['textBoxes'][headers[i]].addItem("500") rightInfoHub['textBoxes'][headers[i]].addItem("100") rightInfoHub['textBoxes'][headers[i]].addItem("50") rightInfoHub['textBoxes'][headers[i]].addItem("10") rightInfoHub['textBoxes'][headers[i]].setCurrentIndex(0) rightInfoHub['textBoxes'][headers[i]].activated.connect(partial(onActivated,self,headers[i])) rightInfoHub['textBoxes'][headers[i]].activated.connect(lambda:textChange()) elif headers[i]=='voltage_range': rightInfoHub['textBoxes'][headers[i]]=QtGui.QComboBox(self.upright) rightInfoHub['textBoxes'][headers[i]].addItem("") rightInfoHub['textBoxes'][headers[i]].addItem("-10 10") rightInfoHub['textBoxes'][headers[i]].addItem("-5 5") rightInfoHub['textBoxes'][headers[i]].addItem("-2.5 2.5") rightInfoHub['textBoxes'][headers[i]].addItem("0 10") rightInfoHub['textBoxes'][headers[i]].setCurrentIndex(0) rightInfoHub['textBoxes'][headers[i]].activated.connect(partial(onActivated,self,headers[i])) rightInfoHub['textBoxes'][headers[i]].activated.connect(lambda:textChange()) else: rightInfoHub['textBoxes'][headers[i]]=QtGui.QLineEdit(self.upright) rightInfoHub['textBoxes'][headers[i]].textChanged.connect(lambda:textChange()) self.upright.verticalLayoutScroll.addWidget(rightInfoHub['textBoxes'][headers[i]],i,2) rightInfoHub['textBoxes'][headers[i]].setFixedWidth(500) i+=1