def reconfigureWidget(self): """ called from selectTimerAndMCAs """ lst = HasyUtils.getMgElements("mg_tnggui") if len(lst) == 0: self.logWidget.append("reconfigureWidget: mg_tnggui is empty") return # # ['eh_t01', 'eh_c01', 'eh_mca01'] # self.selectedTimers = [] for elm in lst: if elm.find('_t0') != -1: self.selectedTimers.append(self.getDev(elm)) self.selectedMCAs = [] for elm in lst: if elm.find('_mca') != -1: self.selectedMCAs.append(self.getDev(elm)) #self.selectedTimers.sort() #self.selectedMCAs.sort() self.mcaComboBox.clear() for dev in self.selectedMCAs: self.mcaComboBox.addItem(dev['name']) self.mcaOntop = self.selectedMCAs[0] return
def cb_activeMntGrpChanged(self): temp = str(self.activeMntGrpComboBox.currentText()) if len(temp.strip()) == 0: return HasyUtils.setEnv("ActiveMntGrp", temp) elements = HasyUtils.getMgElements(temp) #self.logWidget.append( "macroServerIfc.cb_activeMntGrpChanged: ActiveMntGrp to %s: %s" % (temp, elements)) return
def __init__(self, dev=None, devices=None, logWidget=None, app=None, parent=None): super(mcaWidget, self).__init__(parent) if PySpectra.InfoBlock.monitorGui is None: PySpectra.InfoBlock.setMonitorGui(self) self.dev = dev self.devices = devices if self.devices == None: self.devices = devices.Devices() self.logWidget = logWidget self.app = app self.parent = parent lst = HasyUtils.getMgElements("mg_tnggui") if lst is None or len(lst) == 0: self.selectedTimers = self.devices.allTimers[:] self.selectedMCAs = self.devices.allMCAs[:] else: # # ['eh_t01', 'eh_c01', 'eh_mca01'] # self.selectedTimers = [] for elm in lst: if elm.find('_t0') != -1: self.selectedTimers.append(self.getDev(elm)) self.selectedMCAs = [] for elm in lst: if elm.find('_mca') != -1 and elm.find("roi") == -1: temp = self.getDev(elm) self.selectedMCAs.append(temp) if len(self.selectedMCAs) == 0: if self.logWidget: self.logWidget.append("mcaWidget: there are no MCAs") raise ValueError("mcaWidget: there are no MCAs") #self.selectedTimers.sort() #self.selectedMCAs.sort() self.mcaOntop = self.selectedMCAs[0] # # set the window title # if self.dev is not None: self.setWindowTitle("MCA %s" % self.dev['name']) else: self.setWindowTitle("MCA") self.move(10, 750) # # prepare widgets # self.prepareWidgets() self.flagClosed = False self.pyspGui = None self.statusMCA = "Idle" self.flagTimerWasBusy = False # # updateTimeMCA: the interval between MCA readings # self.updateTimeMCA = 1. self.timeDead = 0. self.timeTotal = 0 # # self.refreshTimer = QtCore.QTimer(self) self.refreshTimer.start(definitions.TIMEOUT_REFRESH_MOTOR) self.refreshTimer.timeout.connect(self.cb_refreshMCAWidget) # # the timer which is busy while the MCAs are active # self.mcaTimer = QtCore.QTimer(self) self.mcaTimer.timeout.connect(self.updateMeasurement) for dev in self.selectedMCAs: dev['proxy'].stop() self.clearMCAs() return