basicwindow.py
1770 lines
| 78.0 KiB
| text/x-python
|
PythonLexer
|
r286 | # -*- coding: utf-8 -*- | |
""" | |||
Module implementing MainWindow. | |||
|
r362 | #+++++++++++++GUI V1++++++++++++++# | |
@author: AlexanderValdezPortocarrero ñ_ñ | |||
|
r286 | """ | |
|
r362 | import os, sys | |
|
r322 | import datetime | |
|
r362 | from PyQt4.QtGui import QMainWindow | |
|
r322 | from PyQt4.QtCore import pyqtSignature | |
from PyQt4.QtCore import pyqtSignal | |||
from PyQt4 import QtCore | |||
from PyQt4 import QtGui | |||
|
r286 | ||
from viewer.ui_unitprocess import Ui_UnitProcess | |||
|
r322 | from viewer.ui_window import Ui_window | |
from viewer.ui_mainwindow import Ui_BasicWindow | |||
|
r346 | ||
|
r362 | from modelProperties import treeModel | |
|
r346 | ||
|
r362 | path = os.path.split(os.getcwd())[0] | |
|
r286 | ||
|
r362 | sys.path.append(path) | |
|
r286 | ||
|
r362 | from controller import * | |
|
r286 | ||
|
r362 | def isRadarFile(file): | |
try: | |||
year = int(file[1:5]) | |||
doy = int(file[5:8]) | |||
set = int(file[8:11]) | |||
except: | |||
return 0 | |||
|
r322 | ||
|
r362 | return 1 | |
|
r322 | ||
def isRadarPath(path): | |||
|
r362 | try: | |
year = int(path[1:5]) | |||
doy = int(path[5:8]) | |||
except: | |||
return 0 | |||
|
r322 | ||
|
r362 | return 1 | |
|
r286 | ||
|
r362 | ||
class BasicWindow(QMainWindow,Ui_BasicWindow): | |||
|
r286 | """ | |
|
r362 | ||
|
r286 | """ | |
|
r362 | def __init__(self,parent = None): | |
""" | |||
""" | |||
QMainWindow.__init__(self,parent) | |||
self.setupUi(self) | |||
self.__projObjDict = {} | |||
self.__upObjDict = {} | |||
|
r386 | self.__treeObjDict = {} | |
|
r362 | self.readUnitConfObjList=[] | |
self.operObjList=[] | |||
|
r386 | self.idProject = 0 | |
|
r381 | self.idImag=0 | |
|
r362 | self.online=0 | |
self.walk=1 | |||
self.indexclick=None | |||
self.setParameter() | |||
|
r286 | ||
@pyqtSignature("") | |||
|
r362 | def on_actionCreate_triggered(self): | |
|
r286 | """ | |
|
r362 | Slot documentation goes here. | |
|
r286 | """ | |
|
r362 | self.setProjectParam() | |
|
r286 | @pyqtSignature("") | |
|
r362 | def on_actionSave_triggered(self): | |
|
r286 | """ | |
|
r362 | Slot documentation goes here. | |
|
r286 | """ | |
|
r362 | self.saveProject() | |
|
r379 | ||
@pyqtSignature("") | |||
def on_actionClose_triggered(self): | |||
""" | |||
Slot documentation goes here. | |||
""" | |||
self.close() | |||
|
r286 | ||
|
r362 | def on_actionStart_triggered(self): | |
|
r286 | """ | |
""" | |||
|
r362 | self.playProject() | |
|
r286 | ||
|
r362 | @pyqtSignature("") | |
def on_actionCreateToolbar_triggered(self): | |||
|
r286 | """ | |
|
r362 | Slot documentation goes here. | |
|
r286 | """ | |
|
r362 | self.setProjectParam() | |
|
r286 | ||
@pyqtSignature("") | |||
|
r362 | def on_actionSaveToolbar_triggered(self): | |
|
r286 | """ | |
|
r362 | Slot documentation goes here. | |
|
r286 | """ | |
|
r362 | self.saveProject() | |
|
r286 | @pyqtSignature("") | |
|
r362 | def on_actionStarToolbar_triggered(self): | |
|
r286 | """ | |
|
r362 | Slot documentation goes here. | |
|
r286 | """ | |
|
r362 | self.playProject() | |
|
r286 | ||
|
r346 | ||
|
r362 | @pyqtSignature("int") | |
def on_proComReadMode_activated(self, p0): | |||
|
r286 | """ | |
|
r362 | SELECCION DEL MODO DE LECTURA ON=1, OFF=0 | |
|
r286 | """ | |
|
r362 | if p0==0: | |
self.online=0 | |||
|
r378 | self.proDelay.setText("0") | |
|
r362 | self.proDelay.setEnabled(False) | |
elif p0==1: | |||
self.online=1 | |||
|
r378 | self.proDelay.setText("5") | |
|
r362 | self.proDelay.setEnabled(True) | |
self.console.clear() | |||
self.console.append("Choose the type of Walk") | |||
|
r286 | @pyqtSignature("int") | |
|
r362 | def on_proComDataType_activated(self,index): | |
|
r286 | """ | |
|
r362 | Voltage or Spectra | |
|
r286 | """ | |
if index==0: | |||
|
r322 | self.datatype='.r' | |
|
r286 | elif index==1: | |
|
r322 | self.datatype='.pdata' | |
|
r362 | ||
self.proDataType.setText(self.datatype) | |||
self.console.clear() | |||
self.console.append("Choose your DataPath") | |||
self.console.append("Use the toolpath or Write the path") | |||
|
r286 | ||
|
r362 | @pyqtSignature("int") | |
def on_proComWalk_activated(self,index): | |||
""" | |||
""" | |||
if index==0: | |||
self.walk=0 | |||
elif index==1: | |||
self.walk=1 | |||
self.console.clear() | |||
|
r378 | self.console.append("If you have choose online mode write the delay") | |
|
r362 | self.console.append("Now, Push the Button Load to charge the date") | |
|
r286 | @pyqtSignature("") | |
|
r362 | def on_proToolPath_clicked(self): | |
|
r286 | """ | |
|
r362 | Choose your path | |
|
r286 | """ | |
self.dataPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly)) | |||
|
r362 | self.proDataPath.setText(self.dataPath) | |
|
r322 | ||
|
r362 | self.proComStartDate.clear() | |
self.proComEndDate.clear() | |||
|
r322 | ||
if not os.path.exists(self.dataPath): | |||
|
r362 | self.proOk.setEnabled(False) | |
self.console.clear() | |||
self.console.append("Write a correct a path") | |||
return | |||
self.console.clear() | |||
self.console.append("Select the read mode") | |||
|
r322 | ||
|
r378 | ||
|
r362 | @pyqtSignature("") | |
def on_proLoadButton_clicked(self): | |||
self.proOk.setEnabled(True) | |||
self.console.clear() | |||
self.console.append("You will see the range of date Load") | |||
self.console.append("First,Don't forget to Choose the Read Mode: OffLine or Online") | |||
|
r378 | self.console.append("The option delay is for default 0") | |
|
r362 | self.loadDays() | |
|
r286 | @pyqtSignature("int") | |
|
r362 | def on_proComStartDate_activated(self, index): | |
|
r286 | """ | |
SELECCION DEL RANGO DE FECHAS -START DATE | |||
""" | |||
|
r362 | stopIndex = self.proComEndDate.count() - self.proComEndDate.currentIndex() | |
self.proComEndDate.clear() | |||
|
r322 | ||
for i in self.dateList[index:]: | |||
|
r362 | self.proComEndDate.addItem(i) | |
|
r322 | ||
|
r362 | self.proComEndDate.setCurrentIndex(self.proComEndDate.count() - stopIndex) | |
|
r286 | ||
@pyqtSignature("int") | |||
|
r362 | def on_proComEndDate_activated(self, index): | |
|
r286 | """ | |
SELECCION DEL RANGO DE FECHAS-END DATE | |||
""" | |||
|
r362 | startIndex=self.proComStartDate.currentIndex() | |
stopIndex = self.proComEndDate.count() - index | |||
self.proComStartDate.clear() | |||
|
r322 | for i in self.dateList[:len(self.dateList) - stopIndex + 1]: | |
|
r362 | self.proComStartDate.addItem(i) | |
self.proComStartDate.setCurrentIndex(startIndex) | |||
|
r286 | @pyqtSignature("") | |
|
r362 | def on_proOk_clicked(self): | |
|
r286 | """ | |
Añade al Obj XML de Projecto, name,datatype,date,time,readmode,wait,etc, crea el readUnitProcess del archivo xml. | |||
Prepara la configuración del diágrama del Arbol del treeView numero 2 | |||
|
r362 | """ | |
|
r381 | ||
|
r362 | self.console.clear() | |
|
r386 | self.idProject +=1 | |
|
r362 | self.projectObj= Project () | |
|
r386 | self.__projObjDict[self.idProject]=self.projectObj | |
id = self.idProject | |||
|
r362 | name = str(self.proName.text()) | |
|
r378 | try: | |
name=str(self.proName.text()) | |||
except: | |||
self.console.clear() | |||
self.console.append("Please Write a name") | |||
return 0 | |||
|
r362 | desc=str(self.proDescription.toPlainText()) | |
|
r322 | self.projectObj.setup(id = id, name=name, description=desc) | |
|
r362 | datatype = str(self.proComDataType.currentText()) | |
path = str(self.proDataPath.text()) | |||
|
r381 | if not os.path.exists(path): | |
self.proOk.setEnabled(False) | |||
self.console.clear() | |||
self.console.append("Write a correct a path") | |||
return | |||
|
r330 | online = int(self.online) | |
|
r378 | if online ==0: | |
delay=0 | |||
else: | |||
delay=self.proDelay.text() | |||
try: | |||
delay=int(self.proDelay.text()) | |||
except: | |||
self.console.clear() | |||
self.console.append("Please Write a number for delay") | |||
return 0 | |||
|
r362 | walk = int(self.walk) | |
starDate = str(self.proComStartDate.currentText()) | |||
endDate = str(self.proComEndDate.currentText()) | |||
reloj1=self.proStartTime.time() | |||
reloj2=self.proEndTime.time() | |||
|
r330 | ||
self.readUnitConfObj = self.projectObj.addReadUnit(datatype = datatype, | |||
|
r362 | path = path, | |
startDate = starDate, | |||
endDate = endDate, | |||
startTime= str(reloj1.hour()) +":"+str(reloj1.minute())+":"+ str(reloj1.second()), | |||
endTime= str(reloj2.hour()) +":"+str(reloj2.minute())+":"+ str(reloj2.second()), | |||
online= online, | |||
|
r378 | delay=delay, | |
|
r362 | walk= walk) | |
self.readUnitConfObjList.append(self.readUnitConfObj) | |||
#Project Explorer | |||
self.parentItem=self.model.invisibleRootItem() | |||
|
r386 | self.__treeObjDict[self.idProject] =QtGui.QStandardItem(QtCore.QString(name).arg(self.idProject)) | |
self.parentItem.appendRow(self.__treeObjDict[self.idProject]) | |||
self.parentItem=self.__treeObjDict[self.idProject] | |||
|
r362 | ||
#Project Properties | |||
self.model_2=treeModel() | |||
self.model_2.setParams(name = self.projectObj.name, | |||
directorio = path, | |||
|
r378 | workspace = self.pathWorkSpace, | |
|
r362 | remode = str(self.proComReadMode.currentText()), | |
dataformat = datatype, | |||
date = str(starDate)+"-"+str(endDate), | |||
initTime = str(reloj1.hour()) +":"+str(reloj1.minute())+":"+ str(reloj1.second()), | |||
endTime = str(reloj2.hour()) +":"+str(reloj2.minute())+":"+ str(reloj2.second()), | |||
timezone = "Local" , | |||
Summary = desc) | |||
|
r330 | ||
|
r362 | self.treeProjectProperties.setModel(self.model_2) | |
self.treeProjectProperties.expandAll() | |||
#Disable tabProject after finish the creation | |||
|
r379 | self.tabProject.setEnabled(False) | |
|
r381 | # self.console.clear() | |
# self.console.append("Now you can add a Unit Processing") | |||
# self.console.append("If you want to save your project") | |||
# self.console.append("click on your project name in the Tree Project Explorer") | |||
# | |||
|
r379 | ||
@pyqtSignature("") | |||
def on_proClear_clicked(self): | |||
self.setProjectParam() | |||
|
r362 | #----------------Voltage Operation-------------------# | |
|
r346 | ||
|
r330 | @pyqtSignature("int") | |
|
r362 | def on_volOpCebChannels_stateChanged(self, p0): | |
|
r330 | """ | |
Check Box habilita operaciones de Selecci�n de Canales | |||
""" | |||
if p0==2: | |||
|
r362 | self.volOpComChannels.setEnabled(True) | |
self.volOpChannel.setEnabled(True) | |||
|
r330 | if p0==0: | |
|
r362 | self.volOpComChannels.setEnabled(False) | |
self.volOpChannel.setEnabled(False) | |||
|
r330 | ||
@pyqtSignature("int") | |||
|
r362 | def on_volOpCebHeights_stateChanged(self, p0): | |
|
r330 | """ | |
Check Box habilita operaciones de Selecci�n de Alturas | |||
""" | |||
if p0==2: | |||
|
r362 | self.volOpHeights.setEnabled(True) | |
self.volOpComHeights.setEnabled(True) | |||
|
r330 | if p0==0: | |
|
r362 | self.volOpHeights.setEnabled(False) | |
self.volOpComHeights.setEnabled(False) | |||
|
r330 | ||
|
r346 | @pyqtSignature("int") | |
|
r362 | def on_volOpCebFilter_stateChanged(self, p0): | |
|
r346 | """ | |
Name='Decoder', optype='other' | |||
""" | |||
if p0==2: | |||
|
r362 | self.volOpFilter.setEnabled(True) | |
|
r346 | if p0==0: | |
|
r362 | self.volOpFilter.setEnabled(False) | |
|
r330 | @pyqtSignature("int") | |
|
r362 | def on_volOpCebProfile_stateChanged(self, p0): | |
|
r330 | """ | |
Check Box habilita ingreso del rango de Perfiles | |||
""" | |||
if p0==2: | |||
|
r362 | self.volOpComProfile.setEnabled(True) | |
self.volOpProfile.setEnabled(True) | |||
|
r330 | if p0==0: | |
|
r362 | self.volOpComProfile.setEnabled(False) | |
self.volOpProfile.setEnabled(False) | |||
|
r346 | @pyqtSignature("int") | |
|
r362 | def on_volOpCebDecodification_stateChanged(self, p0): | |
|
r346 | """ | |
|
r362 | Check Box habilita | |
|
r346 | """ | |
if p0==2: | |||
|
r362 | self.volOpComCode.setEnabled(True) | |
self.volOpComMode.setEnabled(True) | |||
|
r346 | if p0==0: | |
|
r362 | self.volOpComCode.setEnabled(False) | |
self.volOpComMode.setEnabled(False) | |||
|
r346 | ||
|
r330 | ||
@pyqtSignature("int") | |||
|
r362 | def on_volOpCebCohInt_stateChanged(self, p0): | |
|
r330 | """ | |
Check Box habilita ingresode del numero de Integraciones a realizar | |||
""" | |||
if p0==2: | |||
|
r362 | self.volOpCohInt.setEnabled(True) | |
|
r330 | if p0==0: | |
|
r362 | self.volOpCohInt.setEnabled(False) | |
|
r330 | ||
|
r362 | ||
|
r330 | @pyqtSignature("") | |
|
r362 | def on_volOpOk_clicked(self): | |
|
r330 | """ | |
BUSCA EN LA LISTA DE OPERACIONES DEL TIPO VOLTAJE Y LES A�ADE EL PARAMETRO ADECUADO ESPERANDO LA ACEPTACION DEL USUARIO | |||
PARA AGREGARLO AL ARCHIVO DE CONFIGURACION XML | |||
""" | |||
|
r386 | for i in self.__treeObjDict: | |
if self.__treeObjDict[i]==self.indexclick: | |||
|
r330 | if self.__upObjDict.has_key(i)==True: | |
self.upObj=self.__upObjDict[i] | |||
|
r346 | ||
|
r362 | if self.volOpCebChannels.isChecked(): | |
if self.volOpComChannels.currentIndex()== 0: | |||
|
r346 | opObj10=self.upObj.addOperation(name="selectChannels") | |
self.operObjList.append(opObj10) | |||
|
r362 | value=self.volOpChannel.text() | |
|
r346 | opObj10.addParameter(name='channelList', value=value, format='intlist') | |
else: | |||
opObj10=self.upObj.addOperation(name="selectChannelsByIndex") | |||
self.operObjList.append(opObj10) | |||
|
r362 | value=self.volOpChannel.text() | |
|
r346 | opObj10.addParameter(name='channelIndexList', value=value, format='intlist') | |
|
r362 | if self.volOpCebHeights.isChecked(): | |
if self.volOpComHeights.currentIndex()== 0: | |||
|
r346 | opObj10=self.upObj.addOperation(name='selectHeights') | |
|
r362 | value=self.volOpHeights.text() | |
|
r346 | valueList=value.split(',') | |
opObj10.addParameter(name='minHei', value=valueList[0], format='float') | |||
opObj10.addParameter(name='maxHei', value=valueList[1], format='float') | |||
else: | |||
opObj10=self.upObj.addOperation(name='selectHeightsByIndex') | |||
|
r362 | value=self.volOpHeights.text() | |
|
r346 | valueList=value.split(',') | |
opObj10.addParameter(name='minIndex', value=valueList[0], format='float') | |||
opObj10.addParameter(name='maxIndex', value=valueList[1], format='float') | |||
|
r362 | if self.volOpCebFilter.isChecked(): | |
|
r346 | opObj10=self.upObj.addOperation(name='filterByHeights') | |
|
r362 | value=self.volOpFilter.text() | |
|
r346 | opObj10.addParameter(name='window', value=value, format='int') | |
|
r362 | ||
if self.volOpCebProfile.isChecked(): | |||
opObj10=self.upObj.addOperation(name='ProfileSelector', optype='other') | |||
if self.volOpComProfile.currentIndex()== 0: | |||
|
r346 | self.operObjList.append(opObj10) | |
|
r362 | value=self.volOpProfile.text() | |
opObj10.addParameter(name='profileList', value=value, format='intlist') | |||
|
r346 | else: | |
self.operObjList.append(opObj10) | |||
|
r362 | value=self.volOpProfile.text() | |
opObj10.addParameter(name='profileRangeList', value=value, format='intlist') | |||
if self.volOpCebDecodification.isChecked(): | |||
opObj10=self.upObj.addOperation(name='Decoder', optype='other') | |||
if self.volOpComCode.currentIndex()==0: | |||
|
r346 | opObj10.addParameter(name='code', value='1,1,-1,-1,-1,1', format='floatlist') | |
opObj10.addParameter(name='nCode', value='2', format='int') | |||
opObj10.addParameter(name='nBaud', value='3', format='int') | |||
|
r362 | if self.volOpComCode.currentIndex()==1: | |
|
r346 | opObj10.addParameter(name='code', value='1,1,−1,1,-1,-1,1,-1', format='floatlist') | |
opObj10.addParameter(name='nCode', value='2', format='int') | |||
opObj10.addParameter(name='nBaud', value='4', format='int') | |||
|
r362 | if self.volOpComCode.currentIndex()==2: | |
|
r346 | opObj10.addParameter(name='code', value='1,1,1,−1,1,-1,-1,-1,1,-1', format='floatlist') | |
opObj10.addParameter(name='nCode', value='2', format='int') | |||
opObj10.addParameter(name='nBaud', value='5', format='int') | |||
|
r362 | if self.volOpComCode.currentIndex()==3: | |
|
r346 | opObj10.addParameter(name='code', value='1,1,1,−1,−1,1,−1,-1,-1,-1,1,1,-1,1', format='floatlist') | |
opObj10.addParameter(name='nCode', value='2', format='int') | |||
opObj10.addParameter(name='nBaud', value='7', format='int') | |||
|
r362 | if self.volOpComCode.currentIndex()==4: | |
|
r346 | opObj10.addParameter(name='code', value='1,1,1,−1,−1,−1,1,−1,−1,1,−1,-1 ,-1 ,-1 ,1 ,1 ,1 ,-1 ,1 ,1 ,-1 ,1', format='floatlist') | |
opObj10.addParameter(name='nCode', value='2', format='int') | |||
opObj10.addParameter(name='nBaud', value='11', format='int') | |||
|
r362 | if self.volOpComCode.currentIndex()==5: | |
|
r346 | opObj10.addParameter(name='code', value='1,1,1,1,1,−1,−1,1,1,−1,1,−1,1,-1,-1,-1,-1,-1,1,1,-1,-1,1,-1,1,-1', format='floatlist') | |
opObj10.addParameter(name='nCode', value='2', format='int') | |||
opObj10.addParameter(name='nBaud', value='13', format='int') | |||
|
r330 | ||
|
r362 | if self.volOpComMode.currentIndex()==0: | |
|
r346 | opObj10.addParameter(name='mode', value='0', format='int') | |
|
r362 | if self.volOpComMode.currentIndex()==1: | |
|
r346 | opObj10.addParameter(name='mode', value='1', format='int') | |
|
r362 | if self.volOpComMode.currentIndex()==2: | |
|
r346 | opObj10.addParameter(name='mode', value='2', format='int') | |
|
r362 | if self.volOpCebCohInt.isChecked(): | |
|
r346 | opObj10=self.upObj.addOperation(name='CohInt', optype='other') | |
self.operObjList.append(opObj10) | |||
|
r362 | value=self.volOpCohInt.text() | |
|
r387 | opObj10.addParameter(name='n', value=value, format='float') | |
|
r362 | #self.tabopVoltage.setEnabled(False) | |
self.console.clear() | |||
self.console.append("If you want to save your project") | |||
self.console.append("click on your project name in the Tree Project Explorer") | |||
|
r346 | ||
|
r381 | #----------------Voltage Graph-------------------# | |
|
r346 | @pyqtSignature("int") | |
|
r362 | def on_volGraphCebSave_stateChanged(self, p0): | |
|
r346 | """ | |
|
r362 | Check Box habilita ingresode del numero de Integraciones a realizar | |
""" | |||
if p0==2: | |||
self.volGraphPath.setEnabled(True) | |||
self.volGraphPrefix.setEnabled(True) | |||
self.volGraphToolPath.setEnabled(True) | |||
if p0==0: | |||
self.volGraphPath.setEnabled(False) | |||
self.volGraphPrefix.setEnabled(False) | |||
self.volGraphToolPath.setEnabled(False) | |||
@pyqtSignature("") | |||
def on_volGraphToolPath_clicked(self): | |||
""" | |||
Donde se guardan los DATOS | |||
|
r346 | """ | |
|
r362 | self.dataPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly)) | |
self.volGraphPath.setText(self.dataPath) | |||
|
r346 | ||
|
r362 | if not os.path.exists(self.dataPath): | |
self.volGraphOk.setEnabled(False) | |||
return | |||
|
r346 | ||
|
r362 | @pyqtSignature("int") | |
|
r381 | def on_volGraphCebshow_stateChanged(self, p0): | |
|
r362 | """ | |
|
r381 | Check Box habilita ingresode del numero de Integraciones a realizar | |
""" | |||
if p0==0: | |||
|
r362 | self.volGraphChannelList.setEnabled(False) | |
|
r381 | self.volGraphfreqrange.setEnabled(False) | |
self.volGraphHeightrange.setEnabled(False) | |||
if p0==2: | |||
|
r362 | self.volGraphChannelList.setEnabled(True) | |
|
r381 | self.volGraphfreqrange.setEnabled(True) | |
self.volGraphHeightrange.setEnabled(True) | |||
self.idImag += 1 | |||
print self.idImag | |||
|
r362 | ||
|
r346 | @pyqtSignature(" ") | |
|
r362 | def on_volGraphOk_clicked(self): | |
|
r346 | """ | |
GRAPH | |||
""" | |||
|
r386 | for i in self.__treeObjDict: | |
if self.__treeObjDict[i]==self.indexclick: | |||
|
r346 | if self.__upObjDict.has_key(i)==True: | |
self.upObj=self.__upObjDict[i] | |||
|
r362 | ||
|
r381 | if self.volGraphCebshow.isChecked(): | |
|
r346 | opObj10=self.upObj.addOperation(name='Scope', optype='other') | |
|
r330 | self.operObjList.append(opObj10) | |
|
r397 | self.idImag += 1 | |
opObj10.addParameter(name='id', value=int(self.idImag), format='int') | |||
|
r362 | channelList=self.volGraphChannelList.text() | |
|
r397 | if self.volGraphChannelList.isModified(): | |
try: | |||
opObj10.addParameter(name='channelList', value=channelList, format='int') | |||
except: | |||
return 0 | |||
xvalue= self.volGraphfreqrange.text() | |||
if self.volGraphfreqrange.isModified(): | |||
xvalueList=xvalue.split(',') | |||
try: | |||
opObj10.addParameter(name='xmin', value=xvalueList[0], format='int') | |||
opObj10.addParameter(name='xmax', value=xvalueList[1], format='int') | |||
except: | |||
return 0 | |||
|
r381 | yvalue= self.volGraphHeightrange.text() | |
|
r397 | if self.volGraphHeightrange.isModified(): | |
yvalueList=yvalue.split(",") | |||
try: | |||
opObj10.addParameter(name='ymin', value=yvalueList[0], format='int') | |||
opObj10.addParameter(name='ymax', value=yvalueList[1], format='int') | |||
except: | |||
return 0 | |||
|
r346 | ||
|
r362 | if self.volGraphCebSave.isChecked(): | |
|
r346 | opObj10.addParameter(name='save', value='1', format='int') | |
|
r362 | opObj10.addParameter(name='figpath', value= self.volGraphPath.text()) | |
opObj10.addParameter(name='figfile', value= self.volGraphPrefix.text()) | |||
|
r381 | ||
|
r362 | self.tabgraphVoltage.setEnabled(False) | |
self.console.clear() | |||
self.console.append("If you want to save your project") | |||
self.console.append("click on your project name in the Tree Project Explorer") | |||
|
r381 | ||
|
r362 | #------Spectra operation--------# | |
|
r330 | @pyqtSignature("int") | |
|
r382 | def on_specOpCebCrossSpectra_stateChanged(self, p0): | |
|
r330 | """ | |
|
r382 | Habilita la opcion de a�adir el par�metro CrossSpectra a la Unidad de Procesamiento . | |
|
r330 | """ | |
if p0==2: | |||
|
r382 | # self.specOpnFFTpoints.setEnabled(True) | |
|
r362 | self.specOppairsList.setEnabled(True) | |
|
r330 | if p0==0: | |
|
r382 | # self.specOpnFFTpoints.setEnabled(False) | |
|
r362 | self.specOppairsList.setEnabled(False) | |
|
r346 | @pyqtSignature("int") | |
|
r362 | def on_specOpCebChannel_stateChanged(self, p0): | |
|
r346 | """ | |
Habilita la opcion de a�adir el par�metro nFFTPoints a la Unidad de Procesamiento . | |||
""" | |||
if p0==2: | |||
|
r362 | self.specOpChannel.setEnabled(True) | |
self.specOpComChannel.setEnabled(True) | |||
|
r346 | if p0==0: | |
|
r362 | self.specOpChannel.setEnabled(False) | |
|
r382 | self.specOpComChannel.setEnabled(False) | |
|
r362 | ||
|
r346 | @pyqtSignature("int") | |
|
r362 | def on_specOpCebHeights_stateChanged(self, p0): | |
|
r346 | """ | |
Habilita la opcion de a�adir el par�metro nFFTPoints a la Unidad de Procesamiento . | |||
""" | |||
if p0==2: | |||
|
r362 | self.specOpComHeights.setEnabled(True) | |
self.specOpHeights.setEnabled(True) | |||
|
r346 | if p0==0: | |
|
r362 | self.specOpComHeights.setEnabled(False) | |
self.specOpHeights.setEnabled(False) | |||
|
r346 | ||
@pyqtSignature("int") | |||
|
r362 | def on_specOpCebIncoherent_stateChanged(self, p0): | |
|
r346 | """ | |
Habilita la opcion de a�adir el par�metro nFFTPoints a la Unidad de Procesamiento . | |||
""" | |||
if p0==2: | |||
|
r362 | self.specOpIncoherent.setEnabled(True) | |
|
r346 | if p0==0: | |
|
r362 | self.specOpIncoherent.setEnabled(False) | |
|
r346 | ||
@pyqtSignature("int") | |||
|
r362 | def on_specOpCebRemoveDC_stateChanged(self, p0): | |
|
r346 | """ | |
Habilita la opcion de a�adir el par�metro nFFTPoints a la Unidad de Procesamiento . | |||
""" | |||
if p0==2: | |||
|
r362 | self.specOpRemoveDC.setEnabled(True) | |
|
r346 | if p0==0: | |
|
r362 | self.specOpRemoveDC.setEnabled(False) | |
|
r330 | @pyqtSignature("") | |
|
r362 | def on_specOpOk_clicked(self): | |
|
r330 | """ | |
|
r346 | AÑADE OPERACION SPECTRA | |
|
r330 | """ | |
|
r386 | for i in self.__treeObjDict: | |
if self.__treeObjDict[i]==self.indexclick: | |||
|
r330 | if self.__upObjDict.has_key(i)==True: | |
self.upObj=self.__upObjDict[i] | |||
|
r397 | if self.datatype==".r": | |
value1=self.specOpnFFTpoints.text() | |||
try: | |||
value1=int(self.specOpnFFTpoints.text()) | |||
self.tabgraphSpectra.setEnabled(True) | |||
except: | |||
self.tabgraphSpectra.setEnabled(False) | |||
self.console.clear() | |||
self.console.append("Please Write the number of FFT") | |||
return 0 | |||
self.upObj.addParameter(name='nFFTPoints',value=value1,format='int') | |||
else: | |||
pass | |||
|
r362 | # self.operObjList.append(opObj10) | |
|
r382 | if self.specOpCebCrossSpectra.isChecked(): | |
|
r362 | value2=self.specOppairsList.text() | |
self.upObj.addParameter(name='pairsList', value=value2, format='pairslist') | |||
|
r346 | ||
|
r362 | if self.specOpCebHeights.isChecked(): | |
if self.specOpComHeights.currentIndex()== 0: | |||
|
r346 | opObj10=self.upObj.addOperation(name='selectHeights') | |
|
r362 | value=self.specOpHeights.text() | |
|
r346 | valueList=value.split(',') | |
opObj10.addParameter(name='minHei', value=valueList[0], format='float') | |||
opObj10.addParameter(name='maxHei', value=valueList[1], format='float') | |||
else: | |||
opObj10=self.upObj.addOperation(name='selectHeightsByIndex') | |||
|
r362 | value=self.specOpHeights.text() | |
|
r346 | valueList=value.split(',') | |
opObj10.addParameter(name='minIndex', value=valueList[0], format='float') | |||
opObj10.addParameter(name='maxIndex', value=valueList[1], format='float') | |||
|
r362 | if self.specOpCebChannel.isChecked(): | |
if self.specOpComChannel.currentIndex()== 0: | |||
|
r346 | opObj10=self.upObj.addOperation(name="selectChannels") | |
self.operObjList.append(opObj10) | |||
|
r362 | value=self.specOpChannel.text() | |
|
r346 | opObj10.addParameter(name='channelList', value=value, format='intlist') | |
else: | |||
opObj10=self.upObj.addOperation(name="selectChannelsByIndex") | |||
self.operObjList.append(opObj10) | |||
|
r362 | value=self.specOpChannel.text() | |
opObj10.addParameter(name='channelIndexList', value=value, format='intlist') | |||
|
r346 | ||
|
r362 | if self.specOpCebIncoherent.isChecked(): | |
|
r346 | opObj10=self.upObj.addOperation(name='IncohInt', optype='other') | |
self.operObjList.append(opObj10) | |||
|
r362 | value=self.specOpIncoherent.text() | |
|
r346 | opObj10.addParameter(name='n', value=value, format='float') | |
|
r362 | if self.specOpCebRemoveDC.isChecked(): | |
|
r346 | opObj10=self.upObj.addOperation(name='removeDC') | |
|
r362 | value=self.specOpRemoveDC.text() | |
opObj10.addParameter(name='mode', value=value,format='int') | |||
|
r381 | #self.tabopSpectra.setEnabled(False) | |
|
r362 | self.console.clear() | |
self.console.append("If you want to save your project") | |||
self.console.append("click on your project name in the Tree Project Explorer") | |||
#------Spectra Graph--------# | |||
|
r330 | @pyqtSignature("int") | |
|
r381 | def on_specGraphCebSpectraplot_stateChanged(self, p0): | |
if p0==2: | |||
self.specGgraphFreq.setEnabled(True) | |||
self.specGgraphHeight.setEnabled(True) | |||
self.specGgraphDbsrange.setEnabled(True) | |||
if p0==0: | |||
self.specGgraphFreq.setEnabled(False) | |||
self.specGgraphHeight.setEnabled(False) | |||
self.specGgraphDbsrange.setEnabled(False) | |||
|
r362 | ||
|
r381 | @pyqtSignature("int") | |
def on_specGraphCebCrossSpectraplot_stateChanged(self, p0): | |||
if p0==2: | |||
self.specGgraphFreq.setEnabled(True) | |||
self.specGgraphHeight.setEnabled(True) | |||
self.specGgraphmagnitud.setEnabled(True) | |||
if p0==0: | |||
self.specGgraphFreq.setEnabled(False) | |||
self.specGgraphHeight.setEnabled(False) | |||
self.specGgraphmagnitud.setEnabled(False) | |||
|
r362 | ||
|
r381 | @pyqtSignature("int") | |
def on_specGraphCebRTIplot_stateChanged(self, p0): | |||
|
r330 | ||
|
r381 | if p0==2: | |
self.specGgraphTimeRange.setEnabled(True) | |||
self.specGgraphHeight.setEnabled(True) | |||
self.specGgraphDbsrange.setEnabled(True) | |||
if p0==0: | |||
self.specGgraphTimeRange.setEnabled(False) | |||
self.specGgraphHeight.setEnabled(False) | |||
self.specGgraphDbsrange.setEnabled(False) | |||
|
r362 | ||
|
r381 | ||
@pyqtSignature("int") | |||
def on_specGraphCebCoherencmap_stateChanged(self, p0): | |||
if p0==2: | |||
self.specGgraphTimeRange.setEnabled(True) | |||
self.specGgraphHeight.setEnabled(True) | |||
self.specGgraphmagnitud.setEnabled(True) | |||
if p0==0: | |||
self.specGgraphTimeRange.setEnabled(False) | |||
self.specGgraphHeight.setEnabled(False) | |||
self.specGgraphmagnitud.setEnabled(False) | |||
@pyqtSignature("int") | |||
def on_specGraphRTIfromnoise_stateChanged(self, p0): | |||
if p0==2: | |||
self.specGgraphTimeRange.setEnabled(True) | |||
self.specGgraphHeight.setEnabled(True) | |||
self.specGgraphDbsrange.setEnabled(True) | |||
if p0==0: | |||
self.specGgraphTimeRange.setEnabled(False) | |||
self.specGgraphHeight.setEnabled(False) | |||
self.specGgraphDbsrange.setEnabled(False) | |||
|
r362 | ||
|
r330 | @pyqtSignature("int") | |
|
r381 | def on_specGraphPowerprofile_stateChanged(self, p0): | |
if p0==2: | |||
self.specGgraphHeight.setEnabled(True) | |||
self.specGgraphDbsrange.setEnabled(True) | |||
if p0==0: | |||
self.specGgraphHeight.setEnabled(False) | |||
self.specGgraphDbsrange.setEnabled(False) | |||
@pyqtSignature("int") | |||
def on_specGraphPhase_stateChanged(self, p0): | |||
if p0==2: | |||
self.specGgraphTimeRange.setEnabled(True) | |||
self.specGgraphPhaserange.setEnabled(True) | |||
if p0==0: | |||
self.specGgraphTimeRange.setEnabled(False) | |||
self.specGgraphPhaserange.setEnabled(False) | |||
@pyqtSignature("int") | |||
def on_specGraphSaveSpectra_stateChanged(self, p0): | |||
|
r330 | """ | |
""" | |||
if p0==2: | |||
|
r362 | self.specGraphPath.setEnabled(True) | |
self.specGraphPrefix.setEnabled(True) | |||
self.specGraphToolPath.setEnabled(True) | |||
|
r330 | if p0==0: | |
|
r362 | self.specGraphPath.setEnabled(False) | |
self.specGraphPrefix.setEnabled(False) | |||
|
r381 | self.specGraphToolPath.setEnabled(False) | |
@pyqtSignature("int") | |||
def on_specGraphSaveCross_stateChanged(self, p0): | |||
if p0==2: | |||
self.specGraphPath.setEnabled(True) | |||
self.specGraphPrefix.setEnabled(True) | |||
self.specGraphToolPath.setEnabled(True) | |||
@pyqtSignature("int") | |||
def on_specGraphSaveRTIplot_stateChanged(self, p0): | |||
if p0==2: | |||
self.specGraphPath.setEnabled(True) | |||
self.specGraphPrefix.setEnabled(True) | |||
self.specGraphToolPath.setEnabled(True) | |||
@pyqtSignature("int") | |||
def on_specGraphSaveCoherencemap_stateChanged(self, p0): | |||
if p0==2: | |||
self.specGraphPath.setEnabled(True) | |||
self.specGraphPrefix.setEnabled(True) | |||
self.specGraphToolPath.setEnabled(True) | |||
@pyqtSignature("int") | |||
def on_specGraphSaveRTIfromNoise_stateChanged(self, p0): | |||
if p0==2: | |||
self.specGraphPath.setEnabled(True) | |||
self.specGraphPrefix.setEnabled(True) | |||
self.specGraphToolPath.setEnabled(True) | |||
@pyqtSignature("int") | |||
def on_specGraphSavePowerprofile_stateChanged(self, p0): | |||
if p0==2: | |||
self.specGraphPath.setEnabled(True) | |||
self.specGraphPrefix.setEnabled(True) | |||
self.specGraphToolPath.setEnabled(True) | |||
@pyqtSignature("int") | |||
def on_specGraphSavePhase_stateChanged(self, p0): | |||
if p0==2: | |||
self.specGraphPath.setEnabled(True) | |||
self.specGraphPrefix.setEnabled(True) | |||
self.specGraphToolPath.setEnabled(True) | |||
@pyqtSignature("int") | |||
def on_specGraphSaveCCF_stateChanged(self, p0): | |||
if p0==2: | |||
self.specGraphPath.setEnabled(True) | |||
self.specGraphPrefix.setEnabled(True) | |||
self.specGraphToolPath.setEnabled(True) | |||
|
r362 | @pyqtSignature("") | |
def on_specGraphToolPath_clicked(self): | |||
""" | |||
""" | |||
self.savePath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly)) | |||
self.specGraphPath.setText(self.savePath) | |||
if not os.path.exists(self.savePath): | |||
self.console.clear() | |||
self.console.append("Write a correct a path") | |||
return | |||
|
r346 | ||
|
r330 | @pyqtSignature("") | |
|
r362 | def on_specGraphOk_clicked(self): | |
|
r346 | ||
|
r386 | for i in self.__treeObjDict: | |
if self.__treeObjDict[i]==self.indexclick: | |||
|
r330 | if self.__upObjDict.has_key(i)==True: | |
self.upObj=self.__upObjDict[i] | |||
|
r381 | if self.specGraphCebSpectraplot.isChecked(): | |
|
r330 | opObj10=self.upObj.addOperation(name='SpectraPlot',optype='other') | |
|
r381 | ||
self.idImag += 1 | |||
|
r397 | opObj10.addParameter(name='id', value=int(self.idImag), format='int') | |
|
r381 | ||
channelList=self.specGgraphChannelList.text() | |||
if self.specGgraphChannelList.isModified(): | |||
opObj10.addParameter(name='channelList', value=channelList, format='intlist') | |||
xvalue= self.specGgraphFreq.text() | |||
if self.specGgraphFreq.isModified(): | |||
xvalueList=xvalue.split(',') | |||
try: | |||
value=int(xvalueList[0]) | |||
value=int(xvalueList[1]) | |||
opObj10.addParameter(name='xmin', value=xvalueList[0], format='int') | |||
opObj10.addParameter(name='xmax', value=xvalueList[1], format='int') | |||
except: | |||
return 0 | |||
yvalue= self.specGgraphHeight.text() | |||
if self.specGgraphHeight.isModified(): | |||
yvalueList=yvalue.split(",") | |||
try: | |||
value=int(yvalueList[0]) | |||
value=int(yvalueList[1]) | |||
opObj10.addParameter(name='ymin', value=yvalueList[0], format='int') | |||
opObj10.addParameter(name='ymax', value=yvalueList[1], format='int') | |||
except: | |||
return 0 | |||
zvalue= self.specGgraphDbsrange.text() | |||
if self.specGgraphDbsrange.isModified(): | |||
zvalueList=zvalue.split(",") | |||
try: | |||
value=int(zvalueList[0]) | |||
value=int(zvalueList[1]) | |||
opObj10.addParameter(name='zmin', value=zvalueList[0], format='int') | |||
opObj10.addParameter(name='zmax', value=zvalueList[1], format='int') | |||
except: | |||
return 0 | |||
if self.specGraphSaveSpectra.isChecked(): | |||
opObj10.addParameter(name='save', value='1', format='bool') | |||
opObj10.addParameter(name='figpath', value= self.specGraphPath.text(),format='str') | |||
opObj10.addParameter(name='figfile', value= self.specGraphPrefix.text(),format='str') | |||
if self.specGraphCebCrossSpectraplot.isChecked(): | |||
|
r346 | opObj10=self.upObj.addOperation(name='CrossSpectraPlot',optype='other') | |
|
r381 | ||
|
r346 | opObj10.addParameter(name='power_cmap', value='jet', format='str') | |
opObj10.addParameter(name='coherence_cmap', value='jet', format='str') | |||
|
r381 | opObj10.addParameter(name='phase_cmap', value='RdBu_r', format='str') | |
self.idImag += 1 | |||
|
r397 | opObj10.addParameter(name='id', value=int(self.idImag), format='int') | |
|
r381 | ||
channelList=self.specGgraphChannelList.text() | |||
if self.specGgraphChannelList.isModified(): | |||
opObj10.addParameter(name='channelList', value=channelList, format='intlist') | |||
xvalue= self.specGgraphFreq.text() | |||
if self.specGgraphFreq.isModified(): | |||
xvalueList=xvalue.split(',') | |||
try: | |||
value=int(xvalueList[0]) | |||
value=int(xvalueList[1]) | |||
opObj10.addParameter(name='xmin', value=xvalueList[0], format='int') | |||
opObj10.addParameter(name='xmax', value=xvalueList[1], format='int') | |||
except: | |||
return 0 | |||
yvalue= self.specGgraphHeight.text() | |||
if self.specGgraphHeight.isModified(): | |||
yvalueList=yvalue.split(",") | |||
try: | |||
value=int(yvalueList[0]) | |||
value=int(yvalueList[1]) | |||
opObj10.addParameter(name='ymin', value=yvalueList[0], format='int') | |||
opObj10.addParameter(name='ymax', value=yvalueList[1], format='int') | |||
except: | |||
return 0 | |||
zvalue= self.specGgraphmagnitud.text() | |||
if self.specGgraphmagnitud.isModified(): | |||
zvalueList=zvalue.split(",") | |||
try: | |||
value=int(zvalueList[0]) | |||
value=int(zvalueList[1]) | |||
opObj10.addParameter(name='zmin', value=zvalueList[0], format='int') | |||
opObj10.addParameter(name='zmax', value=zvalueList[1], format='int') | |||
except: | |||
return 0 | |||
if self.specGraphSaveCross.isChecked(): | |||
opObj10.addParameter(name='save', value='1', format='bool') | |||
opObj10.addParameter(name='figpath', value= self.specGraphPath.text(),format='str') | |||
opObj10.addParameter(name='figfile', value= self.specGraphPrefix.text(),format='str') | |||
if self.specGraphCebRTIplot.isChecked(): | |||
opObj10=self.upObj.addOperation(name='RTIPlot',optype='other') | |||
self.idImag += 1 | |||
|
r397 | opObj10.addParameter(name='id', value=int(self.idImag), format='int') | |
|
r381 | ||
channelList=self.specGgraphChannelList.text() | |||
if self.specGgraphChannelList.isModified(): | |||
opObj10.addParameter(name='channelList', value=channelList, format='intlist') | |||
xvalue= self.specGgraphTimeRange.text() | |||
if self.specGgraphTimeRange.isModified(): | |||
xvalueList=xvalue.split(',') | |||
try: | |||
value=int(xvalueList[0]) | |||
value=int(xvalueList[1]) | |||
opObj10.addParameter(name='xmin', value=xvalueList[0], format='int') | |||
opObj10.addParameter(name='xmax', value=xvalueList[1], format='int') | |||
except: | |||
return 0 | |||
yvalue= self.specGgraphHeight.text() | |||
if self.specGgraphHeight.isModified(): | |||
yvalueList=yvalue.split(",") | |||
try: | |||
value=int(yvalueList[0]) | |||
value=int(yvalueList[1]) | |||
opObj10.addParameter(name='ymin', value=yvalueList[0], format='int') | |||
opObj10.addParameter(name='ymax', value=yvalueList[1], format='int') | |||
except: | |||
return 0 | |||
|
r346 | ||
|
r381 | zvalue= self.specGgraphDbsrange.text() | |
if self.specGgraphDbsrange.isModified(): | |||
zvalueList=zvalue.split(",") | |||
try: | |||
value=int(zvalueList[0]) | |||
value=int(zvalueList[1]) | |||
opObj10.addParameter(name='zmin', value=zvalueList[0], format='int') | |||
opObj10.addParameter(name='zmax', value=zvalueList[1], format='int') | |||
except: | |||
return 0 | |||
if self.specGraphSaveRTIplot.isChecked(): | |||
opObj10.addParameter(name='save', value='1', format='bool') | |||
opObj10.addParameter(name='figpath', value= self.specGraphPath.text(),format='str') | |||
opObj10.addParameter(name='figfile', value= self.specGraphPrefix.text(),format='str') | |||
|
r346 | ||
|
r381 | if self.specGraphCebCoherencmap.isChecked(): | |
|
r346 | opObj10=self.upObj.addOperation(name='CoherenceMap',optype='other') | |
|
r381 | ||
|
r346 | opObj10.addParameter(name='coherence_cmap', value='jet', format='str') | |
opObj10.addParameter(name='phase_cmap', value='RdBu_r', format='str') | |||
|
r381 | ||
self.idImag += 1 | |||
|
r397 | opObj10.addParameter(name='id', value=int(self.idImag), format='int') | |
|
r381 | ||
channelList=self.specGgraphChannelList.text() | |||
if self.specGgraphChannelList.isModified(): | |||
opObj10.addParameter(name='channelList', value=channelList, format='intlist') | |||
xvalue= self.specGgraphTimeRange.text() | |||
if self.specGgraphTimeRange.isModified(): | |||
xvalueList=xvalue.split(',') | |||
try: | |||
value=int(xvalueList[0]) | |||
value=int(xvalueList[1]) | |||
opObj10.addParameter(name='xmin', value=xvalueList[0], format='int') | |||
opObj10.addParameter(name='xmax', value=xvalueList[1], format='int') | |||
except: | |||
return 0 | |||
yvalue= self.specGgraphHeight.text() | |||
if self.specGgraphHeight.isModified(): | |||
yvalueList=yvalue.split(",") | |||
try: | |||
value=int(yvalueList[0]) | |||
value=int(yvalueList[1]) | |||
opObj10.addParameter(name='ymin', value=yvalueList[0], format='int') | |||
opObj10.addParameter(name='ymax', value=yvalueList[1], format='int') | |||
except: | |||
return 0 | |||
zvalue= self.specGgraphmagnitud.text() | |||
if self.specGgraphmagnitud.isModified(): | |||
zvalueList=zvalue.split(",") | |||
try: | |||
value=int(zvalueList[0]) | |||
value=int(zvalueList[1]) | |||
opObj10.addParameter(name='zmin', value=zvalueList[0], format='int') | |||
opObj10.addParameter(name='zmax', value=zvalueList[1], format='int') | |||
except: | |||
return 0 | |||
if self.specGraphSaveCoherencemap.isChecked(): | |||
opObj10.addParameter(name='save', value='1', format='bool') | |||
opObj10.addParameter(name='figpath', value= self.specGraphPath.text(),format='str') | |||
opObj10.addParameter(name='figfile', value= self.specGraphPrefix.text(),format='str') | |||
|
r346 | ||
|
r381 | if self.specGraphRTIfromnoise.isChecked(): | |
|
r346 | opObj10=self.upObj.addOperation(name='RTIfromNoise',optype='other') | |
|
r381 | ||
self.idImag += 1 | |||
|
r397 | opObj10.addParameter(name='id', value=int(self.idImag), format='int') | |
|
r381 | ||
channelList=self.specGgraphChannelList.text() | |||
if self.specGgraphChannelList.isModified(): | |||
opObj10.addParameter(name='channelList', value=channelList, format='intlist') | |||
xvalue= self.specGgraphTimeRange.text() | |||
if self.specGgraphTimeRange.isModified(): | |||
xvalueList=xvalue.split(',') | |||
try: | |||
value=int(xvalueList[0]) | |||
value=int(xvalueList[1]) | |||
opObj10.addParameter(name='xmin', value=xvalueList[0], format='int') | |||
opObj10.addParameter(name='xmax', value=xvalueList[1], format='int') | |||
except: | |||
return 0 | |||
yvalue= self.specGgraphHeight.text() | |||
if self.specGgraphHeight.isModified(): | |||
yvalueList=yvalue.split(",") | |||
try: | |||
value=int(yvalueList[0]) | |||
value=int(yvalueList[1]) | |||
opObj10.addParameter(name='ymin', value=yvalueList[0], format='int') | |||
opObj10.addParameter(name='ymax', value=yvalueList[1], format='int') | |||
except: | |||
return 0 | |||
if self.specGraphSaveRTIfromNoise.isChecked(): | |||
opObj10.addParameter(name='save', value='1', format='bool') | |||
opObj10.addParameter(name='figpath', value= self.specGraphPath.text(),format='str') | |||
opObj10.addParameter(name='figfile', value= self.specGraphPrefix.text(),format='str') | |||
|
r362 | ||
|
r381 | if self.specGraphPowerprofile.isChecked(): | |
|
r362 | opObj10=self.upObj.addOperation(name='ProfilePlot',optype='other') | |
|
r381 | self.idImag += 1 | |
|
r397 | opObj10.addParameter(name='id', value=int(self.idImag), format='int') | |
|
r381 | ||
channelList=self.specGgraphChannelList.text() | |||
if self.specGgraphChannelList.isModified(): | |||
opObj10.addParameter(name='channelList', value=channelList, format='intlist') | |||
xvalue= self.specGgraphDbsrange.text() | |||
if self.specGgraphDbsrange.isModified(): | |||
xvalueList=xvalue.split(',') | |||
try: | |||
value=int(xvalueList[0]) | |||
value=int(xvalueList[1]) | |||
opObj10.addParameter(name='xmin', value=xvalueList[0], format='int') | |||
opObj10.addParameter(name='xmax', value=xvalueList[1], format='int') | |||
except: | |||
return 0 | |||
yvalue= self.specGgraphHeight.text() | |||
if self.specGgraphHeight.isModified(): | |||
yvalueList=yvalue.split(",") | |||
try: | |||
value=int(yvalueList[0]) | |||
value=int(yvalueList[1]) | |||
opObj10.addParameter(name='ymin', value=yvalueList[0], format='int') | |||
opObj10.addParameter(name='ymax', value=yvalueList[1], format='int') | |||
except: | |||
return 0 | |||
if self.specGraphSavePowerprofile.isChecked(): | |||
opObj10.addParameter(name='save', value='1', format='bool') | |||
opObj10.addParameter(name='figpath', value= self.specGraphPath.text(),format='str') | |||
opObj10.addParameter(name='figfile', value= self.specGraphPrefix.text(),format='str') | |||
|
r362 | ||
#self.tabgraphSpectra.setEnabled(False) | |||
|
r381 | ||
|
r362 | self.console.clear() | |
self.console.append("If you want to save your project") | |||
self.console.append("click on your project name in the Tree Project Explorer") | |||
|
r381 | ||
|
r362 | @pyqtSignature("") | |
def on_specGraphClear_clicked(self): | |||
self.clearspecGraph() | |||
def setspecGraph(self): | |||
|
r381 | ||
self.specGgraphChannelList.setEnabled(True) | |||
|
r362 | def clearspecGraph(self): | |
|
r381 | ||
self.specGgraphChannelList.clear() | |||
|
r362 | ||
def playProject(self): | |||
|
r386 | for i in self.__treeObjDict: | |
if self.__treeObjDict[i]==self.indexclick: | |||
|
r381 | if self.__projObjDict.has_key(i)==True: | |
self.projectObj=self.__projObjDict[i] | |||
filename=self.pathWorkSpace+"/"+str(self.projectObj.name)+str(self.projectObj.id)+".xml" | |||
self.console.clear() | |||
self.console.append("Please Wait...") | |||
self.projectObj.readXml(filename) | |||
self.projectObj.createObjects() | |||
self.projectObj.connectObjects() | |||
self.projectObj.run() | |||
return 0 | |||
else: | |||
self.console.clear() | |||
self.console.append("First,click on current project") | |||
|
r362 | ||
def saveProject(self): | |||
|
r381 | print self.indexclick | |
|
r386 | for i in self.__treeObjDict: | |
if self.__treeObjDict[i]==self.indexclick: | |||
|
r381 | if self.__projObjDict.has_key(i)==True: | |
self.projectObj=self.__projObjDict[int(i)] | |||
else: | |||
self.console.clear() | |||
self.console.append("First,click on current project") | |||
filename=self.pathWorkSpace+"/"+str(self.projectObj.name)+str(self.projectObj.id)+".xml" | |||
|
r379 | self.console.clear() | |
|
r381 | self.projectObj.writeXml(filename) | |
|
r379 | self.console.append("Now, you can push the icon Start in the toolbar or push start in menu run") | |
|
r381 | ||
|
r362 | ||
def clickFunction(self,index): | |||
self.indexclick= index.model().itemFromIndex(index) | |||
def doubleclickFunction(self): | |||
|
r386 | for i in self.__treeObjDict: | |
if self.__treeObjDict[i]==self.indexclick: | |||
|
r379 | if self.__projObjDict.has_key(i)==True: | |
#self.tabProject.setEnabled(True) | |||
|
r381 | ||
|
r362 | self.proName.setText(str(self.__projObjDict[i].name)) | |
self.proDataPath.setText(str(self.readUnitConfObjList[i-1].path)) | |||
|
r379 | ||
startDate = str(self.readUnitConfObjList[i-1].startDate) | |||
endDate = str(self.readUnitConfObjList[i-1].endDate) | |||
self.proComStartDate.clear() | |||
self.proComEndDate.clear() | |||
self.proComStartDate.addItem( startDate) | |||
self.proComEndDate.addItem(endDate) | |||
startTime=str(self.readUnitConfObjList[i-1].startTime) | |||
endTime=str(self.readUnitConfObjList[i-1].endTime) | |||
starlist=startTime.split(":") | |||
endlist=endTime.split(":") | |||
self.time.setHMS(int(starlist[0]),int(starlist[1]),int(starlist[2])) | |||
self.proStartTime.setTime(self.time) | |||
self.time.setHMS(int(endlist[0]),int(endlist[1]),int(endlist[2])) | |||
self.proEndTime.setTime(self.time) | |||
|
r362 | self.model_2=treeModel() | |
self.model_2.setParams(name = str(self.__projObjDict[i].name), | |||
directorio = str(self.readUnitConfObjList[i-1].path), | |||
|
r378 | workspace = self.pathWorkSpace, | |
|
r379 | remode = "Off Line", | |
|
r362 | dataformat = self.readUnitConfObjList[i-1].datatype, | |
date = str(self.readUnitConfObjList[i-1].startDate)+"-"+str(self.readUnitConfObjList[i-1].endDate), | |||
initTime = str(self.readUnitConfObjList[i-1].startTime), | |||
endTime = str(self.readUnitConfObjList[i-1].endTime), | |||
timezone = "Local" , | |||
Summary = str(self.__projObjDict[i].description)) | |||
self.treeProjectProperties.setModel(self.model_2) | |||
self.treeProjectProperties.expandAll() | |||
self.tabWidgetProject.setCurrentWidget(self.tabProject) | |||
if self.indexclick.text()=='Voltage': | |||
self.tabVoltage.setEnabled(True) | |||
self.tabSpectra.setEnabled(False) | |||
self.tabCorrelation.setEnabled(False) | |||
self.tabWidgetProject.setCurrentWidget(self.tabVoltage) | |||
self.volOpComChannels.setEnabled(False) | |||
self.volOpComHeights.setEnabled(False) | |||
self.volOpFilter.setEnabled(False) | |||
self.volOpComProfile.setEnabled(False) | |||
self.volOpComCode.setEnabled(False) | |||
self.volOpCohInt.setEnabled(False) | |||
self.volOpChannel.clear() | |||
self.volOpHeights.clear() | |||
self.volOpProfile.clear() | |||
self.volOpFilter.clear() | |||
self.volOpChannel.setEnabled(False) | |||
self.volOpHeights.setEnabled(False) | |||
self.volOpProfile.setEnabled(False) | |||
self.volOpCebHeights.clearFocus() | |||
# self.volOpCebChannels.clear() | |||
# self.volOpCebHeights.clear() | |||
# self.volOpCebFilter.clear() | |||
# self.volOpCebProfile.clear() | |||
# self.volOpCebDecodification.clear() | |||
# self.volOpCebCohInt.clear() | |||
if self.indexclick.text()=='Spectra': | |||
self.tabSpectra.setEnabled(True) | |||
|
r381 | self.specOpnFFTpoints.setEnabled(True) | |
|
r362 | self.tabVoltage.setEnabled(False) | |
self.tabCorrelation.setEnabled(False) | |||
|
r381 | self.tabWidgetProject.setCurrentWidget(self.tabSpectra) | |
|
r383 | self.specGgraphChannelList.setEnabled(True) | |
self.specGgraphChannelList.clear() | |||
|
r381 | self.specOpnFFTpoints.clear() | |
self.specOppairsList.clear() | |||
self.specOpChannel.clear() | |||
self.specOpHeights.clear() | |||
self.specOpIncoherent.clear() | |||
self.specOpRemoveDC.clear() | |||
self.specOpRemoveInterference.clear() | |||
|
r362 | if self.indexclick.text()=='Correlation': | |
self.tabCorrelation.setEnabled(True) | |||
self.tabVoltage.setEnabled(False) | |||
self.tabSpectra.setEnabled(False) | |||
self.tabWidgetProject.setCurrentWidget(self.tabCorrelation) | |||
def popup(self, pos): | |||
|
r379 | self.menu = QtGui.QMenu() | |
quitAction0 = self.menu.addAction("AddNewProject") | |||
quitAction1 = self.menu.addAction("AddNewProcessingUnit") | |||
quitAction2 = self.menu.addAction("Delete Branch") | |||
quitAction3 = self.menu.addAction("Exit") | |||
action = self.menu.exec_(self.mapToGlobal(pos)) | |||
|
r362 | if action == quitAction0: | |
self.setProjectParam() | |||
if action == quitAction1: | |||
self.addPU() | |||
self.console.clear() | |||
self.console.append("Please, Choose the type of Processing Unit") | |||
self.console.append("If your Datatype is rawdata, you will start with processing unit Type Voltage") | |||
self.console.append("If your Datatype is pdata, you will choose between processing unit Type Spectra or Correlation") | |||
if action == quitAction2: | |||
|
r386 | for i in self.__treeObjDict: | |
if self.__treeObjDict[i]==self.indexclick: | |||
self.arbolItem=self.__treeObjDict[i] | |||
|
r379 | self.arbolItem.removeRows(self.arbolItem.row(),1) | |
if action == quitAction3: | |||
|
r362 | return | |
def setProjectParam(self): | |||
self.tabWidgetProject.setEnabled(True) | |||
self.tabWidgetProject.setCurrentWidget(self.tabProject) | |||
self.tabProject.setEnabled(True) | |||
self.proName.clear() | |||
|
r379 | self.proDataType.setText('.r') | |
|
r362 | self.proDataPath.clear() | |
self.proComDataType.clear() | |||
self.proComDataType.addItem("Voltage") | |||
self.proComDataType.addItem("Spectra") | |||
|
r379 | ||
self.proComStartDate.clear() | |||
self.proComEndDate.clear() | |||
|
r362 | startTime="00:00:00" | |
endTime="23:59:59" | |||
starlist=startTime.split(":") | |||
endlist=endTime.split(":") | |||
self.time.setHMS(int(starlist[0]),int(starlist[1]),int(starlist[2])) | |||
self.proStartTime.setTime(self.time) | |||
self.time.setHMS(int(endlist[0]),int(endlist[1]),int(endlist[2])) | |||
self.proEndTime.setTime(self.time) | |||
self.proDescription.clear() | |||
self.console.clear() | |||
self.console.append("Please, Write a name Project") | |||
self.console.append("Introduce Project Parameters") | |||
self.console.append("Select data type Voltage( .rawdata) or Spectra(.pdata)") | |||
def addPU(self): | |||
self.configUP=UnitProcess(self) | |||
|
r386 | for i in self.__treeObjDict: | |
if self.__treeObjDict[i]==self.indexclick: | |||
|
r362 | if self.__projObjDict.has_key(i)==True: | |
self.projectObj=self.__projObjDict[int(i)] | |||
self.configUP.dataTypeProject=str(self.proComDataType.currentText()) | |||
self.configUP.getfromWindowList.append(self.projectObj) | |||
else: | |||
self.upObj=self.__upObjDict[i] | |||
self.configUP.getfromWindowList.append(self.upObj) | |||
self.configUP.loadTotalList() | |||
self.configUP.show() | |||
self.configUP.closed.connect(self.createUP) | |||
def createUP(self): | |||
if not self.configUP.create: | |||
return | |||
self.uporProObjRecover=self.configUP.getFromWindow | |||
self.upType = self.configUP.typeofUP | |||
|
r386 | for i in self.__treeObjDict: | |
if self.__treeObjDict[i]==self.indexclick: | |||
|
r362 | if self.__projObjDict.has_key(i)==True: | |
self.projectObj=self.__projObjDict[int(i)] | |||
if self.__upObjDict.has_key(i)==True: | |||
self.upObj=self.__upObjDict[i] | |||
getIdProject=self.upObj.id[0] | |||
self.projectObj=self.__projObjDict[int(getIdProject)] | |||
datatype=str(self.upType) | |||
uporprojectObj=self.uporProObjRecover | |||
|
r330 | ||
|
r362 | if uporprojectObj.getElementName()=='ProcUnit': | |
inputId=uporprojectObj.getId() | |||
self.console.clear() | |||
self.console.append("Double Clik on the Processing Unit to enable the tab") | |||
self.console.append("Before Add other Processing Unit complete the tab") | |||
else: | |||
inputId=self.readUnitConfObjList[uporprojectObj.id-1].getId() | |||
self.console.clear() | |||
self.console.append("Double Clik on the Processing Unit to enable the tab") | |||
self.console.append("Before Add other Project or Processing Unit complete the tab") | |||
self.procUnitConfObj1 = self.projectObj.addProcUnit(datatype=datatype, inputId=inputId) | |||
self.__upObjDict[self.procUnitConfObj1.id]= self.procUnitConfObj1 | |||
|
r379 | ||
|
r386 | self.parentItem=self.__treeObjDict[uporprojectObj.id] | |
|
r362 | self.numbertree=int(self.procUnitConfObj1.getId())-1 | |
|
r386 | self.__treeObjDict[self.procUnitConfObj1.id]=QtGui.QStandardItem(QtCore.QString(datatype).arg(self.numbertree)) | |
self.parentItem.appendRow(self.__treeObjDict[self.procUnitConfObj1.id]) | |||
self.parentItem=self.__treeObjDict[self.procUnitConfObj1.id] | |||
|
r362 | self.treeProjectExplorer.expandAll() | |
|
r330 | ||
|
r362 | ||
def searchData(self,path,ext,walk,expLabel=''): | |||
dateList=[] | |||
fileList=[] | |||
if walk== 0: | |||
files= os.listdir(path) | |||
for thisFile in files: | |||
thisExt = os.path.splitext(thisFile)[-1] | |||
if thisExt != ext: | |||
|
r379 | self.console.clear() | |
self.console.append("There is no datatype selected in the path Directory") | |||
self.proOk.setEnabled(False) | |||
|
r362 | continue | |
|
r379 | fileList.append(thisFile) | |
|
r362 | ||
for thisFile in fileList: | |||
if not isRadarFile(thisFile): | |||
self.console.clear() | |||
self.console.append("Please, Choose the Correct Path") | |||
self.proOk.setEnabled(False) | |||
continue | |||
year = int(thisFile[1:5]) | |||
doy = int(thisFile[5:8]) | |||
date = datetime.date(year,1,1) + datetime.timedelta(doy-1) | |||
dateformat = date.strftime("%Y/%m/%d") | |||
if dateformat not in dateList: | |||
dateList.append(dateformat) | |||
if walk == 1: | |||
dirList = os.listdir(path) | |||
|
r378 | ||
|
r362 | dirList.sort() | |
dateList = [] | |||
|
r346 | ||
|
r362 | for thisDir in dirList: | |
if not isRadarPath(thisDir): | |||
self.console.clear() | |||
self.console.append("Please, Choose the Correct Path") | |||
self.proOk.setEnabled(False) | |||
continue | |||
doypath = os.path.join(path, thisDir, expLabel) | |||
|
r379 | if not os.path.exists(doypath): | |
self.console.clear() | |||
self.console.append("Please, Choose the Correct Path") | |||
return | |||
|
r362 | files = os.listdir(doypath) | |
fileList = [] | |||
for thisFile in files: | |||
|
r379 | thisExt=os.path.splitext(thisFile)[-1] | |
if thisExt != ext: | |||
self.console.clear() | |||
self.console.append("There is no datatype selected in the Path Directory") | |||
self.proOk.setEnabled(False) | |||
continue | |||
|
r362 | ||
if not isRadarFile(thisFile): | |||
self.proOk.setEnabled(False) | |||
self.console.clear() | |||
self.console.append("Please, Choose the Correct Path") | |||
continue | |||
fileList.append(thisFile) | |||
break | |||
if fileList == []: | |||
continue | |||
year = int(thisDir[1:5]) | |||
doy = int(thisDir[5:8]) | |||
date = datetime.date(year,1,1) + datetime.timedelta(doy-1) | |||
dateformat = date.strftime("%Y/%m/%d") | |||
dateList.append(dateformat) | |||
return dateList | |||
def loadDays(self): | |||
""" | |||
Method to loads day | |||
""" | |||
ext=str(self.proDataType.text()) | |||
|
r379 | ||
|
r362 | #-------------------------# | |
walk= self.walk | |||
path=str(self.proDataPath.text()) | |||
|
r378 | if not os.path.exists(path): | |
self.proOk.setEnabled(False) | |||
self.console.clear() | |||
self.console.append("Write a correct a path") | |||
return | |||
|
r362 | self.proComStartDate.clear() | |
self.proComEndDate.clear() | |||
#Load List to select start day and end day.(QComboBox) | |||
dateList=self.searchData(path,ext=ext,walk=walk) | |||
self.dateList=dateList | |||
for thisDate in dateList: | |||
self.proComStartDate.addItem(thisDate) | |||
self.proComEndDate.addItem(thisDate) | |||
self.proComEndDate.setCurrentIndex(self.proComStartDate.count()-1) | |||
|
r378 | ||
def setWorkSpaceGUI(self,pathWorkSpace): | |||
|
r381 | self.pathWorkSpace = pathWorkSpace | |
#---Comandos Usados en Console----# | |||
def __del__(self): | |||
sys.stdout=sys.__stdout__ | |||
def normalOutputWritten(self,text): | |||
self.console.append(text) | |||
#-----Fin------# | |||
|
r362 | ||
def setParameter(self): | |||
self.setWindowTitle("ROJ-Signal Chain") | |||
self.setWindowIcon(QtGui.QIcon("figure/adn.jpg")) | |||
|
r381 | sys.stdout = ShowMeConsole(textWritten=self.normalOutputWritten) | |
|
r362 | self.tabWidgetProject.setEnabled(False) | |
self.tabVoltage.setEnabled(False) | |||
self.tabSpectra.setEnabled(False) | |||
self.tabCorrelation.setEnabled(False) | |||
|
r379 | self.actionCreate.setShortcut('Ctrl+P') | |
self.actionStart.setShortcut('Ctrl+R') | |||
self.actionSave.setShortcut('Ctrl+S') | |||
self.actionClose.setShortcut('Ctrl+Q') | |||
|
r362 | self.proName.clear() | |
|
r379 | self.proDataPath.setText('') | |
|
r362 | self.console.append("Welcome to Signal Chain please Create a New Project") | |
self.proStartTime.setDisplayFormat("hh:mm:ss") | |||
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" | |||
starlist=startTime.split(":") | |||
endlist=endTime.split(":") | |||
self.time.setHMS(int(starlist[0]),int(starlist[1]),int(starlist[2])) | |||
self.proStartTime.setTime(self.time) | |||
self.time.setHMS(int(endlist[0]),int(endlist[1]),int(endlist[2])) | |||
self.proEndTime.setTime(self.time) | |||
self.proOk.setEnabled(False) | |||
#set model Project Explorer | |||
self.model = QtGui.QStandardItemModel() | |||
self.model.setHorizontalHeaderLabels(("Project Explorer",)) | |||
layout = QtGui.QVBoxLayout() | |||
layout.addWidget(self.treeProjectExplorer) | |||
self.treeProjectExplorer.setModel(self.model) | |||
self.treeProjectExplorer.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) | |||
self.treeProjectExplorer.customContextMenuRequested.connect(self.popup) | |||
self.treeProjectExplorer.clicked.connect(self.clickFunction) | |||
self.treeProjectExplorer.doubleClicked.connect(self.doubleclickFunction) | |||
self.treeProjectExplorer.expandAll() | |||
#set model Project Properties | |||
self.model_2=treeModel() | |||
self.model_2.showtree() | |||
self.treeProjectProperties.setModel(self.model_2) | |||
self.treeProjectProperties.expandAll() | |||
#set Project | |||
self.proDelay.setEnabled(False) | |||
|
r378 | self.proDataType.setReadOnly(True) | |
|
r362 | ||
#set Operation Voltage | |||
self.volOpComChannels.setEnabled(False) | |||
self.volOpComHeights.setEnabled(False) | |||
self.volOpFilter.setEnabled(False) | |||
self.volOpComProfile.setEnabled(False) | |||
self.volOpComCode.setEnabled(False) | |||
self.volOpCohInt.setEnabled(False) | |||
self.volOpChannel.setEnabled(False) | |||
self.volOpHeights.setEnabled(False) | |||
self.volOpProfile.setEnabled(False) | |||
self.volOpComMode.setEnabled(False) | |||
self.volGraphPath.setEnabled(False) | |||
self.volGraphPrefix.setEnabled(False) | |||
self.volGraphToolPath.setEnabled(False) | |||
#set Graph Voltage | |||
self.volGraphChannelList.setEnabled(False) | |||
|
r381 | self.volGraphfreqrange.setEnabled(False) | |
self.volGraphHeightrange.setEnabled(False) | |||
|
r362 | #set Operation Spectra | |
self.specOpnFFTpoints.setEnabled(False) | |||
self.specOppairsList.setEnabled(False) | |||
self.specOpComChannel.setEnabled(False) | |||
self.specOpComHeights.setEnabled(False) | |||
self.specOpIncoherent.setEnabled(False) | |||
self.specOpRemoveDC .setEnabled(False) | |||
self.specOpRemoveInterference.setEnabled(False) | |||
self.specOpChannel.setEnabled(False) | |||
self.specOpHeights.setEnabled(False) | |||
#set Graph Spectra | |||
|
r381 | self.specGgraphChannelList.setEnabled(False) | |
self.specGgraphFreq.setEnabled(False) | |||
self.specGgraphHeight.setEnabled(False) | |||
self.specGgraphDbsrange.setEnabled(False) | |||
self.specGgraphmagnitud.setEnabled(False) | |||
self.specGgraphTimeRange.setEnabled(False) | |||
self.specGgraphPhaserange.setEnabled(False) | |||
|
r362 | self.specGraphPath.setEnabled(False) | |
self.specGraphToolPath.setEnabled(False) | |||
self.specGraphPrefix.setEnabled(False) | |||
#tool tip gui | |||
QtGui.QToolTip.setFont(QtGui.QFont('SansSerif', 10)) | |||
self.treeProjectExplorer.setToolTip('Right clik to add Project or Unit Process') | |||
#tool tip gui project | |||
|
r379 | self.proComWalk.setToolTip('<b>Search0</b>:<i>Search file in format .r or pdata</i> <b>Search1</b>:<i>Search file in a directory DYYYYDOY</i>') | |
|
r362 | self.proComWalk.setCurrentIndex(1) | |
#tool tip gui volOp | |||
self.volOpChannel.setToolTip('Example: 1,2,3,4,5') | |||
self.volOpHeights.setToolTip('Example: 90,180') | |||
self.volOpFilter.setToolTip('Example: 3') | |||
self.volOpProfile.setToolTip('Example:0,125 ') | |||
self.volOpCohInt.setToolTip('Example: 100') | |||
self.volOpOk.setToolTip('If you have finish, please Ok ') | |||
#tool tip gui volGraph | |||
|
r381 | self.volGraphfreqrange.setToolTip('Example: 10,150') | |
self.volGraphHeightrange.setToolTip('Example: 20,180') | |||
|
r362 | self.volGraphOk.setToolTip('If you have finish, please Ok ') | |
|
r381 | #tool tip gui specOp | |
|
r362 | self.specOpnFFTpoints.setToolTip('Example: 100') | |
self.specOpIncoherent.setToolTip('Example: 150') | |||
self.specOpRemoveDC .setToolTip('Example: 1') | |||
|
r346 | ||
|
r362 | self.specOpChannel.setToolTip('Example: 1,2,3,4,5') | |
self.specOpHeights.setToolTip('Example: 90,180') | |||
self.specOppairsList.setToolTip('Example: (0,1),(2,3)') | |||
#tool tip gui specGraph | |||
|
r346 | ||
|
r381 | self.specGgraphChannelList.setToolTip('Example: Myplot') | |
self.specGgraphFreq.setToolTip('Example: 10,150') | |||
self.specGgraphHeight.setToolTip('Example: 20,160') | |||
self.specGgraphDbsrange.setToolTip('Example: 30,170') | |||
self.specGraphPrefix.setToolTip('Example: figure') | |||
|
r346 | ||
|
r286 | class UnitProcess(QMainWindow, Ui_UnitProcess): | |
""" | |||
Class documentation goes here. | |||
""" | |||
closed=pyqtSignal() | |||
create= False | |||
def __init__(self, parent = None): | |||
""" | |||
Constructor | |||
""" | |||
QMainWindow.__init__(self, parent) | |||
self.setupUi(self) | |||
self.getFromWindow=None | |||
self.getfromWindowList=[] | |||
|
r322 | self.dataTypeProject=None | |
|
r286 | ||
self.listUP=None | |||
@pyqtSignature("") | |||
def on_unitPokbut_clicked(self): | |||
""" | |||
Slot documentation goes here. | |||
""" | |||
self.create =True | |||
self.getFromWindow=self.getfromWindowList[int(self.comboInputBox.currentIndex())] | |||
#self.nameofUP= str(self.nameUptxt.text()) | |||
self.typeofUP= str(self.comboTypeBox.currentText()) | |||
self.close() | |||
@pyqtSignature("") | |||
def on_unitPcancelbut_clicked(self): | |||
""" | |||
Slot documentation goes here. | |||
""" | |||
self.create=False | |||
self.close() | |||
def loadTotalList(self): | |||
self.comboInputBox.clear() | |||
for i in self.getfromWindowList: | |||
name=i.getElementName() | |||
if name=='Project': | |||
id= i.id | |||
name=i.name | |||
|
r330 | if self.dataTypeProject=='Voltage': | |
self.comboTypeBox.clear() | |||
self.comboTypeBox.addItem("Voltage") | |||
|
r362 | ||
|
r322 | if self.dataTypeProject=='Spectra': | |
self.comboTypeBox.clear() | |||
self.comboTypeBox.addItem("Spectra") | |||
self.comboTypeBox.addItem("Correlation") | |||
|
r286 | if name=='ProcUnit': | |
id=int(i.id)-1 | |||
name=i.datatype | |||
|
r322 | if name == 'Voltage': | |
self.comboTypeBox.clear() | |||
self.comboTypeBox.addItem("Spectra") | |||
self.comboTypeBox.addItem("Correlation") | |||
if name == 'Spectra': | |||
self.comboTypeBox.clear() | |||
self.comboTypeBox.addItem("Spectra") | |||
self.comboTypeBox.addItem("Correlation") | |||
|
r286 | ||
|
r330 | self.comboInputBox.addItem(str(name)) | |
#self.comboInputBox.addItem(str(name)+str(id)) | |||
|
r286 | ||
def closeEvent(self, event): | |||
self.closed.emit() | |||
|
r381 | event.accept() | |
class ShowMeConsole(QtCore.QObject): | |||
textWritten=QtCore.pyqtSignal(str) | |||
def write (self,text): | |||
self.textWritten.emit(str(text)) |