diff --git a/schainpy/gui/viewcontroller/basicwindow.py b/schainpy/gui/viewcontroller/basicwindow.py index 3f5dca8..b6ef2e6 100644 --- a/schainpy/gui/viewcontroller/basicwindow.py +++ b/schainpy/gui/viewcontroller/basicwindow.py @@ -59,33 +59,178 @@ def isRadarPath(path): return 1 -def isInt(value): +def isInt(cadena): try: - int(value) + int(cadena) except: return 0 return 1 -def isFloat(value): +def isFloat(cadena): try: - float(value) + float(cadena) except: return 0 return 1 -def isList(value): +def isList(cadena): - x = ast.literal_eval(value) + value = str.strip(cadena) + + if not value: + return 0 + + try: + x = ast.literal_eval(value) + except: + return 0 if type(x) in (int, float, tuple, list): return 1 return 0 + +def isIntList(cadena): + + value = str.strip(cadena) + + if not value: + return 0 + + try: + x = ast.literal_eval(value) + except: + return 0 + + if type(x) not in (int, tuple, list): + return 0 + + return 1 + +def isFloatRange(cadena): + + value = str.strip(cadena) + + if not value: + return 0 + + c = str.split(value, ",") + + if len(c) != 2: + return 0 + + if not isFloat(c[0]): + return 0 + + if not isFloat(c[1]): + return 0 + + return 1 + +def isIntRange(cadena): + + value = str.strip(cadena) + + if not value: + return 0 + + c = str.split(value, ",") + + if len(c) != 2: + return 0 + + if not isInt(c[0]): + return 0 + + if not isInt(c[1]): + return 0 + +def isPair(value): + + if type(value) not in (tuple, list): + return 0 + + if len(value) != 2: + return 0 + + for i in value: + if type(i) not in (int,): + return 0 + + return 1 + +def isPairList(cadena): + + value = str.strip(cadena) + + if not value: + return 0 + + try: + x = ast.literal_eval(value) + except: + return 0 + + if type(x) not in (tuple, list): + return 0 + + if type(x[0]) not in (tuple, list): + #x = (0,1) + if not isPair(x): + return 0 + + return 1 + + for thisPair in x: + if not isPair(thisPair): + return 0 + + return 1 + +def isMultiList(cadena): + + value = str.strip(cadena) + + if not value: + return 0 + + try: + x = ast.literal_eval(value) + except: + return 0 + + if type(x) not in (tuple, list): + return 0 + + if type(x[0]) not in (int, tuple, list): + return 0 + + for thisList in x: + if type(thisList) not in (tuple, list): + return 0 + return 1 + +def getCode(cadena): + + if not isMultiList(cadena): + return None + + try: + x = ast.literal_eval(value) + except: + return 0 + + if type(x[0]) not in (tuple, list): + return [x] + + return x + + class BasicWindow(QMainWindow, Ui_BasicWindow): """ """ @@ -113,9 +258,8 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): self.idImagspectraHeis = 0 self.idImagrtiHeis = 0 + self.dateList = [] self.dataPath = None - self.online = 0 - self.walk = 0 self.create = False self.selectedItemTree = None self.controllerThread = None @@ -307,49 +451,94 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): SELECCION DEL MODO DE LECTURA ON=1, OFF=0 """ if index == 0: - self.online = 0 - self.proDelay.setText("0") - self.proSet.setText("") - self.proSet.setEnabled(False) +# self.proDelay.setText("0") + self.proSet.setEnabled(True) self.proDelay.setEnabled(False) elif index == 1: - self.online = 1 self.proSet.setText("") - self.proDelay.setText("5") - self.proSet.setEnabled(True) +# self.proDelay.setText("5") + self.proSet.setEnabled(False) self.proDelay.setEnabled(True) - @pyqtSignature("int") - def on_proComDataType_activated(self, index): - """ - Voltage or Spectra - """ + + def __setRawDataWindow(self): + + self.__setPDataWindow() + + self.frame_data.show() + + self.labnTxs.show() + self.pronTxs.show() + + self.labByBlock.show() + self.proComByBlock.show() + + def __setPDataWindow(self): + + self.labelIPPKm.hide() + self.proIPPKm.hide() + self.labelSet.show() self.proSet.show() self.labExpLabel.show() self.proExpLabel.show() - self.labelIPPKm.hide() - self.proIPPKm.hide() + self.labelWalk.show() + self.proComWalk.show() + + self.frame_data.hide() + +# self.labnTxs.hide() +# self.pronTxs.hide() +# +# self.labByBlock.hide() +# self.proComByBlock.hide() + + def __setUSRPDataWindow(self): + + self.frame_data.show() + + self.labelIPPKm.show() + self.proIPPKm.show() + + self.labelSet.hide() + self.proSet.hide() + + self.labExpLabel.hide() + self.proExpLabel.hide() + + self.labelWalk.hide() + self.proComWalk.hide() + + self.labnTxs.hide() + self.pronTxs.hide() + + self.labByBlock.hide() + self.proComByBlock.hide() + + @pyqtSignature("int") + def on_proComDataType_activated(self, index): + """ + Voltage or Spectra + """ if index == 0: extension = '.r' + self.__setRawDataWindow() + elif index == 1: extension = '.pdata' + self.__setPDataWindow() + + elif index == 2: extension = '.fits' + self.__setPDataWindow() + elif index == 3: extension = '.hdf5' - - self.labelIPPKm.show() - self.proIPPKm.show() - - self.labelSet.hide() - self.proSet.hide() - - self.labExpLabel.hide() - self.proExpLabel.hide() + self.__setUSRPDataWindow() self.proDataType.setText(extension) @@ -359,10 +548,10 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): """ if index == 0: - self.walk = 0 + self.proExpLabel.setEnabled(False) elif index == 1: - self.walk = 1 - + self.proExpLabel.setEnabled(True) + @pyqtSignature("") def on_proToolPath_clicked(self): """ @@ -409,11 +598,9 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): self.console.clear() - parameter_list = self.checkInputsProject() - - parms_ok, project_name, datatype, ext, data_path, read_mode, delay, walk, set, expLabel = parameter_list + projectParms = self.__getParmsFromProjectWindow() - if read_mode == "Offline": + if not projectParms.online: self.proComStartDate.clear() self.proComEndDate.clear() self.proComStartDate.setEnabled(True) @@ -422,7 +609,7 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): self.proEndTime.setEnabled(True) self.frame_2.setEnabled(True) - if read_mode == "Online": + else: self.proComStartDate.addItem("1960/01/30") self.proComEndDate.addItem("2018/12/31") self.proComStartDate.setEnabled(False) @@ -431,7 +618,7 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): self.proEndTime.setEnabled(False) self.frame_2.setEnabled(True) - if self.loadDays(data_path, ext, walk, expLabel) == []: + if self.loadDays(projectParms.dpath, projectParms.ext, projectParms.walk, projectParms.expLabel) == []: self._disable_save_button() self._disable_play_button() self.proOk.setEnabled(False) @@ -537,7 +724,7 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): if p0 == 0: self.volOpComChannels.setEnabled(False) self.volOpChannel.setEnabled(False) - self.volOpChannel.clear() +# self.volOpChannel.clear() @pyqtSignature("int") def on_volOpCebHeights_stateChanged(self, p0): @@ -550,7 +737,7 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): if p0 == 0: self.volOpHeights.setEnabled(False) - self.volOpHeights.clear() +# self.volOpHeights.clear() self.volOpComHeights.setEnabled(False) @pyqtSignature("int") @@ -563,7 +750,7 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): if p0 == 0: self.volOpFilter.setEnabled(False) - self.volOpFilter.clear() +# self.volOpFilter.clear() @pyqtSignature("int") def on_volOpCebProfile_stateChanged(self, p0): @@ -577,7 +764,7 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): if p0 == 0: self.volOpComProfile.setEnabled(False) self.volOpProfile.setEnabled(False) - self.volOpProfile.clear() +# self.volOpProfile.clear() @pyqtSignature("int") def on_volOpComProfile_activated(self, index): @@ -689,7 +876,7 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): self.volOpFlip.setEnabled(True) if p0 == 0: self.volOpFlip.setEnabled(False) - self.volOpFlip.clear() +# self.volOpFlip.clear() @pyqtSignature("int") def on_volOpCebCohInt_stateChanged(self, p0): @@ -700,7 +887,7 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): self.volOpCohInt.setEnabled(True) if p0 == 0: self.volOpCohInt.setEnabled(False) - self.volOpCohInt.clear() +# self.volOpCohInt.clear() @pyqtSignature("int") def on_volOpCebRadarfrequency_stateChanged(self, p0): @@ -747,7 +934,7 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): self._disable_save_button() self.console.clear() - self.console.append("Checking input parameters ...") + self.console.append("Checking input parameters:\n") puObj = self.getSelectedItemObj() puObj.removeOperations() @@ -757,25 +944,15 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): format = 'float' name_operation = 'setRadarFrequency' name_parameter = 'frequency' - if not value == "": - try: - radarfreq = float(self.volOpRadarfrequency.text())*1e6 - except: - self.console.clear() - self.console.append("Invalid value '%s' for Radar Frequency" %value) - return 0 + + if not isFloat(value): + self.console.append("Invalid value '%s' for Radar Frequency" %value) + return 0 - opObj = puObj.addOperation(name=name_operation) - if not opObj.addParameter(name=name_parameter, value=radarfreq, format=format): - self.console.append("Invalid value '%s' for %s" %(value,name_parameter)) - return 0 + opObj = puObj.addOperation(name=name_operation) + opObj.addParameter(name=name_parameter, value=radarfreq, format=format) if self.volOpCebChannels.isChecked(): - value = str(self.volOpChannel.text()) - - if value == "": - print "Please fill channel list" - return 0 format = 'intlist' if self.volOpComChannels.currentIndex() == 0: @@ -784,18 +961,22 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): else: name_operation = "selectChannelsByIndex" name_parameter = 'channelIndexList' - - opObj = puObj.addOperation(name=name_operation) - if not opObj.addParameter(name=name_parameter, value=value, format=format): + + value = str(self.volOpChannel.text()) + + if not isIntList(value): self.console.append("Invalid value '%s' for %s" %(value,name_parameter)) return 0 + opObj = puObj.addOperation(name=name_operation) + opObj.addParameter(name=name_parameter, value=value, format=format) + if self.volOpCebHeights.isChecked(): value = str(self.volOpHeights.text()) - if value == "": - print "Please fill height range" - return 0 + if not isFloatRange(value): + self.console.append("Invalid value '%s' for Height range" %value) + return 0 valueList = value.split(',') @@ -816,100 +997,63 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): if self.volOpCebFilter.isChecked(): value = str(self.volOpFilter.text()) - if value == "": - print "Please fill filter value" + + if not isInt(value): + self.console.append("Invalid value '%s' for Filter" %value) return 0 format = 'int' name_operation = 'filterByHeights' name_parameter = 'window' opObj = puObj.addOperation(name=name_operation) - if not opObj.addParameter(name=name_parameter, value=value, format=format): - self.console.append("Invalid value '%s' for %s" %(value,name_parameter)) - return 0 + opObj.addParameter(name=name_parameter, value=value, format=format) if self.volOpCebProfile.isChecked(): value = str(self.volOpProfile.text()) - if value == "": - print "Please fill profile value" - return 0 - format = 'intlist' optype = 'other' name_operation = 'ProfileSelector' + if self.volOpComProfile.currentIndex() == 0: name_parameter = 'profileList' if self.volOpComProfile.currentIndex() == 1: name_parameter = 'profileRangeList' if self.volOpComProfile.currentIndex() == 2: name_parameter = 'rangeList' - + + if not isIntList(value): + self.console.append("Invalid value '%s' for %s" %(value, name_parameter) ) + return 0 + opObj = puObj.addOperation(name='ProfileSelector', optype='other') - if not opObj.addParameter(name=name_parameter, value=value, format=format): - self.console.append("Invalid value '%s' for %s" %(value,name_parameter)) - return 0 + opObj.addParameter(name=name_parameter, value=value, format=format) if self.volOpCebDecodification.isChecked(): name_operation = 'Decoder' opObj = puObj.addOperation(name=name_operation, optype='other') - #User defined - nBaud = None - nCode = None - - code = str(self.volOpCode.text()) - try: - code_tmp = ast.literal_eval(code) - except: - code_tmp = [] - - if len(code_tmp) > 0: - - if type(code_tmp) not in (tuple, list): - self.console.append("Please write a right value for Code (Exmaple: [1,1,-1], [1,-1,1])") - return 0 - - if len(code_tmp) > 1 and type(code_tmp[0]) in (tuple, list): #[ [1,-1,1], [1,1,-1] ] - nBaud = len(code_tmp[0]) - nCode = len(code_tmp) - elif len(code_tmp) == 1 and type(code_tmp[0]) in (tuple, list): #[ [1,-1,1] ] - nBaud = len(code_tmp[0]) - nCode = 1 - elif type(code_tmp[0]) in (int, float): #[1,-1,1] or (1,-1,1) - nBaud = len(code_tmp) - nCode = 1 - else: - self.console.append("Please write a right value for Code (Exmaple: [1,1,-1], [1,-1,1])") - return 0 - - if not nBaud or not nCode: - self.console.append("Please write a right value for Code") - return 0 - - code = code.replace("(", "") - code = code.replace(")", "") - code = code.replace("[", "") - code = code.replace("]", "") + if self.volOpComCode.currentIndex() != 0: - if not opObj.addParameter(name='code', value=code, format='intlist'): - self.console.append("Please write a right value for Code") - return 0 - if not opObj.addParameter(name='nCode', value=nCode, format='int'): - self.console.append("Please write a right value for Code") - return 0 - if not opObj.addParameter(name='nBaud', value=nBaud, format='int'): - self.console.append("Please write a right value for Code") + code = str(self.volOpCode.text()) + + if not isMultiList(code): + self.console.append("Please write a valid Code (Example: [1,1,-1], [1,-1,1])") return 0 + + real_code = getCode(code) + nCode = len(real_code) + nBaud = len(real_code[0]) + + opObj.addParameter(name='code', value=code, format='intlist') + opObj.addParameter(name='nCode', value=nCode, format='int') + opObj.addParameter(name='nBaud', value=nBaud, format='int') name_parameter = 'mode' format = 'int' - value = str(self.volOpComMode.currentIndex()) - - if not opObj.addParameter(name=name_parameter, value=value, format=format): - self.console.append("Invalid value '%s' for '%s'" %(value,name_parameter)) - return 0 + + opObj.addParameter(name=name_parameter, value=value, format=format) if self.volOpCebFlip.isChecked(): @@ -922,29 +1066,27 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): format = 'intlist' value = str(self.volOpFlip.text()) - if value != "": - if not opObj.addParameter(name=name_parameter, value=value, format=format): - self.console.append("Invalid value '%s' for '%s'" %(value,name_parameter)) - return 0 + if not isIntList(value): + self.console.append("Invalid value '%s' for '%s'" %(value,name_parameter)) + return 0 + + opObj.addParameter(name=name_parameter, value=value, format=format) if self.volOpCebCohInt.isChecked(): name_operation = 'CohInt' optype = 'other' value = str(self.volOpCohInt.text()) - if value == "": - print "Please fill number of coherent integrations" + if not isInt(value): + self.console.append("Invalid value '%s' for '%s'" %(value,name_parameter)) return 0 name_parameter = 'n' format = 'int' opObj = puObj.addOperation(name=name_operation, optype=optype) + opObj.addParameter(name=name_parameter, value=value, format=format) - if not opObj.addParameter(name=name_parameter, value=value, format=format): - self.console.append("Invalid value '%s' for '%s'" %(value,name_parameter)) - return 0 - if self.volGraphCebshow.isChecked(): name_operation = 'Scope' optype = 'other' @@ -964,51 +1106,64 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): # opObj.addParameter(name=name_parameter, value=value, format=format) opObj.addParameter(name=name_parameter1, value=opObj.id, format=format1) - channelList = str(self.volGraphChannelList.text()).replace(" ","") - xvalue = str(self.volGraphfreqrange.text()).replace(" ","") - yvalue = str(self.volGraphHeightrange.text()).replace(" ","") - + channelList = str(self.volGraphChannelList.text()).strip() + xvalue = str(self.volGraphfreqrange.text()).strip() + yvalue = str(self.volGraphHeightrange.text()).strip() + figpath = str(self.volGraphPath.text()).strip() + figfile = str(self.volGraphPrefix.text()).strip() + + if channelList != "": + if not isIntList(channelList): + self.console.append("Invalid value '%s' for 'Graphics:ChannelList'" %(channelList)) + return 0 + + if xvalue != "": + if not isFloatRange(xvalue): + self.console.append("Invalid value '%s' for 'Graphics:Frequncy-Range'" %(xvalue)) + return 0 + + if yvalue != "": + if not isFloatRange(yvalue): + self.console.append("Invalid value '%s' for 'Graphics:Height-Range'" %(yvalue)) + return 0 + + if channelList: opObj.addParameter(name='channelList', value=channelList, format='intlist') if xvalue: xvalueList = xvalue.split(',') - try: - value0 = float(xvalueList[0]) - value1 = float(xvalueList[1]) - except: - return 0 - opObj.addParameter(name='xmin', value=value0, format='float') - opObj.addParameter(name='xmax', value=value1, format='float') + opObj.addParameter(name='xmin', value=xvalueList[0], format='float') + opObj.addParameter(name='xmax', value=xvalueList[1], format='float') - if not yvalue == "": + if yvalue: yvalueList = yvalue.split(",") - try: - value0 = int(yvalueList[0]) - value1 = int(yvalueList[1]) - except: - return 0 - opObj.addParameter(name='ymin', value=value0, format='int') - opObj.addParameter(name='ymax', value=value1, format='int') + opObj.addParameter(name='ymin', value=yvalueList[0], format='int') + opObj.addParameter(name='ymax', value=yvalueList[1], format='int') if self.volGraphCebSave.isChecked(): checkPath = True + opObj.addParameter(name='save', value='1', format='int') - opObj.addParameter(name='figpath', value=str(self.volGraphPath.text()), format='str') - value = str(self.volGraphPrefix.text()).replace(" ","") - if value: + opObj.addParameter(name='figpath', value=figpath, format='str') + + if figfile: opObj.addParameter(name='figfile', value=value, format='str') - - localfolder = None + if checkPath: - localfolder = str(self.volGraphPath.text()) - if localfolder == '': + + if not figpath: self.console.clear() self.console.append("Graphic path should be defined") return 0 + if os.path.isdir(figpath): + self.console.clear() + self.console.append("Graphic path does not exist, it has to be created") + return 0 + # if something happend parms_ok, output_path, blocksperfile, profilesperblock = self.checkInputsPUSave(datatype='Voltage') if parms_ok: @@ -1099,7 +1254,7 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): if p0 == 2: self.specOpRadarfrequency.setEnabled(True) if p0 == 0: - self.specOpRadarfrequency.clear() +# self.specOpRadarfrequency.clear() self.specOpRadarfrequency.setEnabled(False) @@ -1110,9 +1265,12 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): """ if p0 == 2: # self.specOpnFFTpoints.setEnabled(True) + self.specOpComCrossSpectra.setEnabled(True) self.specOppairsList.setEnabled(True) + if p0 == 0: # self.specOpnFFTpoints.setEnabled(False) + self.specOpComCrossSpectra.setEnabled(False) self.specOppairsList.setEnabled(False) @pyqtSignature("int") @@ -1184,7 +1342,7 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): self._disable_save_button() self.console.clear() - self.console.append("Checking input parameters ...") + self.console.append("Checking input parameters:\n") projectObj = self.getSelectedProjectObj() @@ -1204,7 +1362,7 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): if not isFloat(value): self.console.clear() - self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter)) + self.console.append("Invalid value [%s] for '%s'" %(value, name_parameter)) return 0 radarfreq = float(value)*1e6 @@ -1219,7 +1377,7 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): value = str(self.specOpnFFTpoints.text()) if not isInt(value): - self.console.append("Invalid value '%s' for '%s'" %(value, 'nFFTPoints')) + self.console.append("Invalid value [%s] for '%s'" %(value, 'nFFTPoints')) return 0 puObj.addParameter(name='nFFTPoints', value=value, format='int') @@ -1241,30 +1399,23 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): format = 'pairslist' value = str(self.specOppairsList.text()) - if value == "": - print "Please fill the pairs list field" + if not isPairList(value): + self.console.append("Invalid value [%s] for '%s'" %(value, name_parameter)) return 0 - if not puObj.addParameter(name=name_parameter, value=value, format=format): - self.console.append("Invalid value '%s' for '%s'" %(value,name_parameter)) - return 0 + puObj.addParameter(name=name_parameter, value=value, format=format) if self.specOpCebHeights.isChecked(): value = str(self.specOpHeights.text()) - if value == "": - self.console.append("Empty value for '%s'" %(value, "Height range")) + if not isFloatRange(value): + self.console.append("Invalid value [%s] for Height range" %value) return 0 - + valueList = value.split(',') - format = 'float' value0 = valueList[0] value1 = valueList[1] - if not isFloat(value0) or not isFloat(value1): - self.console.append("Invalid value '%s' for '%s'" %(value, "Height range")) - return 0 - if self.specOpComHeights.currentIndex() == 0: name_operation = 'selectHeights' name_parameter1 = 'minHei' @@ -1273,7 +1424,9 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): name_operation = 'selectHeightsByIndex' name_parameter1 = 'minIndex' name_parameter2 = 'maxIndex' - + + format = 'float' + opObj = puObj.addOperation(name=name_operation) opObj.addParameter(name=name_parameter1, value=value0, format=format) opObj.addParameter(name=name_parameter2, value=value1, format=format) @@ -1290,12 +1443,8 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): format = 'intlist' value = str(self.specOpChannel.text()) - if value == "": - print "Please fill channel list" - return 0 - - if not isList(value): - self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter)) + if not isIntList(value): + self.console.append("Invalid value [%s] for '%s'" %(value, name_parameter)) return 0 opObj = puObj.addOperation(name=name_operation) @@ -1314,13 +1463,9 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): format = 'int' value = str(self.specOpIncoherent.text()) - - if value == "": - print "Please fill Incoherent integration value" - return 0 if not isFloat(value): - self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter)) + self.console.append("Invalid value [%s] for '%s'" %(value, name_parameter)) return 0 opObj = puObj.addOperation(name=name_operation, optype=optype) @@ -1330,10 +1475,12 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): name_operation = 'removeDC' name_parameter = 'mode' format = 'int' + if self.specOpComRemoveDC.currentIndex() == 0: value = 1 else: value = 2 + opObj = puObj.addOperation(name=name_operation) opObj.addParameter(name=name_parameter, value=value, format=format) @@ -1414,20 +1561,21 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): self.console.append("Get Noise Operation only accepts 4 parameters") return 0 - channelList = str(self.specGgraphChannelList.text()).replace(" ","") - vel_range = str(self.specGgraphFreq.text()).replace(" ","") - hei_range = str(self.specGgraphHeight.text()).replace(" ","") - db_range = str(self.specGgraphDbsrange.text()).replace(" ","") - - trange = str(self.specGgraphTminTmax.text()).replace(" ","") - magrange = str(self.specGgraphmagnitud.text()).replace(" ","") - phaserange = str(self.specGgraphPhase.text()).replace(" ","") -# timerange = str(self.specGgraphTimeRange.text()).replace(" ","") - - figpath = str(self.specGraphPath.text()) - figfile = str(self.specGraphPrefix.text()).replace(" ","") + channelList = str(self.specGgraphChannelList.text()).strip() + vel_range = str(self.specGgraphFreq.text()).strip() + hei_range = str(self.specGgraphHeight.text()).strip() + db_range = str(self.specGgraphDbsrange.text()).strip() + + trange = str(self.specGgraphTminTmax.text()).strip() + magrange = str(self.specGgraphmagnitud.text()).strip() + phaserange = str(self.specGgraphPhase.text()).strip() +# timerange = str(self.specGgraphTimeRange.text()).strip() + + figpath = str(self.specGraphPath.text()).strip() + figfile = str(self.specGraphPrefix.text()).strip() + try: - wrperiod = int(str(self.specGgraphftpratio.text()).replace(" ","")) + wrperiod = int(str(self.specGgraphftpratio.text()).strip()) except: wrperiod = None @@ -1437,54 +1585,55 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): opObj = puObj.addOperation(name='SpectraPlot', optype='other') opObj.addParameter(name='id', value=opObj.id, format='int') - if not channelList == '': + if channelList: if not isList(channelList): - self.console.append("Invalid channelList") + self.console.append("Invalid value [%s] for 'Graphic:ChannelList" %(channelList)) return 0 opObj.addParameter(name='channelList', value=channelList, format='intlist') - if not vel_range == '': - xvalueList = vel_range.split(',') - try: - value1 = float(xvalueList[0]) - value2 = float(xvalueList[1]) - except: - self.console.clear() - self.console.append("Invalid velocity/frequency range") - return 0 - - opObj.addParameter(name='xmin', value=value1, format='float') - opObj.addParameter(name='xmax', value=value2, format='float') - - if not hei_range == '': - yvalueList = hei_range.split(",") - try: - value1 = float(yvalueList[0]) - value2 = float(yvalueList[1]) - except: - self.console.clear() - self.console.append("Invalid height range") - return 0 + if vel_range: + + if not isFloatRange(vel_range): + self.console.append("Invalid value [%s] for 'Graphic:Velocity-Range" %(vel_range)) + return 0 + + xvalueList = vel_range.split(',') + value1 = float(xvalueList[0]) + value2 = float(xvalueList[1]) + + opObj.addParameter(name='xmin', value=value1, format='float') + opObj.addParameter(name='xmax', value=value2, format='float') + + if hei_range: + + if not isFloatRange(hei_range): + self.console.append("Invalid value [%s] for 'Graphic:Height-Range" %(hei_range)) + return 0 + + yvalueList = hei_range.split(",") + value1 = float(yvalueList[0]) + value2 = float(yvalueList[1]) - opObj.addParameter(name='ymin', value=value1, format='float') - opObj.addParameter(name='ymax', value=value2, format='float') - - if not db_range == '': + opObj.addParameter(name='ymin', value=value1, format='float') + opObj.addParameter(name='ymax', value=value2, format='float') + + if db_range: + + if not isFloatRange(db_range): + self.console.append("Invalid value [%s] for 'Graphic:dB-Range" %(db_range)) + return 0 + zvalueList = db_range.split(",") - try: - value1 = float(zvalueList[0]) - value2 = float(zvalueList[1]) - except: - self.console.clear() - self.console.append("Invalid db range") - return 0 - + value1 = float(zvalueList[0]) + value2 = float(zvalueList[1]) + opObj.addParameter(name='zmin', value=value1, format='float') opObj.addParameter(name='zmax', value=value2, format='float') if self.specGraphSaveSpectra.isChecked(): + checkPath = True opObj.addParameter(name='save', value=1 , format='bool') opObj.addParameter(name='figpath', value=figpath, format='str') @@ -1494,80 +1643,78 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): opObj.addParameter(name='wr_period', value=wrperiod,format='int') if self.specGraphftpSpectra.isChecked(): - opObj.addParameter(name='ftp', value='1', format='int') - self.addFTPConf2Operation(puObj, opObj) - addFTP = True + + opObj.addParameter(name='ftp', value='1', format='int') + self.addFTPConf2Operation(puObj, opObj) + addFTP = True if self.specGraphCebCrossSpectraplot.isChecked(): opObj = puObj.addOperation(name='CrossSpectraPlot', optype='other') -# opObj.addParameter(name='power_cmap', value='jet', format='str') -# opObj.addParameter(name='coherence_cmap', value='jet', format='str') -# opObj.addParameter(name='phase_cmap', value='RdBu_r', format='str') opObj.addParameter(name='id', value=opObj.id, format='int') - if not vel_range == '': - xvalueList = vel_range.split(',') - try: - value1 = float(xvalueList[0]) - value2 = float(xvalueList[1]) - except: - self.console.clear() - self.console.append("Invalid velocity/frequency range") + if vel_range: + + if not isFloatRange(vel_range): + self.console.append("Invalid value [%s] for 'Graphic:Velocity-Range" %(vel_range)) return 0 - + + xvalueList = vel_range.split(',') + value1 = float(xvalueList[0]) + value2 = float(xvalueList[1]) + opObj.addParameter(name='xmin', value=value1, format='float') opObj.addParameter(name='xmax', value=value2, format='float') - - if not hei_range == '': - yvalueList = hei_range.split(",") - try: - value1 = float(yvalueList[0]) - value2 = float(yvalueList[1]) - except: - self.console.clear() - self.console.append("Invalid height range") + + if hei_range: + + if not isFloatRange(hei_range): + self.console.append("Invalid value [%s] for 'Graphic:Height-Range" %(hei_range)) return 0 - + + yvalueList = hei_range.split(",") + value1 = float(yvalueList[0]) + value2 = float(yvalueList[1]) + opObj.addParameter(name='ymin', value=value1, format='float') - opObj.addParameter(name='ymax', value=value2, format='float') - - if not db_range == '': - zvalueList = db_range.split(",") - try: - value1 = float(zvalueList[0]) - value2 = float(zvalueList[1]) - except: - self.console.clear() - self.console.append("Invalid db range") + opObj.addParameter(name='ymax', value=value2, format='float') + + if db_range: + + if not isFloatRange(db_range): + self.console.append("Invalid value [%s] for 'Graphic:dB-Range" %(db_range)) return 0 + zvalueList = db_range.split(",") + value1 = float(zvalueList[0]) + value2 = float(zvalueList[1]) + opObj.addParameter(name='zmin', value=value1, format='float') - opObj.addParameter(name='zmax', value=value2, format='float') + opObj.addParameter(name='zmax', value=value2, format='float') - if not magrange == '': - zvalueList = magrange.split(",") - try: - value1 = float(zvalueList[0]) - value2 = float(zvalueList[1]) - except: - self.console.clear() - self.console.append("Invalid magnitude range") + if magrange: + + if not isFloatRange(magrange): + self.console.append("Invalid value [%s] for 'Graphic:Magnitud-Range" %(magrange)) return 0 + zvalueList = magrange.split(",") + value1 = float(zvalueList[0]) + value2 = float(zvalueList[1]) + opObj.addParameter(name='coh_min', value=value1, format='float') opObj.addParameter(name='coh_max', value=value2, format='float') - if not phaserange == '': - zvalueList = phaserange.split(",") - try: - value1 = float(zvalueList[0]) - value2 = float(zvalueList[1]) - except: - self.console.clear() - self.console.append("Invalid phase range") + if phaserange: + + if not isFloatRange(phaserange): + self.console.append("Invalid value [%s] for 'Graphic:Phase-Range" %(phaserange)) return 0 + zvalueList = phaserange.split(",") + value1 = float(zvalueList[0]) + value2 = float(zvalueList[1]) + opObj.addParameter(name='phase_min', value=value1, format='float') opObj.addParameter(name='phase_max', value=value2, format='float') @@ -1590,60 +1737,52 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): opObj = puObj.addOperation(name='RTIPlot', optype='other') opObj.addParameter(name='id', value=opObj.id, format='int') - if not channelList == '': - if not isList(channelList): - self.console.append("Invalid channelList") + if channelList: + + if not isIntList(channelList): + self.console.append("Invalid value [%s] for 'Graphic:ChannelList" %(channelList)) return 0 + opObj.addParameter(name='channelList', value=channelList, format='intlist') - if not trange == '': - xvalueList = trange.split(',') - try: - value1 = float(xvalueList[0]) - value2 = float(xvalueList[1]) - except: - self.console.clear() - self.console.append("Invalid time range") + if trange: + + if not isFloatRange(trange): + self.console.append("Invalid value [%s] for 'Graphic:Time-Range" %(trange)) return 0 - + + zvalueList = trange.split(",") + value1 = float(zvalueList[0]) + value2 = float(zvalueList[1]) + opObj.addParameter(name='xmin', value=value1, format='float') opObj.addParameter(name='xmax', value=value2, format='float') - -# if not timerange == '': -# try: -# timerange = float(timerange) -# except: -# self.console.clear() -# self.console.append("Invalid time range") -# return 0 -# -# opObj.addParameter(name='timerange', value=timerange, format='float') - - if not hei_range == '': - yvalueList = hei_range.split(",") - try: - value1 = float(yvalueList[0]) - value2 = float(yvalueList[1]) - except: - self.console.clear() - self.console.append("Invalid height range") + + if hei_range: + + if not isFloatRange(hei_range): + self.console.append("Invalid value [%s] for 'Graphic:Height-Range" %(hei_range)) return 0 - + + yvalueList = hei_range.split(",") + value1 = float(yvalueList[0]) + value2 = float(yvalueList[1]) + opObj.addParameter(name='ymin', value=value1, format='float') - opObj.addParameter(name='ymax', value=value2, format='float') - - if not db_range == '': - zvalueList = db_range.split(",") - try: - value1 = float(zvalueList[0]) - value2 = float(zvalueList[1]) - except: - self.console.clear() - self.console.append("Invalid db range") + opObj.addParameter(name='ymax', value=value2, format='float') + + if db_range: + + if not isFloatRange(db_range): + self.console.append("Invalid value [%s] for 'Graphic:dB-Range" %(db_range)) return 0 + zvalueList = db_range.split(",") + value1 = float(zvalueList[0]) + value2 = float(zvalueList[1]) + opObj.addParameter(name='zmin', value=value1, format='float') - opObj.addParameter(name='zmax', value=value2, format='float') + opObj.addParameter(name='zmax', value=value2, format='float') if self.specGraphSaveRTIplot.isChecked(): checkPath = True @@ -1661,71 +1800,58 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): if self.specGraphCebCoherencmap.isChecked(): - opObj = puObj.addOperation(name='CoherenceMap', optype='other') -# opObj.addParameter(name=name_parameter, value=value, format=format) - # opObj.addParameter(name='coherence_cmap', value='jet', format='str') - # opObj.addParameter(name='phase_cmap', value='RdBu_r', format='str') + opObj = puObj.addOperation(name='CoherenceMap', optype='other') opObj.addParameter(name='id', value=opObj.id, format='int') - -# if not timerange == '': -# try: -# timerange = int(timerange) -# except: -# self.console.clear() -# self.console.append("Invalid time range") -# return 0 -# -# opObj.addParameter(name='timerange', value=timerange, format='int') - - if not trange == '': - xvalueList = trange.split(',') - try: - value1 = float(xvalueList[0]) - value2 = float(xvalueList[1]) - except: - self.console.clear() - self.console.append("Invalid time range") + + if trange: + + if not isFloatRange(trange): + self.console.append("Invalid value [%s] for 'Graphic:Time-Range" %(trange)) return 0 + zvalueList = trange.split(",") + value1 = float(zvalueList[0]) + value2 = float(zvalueList[1]) + opObj.addParameter(name='xmin', value=value1, format='float') - opObj.addParameter(name='xmax', value=value2, format='float') - - if not hei_range == '': - yvalueList = hei_range.split(",") - try: - value1 = float(yvalueList[0]) - value2 = float(yvalueList[1]) - except: - self.console.clear() - self.console.append("Invalid height range") + opObj.addParameter(name='xmax', value=value2, format='float') + + if hei_range: + + if not isFloatRange(hei_range): + self.console.append("Invalid value [%s] for 'Graphic:Height-Range" %(hei_range)) return 0 - + + yvalueList = hei_range.split(",") + value1 = float(yvalueList[0]) + value2 = float(yvalueList[1]) + opObj.addParameter(name='ymin', value=value1, format='float') - opObj.addParameter(name='ymax', value=value2, format='float') + opObj.addParameter(name='ymax', value=value2, format='float') - if not magrange == '': - zvalueList = magrange.split(",") - try: - value1 = float(zvalueList[0]) - value2 = float(zvalueList[1]) - except: - self.console.clear() - self.console.append("Invalid magnitude range") + if magrange: + + if not isFloatRange(magrange): + self.console.append("Invalid value [%s] for 'Graphic:Magnitud-Range" %(magrange)) return 0 + zvalueList = magrange.split(",") + value1 = float(zvalueList[0]) + value2 = float(zvalueList[1]) + opObj.addParameter(name='zmin', value=value1, format='float') opObj.addParameter(name='zmax', value=value2, format='float') - - if not phaserange == '': - zvalueList = phaserange.split(",") - try: - value1 = float(zvalueList[0]) - value2 = float(zvalueList[1]) - except: - self.console.clear() - self.console.append("Invalid phase range") + + if phaserange: + + if not isFloatRange(phaserange): + self.console.append("Invalid value [%s] for 'Graphic:Phase-Range" %(phaserange)) return 0 + zvalueList = phaserange.split(",") + value1 = float(zvalueList[0]) + value2 = float(zvalueList[1]) + opObj.addParameter(name='phase_min', value=value1, format='float') opObj.addParameter(name='phase_max', value=value2, format='float') @@ -1745,55 +1871,56 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): if self.specGraphPowerprofile.isChecked(): - opObj = puObj.addOperation(name='PowerProfilePlot', optype='other') - opObj.addParameter(name='id', value=opObj.id, format='int') - - if not channelList == '': - if not isList(channelList): - self.console.append("Invalid channelList") + opObj = puObj.addOperation(name='PowerProfilePlot', optype='other') + opObj.addParameter(name='id', value=opObj.id, format='int') + + if channelList: + + if not isList(channelList): + self.console.append("Invalid value [%s] for 'Graphic:ChannelList" %(channelList)) return 0 - opObj.addParameter(name='channelList', value=channelList, format='intlist') - - if not db_range == '': - xvalueList = db_range.split(',') - try: - value1 = float(xvalueList[0]) - value2 = float(xvalueList[1]) - except: - self.console.clear() - self.console.append("Invalid db range") + opObj.addParameter(name='channelList', value=channelList, format='intlist') + + if hei_range: + + if not isFloatRange(hei_range): + self.console.append("Invalid value [%s] for 'Graphic:Height-Range" %(hei_range)) return 0 - opObj.addParameter(name='xmin', value=value1, format='float') - opObj.addParameter(name='xmax', value=value2, format='float') - - if not hei_range == '': yvalueList = hei_range.split(",") - try: - value1 = float(yvalueList[0]) - value2 = float(yvalueList[1]) - except: - self.console.clear() - self.console.append("Invalid height range") - return 0 - + value1 = float(yvalueList[0]) + value2 = float(yvalueList[1]) + opObj.addParameter(name='ymin', value=value1, format='float') - opObj.addParameter(name='ymax', value=value2, format='float') - - if self.specGraphSavePowerprofile.isChecked(): - checkPath = True - opObj.addParameter(name='save', value='1', format='bool') - opObj.addParameter(name='figpath', value=figpath, format='str') - if figfile: - opObj.addParameter(name='figfile', value=value, format='str') - if wrperiod: - opObj.addParameter(name='wr_period', value=wrperiod,format='int') + opObj.addParameter(name='ymax', value=value2, format='float') + + if db_range: + + if not isFloatRange(db_range): + self.console.append("Invalid value [%s] for 'Graphic:dB-Range" %(db_range)) + return 0 + + zvalueList = db_range.split(",") + value1 = float(zvalueList[0]) + value2 = float(zvalueList[1]) + + opObj.addParameter(name='xmin', value=value1, format='float') + opObj.addParameter(name='xmax', value=value2, format='float') - if self.specGraphftpPowerprofile.isChecked(): - opObj.addParameter(name='ftp', value='1', format='int') - self.addFTPConf2Operation(puObj, opObj) - addFTP = True + if self.specGraphSavePowerprofile.isChecked(): + checkPath = True + opObj.addParameter(name='save', value='1', format='bool') + opObj.addParameter(name='figpath', value=figpath, format='str') + if figfile: + opObj.addParameter(name='figfile', value=value, format='str') + if wrperiod: + opObj.addParameter(name='wr_period', value=wrperiod,format='int') + + if self.specGraphftpPowerprofile.isChecked(): + opObj.addParameter(name='ftp', value='1', format='int') + self.addFTPConf2Operation(puObj, opObj) + addFTP = True # rti noise if self.specGraphCebRTInoise.isChecked(): @@ -1801,47 +1928,39 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): opObj = puObj.addOperation(name='Noise', optype='other') opObj.addParameter(name='id', value=opObj.id, format='int') - if not channelList == '': + if channelList: + if not isList(channelList): - self.console.append("Invalid channelList") + self.console.append("Invalid value [%s] for 'Graphic:ChannelList" %(channelList)) return 0 + opObj.addParameter(name='channelList', value=channelList, format='intlist') -# if not timerange == '': -# try: -# timerange = float(timerange) -# except: -# self.console.clear() -# self.console.append("Invalid time range") -# return 0 -# -# opObj.addParameter(name='timerange', value=timerange, format='float') - - if not trange == '': - xvalueList = trange.split(',') - try: - value1 = float(xvalueList[0]) - value2 = float(xvalueList[1]) - except: - self.console.clear() - self.console.append("Invalid time range") + if trange: + + if not isFloatRange(trange): + self.console.append("Invalid value [%s] for 'Graphic:Time-Range" %(trange)) return 0 - + + zvalueList = trange.split(",") + value1 = float(zvalueList[0]) + value2 = float(zvalueList[1]) + opObj.addParameter(name='xmin', value=value1, format='float') opObj.addParameter(name='xmax', value=value2, format='float') - - if not db_range == '': - yvalueList = db_range.split(",") - try: - value1 = float(yvalueList[0]) - value2 = float(yvalueList[1]) - except: - self.console.clear() - self.console.append("Invalid db range") + + if db_range: + + if not isFloatRange(db_range): + self.console.append("Invalid value [%s] for 'Graphic:dB-Range" %(db_range)) return 0 + zvalueList = db_range.split(",") + value1 = float(zvalueList[0]) + value2 = float(zvalueList[1]) + opObj.addParameter(name='ymin', value=value1, format='float') - opObj.addParameter(name='ymax', value=value2, format='float') + opObj.addParameter(name='ymax', value=value2, format='float') if self.specGraphSaveRTInoise.isChecked(): checkPath = True @@ -2536,9 +2655,15 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): walk = int(self.proComWalk.currentIndex()) expLabel = str(self.proExpLabel.text()) - startDate = str(self.proComStartDate.currentText()) - endDate = str(self.proComEndDate.currentText()) + startDate = str(self.proComStartDate.currentText()).strip() + endDate = str(self.proComEndDate.currentText()).strip() + if not startDate: + parms_ok = False + + if not endDate: + parms_ok = False + # startDateList = startDate.split("/") # endDateList = endDate.split("/") # @@ -2677,13 +2802,16 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): self.proComWalk.setCurrentIndex(projectParms.walk) self.proExpLabel.setText(str(projectParms.expLabel).strip()) + self.on_proComReadMode_activated(projectParms.online) + self.on_proComWalk_activated(projectParms.walk) + dateList = self.loadDays(data_path = projectParms.dpath, ext = projectParms.getExt(), walk = projectParms.walk, expLabel = projectParms.expLabel) if not dateList: - return + return 0 try: startDateIndex = dateList.index(projectParms.startDate) @@ -2708,6 +2836,8 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): self.proEndTime.setTime(self.time) self.proOk.setEnabled(True) + + return 1 def __refreshVoltageWindow(self, puObj): @@ -4018,6 +4148,11 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): def on_click(self, index): + self._disable_save_button() + self._disable_play_button() + + self.console.clear() + self.selectedItemTree = self.projectExplorerModel.itemFromIndex(index) projectObjView = self.getSelectedProjectObj() @@ -4028,12 +4163,12 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): self.create = False selectedObjView = self.getSelectedItemObj() + self.refreshProjectWindow(projectObjView) + self.refreshProjectProperties(projectObjView) + #A project has been selected if projectObjView == selectedObjView: - self.refreshProjectWindow(projectObjView) - self.refreshProjectProperties(projectObjView) - self.tabProject.setEnabled(True) self.tabVoltage.setEnabled(False) self.tabSpectra.setEnabled(False) @@ -4041,6 +4176,10 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): self.tabSpectraHeis.setEnabled(False) self.tabWidgetProject.setCurrentWidget(self.tabProject) + if self.dateList: + self._enable_save_button() + self._enable_play_button() + return #A processing unit has been selected @@ -4055,7 +4194,11 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): self.refreshPUWindow(puObj) self.refreshPUProperties(puObj) self.showtabPUCreated(puObj.datatype) - + + if self.dateList: + self._enable_save_button() + self._enable_play_button() + def on_right_click(self, pos): self.menu = QtGui.QMenu() @@ -4600,6 +4743,8 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): self._disable_save_button() self._disable_play_button() + self.console.clear() + self.frame_2.setEnabled(True) # print self.dir @@ -4608,7 +4753,6 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): projectObjLoad = Project() if not projectObjLoad.readXml(filename): - self.console.clear() self.console.append("The selected xml file could not be loaded ...") return 0 @@ -4620,15 +4764,10 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): if projectId in self.__projectObjDict.keys(): -# answer = self._WarningWindow("You already have a project loaded with the same Id", -# "Do you want to load the file anyway?") -# if not answer: -# return - projectId = self.__getNewProjectId() if not projectId: - return + return 0 projectObjLoad.updateId(projectId) @@ -4664,12 +4803,13 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): self.refreshPUWindow(puObj) self.refreshPUProperties(puObj) self.showtabPUCreated(datatype=puObj.datatype) - - self.console.clear() - self.console.append("The selected xml file has been loaded successfully") - self._disable_save_button() - self._enable_play_button() +# self.console.clear() + self.console.append("\nThe selected xml file has been loaded successfully") + + if self.dateList: + self._disable_save_button() + self._enable_play_button() def create_updating_timer(self): @@ -4682,7 +4822,7 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): # Si el proceso se ha parado actualizar el GUI (stopProject) if not self.threadStarted: return - + if self.controllerThread.isFinished(): self.stopProject() return @@ -4702,6 +4842,10 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): self.plotManager.run() + if self.plotManager.isErrorDetected(): + self.stopProject() + return + def playProject(self, ext=".xml", save=1): self._disable_play_button() @@ -4713,6 +4857,9 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): self._enable_stop_button() return + if not self.dateList: + self.console.append("No data found, check datapath") + projectObj = self.getSelectedProjectObj() if not projectObj: @@ -4736,10 +4883,13 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): self.use_plotmanager(self.controllerThread) + self.console.clear() + self.controllerThread.start() sleep(0.5) + self.threadStarted = True self._disable_play_button() @@ -5265,9 +5415,11 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): self.dateList = [] if not data_path: + self.console.append("Datapath has not been set") return [] if not os.path.isdir(data_path): + self.console.append("Directory %s does not exist" %data_path) return [] self.dataPath = data_path @@ -5349,6 +5501,10 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): def _enable_play_button(self): + if self.controllerThread: + if self.controllerThread.isRunning(): + return + self.actionStart.setEnabled(True) self.actionStarToolbar.setEnabled(True) @@ -5416,13 +5572,11 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): self.proName.clear() self.proDataPath.setText('') self.console.setReadOnly(True) - self.console.append("Welcome to Signal Chain\nOpen a project or Create a new one") + self.console.append("Welcome to Signal Chain\n\n") + self.console.append("Open a project or Create a new one\n") self.proStartTime.setDisplayFormat("hh:mm:ss") self.proDataType.setEnabled(False) self.time = QtCore.QTime() - self.hour = 0 - self.min = 0 - self.sec = 0 self.proEndTime.setDisplayFormat("hh:mm:ss") startTime = "00:00:00" endTime = "23:59:59" @@ -5453,11 +5607,13 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): self.treeProjectProperties.resizeColumnToContents(1) # set Project - self.proExpLabel.setEnabled(True) - self.proDelay.setEnabled(False) + self.pronTxs.setEnabled(False) + self.proComByBlock.setEnabled(False) + self.proExpLabel.setEnabled(False) + self.proDelay.setEnabled(False) self.proSet.setEnabled(True) self.proDataType.setReadOnly(True) - + # set Operation Voltage self.volOpComChannels.setEnabled(False) self.volOpComHeights.setEnabled(False) @@ -5473,6 +5629,12 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): self.volOpProfile.setEnabled(False) self.volOpComMode.setEnabled(False) + self.volOpReshaper.setEnabled(False) + self.volOpAdjustHei.setEnabled(False) + + self.volOpCebReshaper.setEnabled(False) + self.volOpCebAdjustHei.setEnabled(False) + self.volGraphPath.setEnabled(False) self.volGraphPrefix.setEnabled(False) self.volGraphToolPath.setEnabled(False) @@ -5487,6 +5649,8 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): self.specOpProfiles.setEnabled(False) self.specOpippFactor.setEnabled(False) self.specOppairsList.setEnabled(False) + + self.specOpComCrossSpectra.setEnabled(False) self.specOpComChannel.setEnabled(False) self.specOpComHeights.setEnabled(False) self.specOpIncoherent.setEnabled(False) @@ -5523,51 +5687,51 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): self.specHeisGraphPrefix.setEnabled(False) self.specHeisGraphToolPath.setEnabled(False) + self.proComWalk.setCurrentIndex(0) # tool tip gui QtGui.QToolTip.setFont(QtGui.QFont('SansSerif', 10)) self.projectExplorerTree.setToolTip('Right clik to add Project or Unit Process') # tool tip gui project - self.proComWalk.setToolTip('On Files:Search file in format .r or pdata On Folders:Search file in a directory DYYYYDOY') - self.proComWalk.setCurrentIndex(0) + # tool tip gui volOp - self.volOpChannel.setToolTip('Example: 1,2,3,4,5') - self.volOpHeights.setToolTip('Example: 90,180') - self.volOpFilter.setToolTip('Example: 2') - self.volOpProfile.setToolTip('Example:0,127') - self.volOpCohInt.setToolTip('Example: 128') - self.volOpFlip.setToolTip('ChannelList where flip will be applied. Example: 0,2,3') - self.volOpOk.setToolTip('If you have finished, please Ok ') - # tool tip gui volGraph - self.volGraphfreqrange.setToolTip('Height range. Example: 50,100') - self.volGraphHeightrange.setToolTip('Amplitude. Example: 0,10000') +# self.volOpChannel.setToolTip('Example: 1,2,3,4,5') +# self.volOpHeights.setToolTip('Example: 90,180') +# self.volOpFilter.setToolTip('Example: 2') +# self.volOpProfile.setToolTip('Example:0,127') +# self.volOpCohInt.setToolTip('Example: 128') +# self.volOpFlip.setToolTip('ChannelList where flip will be applied. Example: 0,2,3') +# self.volOpOk.setToolTip('If you have finished, please Ok ') +# # tool tip gui volGraph +# self.volGraphfreqrange.setToolTip('Height range. Example: 50,100') +# self.volGraphHeightrange.setToolTip('Amplitude. Example: 0,10000') # tool tip gui specOp - self.specOpnFFTpoints.setToolTip('Example: 128') - self.specOpProfiles.setToolTip('Example: 128') - self.specOpippFactor.setToolTip('Example:1.0') - self.specOpIncoherent.setToolTip('Example: 10') - self.specOpgetNoise.setToolTip('Example:20,180,30,120 (minHei,maxHei,minVel,maxVel)') - - self.specOpChannel.setToolTip('Example: 0,1,2,3') - self.specOpHeights.setToolTip('Example: 90,180') - self.specOppairsList.setToolTip('Example: (0,1),(2,3)') - # tool tip gui specGraph - - self.specGgraphChannelList.setToolTip('Example: 0,3,4') - self.specGgraphFreq.setToolTip('Example: -20,20') - self.specGgraphHeight.setToolTip('Example: 100,400') - self.specGgraphDbsrange.setToolTip('Example: 30,170') - - self.specGraphPrefix.setToolTip('Example: EXPERIMENT_NAME') - - - self.specHeisOpIncoherent.setToolTip('Example: 10') - - self.specHeisGgraphChannelList.setToolTip('Example: 0,2,3') - self.specHeisGgraphXminXmax.setToolTip('Example (Hz): -1000, 1000') - self.specHeisGgraphYminYmax.setToolTip('Example (dB): 5, 35') - self.specHeisGgraphTminTmax.setToolTip('Example (hours): 0, 24') - self.specHeisGgraphTimeRange.setToolTip('Example (hours): 8') +# self.specOpnFFTpoints.setToolTip('Example: 128') +# self.specOpProfiles.setToolTip('Example: 128') +# self.specOpippFactor.setToolTip('Example:1.0') +# self.specOpIncoherent.setToolTip('Example: 10') +# self.specOpgetNoise.setToolTip('Example:20,180,30,120 (minHei,maxHei,minVel,maxVel)') +# +# self.specOpChannel.setToolTip('Example: 0,1,2,3') +# self.specOpHeights.setToolTip('Example: 90,180') +# self.specOppairsList.setToolTip('Example: (0,1),(2,3)') +# # tool tip gui specGraph +# +# self.specGgraphChannelList.setToolTip('Example: 0,3,4') +# self.specGgraphFreq.setToolTip('Example: -20,20') +# self.specGgraphHeight.setToolTip('Example: 100,400') +# self.specGgraphDbsrange.setToolTip('Example: 30,170') +# +# self.specGraphPrefix.setToolTip('Example: EXPERIMENT_NAME') +# +# +# self.specHeisOpIncoherent.setToolTip('Example: 10') +# +# self.specHeisGgraphChannelList.setToolTip('Example: 0,2,3') +# self.specHeisGgraphXminXmax.setToolTip('Example (Hz): -1000, 1000') +# self.specHeisGgraphYminYmax.setToolTip('Example (dB): 5, 35') +# self.specHeisGgraphTminTmax.setToolTip('Example (hours): 0, 24') +# self.specHeisGgraphTimeRange.setToolTip('Example (hours): 8') self.labelSet.show() self.proSet.show() diff --git a/schainpy/gui/viewer/windows/ui_project.py b/schainpy/gui/viewer/windows/ui_project.py index 1d2f87f..7b22c32 100644 --- a/schainpy/gui/viewer/windows/ui_project.py +++ b/schainpy/gui/viewer/windows/ui_project.py @@ -23,98 +23,143 @@ class Ui_ProjectTab(object): self.tabProject.setObjectName(_fromUtf8("tabProject")) self.gridLayout_15 = QtGui.QGridLayout(self.tabProject) self.gridLayout_15.setObjectName(_fromUtf8("gridLayout_15")) + self.frame = QtGui.QFrame(self.tabProject) self.frame.setFrameShape(QtGui.QFrame.StyledPanel) self.frame.setFrameShadow(QtGui.QFrame.Raised) self.frame.setObjectName(_fromUtf8("frame")) + self.gridLayout_2 = QtGui.QGridLayout(self.frame) self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2")) + self.label = QtGui.QLabel(self.frame) self.label.setObjectName(_fromUtf8("label")) self.gridLayout_2.addWidget(self.label, 0, 0, 1, 1) + self.proName = QtGui.QLineEdit(self.frame) self.proName.setObjectName(_fromUtf8("proName")) self.gridLayout_2.addWidget(self.proName, 0, 1, 1, 8) - self.label_11 = QtGui.QLabel(self.frame) - self.label_11.setObjectName(_fromUtf8("label_11")) - self.gridLayout_2.addWidget(self.label_11, 1, 0, 1, 1) + + self.labDatatype = QtGui.QLabel(self.frame) + self.labDatatype.setObjectName(_fromUtf8("labDatatype")) + self.gridLayout_2.addWidget(self.labDatatype, 1, 0, 1, 1) + self.proComDataType = QtGui.QComboBox(self.frame) self.proComDataType.setObjectName(_fromUtf8("proComDataType")) self.proComDataType.addItem(_fromUtf8("")) self.proComDataType.addItem(_fromUtf8("")) self.proComDataType.addItem(_fromUtf8("")) self.proComDataType.addItem(_fromUtf8("")) - self.gridLayout_2.addWidget(self.proComDataType, 1, 1, 1, 5) + self.gridLayout_2.addWidget(self.proComDataType, 1, 1, 1, 6) + self.proDataType = QtGui.QLineEdit(self.frame) self.proDataType.setObjectName(_fromUtf8("proDataType")) - self.gridLayout_2.addWidget(self.proDataType, 1, 6, 1, 3) - self.label_15 = QtGui.QLabel(self.frame) - self.label_15.setObjectName(_fromUtf8("label_15")) - self.gridLayout_2.addWidget(self.label_15, 2, 0, 1, 1) + self.gridLayout_2.addWidget(self.proDataType, 1, 7, 1, 2) + + self.labDatapath = QtGui.QLabel(self.frame) + self.labDatapath.setObjectName(_fromUtf8("labDatapath")) + self.gridLayout_2.addWidget(self.labDatapath, 2, 0, 1, 1) + self.proToolPath = QtGui.QToolButton(self.frame) self.proToolPath.setObjectName(_fromUtf8("proToolPath")) self.gridLayout_2.addWidget(self.proToolPath, 2, 1, 1, 1) + self.proDataPath = QtGui.QLineEdit(self.frame) self.proDataPath.setObjectName(_fromUtf8("proDataPath")) self.gridLayout_2.addWidget(self.proDataPath, 2, 2, 1, 7) - self.label_23 = QtGui.QLabel(self.frame) - self.label_23.setObjectName(_fromUtf8("label_23")) - self.gridLayout_2.addWidget(self.label_23, 3, 0, 1, 1) - self.proComReadMode = QtGui.QComboBox(self.frame) - self.proComReadMode.setObjectName(_fromUtf8("proComReadMode")) - self.proComReadMode.addItem(_fromUtf8("------")) - self.proComReadMode.addItem(_fromUtf8("")) - self.gridLayout_2.addWidget(self.proComReadMode, 3, 1, 1, 4) - self.label_33 = QtGui.QLabel(self.frame) - self.label_33.setObjectName(_fromUtf8("label_33")) - self.gridLayout_2.addWidget(self.label_33, 3, 5, 1, 1) - - self.proDelay = QtGui.QLineEdit(self.frame) - self.proDelay.setObjectName(_fromUtf8("proDelay")) - self.gridLayout_2.addWidget(self.proDelay, 3, 6, 1, 1) - - self.label_32 = QtGui.QLabel(self.frame) - self.label_32.setObjectName(_fromUtf8("label_32")) - self.gridLayout_2.addWidget(self.label_32, 4, 0, 1, 1) + + self.labelWalk = QtGui.QLabel(self.frame) + self.labelWalk.setObjectName(_fromUtf8("labelWalk")) + self.gridLayout_2.addWidget(self.labelWalk, 3, 0, 1, 1) self.proComWalk = QtGui.QComboBox(self.frame) self.proComWalk.setObjectName(_fromUtf8("proComWalk")) self.proComWalk.addItem(_fromUtf8("")) self.proComWalk.addItem(_fromUtf8("")) - self.gridLayout_2.addWidget(self.proComWalk, 4, 1, 1, 4) + self.gridLayout_2.addWidget(self.proComWalk, 3, 1, 1, 4) self.labExpLabel = QtGui.QLabel(self.frame) self.labExpLabel.setObjectName(_fromUtf8("labExpLabel")) - self.gridLayout_2.addWidget(self.labExpLabel, 4, 5, 1, 1) + self.gridLayout_2.addWidget(self.labExpLabel, 3, 5, 1, 1) self.proExpLabel = QtGui.QLineEdit(self.frame) self.proExpLabel.setObjectName(_fromUtf8("proExpLabel")) - self.gridLayout_2.addWidget(self.proExpLabel, 4, 6, 1, 1) + self.gridLayout_2.addWidget(self.proExpLabel, 3, 6, 1, 1) + + self.labReadMode = QtGui.QLabel(self.frame) + self.labReadMode.setObjectName(_fromUtf8("labReadMode")) + self.gridLayout_2.addWidget(self.labReadMode, 4, 0, 1, 1) + + self.proComReadMode = QtGui.QComboBox(self.frame) + self.proComReadMode.setObjectName(_fromUtf8("proComReadMode")) + self.proComReadMode.addItem(_fromUtf8("")) + self.proComReadMode.addItem(_fromUtf8("")) + self.gridLayout_2.addWidget(self.proComReadMode, 4, 1, 1, 4) + + self.labDelay = QtGui.QLabel(self.frame) + self.labDelay.setObjectName(_fromUtf8("labDelay")) + self.gridLayout_2.addWidget(self.labDelay, 4, 5, 1, 1) + + self.proDelay = QtGui.QLineEdit(self.frame) + self.proDelay.setObjectName(_fromUtf8("proDelay")) + self.gridLayout_2.addWidget(self.proDelay, 4, 6, 1, 1) - self.proLoadButton = QtGui.QPushButton(self.frame) - self.proLoadButton.setObjectName(_fromUtf8("proLoadButton")) - self.gridLayout_2.addWidget(self.proLoadButton, 5, 0, 1, 9) self.labelSet = QtGui.QLabel(self.frame) self.labelSet.setObjectName(_fromUtf8("labelSet")) - self.gridLayout_2.addWidget(self.labelSet, 3, 7, 1, 1) + self.gridLayout_2.addWidget(self.labelSet, 4, 7, 1, 1) + self.proSet = QtGui.QLineEdit(self.frame) self.proSet.setObjectName(_fromUtf8("proSet")) - self.gridLayout_2.addWidget(self.proSet, 3, 8, 1, 1) - self.labelIPPKm = QtGui.QLabel(self.frame) + self.gridLayout_2.addWidget(self.proSet, 4, 8, 1, 1) + + + self.proLoadButton = QtGui.QPushButton(self.frame) + self.proLoadButton.setObjectName(_fromUtf8("proLoadButton")) + self.gridLayout_2.addWidget(self.proLoadButton, 5, 0, 1, 9) + + self.frame_data = QtGui.QFrame(self.tabProject) + self.frame_data.setFrameShape(QtGui.QFrame.StyledPanel) + self.frame_data.setFrameShadow(QtGui.QFrame.Raised) + self.frame_data.setObjectName(_fromUtf8("frame_data")) + + self.gridLayout_data = QtGui.QGridLayout(self.frame_data) + self.gridLayout_data.setObjectName(_fromUtf8("gridLayout_data")) + + self.labelIPPKm = QtGui.QLabel(self.frame_data) self.labelIPPKm.setObjectName(_fromUtf8("labelIPPKm")) - self.gridLayout_2.addWidget(self.labelIPPKm, 3, 7, 1, 1) - self.proIPPKm = QtGui.QLineEdit(self.frame) - self.proIPPKm.setObjectName(_fromUtf8("proIPPKm")) - self.gridLayout_2.addWidget(self.proIPPKm, 3, 8, 1, 1) + self.gridLayout_data.addWidget(self.labelIPPKm, 6, 0, 1, 1) + self.proIPPKm = QtGui.QLineEdit(self.frame_data) + self.proIPPKm.setObjectName(_fromUtf8("proIPPKm")) + self.gridLayout_data.addWidget(self.proIPPKm, 6, 1, 1, 6) - self.gridLayout_15.addWidget(self.frame, 0, 0, 1, 1) + self.labnTxs = QtGui.QLabel(self.frame_data) + self.labnTxs.setObjectName(_fromUtf8("labnTxs")) + self.gridLayout_data.addWidget(self.labnTxs, 6, 0, 1, 1) + + self.pronTxs = QtGui.QLineEdit(self.frame_data) + self.pronTxs.setObjectName(_fromUtf8("pronTxs")) + self.gridLayout_data.addWidget(self.pronTxs, 6, 1, 1, 6) + + self.labByBlock = QtGui.QLabel(self.frame_data) + self.labByBlock.setObjectName(_fromUtf8("labByBlock")) + self.gridLayout_data.addWidget(self.labByBlock, 6, 7, 1, 1) + + self.proComByBlock = QtGui.QComboBox(self.frame_data) + self.proComByBlock.setObjectName(_fromUtf8("proComByBlock")) + self.proComByBlock.addItem(_fromUtf8("")) + self.proComByBlock.addItem(_fromUtf8("")) + self.gridLayout_data.addWidget(self.proComByBlock, 6, 8, 1, 1) + + self.frame_2 = QtGui.QFrame(self.tabProject) self.frame_2.setFrameShape(QtGui.QFrame.StyledPanel) self.frame_2.setFrameShadow(QtGui.QFrame.Raised) self.frame_2.setObjectName(_fromUtf8("frame_2")) + self.gridLayout_10 = QtGui.QGridLayout(self.frame_2) self.gridLayout_10.setObjectName(_fromUtf8("gridLayout_10")) + self.label_27 = QtGui.QLabel(self.frame_2) self.label_27.setObjectName(_fromUtf8("label_27")) self.gridLayout_10.addWidget(self.label_27, 0, 0, 1, 1) @@ -145,7 +190,7 @@ class Ui_ProjectTab(object): self.proDescription = QtGui.QTextEdit(self.frame_2) self.proDescription.setObjectName(_fromUtf8("proDescription")) self.gridLayout_10.addWidget(self.proDescription, 4, 1, 1, 1) - self.gridLayout_15.addWidget(self.frame_2, 1, 0, 1, 1) + self.frame_3 = QtGui.QFrame(self.tabProject) self.frame_3.setFrameShape(QtGui.QFrame.StyledPanel) self.frame_3.setFrameShadow(QtGui.QFrame.Raised) @@ -158,31 +203,42 @@ class Ui_ProjectTab(object): self.proClear = QtGui.QPushButton(self.frame_3) self.proClear.setObjectName(_fromUtf8("proClear")) self.gridLayout_14.addWidget(self.proClear, 0, 1, 1, 1) - self.gridLayout_15.addWidget(self.frame_3, 2, 0, 1, 1) + + self.gridLayout_15.addWidget(self.frame, 0, 0, 8, 1) + self.gridLayout_15.addWidget(self.frame_data, 8, 0, 2, 1) + self.gridLayout_15.addWidget(self.frame_2, 10, 0, 7, 1) + self.gridLayout_15.addWidget(self.frame_3, 17, 0, 2, 1) self.tabWidgetProject.addTab(self.tabProject, _fromUtf8("")) def retranslateUi(self): self.label.setText(_translate("MainWindow", "Project Name :", None)) - self.label_11.setText(_translate("MainWindow", "DataType :", None)) + self.labDatatype.setText(_translate("MainWindow", "Data type :", None)) self.proComDataType.setItemText(0, _translate("MainWindow", "Voltage", None)) self.proComDataType.setItemText(1, _translate("MainWindow", "Spectra", None)) self.proComDataType.setItemText(2, _translate("MainWindow", "Fits", None)) self.proComDataType.setItemText(3, _translate("MainWindow", "USRP", None)) - self.label_15.setText(_translate("MainWindow", "DataPath :", None)) + self.labDatapath.setText(_translate("MainWindow", "Data path :", None)) self.proToolPath.setText(_translate("MainWindow", "...", None)) - self.label_23.setText(_translate("MainWindow", "Read Mode:", None)) + self.labReadMode.setText(_translate("MainWindow", "Read mode:", None)) self.proComReadMode.setItemText(0, _translate("MainWindow", "Offline", None)) self.proComReadMode.setItemText(1, _translate("MainWindow", "Online", None)) - self.label_33.setText(_translate("MainWindow", "Delay:", None)) - self.labExpLabel.setText(_translate("MainWindow", "Exp Label:", None)) - self.label_32.setText(_translate("MainWindow", "Walk :", None)) - self.proComWalk.setItemText(0, _translate("MainWindow", "On Files", None)) - self.proComWalk.setItemText(1, _translate("MainWindow", "On Folder", None)) + self.labDelay.setText(_translate("MainWindow", "Delay:", None)) + self.labExpLabel.setText(_translate("MainWindow", "Exp. Label:", None)) + self.labelWalk.setText(_translate("MainWindow", "Search data :", None)) + self.proComWalk.setItemText(0, _translate("MainWindow", "On files", None)) + self.proComWalk.setItemText(1, _translate("MainWindow", "On sub-folders", None)) + self.proComByBlock.setItemText(0, _translate("MainWindow", "By profile", None)) + self.proComByBlock.setItemText(1, _translate("MainWindow", "By block", None)) + self.labByBlock.setText(_translate("MainWindow", "Get data:", None)) + + self.proLoadButton.setText(_translate("MainWindow", "Load", None)) - self.labelSet.setText(_translate("MainWindow", "Set:", None)) + self.labelSet.setText(_translate("MainWindow", "File set:", None)) self.labelIPPKm.setText(_translate("MainWindow", "IPP (km):", None)) + self.labnTxs.setText(_translate("MainWindow", "Number of Txs:", None)) + self.label_27.setText(_translate("MainWindow", "Star Date:", None)) self.label_28.setText(_translate("MainWindow", "End Date:", None)) self.label_2.setText(_translate("MainWindow", "Start Time:", None)) @@ -192,4 +248,10 @@ class Ui_ProjectTab(object): self.proClear.setText(_translate("MainWindow", "Clear", None)) self.tabWidgetProject.setTabText(self.tabWidgetProject.indexOf(self.tabProject), _translate("MainWindow", "Project", None)) - \ No newline at end of file + + self.__setToolTip() + + def __setToolTip(self): + + self.proComWalk.setToolTip('On Files:Search file in format .r or pdata On Folders:Search file in a directory DYYYYDOY') + \ No newline at end of file diff --git a/schainpy/gui/viewer/windows/ui_spectra.py b/schainpy/gui/viewer/windows/ui_spectra.py index 4bea2c1..0cc6858 100644 --- a/schainpy/gui/viewer/windows/ui_spectra.py +++ b/schainpy/gui/viewer/windows/ui_spectra.py @@ -28,116 +28,163 @@ class Ui_SpectraTab(object): self.frame_5.setObjectName(_fromUtf8("frame_5")) self.gridLayout_18 = QtGui.QGridLayout(self.frame_5) self.gridLayout_18.setObjectName(_fromUtf8("gridLayout_18")) + self.specOpOk = QtGui.QPushButton(self.frame_5) self.specOpOk.setObjectName(_fromUtf8("specOpOk")) self.gridLayout_18.addWidget(self.specOpOk, 0, 0, 1, 1) + self.specGraphClear = QtGui.QPushButton(self.frame_5) self.specGraphClear.setObjectName(_fromUtf8("specGraphClear")) self.gridLayout_18.addWidget(self.specGraphClear, 0, 1, 1, 1) + self.gridLayout_7.addWidget(self.frame_5, 1, 1, 1, 1) + self.tabWidgetSpectra = QtGui.QTabWidget(self.tabSpectra) self.tabWidgetSpectra.setObjectName(_fromUtf8("tabWidgetSpectra")) + self.tabopSpectra = QtGui.QWidget() self.tabopSpectra.setObjectName(_fromUtf8("tabopSpectra")) + self.gridLayout_5 = QtGui.QGridLayout(self.tabopSpectra) self.gridLayout_5.setObjectName(_fromUtf8("gridLayout_5")) - self.specOpCebCrossSpectra = QtGui.QCheckBox(self.tabopSpectra) - self.specOpCebCrossSpectra.setObjectName(_fromUtf8("specOpCebCrossSpectra")) - self.gridLayout_5.addWidget(self.specOpCebCrossSpectra, 4, 0, 1, 2) + + + + self.specOpCebRadarfrequency = QtGui.QCheckBox(self.tabopSpectra) + self.specOpCebRadarfrequency.setObjectName(_fromUtf8("specOpCebRadarfrequency")) + self.gridLayout_5.addWidget(self.specOpCebRadarfrequency, 0, 0, 1, 1) + + self.specOpRadarfrequency = QtGui.QLineEdit(self.tabopSpectra) + self.specOpRadarfrequency.setObjectName(_fromUtf8("specOpRadarfrequency")) + self.gridLayout_5.addWidget(self.specOpRadarfrequency, 0, 1, 1, 4) + + + self.specLabProfiles = QtGui.QLabel(self.tabopSpectra) + self.specLabProfiles.setObjectName(_fromUtf8("specLabProfiles")) + self.gridLayout_5.addWidget(self.specLabProfiles, 1, 0, 1, 1) + + self.specOpProfiles = QtGui.QLineEdit(self.tabopSpectra) + self.specOpProfiles.setObjectName(_fromUtf8("specOpProfiles")) + self.gridLayout_5.addWidget(self.specOpProfiles, 1, 1, 1, 4) + + + self.specLabnFFTPoints = QtGui.QLabel(self.tabopSpectra) + self.specLabnFFTPoints.setObjectName(_fromUtf8("specLabnFFTPoints")) + self.gridLayout_5.addWidget(self.specLabnFFTPoints, 2, 0, 1, 1) + + self.specOpnFFTpoints = QtGui.QLineEdit(self.tabopSpectra) + self.specOpnFFTpoints.setObjectName(_fromUtf8("specOpnFFTpoints")) + self.gridLayout_5.addWidget(self.specOpnFFTpoints, 2, 1, 1, 4) + + + self.specLabippFactor = QtGui.QLabel(self.tabopSpectra) + self.specLabippFactor.setObjectName(_fromUtf8("specLabippFactor")) + self.gridLayout_5.addWidget(self.specLabippFactor, 3, 0, 1, 1) + + self.specOpippFactor = QtGui.QLineEdit(self.tabopSpectra) + self.specOpippFactor.setObjectName(_fromUtf8("specOpippFactor")) + self.gridLayout_5.addWidget(self.specOpippFactor, 3, 1, 1, 4) + + + self.specOpCebChannel = QtGui.QCheckBox(self.tabopSpectra) + self.specOpCebChannel.setObjectName(_fromUtf8("specOpCebChannel")) + self.gridLayout_5.addWidget(self.specOpCebChannel, 4, 0, 1, 1) + self.specOpComChannel = QtGui.QComboBox(self.tabopSpectra) self.specOpComChannel.setObjectName(_fromUtf8("specOpComChannel")) self.specOpComChannel.addItem(_fromUtf8("")) self.specOpComChannel.addItem(_fromUtf8("")) - self.gridLayout_5.addWidget(self.specOpComChannel, 8, 0, 1, 2) + self.gridLayout_5.addWidget(self.specOpComChannel, 4, 1, 1, 2) + self.specOpChannel = QtGui.QLineEdit(self.tabopSpectra) self.specOpChannel.setObjectName(_fromUtf8("specOpChannel")) - self.gridLayout_5.addWidget(self.specOpChannel, 8, 3, 1, 2) + self.gridLayout_5.addWidget(self.specOpChannel, 4, 3, 1, 2) + + + self.specOpCebCrossSpectra = QtGui.QCheckBox(self.tabopSpectra) + self.specOpCebCrossSpectra.setObjectName(_fromUtf8("specOpCebCrossSpectra")) + self.gridLayout_5.addWidget(self.specOpCebCrossSpectra, 5, 0, 1, 1) + + self.specOpComCrossSpectra = QtGui.QComboBox(self.tabopSpectra) + self.specOpComCrossSpectra.setObjectName(_fromUtf8("specOpComCrossSpectra")) + self.specOpComCrossSpectra.addItem(_fromUtf8("")) + self.gridLayout_5.addWidget(self.specOpComCrossSpectra, 5, 1, 1, 2) + + self.specOppairsList = QtGui.QLineEdit(self.tabopSpectra) + self.specOppairsList.setObjectName(_fromUtf8("specOppairsList")) + self.gridLayout_5.addWidget(self.specOppairsList, 5, 3, 1, 2) + + + self.specOpCebHeights = QtGui.QCheckBox(self.tabopSpectra) + self.specOpCebHeights.setObjectName(_fromUtf8("specOpCebHeights")) + self.gridLayout_5.addWidget(self.specOpCebHeights, 6, 0, 1, 1) + self.specOpComHeights = QtGui.QComboBox(self.tabopSpectra) self.specOpComHeights.setObjectName(_fromUtf8("specOpComHeights")) self.specOpComHeights.addItem(_fromUtf8("")) self.specOpComHeights.addItem(_fromUtf8("")) - self.gridLayout_5.addWidget(self.specOpComHeights, 11, 0, 1, 2) + self.gridLayout_5.addWidget(self.specOpComHeights, 6, 1, 1, 2) + self.specOpHeights = QtGui.QLineEdit(self.tabopSpectra) self.specOpHeights.setObjectName(_fromUtf8("specOpHeights")) - self.gridLayout_5.addWidget(self.specOpHeights, 11, 3, 1, 2) - self.specOpIncoherent = QtGui.QLineEdit(self.tabopSpectra) - self.specOpIncoherent.setObjectName(_fromUtf8("specOpIncoherent")) - self.gridLayout_5.addWidget(self.specOpIncoherent, 13, 3, 1, 2) - self.specOpCebRemoveDC = QtGui.QCheckBox(self.tabopSpectra) - self.specOpCebRemoveDC.setObjectName(_fromUtf8("specOpCebRemoveDC")) - self.gridLayout_5.addWidget(self.specOpCebRemoveDC, 14, 0, 1, 2) - self.specOpCebHeights = QtGui.QCheckBox(self.tabopSpectra) - self.specOpCebHeights.setObjectName(_fromUtf8("specOpCebHeights")) - self.gridLayout_5.addWidget(self.specOpCebHeights, 9, 0, 1, 1) - self.specOpCebChannel = QtGui.QCheckBox(self.tabopSpectra) - self.specOpCebChannel.setObjectName(_fromUtf8("specOpCebChannel")) - self.gridLayout_5.addWidget(self.specOpCebChannel, 7, 0, 1, 1) - self.specOppairsList = QtGui.QLineEdit(self.tabopSpectra) - self.specOppairsList.setObjectName(_fromUtf8("specOppairsList")) - self.gridLayout_5.addWidget(self.specOppairsList, 6, 3, 1, 2) - self.specOpnFFTpoints = QtGui.QLineEdit(self.tabopSpectra) - self.specOpnFFTpoints.setObjectName(_fromUtf8("specOpnFFTpoints")) - self.gridLayout_5.addWidget(self.specOpnFFTpoints, 2, 3, 1, 2) - self.label_31 = QtGui.QLabel(self.tabopSpectra) - self.label_31.setObjectName(_fromUtf8("label_31")) - self.gridLayout_5.addWidget(self.label_31, 6, 0, 1, 2) - self.label_26 = QtGui.QLabel(self.tabopSpectra) - self.label_26.setObjectName(_fromUtf8("label_26")) - self.gridLayout_5.addWidget(self.label_26, 2, 0, 1, 2) + self.gridLayout_5.addWidget(self.specOpHeights, 6, 3, 1, 2) + + self.specOpCebIncoherent = QtGui.QCheckBox(self.tabopSpectra) self.specOpCebIncoherent.setObjectName(_fromUtf8("specOpCebIncoherent")) - self.gridLayout_5.addWidget(self.specOpCebIncoherent, 12, 0, 1, 1) + self.gridLayout_5.addWidget(self.specOpCebIncoherent, 7, 0, 1, 1) + self.specOpCobIncInt = QtGui.QComboBox(self.tabopSpectra) self.specOpCobIncInt.setObjectName(_fromUtf8("specOpCobIncInt")) self.specOpCobIncInt.addItem(_fromUtf8("")) self.specOpCobIncInt.addItem(_fromUtf8("")) - self.gridLayout_5.addWidget(self.specOpCobIncInt, 13, 0, 1, 2) - spacerItem9 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) - self.gridLayout_5.addItem(spacerItem9, 12, 3, 1, 1) - self.specOpCebRadarfrequency = QtGui.QCheckBox(self.tabopSpectra) - self.specOpCebRadarfrequency.setObjectName(_fromUtf8("specOpCebRadarfrequency")) - self.gridLayout_5.addWidget(self.specOpCebRadarfrequency, 0, 0, 1, 2) - spacerItem10 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) - self.gridLayout_5.addItem(spacerItem10, 9, 3, 1, 1) - spacerItem11 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) - self.gridLayout_5.addItem(spacerItem11, 7, 3, 1, 1) - self.specOpRadarfrequency = QtGui.QLineEdit(self.tabopSpectra) - self.specOpRadarfrequency.setObjectName(_fromUtf8("specOpRadarfrequency")) - self.gridLayout_5.addWidget(self.specOpRadarfrequency, 0, 3, 1, 2) + self.gridLayout_5.addWidget(self.specOpCobIncInt, 7, 1, 1, 2) - spacerItem12 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) - self.gridLayout_5.addItem(spacerItem12, 4, 3, 1, 1) + self.specOpIncoherent = QtGui.QLineEdit(self.tabopSpectra) + self.specOpIncoherent.setObjectName(_fromUtf8("specOpIncoherent")) + self.gridLayout_5.addWidget(self.specOpIncoherent, 7, 3, 1, 2) - self.label_21 = QtGui.QLabel(self.tabopSpectra) - self.label_21.setObjectName(_fromUtf8("label_21")) - self.gridLayout_5.addWidget(self.label_21, 1, 0, 1, 1) - self.specOpProfiles = QtGui.QLineEdit(self.tabopSpectra) - self.specOpProfiles.setObjectName(_fromUtf8("specOpProfiles")) - self.gridLayout_5.addWidget(self.specOpProfiles, 1, 3, 1, 2) - self.specOpCebRemoveInt = QtGui.QCheckBox(self.tabopSpectra) - self.specOpCebRemoveInt.setObjectName(_fromUtf8("specOpCebRemoveInt")) - self.gridLayout_5.addWidget(self.specOpCebRemoveInt, 15, 0, 1, 1) - spacerItem13 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) - self.gridLayout_5.addItem(spacerItem13, 15, 3, 1, 1) + self.specOpCebRemoveDC = QtGui.QCheckBox(self.tabopSpectra) + self.specOpCebRemoveDC.setObjectName(_fromUtf8("specOpCebRemoveDC")) + self.gridLayout_5.addWidget(self.specOpCebRemoveDC, 8, 0, 1, 1) - self.label_70 = QtGui.QLabel(self.tabopSpectra) - self.label_70.setObjectName(_fromUtf8("label_70")) - self.gridLayout_5.addWidget(self.label_70, 3, 0, 1, 1) - self.specOpCebgetNoise = QtGui.QCheckBox(self.tabopSpectra) - self.specOpCebgetNoise.setObjectName(_fromUtf8("specOpCebgetNoise")) - self.gridLayout_5.addWidget(self.specOpCebgetNoise, 16, 0, 1, 1) - self.specOpippFactor = QtGui.QLineEdit(self.tabopSpectra) - self.specOpippFactor.setObjectName(_fromUtf8("specOpippFactor")) - self.gridLayout_5.addWidget(self.specOpippFactor, 3, 3, 1, 2) self.specOpComRemoveDC = QtGui.QComboBox(self.tabopSpectra) self.specOpComRemoveDC.setObjectName(_fromUtf8("specOpComRemoveDC")) self.specOpComRemoveDC.addItem(_fromUtf8("")) self.specOpComRemoveDC.addItem(_fromUtf8("")) - self.gridLayout_5.addWidget(self.specOpComRemoveDC, 14, 3, 1, 2) + self.gridLayout_5.addWidget(self.specOpComRemoveDC, 8, 1, 1, 2) + + + self.specOpCebRemoveInt = QtGui.QCheckBox(self.tabopSpectra) + self.specOpCebRemoveInt.setObjectName(_fromUtf8("specOpCebRemoveInt")) + self.gridLayout_5.addWidget(self.specOpCebRemoveInt, 9, 0, 1, 1) + + + self.specOpCebgetNoise = QtGui.QCheckBox(self.tabopSpectra) + self.specOpCebgetNoise.setObjectName(_fromUtf8("specOpCebgetNoise")) + self.gridLayout_5.addWidget(self.specOpCebgetNoise, 10, 0, 1, 1) + self.specOpgetNoise = QtGui.QLineEdit(self.tabopSpectra) self.specOpgetNoise.setObjectName(_fromUtf8("specOpgetNoise")) - self.gridLayout_5.addWidget(self.specOpgetNoise, 16, 3, 1, 2) + self.gridLayout_5.addWidget(self.specOpgetNoise, 10, 1, 1, 4) + +# spacerItem9 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) +# self.gridLayout_5.addItem(spacerItem9, 12, 3, 1, 1) +# +# spacerItem10 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) +# self.gridLayout_5.addItem(spacerItem10, 9, 3, 1, 1) +# +# spacerItem11 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) +# self.gridLayout_5.addItem(spacerItem11, 7, 3, 1, 1) +# +# spacerItem12 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) +# self.gridLayout_5.addItem(spacerItem12, 4, 3, 1, 1) +# +# spacerItem13 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) +# self.gridLayout_5.addItem(spacerItem13, 15, 3, 1, 1) + + self.tabWidgetSpectra.addTab(self.tabopSpectra, _fromUtf8("")) ################################################################ @@ -397,47 +444,49 @@ class Ui_SpectraTab(object): self.specOpOk.setText(_translate("MainWindow", "Ok", None)) self.specGraphClear.setText(_translate("MainWindow", "Clear", None)) - self.specOpCebCrossSpectra.setText(_translate("MainWindow", "Select Cross Spectra", None)) + self.specOpCebCrossSpectra.setText(_translate("MainWindow", "Select Cross Spectra:", None)) self.specOpComChannel.setItemText(0, _translate("MainWindow", "Value", None)) self.specOpComChannel.setItemText(1, _translate("MainWindow", "Index", None)) self.specOpComHeights.setItemText(0, _translate("MainWindow", "Value", None)) self.specOpComHeights.setItemText(1, _translate("MainWindow", "Index", None)) - self.specOpCebRemoveDC.setText(_translate("MainWindow", "Remove DC", None)) - self.specOpCebHeights.setText(_translate("MainWindow", "Select Heights", None)) - self.specOpCebChannel.setText(_translate("MainWindow", "Select Channel", None)) - self.label_31.setText(_translate("MainWindow", "x-y pairs", None)) - self.label_26.setText(_translate("MainWindow", "nFFTPoints", None)) - self.specOpCebIncoherent.setText(_translate("MainWindow", "Incoherent Integration", None)) + self.specOpCebRemoveDC.setText(_translate("MainWindow", "Remove DC:", None)) + self.specOpCebHeights.setText(_translate("MainWindow", "Select Heights:", None)) + self.specOpCebChannel.setText(_translate("MainWindow", "Select Channel:", None)) + + self.specOpComCrossSpectra.setItemText(0, _translate("MainWindow", "x-y pairs", None)) + + self.specLabnFFTPoints.setText(_translate("MainWindow", "Number of FFT points:", None)) + self.specOpCebIncoherent.setText(_translate("MainWindow", "Incoherent Integration:", None)) self.specOpCobIncInt.setItemText(0, _translate("MainWindow", "Time Interval", None)) - self.specOpCobIncInt.setItemText(1, _translate("MainWindow", "Profiles", None)) - self.specOpCebRadarfrequency.setText(_translate("MainWindow", "Radar frequency (MHz)", None)) - self.label_21.setText(_translate("MainWindow", "Profiles", None)) - self.specOpCebRemoveInt.setText(_translate("MainWindow", "Remove Interference", None)) - self.label_70.setText(_translate("MainWindow", "IppFactor", None)) - self.specOpCebgetNoise.setText(_translate("MainWindow", "Get Noise", None)) + self.specOpCobIncInt.setItemText(1, _translate("MainWindow", "Number of Profiles", None)) + self.specOpCebRadarfrequency.setText(_translate("MainWindow", "Radar frequency (MHz):", None)) + self.specLabProfiles.setText(_translate("MainWindow", "Number of Profiles", None)) + self.specOpCebRemoveInt.setText(_translate("MainWindow", "Remove Interference:", None)) + self.specLabippFactor.setText(_translate("MainWindow", "Ipp Factor:", None)) + self.specOpCebgetNoise.setText(_translate("MainWindow", "Set Noise area:", None)) self.specOpComRemoveDC.setItemText(0, _translate("MainWindow", "Mode 1", None)) self.specOpComRemoveDC.setItemText(1, _translate("MainWindow", "Mode 2", None)) self.tabWidgetSpectra.setTabText(self.tabWidgetSpectra.indexOf(self.tabopSpectra), _translate("MainWindow", "Operation", None)) - self.label_44.setText(_translate("MainWindow", "Coherence Map", None)) + self.label_44.setText(_translate("MainWindow", "Coherence Map:", None)) self.specGraphTminTmaxLabel.setText(_translate("MainWindow", "Time range:", None)) - self.label_25.setText(_translate("MainWindow", "Prefix", None)) - self.label_42.setText(_translate("MainWindow", "RTI Plot", None)) - self.label_16.setText(_translate("MainWindow", "Height range", None)) - self.label_17.setText(_translate("MainWindow", "dB range", None)) - self.specGraphMagLabel.setText(_translate("MainWindow", "Coh. Magnitud ", None)) - self.label_24.setText(_translate("MainWindow", "Path", None)) - self.label_46.setText(_translate("MainWindow", "Power Profile", None)) + self.label_25.setText(_translate("MainWindow", "Prefix:", None)) + self.label_42.setText(_translate("MainWindow", "RTI Plot:", None)) + self.label_16.setText(_translate("MainWindow", "Height range:", None)) + self.label_17.setText(_translate("MainWindow", "dB range:", None)) + self.specGraphMagLabel.setText(_translate("MainWindow", "Coh. Magnitud:", None)) + self.label_24.setText(_translate("MainWindow", "Path:", None)) + self.label_46.setText(_translate("MainWindow", "Power Profile:", None)) self.label_22.setText(_translate("MainWindow", "Freq/Vel range:", None)) - self.label_41.setText(_translate("MainWindow", "Cross Spectra Plot", None)) + self.label_41.setText(_translate("MainWindow", "Cross Spectra Plot:", None)) self.specGraphToolPath.setText(_translate("MainWindow", "...", None)) self.label_6.setText(_translate("MainWindow", "Channel List:", None)) - self.label_40.setText(_translate("MainWindow", "Spectra Plot", None)) - self.label_43.setText(_translate("MainWindow", "Show", None)) + self.label_40.setText(_translate("MainWindow", "Spectra Plot:", None)) + self.label_43.setText(_translate("MainWindow", "Show:", None)) self.label_29.setText(_translate("MainWindow", "Writing Period:", None)) - self.label_47.setText(_translate("MainWindow", "Save", None)) - self.label_19.setText(_translate("MainWindow", "Ftp", None)) - self.label_45.setText(_translate("MainWindow", "Noise", None)) + self.label_47.setText(_translate("MainWindow", "Save:", None)) + self.label_19.setText(_translate("MainWindow", "Ftp:", None)) + self.label_45.setText(_translate("MainWindow", "Noise:", None)) self.label_48.setText(_translate("MainWindow", "Time Range:", None)) self.specGraphPhaseLabel.setText(_translate("MainWindow", "Coh. Phase:", None)) self.label_48.hide() @@ -453,4 +502,27 @@ class Ui_SpectraTab(object): self.tabWidgetSpectra.setTabText(self.tabWidgetSpectra.indexOf(self.taboutputSpectra), _translate("MainWindow", "Output", None)) self.tabWidgetProject.setTabText(self.tabWidgetProject.indexOf(self.tabSpectra), _translate("MainWindow", "Spectra", None)) + + self.__setToolTip() + + def __setToolTip(self): + + self.specOpnFFTpoints.setToolTip('Number of FFT points used in FFT function. Example: 128') + self.specOpProfiles.setToolTip('Number of data points used in FFT function. Example: 128') + self.specOpippFactor.setToolTip('This factor is multiplied to IPP value to get velocity and frequency range. Example: 4') + self.specOpIncoherent.setToolTip('Example: 10') + self.specOpgetNoise.setToolTip('Example:20,180,30,120 (minHei,maxHei,minVel,maxVel)') + + self.specOpChannel.setToolTip('Example: 0,1,2,3') + self.specOpHeights.setToolTip('Example: 90,180') + self.specOppairsList.setToolTip('Example: (0,1),(2,3)') + # tool tip gui specGraph + + self.specGgraphChannelList.setToolTip('Example: 0,3,4') + self.specGgraphFreq.setToolTip('Example: -20,20') + self.specGgraphHeight.setToolTip('Example: 100,400') + self.specGgraphDbsrange.setToolTip('Example: 30,170') + + self.specGraphPrefix.setToolTip('Example: EXPERIMENT_NAME') + \ No newline at end of file diff --git a/schainpy/gui/viewer/windows/ui_spectra_heis.py b/schainpy/gui/viewer/windows/ui_spectra_heis.py index e82de7d..7fcbcd3 100644 --- a/schainpy/gui/viewer/windows/ui_spectra_heis.py +++ b/schainpy/gui/viewer/windows/ui_spectra_heis.py @@ -238,3 +238,15 @@ class Ui_SpectraHeisTab(object): self.specHeisOutputMetadaToolPath.setText(_translate("MainWindow", "...", None)) self.tabWidgetProject.setTabText(self.tabWidgetProject.indexOf(self.tabSpectraHeis), _translate("MainWindow", "SpectraHeis", None)) + + self.__setToolTip() + + def __setToolTip(self): + + self.specHeisOpIncoherent.setToolTip('Example: 10') + + self.specHeisGgraphChannelList.setToolTip('Example: 0,2,3') + self.specHeisGgraphXminXmax.setToolTip('Example (Hz): -1000, 1000') + self.specHeisGgraphYminYmax.setToolTip('Example (dB): 5, 35') + self.specHeisGgraphTminTmax.setToolTip('Example (hours): 0, 24') + self.specHeisGgraphTimeRange.setToolTip('Example (hours): 8') \ No newline at end of file diff --git a/schainpy/gui/viewer/windows/ui_voltage.py b/schainpy/gui/viewer/windows/ui_voltage.py index ead4e14..5e26839 100644 --- a/schainpy/gui/viewer/windows/ui_voltage.py +++ b/schainpy/gui/viewer/windows/ui_voltage.py @@ -47,91 +47,108 @@ class Ui_VoltageTab(object): self.tabopVoltage.setObjectName(_fromUtf8("tabopVoltage")) self.gridLayout = QtGui.QGridLayout(self.tabopVoltage) self.gridLayout.setObjectName(_fromUtf8("gridLayout")) - self.volOpHeights = QtGui.QLineEdit(self.tabopVoltage) - self.volOpHeights.setObjectName(_fromUtf8("volOpHeights")) - self.gridLayout.addWidget(self.volOpHeights, 4, 4, 1, 1) - self.volOpComHeights = QtGui.QComboBox(self.tabopVoltage) - self.volOpComHeights.setObjectName(_fromUtf8("volOpComHeights")) - self.volOpComHeights.addItem(_fromUtf8("")) - self.volOpComHeights.addItem(_fromUtf8("")) - self.gridLayout.addWidget(self.volOpComHeights, 4, 0, 1, 3) + + self.volOpCebRadarfrequency = QtGui.QCheckBox(self.tabopVoltage) + self.volOpCebRadarfrequency.setObjectName(_fromUtf8("volOpCebRadarfrequency")) + self.gridLayout.addWidget(self.volOpCebRadarfrequency, 0, 0, 1, 1) + + self.volOpRadarfrequency = QtGui.QLineEdit(self.tabopVoltage) + self.volOpRadarfrequency.setObjectName(_fromUtf8("volOpRadarfrequency")) + self.gridLayout.addWidget(self.volOpRadarfrequency, 0, 1, 1, 4) + + self.volOpCebChannels = QtGui.QCheckBox(self.tabopVoltage) + self.volOpCebChannels.setObjectName(_fromUtf8("volOpCebChannels")) + self.gridLayout.addWidget(self.volOpCebChannels, 1, 0, 1, 1) + self.volOpComChannels = QtGui.QComboBox(self.tabopVoltage) self.volOpComChannels.setObjectName(_fromUtf8("volOpComChannels")) self.volOpComChannels.addItem(_fromUtf8("")) self.volOpComChannels.addItem(_fromUtf8("")) - self.gridLayout.addWidget(self.volOpComChannels, 2, 0, 1, 3) + self.gridLayout.addWidget(self.volOpComChannels, 1, 1, 1, 2) + + self.volOpChannel = QtGui.QLineEdit(self.tabopVoltage) + self.volOpChannel.setObjectName(_fromUtf8("volOpChannel")) + self.gridLayout.addWidget(self.volOpChannel, 1, 3, 1, 2) + + + self.volOpCebHeights = QtGui.QCheckBox(self.tabopVoltage) + self.volOpCebHeights.setObjectName(_fromUtf8("volOpCebHeights")) + self.gridLayout.addWidget(self.volOpCebHeights, 3, 0, 1, 1) + + self.volOpComHeights = QtGui.QComboBox(self.tabopVoltage) + self.volOpComHeights.setObjectName(_fromUtf8("volOpComHeights")) + self.volOpComHeights.addItem(_fromUtf8("")) + self.volOpComHeights.addItem(_fromUtf8("")) + self.gridLayout.addWidget(self.volOpComHeights, 3, 1, 1, 2) + + self.volOpHeights = QtGui.QLineEdit(self.tabopVoltage) + self.volOpHeights.setObjectName(_fromUtf8("volOpHeights")) + self.gridLayout.addWidget(self.volOpHeights, 3, 3, 1, 2) + + + self.volOpCebProfile = QtGui.QCheckBox(self.tabopVoltage) self.volOpCebProfile.setObjectName(_fromUtf8("volOpCebProfile")) - self.gridLayout.addWidget(self.volOpCebProfile, 6, 0, 1, 3) + self.gridLayout.addWidget(self.volOpCebProfile, 5, 0, 1, 1) + self.volOpComProfile = QtGui.QComboBox(self.tabopVoltage) self.volOpComProfile.setObjectName(_fromUtf8("volOpComProfile")) self.volOpComProfile.addItem(_fromUtf8("")) self.volOpComProfile.addItem(_fromUtf8("")) self.volOpComProfile.addItem(_fromUtf8("")) - self.gridLayout.addWidget(self.volOpComProfile, 7, 0, 1, 3) - self.volOpCebDecodification = QtGui.QCheckBox(self.tabopVoltage) - self.volOpCebDecodification.setObjectName(_fromUtf8("volOpCebDecodification")) - self.gridLayout.addWidget(self.volOpCebDecodification, 8, 0, 1, 3) + self.gridLayout.addWidget(self.volOpComProfile, 5, 1, 1, 2) + self.volOpProfile = QtGui.QLineEdit(self.tabopVoltage) self.volOpProfile.setObjectName(_fromUtf8("volOpProfile")) - self.gridLayout.addWidget(self.volOpProfile, 7, 4, 1, 1) - self.volOpFilter = QtGui.QLineEdit(self.tabopVoltage) - self.volOpFilter.setObjectName(_fromUtf8("volOpFilter")) - self.gridLayout.addWidget(self.volOpFilter, 5, 4, 1, 1) - spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) - self.gridLayout.addItem(spacerItem, 6, 4, 1, 1) - spacerItem1 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) - self.gridLayout.addItem(spacerItem1, 8, 4, 1, 1) - spacerItem2 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) - self.gridLayout.addItem(spacerItem2, 3, 4, 1, 1) - self.volOpChannel = QtGui.QLineEdit(self.tabopVoltage) - self.volOpChannel.setObjectName(_fromUtf8("volOpChannel")) - self.gridLayout.addWidget(self.volOpChannel, 2, 4, 1, 1) - self.volOpCebChannels = QtGui.QCheckBox(self.tabopVoltage) - self.volOpCebChannels.setObjectName(_fromUtf8("volOpCebChannels")) - self.gridLayout.addWidget(self.volOpCebChannels, 1, 0, 1, 3) - self.volOpCebHeights = QtGui.QCheckBox(self.tabopVoltage) - self.volOpCebHeights.setObjectName(_fromUtf8("volOpCebHeights")) - self.gridLayout.addWidget(self.volOpCebHeights, 3, 0, 1, 3) + self.gridLayout.addWidget(self.volOpProfile, 5, 3, 1, 2) + + self.volOpCebReshaper = QtGui.QCheckBox(self.tabopVoltage) + self.volOpCebReshaper.setObjectName(_fromUtf8("volOpCebReshaper")) + self.gridLayout.addWidget(self.volOpCebReshaper, 6, 0, 1, 1) + + self.volOpReshaper = QtGui.QLineEdit(self.tabopVoltage) + self.volOpReshaper.setObjectName(_fromUtf8("volOpReshaper")) + self.gridLayout.addWidget(self.volOpReshaper, 6, 1, 1, 4) + self.volOpCebFilter = QtGui.QCheckBox(self.tabopVoltage) self.volOpCebFilter.setObjectName(_fromUtf8("volOpCebFilter")) - self.gridLayout.addWidget(self.volOpCebFilter, 5, 0, 1, 3) - self.volOpRadarfrequency = QtGui.QLineEdit(self.tabopVoltage) - self.volOpRadarfrequency.setObjectName(_fromUtf8("volOpRadarfrequency")) - self.gridLayout.addWidget(self.volOpRadarfrequency, 0, 4, 1, 1) - self.volOpCebRadarfrequency = QtGui.QCheckBox(self.tabopVoltage) - self.volOpCebRadarfrequency.setObjectName(_fromUtf8("volOpCebRadarfrequency")) - self.gridLayout.addWidget(self.volOpCebRadarfrequency, 0, 0, 1, 3) - spacerItem3 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) - self.gridLayout.addItem(spacerItem3, 1, 4, 1, 1) - self.volOpCebFlip = QtGui.QCheckBox(self.tabopVoltage) - self.volOpCebFlip.setObjectName(_fromUtf8("volOpCebFlip")) - self.gridLayout.addWidget(self.volOpCebFlip, 11, 0, 1, 3) - self.volOpFlip = QtGui.QLineEdit(self.tabopVoltage) - self.volOpFlip.setObjectName(_fromUtf8("volOpFlip")) - self.gridLayout.addWidget(self.volOpFlip, 11, 4, 1, 1) + self.gridLayout.addWidget(self.volOpCebFilter, 7, 0, 1, 1) + + self.volOpFilter = QtGui.QLineEdit(self.tabopVoltage) + self.volOpFilter.setObjectName(_fromUtf8("volOpFilter")) + self.gridLayout.addWidget(self.volOpFilter, 7, 1, 1, 4) + +# spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) +# self.gridLayout.addItem(spacerItem, 6, 4, 1, 1) +# spacerItem1 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) +# self.gridLayout.addItem(spacerItem1, 8, 4, 1, 1) +# spacerItem2 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) +# self.gridLayout.addItem(spacerItem2, 3, 4, 1, 1) + + + +# spacerItem3 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) +# self.gridLayout.addItem(spacerItem3, 1, 4, 1, 1) + + + self.volOpCebDecodification = QtGui.QCheckBox(self.tabopVoltage) + self.volOpCebDecodification.setObjectName(_fromUtf8("volOpCebDecodification")) + self.gridLayout.addWidget(self.volOpCebDecodification, 8, 0, 1, 1) - self.volOpCebCohInt = QtGui.QCheckBox(self.tabopVoltage) - self.volOpCebCohInt.setObjectName(_fromUtf8("volOpCebCohInt")) - self.gridLayout.addWidget(self.volOpCebCohInt, 12, 0, 1, 3) - self.volOpCohInt = QtGui.QLineEdit(self.tabopVoltage) - self.volOpCohInt.setObjectName(_fromUtf8("volOpCohInt")) - self.gridLayout.addWidget(self.volOpCohInt, 12, 4, 1, 1) - self.volLabCodeMode = QtGui.QLabel(self.tabopVoltage) self.volLabCodeMode.setObjectName(_fromUtf8("volLabCodeMode")) - self.gridLayout.addWidget(self.volLabCodeMode, 8, 2, 1, 1) - self.volLabCodeType = QtGui.QLabel(self.tabopVoltage) - self.volLabCodeType.setObjectName(_fromUtf8("volLabCodeType")) - self.gridLayout.addWidget(self.volLabCodeType, 9, 2, 1, 1) - self.volLabCode = QtGui.QLabel(self.tabopVoltage) - self.volLabCode.setObjectName(_fromUtf8("volLabCode")) - self.gridLayout.addWidget(self.volLabCode, 10, 2, 1, 1) + self.gridLayout.addWidget(self.volLabCodeMode, 8, 1, 1, 1) + self.volOpComMode = QtGui.QComboBox(self.tabopVoltage) self.volOpComMode.setObjectName(_fromUtf8("volOpComMode")) self.volOpComMode.addItem(_fromUtf8("")) self.volOpComMode.addItem(_fromUtf8("")) - self.gridLayout.addWidget(self.volOpComMode, 8, 4, 1, 1) + self.gridLayout.addWidget(self.volOpComMode, 8, 2, 1, 3) + + self.volLabCodeType = QtGui.QLabel(self.tabopVoltage) + self.volLabCodeType.setObjectName(_fromUtf8("volLabCodeType")) + self.gridLayout.addWidget(self.volLabCodeType, 9, 1, 1, 1) + self.volOpComCode = QtGui.QComboBox(self.tabopVoltage) self.volOpComCode.setObjectName(_fromUtf8("volOpComCode")) self.volOpComCode.addItem(_fromUtf8("")) @@ -148,11 +165,41 @@ class Ui_VoltageTab(object): self.volOpComCode.addItem(_fromUtf8("")) self.volOpComCode.addItem(_fromUtf8("")) self.volOpComCode.addItem(_fromUtf8("")) - self.gridLayout.addWidget(self.volOpComCode, 9, 4, 1, 1) - self.tabWidgetVoltage.addTab(self.tabopVoltage, _fromUtf8("")) + self.gridLayout.addWidget(self.volOpComCode, 9, 2, 1, 3) + + self.volLabCode = QtGui.QLabel(self.tabopVoltage) + self.volLabCode.setObjectName(_fromUtf8("volLabCode")) + self.gridLayout.addWidget(self.volLabCode, 10, 1, 1, 1) + self.volOpCode = QtGui.QLineEdit(self.tabopVoltage) self.volOpCode.setObjectName(_fromUtf8("volOpCode")) - self.gridLayout.addWidget(self.volOpCode, 10, 4, 1, 1) + self.gridLayout.addWidget(self.volOpCode, 10, 2, 1, 3) + + self.volOpCebFlip = QtGui.QCheckBox(self.tabopVoltage) + self.volOpCebFlip.setObjectName(_fromUtf8("volOpCebFlip")) + self.gridLayout.addWidget(self.volOpCebFlip, 11, 0, 1, 1) + + self.volOpFlip = QtGui.QLineEdit(self.tabopVoltage) + self.volOpFlip.setObjectName(_fromUtf8("volOpFlip")) + self.gridLayout.addWidget(self.volOpFlip, 11, 1, 1, 4) + + self.volOpCebCohInt = QtGui.QCheckBox(self.tabopVoltage) + self.volOpCebCohInt.setObjectName(_fromUtf8("volOpCebCohInt")) + self.gridLayout.addWidget(self.volOpCebCohInt, 12, 0, 1, 1) + + self.volOpCohInt = QtGui.QLineEdit(self.tabopVoltage) + self.volOpCohInt.setObjectName(_fromUtf8("volOpCohInt")) + self.gridLayout.addWidget(self.volOpCohInt, 12, 1, 1, 4) + + self.volOpCebAdjustHei = QtGui.QCheckBox(self.tabopVoltage) + self.volOpCebAdjustHei.setObjectName(_fromUtf8("volOpCebAdjustHei")) + self.gridLayout.addWidget(self.volOpCebAdjustHei, 13, 0, 1, 1) + + self.volOpAdjustHei = QtGui.QLineEdit(self.tabopVoltage) + self.volOpAdjustHei.setObjectName(_fromUtf8("volOpAdjustHei")) + self.gridLayout.addWidget(self.volOpAdjustHei, 13, 1, 1, 4) + + self.tabWidgetVoltage.addTab(self.tabopVoltage, _fromUtf8("")) self.tabgraphVoltage = QtGui.QWidget() self.tabgraphVoltage.setObjectName(_fromUtf8("tabgraphVoltage")) @@ -267,18 +314,19 @@ class Ui_VoltageTab(object): self.volOpComHeights.setItemText(1, _translate("MainWindow", "Index", None)) self.volOpComChannels.setItemText(0, _translate("MainWindow", "Value", None)) self.volOpComChannels.setItemText(1, _translate("MainWindow", "Index", None)) - self.volOpCebProfile.setText(_translate("MainWindow", "Profile Selector", None)) + self.volOpCebProfile.setText(_translate("MainWindow", "Select Profiles", None)) self.volOpComProfile.setItemText(0, _translate("MainWindow", "Profile List", None)) self.volOpComProfile.setItemText(1, _translate("MainWindow", "Profile Range", None)) self.volOpComProfile.setItemText(2, _translate("MainWindow", "List of Profile Ranges", None)) - self.volOpCebDecodification.setText(_translate("MainWindow", "Decoder", None)) - self.volOpCebCohInt.setText(_translate("MainWindow", "Coherent Integration", None)) - self.volOpCebFlip.setText(_translate("MainWindow", "Flip", None)) + self.volOpCebDecodification.setText(_translate("MainWindow", "Decoder:", None)) + self.volOpCebCohInt.setText(_translate("MainWindow", "Coherent Integration:", None)) + self.volOpCebFlip.setText(_translate("MainWindow", "Flip:", None)) self.volLabCodeType.setText(_translate("MainWindow", "Code type:", None)) - self.volOpCebChannels.setText(_translate("MainWindow", "Select Channels", None)) - self.volOpCebHeights.setText(_translate("MainWindow", "Select Heights", None)) - self.volOpCebFilter.setText(_translate("MainWindow", "Filter", None)) - self.volOpCebRadarfrequency.setText(_translate("MainWindow", "Radar frequency (MHz)", None)) + self.volOpCebChannels.setText(_translate("MainWindow", "Select Channels:", None)) + self.volOpCebHeights.setText(_translate("MainWindow", "Select Heights:", None)) + self.volOpCebFilter.setText(_translate("MainWindow", "Filter:", None)) + self.volOpCebReshaper.setText(_translate("MainWindow", "Reshape data: ", None)) + self.volOpCebRadarfrequency.setText(_translate("MainWindow", "Radar frequency (MHz):", None)) self.volLabCodeMode.setText(_translate("MainWindow", "Mode:", None)) self.volLabCode.setText(_translate("MainWindow", "Code:", None)) self.volOpComCode.setItemText(0, _translate("MainWindow", "Read from header", None)) @@ -297,28 +345,44 @@ class Ui_VoltageTab(object): self.volOpComCode.setItemText(13, _translate("MainWindow", "User defined", None)) self.volOpComMode.setItemText(0, _translate("MainWindow", "Time", None)) self.volOpComMode.setItemText(1, _translate("MainWindow", "Frequency", None)) + self.volOpCebAdjustHei.setText(_translate("MainWindow", "Calibrate H0:", None)) + self.tabWidgetVoltage.setTabText(self.tabWidgetVoltage.indexOf(self.tabopVoltage), _translate("MainWindow", "Operation", None)) self.volGraphToolPath.setText(_translate("MainWindow", "...", None)) - self.label_14.setText(_translate("MainWindow", "Scope", None)) - self.label_8.setText(_translate("MainWindow", "Channel List", None)) - self.label_49.setText(_translate("MainWindow", "Show", None)) - self.label_51.setText(_translate("MainWindow", "Height range", None)) + self.label_14.setText(_translate("MainWindow", "Scope:", None)) + self.label_8.setText(_translate("MainWindow", "Channel List:", None)) + self.label_49.setText(_translate("MainWindow", "Show:", None)) + self.label_51.setText(_translate("MainWindow", "Height range:", None)) self.label_12.setText(_translate("MainWindow", "Path :", None)) self.label_13.setText(_translate("MainWindow", "Figure name:", None)) - self.label_52.setText(_translate("MainWindow", "Amplitude", None)) - self.label_50.setText(_translate("MainWindow", "Save", None)) + self.label_52.setText(_translate("MainWindow", "Amplitude:", None)) + self.label_50.setText(_translate("MainWindow", "Save:", None)) self.tabWidgetVoltage.setTabText(self.tabWidgetVoltage.indexOf(self.tabgraphVoltage), _translate("MainWindow", "Graphics", None)) self.label_36.setText(_translate("MainWindow", "Type:", None)) self.label_37.setText(_translate("MainWindow", "Path:", None)) self.volOutputToolPath.setText(_translate("MainWindow", "...", None)) self.volOutputComData.setItemText(0, _translate("MainWindow", ".rawdata", None)) - self.label_7.setText(_translate("MainWindow", "Blocks per File : ", None)) + self.label_7.setText(_translate("MainWindow", "Blocks per File: ", None)) self.label_35.setText(_translate("MainWindow", "Profiles per Block: ", None)) self.tabWidgetVoltage.setTabText(self.tabWidgetVoltage.indexOf(self.taboutputVoltage), _translate("MainWindow", "Output", None)) self.tabWidgetProject.setTabText(self.tabWidgetProject.indexOf(self.tabVoltage), _translate("MainWindow", "Voltage", None)) + + self.__setToolTip() + + def __setToolTip(self): + self.volOpChannel.setToolTip('Example: 1,2,3,4,5') + self.volOpHeights.setToolTip('Example: 90,180') + self.volOpFilter.setToolTip('Example: 2') + self.volOpProfile.setToolTip('Example:0,127') + self.volOpCohInt.setToolTip('Example: 128') + self.volOpFlip.setToolTip('ChannelList where flip will be applied. Example: 0,2,3') + self.volOpOk.setToolTip('If you have finished, please Ok ') + # tool tip gui volGraph + self.volGraphfreqrange.setToolTip('Height range. Example: 50,100') + self.volGraphHeightrange.setToolTip('Amplitude. Example: 0,10000') \ No newline at end of file