##// END OF EJS Templates
update ui_workspace
update ui_workspace

File last commit:

r260:0445cfc125a4
r262:4645eec0199f
Show More
mainwindow.py
931 lines | 33.1 KiB | text/x-python | PythonLexer
Alexander Valdez
VERSION1-GUI...
r208 # -*- coding: utf-8 -*-
"""
Module implementing MainWindow.
Alexander Valdez
NOTAS:...
r235 #+++++++++++++++++++++INTERFAZ DE USUARIO V1.1++++++++++++++++++++++++#
Alexander Valdez
VERSION1-GUI...
r208 """
from PyQt4.QtGui import QMainWindow
from PyQt4.QtCore import pyqtSignature
from PyQt4.QtCore import pyqtSignal
from PyQt4 import QtCore
from PyQt4 import QtGui
from timeconversions import Doy2Date
Alexander Valdez
NOTAS:...
r235 from modelProperties import treeModel
from viewer.ui_unitprocess import Ui_UnitProcess
Alexander Valdez
VERSION1-GUI...
r208 from viewer.ui_window import Ui_window
from viewer.ui_mainwindow import Ui_MainWindow
Alexander Valdez
r260
Alexander Valdez
VERSION1-GUI...
r208
Alexander Valdez
NOTAS:...
r235 from controller import Project,ReadUnitConf,ProcUnitConf,OperationConf,ParameterConf
Alexander Valdez
VERSION1-GUI...
r208 import os
class MainWindow(QMainWindow, Ui_MainWindow):
Alexander Valdez
carpeta figure:...
r253 __projObjDict = {}
__arbolDict = {}
Alexander Valdez
VERSION1-GUI...
r208 """
Class documentation goes here.
#*##################VENTANA CUERPO DEL PROGRAMA####################
"""
def __init__(self, parent = None):
"""
Constructor
Alexander Valdez
NOTAS:...
r235 """
print "Inicio de Programa Interfaz Gráfica"
Alexander Valdez
VERSION1-GUI...
r208 QMainWindow.__init__(self, parent)
self.setupUi(self)
Alexander Valdez
mainwindow:...
r247
Alexander Valdez
NOTAS:...
r235 self.online=0
self.datatype=0
self.variableList=[]
Alexander Valdez
VERSION1-GUI...
r208
Alexander Valdez
NOTAS:...
r235 self.proObjList=[]
Alexander Valdez
VERSION1-GUI...
r208 self.idp=0
Alexander Valdez
NOTAS:...
r235 self.namep=0
self.description=0
self.namepTree=0
self.valuep=0
self.upObjList= []
self.upn=0
self.upName=0
self.upType=0
self.uporProObjRecover=0
Alexander Valdez
VERSION1-GUI...
r208
Alexander Valdez
NOTAS:...
r235 self.readUnitConfObjList=[]
Alexander Valdez
VERSION1-GUI...
r208
Alexander Valdez
mainwindow:...
r247 self.upObjVolList=[]
Alexander Valdez
carpeta figure:...
r253 self.upobjSpecList=[]
Alexander Valdez
VERSION1-GUI...
r208
Alexander Valdez
NOTAS:...
r235 self.operObjList=[]
Alexander Valdez
VERSION1-GUI...
r208
Alexander Valdez
NOTAS:...
r235 self.configProject=None
self.configUP=None
Alexander Valdez
VERSION1-GUI...
r208
Alexander Valdez
r260
Alexander Valdez
NOTAS:...
r235 self.controllerObj=None
self.readUnitConfObj=None
self.procUnitConfObj0=None
self.opObj10=None
self.opObj12=None
self.setParam()
Alexander Valdez
VERSION1-GUI...
r208
Alexander Valdez
mainwindow...
r255 #-----------------------------------NEW PROPERTIES------------------------------------------------#
Alexander Valdez
mainwindow:...
r247 QtGui.QToolTip.setFont(QtGui.QFont('SansSerif', 10))
Alexander Valdez
carpeta figure:...
r253 self.addprojectBtn.setToolTip('Add_New_Project')
Alexander Valdez
mainwindow:...
r247 self.addUnitProces.setToolTip('Add_New_Processing_Unit')
Alexander Valdez
mainwindow...
r255 #-----------------------------------NEW PROPERTIES------------------------------------------------#
Alexander Valdez
mainwindow:...
r247 self.model = QtGui.QStandardItemModel()
self.treeView.setModel(self.model)
self.treeView.clicked.connect(self.clickFunctiontree)
self.treeView.expandAll()
#self.treeView.clicked.connect(self.treefunction1)
Alexander Valdez
carpeta figure:...
r253
#-----------------------------------BARRA DE MENU-------------------------------------------------#
Alexander Valdez
mainwindow...
r255 #----------------------------------- MENU_PROJECT--------------------------------------------------#
Alexander Valdez
carpeta figure:...
r253
@pyqtSignature("")
def on_menuFileAbrirObj_triggered(self):
"""
METODO CARGA UN ARCHIVO DE CONFIGURACION ANTERIOR
"""
print "Leer un archivo xml y extraer sus atributos Not implemented yet"
@pyqtSignature("")
def on_menuFileCrearObj_triggered(self):
"""
CREAR PROJECT,ANADE UN NUEVO PROYECTO, LLAMA AL MÉTODO QUE CONTIENE LAS OPERACION DE CREACION DE PROYECTOS
Llama al metodo addProject..
"""
self.addProject()
@pyqtSignature("")
def on_menuFileGuardarObj_clicked(self):
"""
METODO EJECUTADO CUANDO OCURRE EL EVENTO GUARDAR PROJECTO
Llama al metodo saveProject.
"""
self.saveProject()
@pyqtSignature("")
def on_menuFileCerrarObj_clicked(self):
"""
METODO EJECUTADO CUANDO OCURRE EL EVENTO CERRAR
Llama al metodo close.
"""
self.close()
#-----------------------------------MENU_RUN----------------------------------------------------#
@pyqtSignature("")
def on_menuRUNStartObj_clicked(self):
"""
METODO EJECUTADO CUANDO OCURRE EL EVENTO RUN
Llama al metodo RUN.
"""
print "Not implemented yet"
@pyqtSignature("")
def on_menuRUNPausaObj_clicked(self):
"""
METODO EJECUTADO CUANDO OCURRE EL EVENTO PAUSA
Llama al metodo PAUSA.
"""
print "Not implemented yet"
#-----------------------------------MENU_OPTION-------------------------------------------------#
@pyqtSignature("")
def on_menuOptConfigLogfileObj_clicked(self):
"""
METODO EJECUTADO CUANDO OCURRE EL EVENTO ConfigLog
Llama al metodo close.
"""
print "Not implemented yet"
@pyqtSignature("")
def on_menuOptConfigserverObj_clicked(self):
"""
METODO EJECUTADO CUANDO OCURRE EL EVENTO Config Server
Llama al metodo close.
"""
print "Not implemented yet"
Alexander Valdez
mainwindow...
r255 #-----------------------------------MENU_HELP-------------------------------------------------------#
Alexander Valdez
carpeta figure:...
r253 @pyqtSignature("")
def on_menuHELPAboutObj_clicked(self):
"""
METODO EJECUTADO CUANDO OCURRE EL EVENTO HELP
Llama al metodo close.
"""
print "Not implemented yet"
@pyqtSignature("")
def on_menuHELPPrfObj_clicked(self):
"""
METODO EJECUTADO CUANDO OCURRE EL EVENTO HElp
Llama al metodo close.
"""
print "Not implemented yet"
#-----------------------------------BARRA DE HERRAMIENTAS----------------------------------------#
@pyqtSignature("")
def on_actOpenObj_triggered(self):
"""
METODO CARGA UN ARCHIVO DE CONFIGURACION ANTERIOR
"""
print "Leer un archivo xml y extraer sus atributos Not implemented yet"
@pyqtSignature("")
def on_actCreateObj_triggered(self):
"""
CREAR PROJECT ,ANADE UN NUEVO PROYECTO, LLAMA AL MÉTODO QUE CONTIENE LAS OPERACION DE CREACION DE PROYECTOS
Llama al metodo addProject.
"""
self.addProject()
@pyqtSignature("")
def on_actStopObj_triggered(self):
"""
METODO EJECUTADO CUANDO OCURRE EL EVENTO PAUSA
Llama al metodo PAUSA.
"""
print "Not implemented yet"
@pyqtSignature("")
def on_actPlayObj_triggered(self):
"""
METODO EJECUTADO CUANDO OCURRE EL EVENTO PAUSA
Llama al metodo PAUSA.
"""
print "Not implemented yet"
Alexander Valdez
mainwindow...
r255 @pyqtSignature("")
def on_actSaveObj_triggered(self):
"""
METODO EJECUTADO CUANDO OCURRE EL EVENTO SAVE
Llama al metodo SAVE.
"""
self.saveProject()
#-----------------------------------PUSHBUTTON_CREATE PROJECT----------------------------------#
Alexander Valdez
carpeta figure:...
r253
@pyqtSignature("")
def on_addprojectBtn_clicked(self):
"""
CREAR PROJECT ,ANADE UN NUEVO PROYECTO, LLAMA AL MÉTODO QUE CONTIENE LAS OPERACION DE CREACION DE PROYECTOS
Llama al metodo addProject.
"""
self.addProject()
Alexander Valdez
mainwindow...
r255
#------------------------------------VENTANA CONFIGURACION PROJECT----------------------------#
@pyqtSignature("int")
def on_dataTypeCmbBox_activated(self,index):
"""
Metodo que identifica que tipo de dato se va a trabajar VOLTAGE O ESPECTRA
"""
self.dataFormatTxt.setReadOnly(True)
if index==0:
self.datatype='Voltage'
elif index==1:
self.datatype='Spectra'
else :
self.datatype=''
self.dataFormatTxt.setReadOnly(False)
self.dataFormatTxt.setText(self.datatype)
Alexander Valdez
carpeta figure:...
r253
@pyqtSignature("")
Alexander Valdez
mainwindow...
r255 def on_dataPathBrowse_clicked(self):
Alexander Valdez
carpeta figure:...
r253 """
Alexander Valdez
mainwindow...
r255 OBTENCION DE LA RUTA DE DATOS
Alexander Valdez
carpeta figure:...
r253 """
Alexander Valdez
mainwindow...
r255 self.dataPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
self.dataPathTxt.setText(self.dataPath)
self.statusDpath=self.existDir(self.dataPath)
self.loadDays()
Alexander Valdez
carpeta figure:...
r253
Alexander Valdez
mainwindow...
r255 @pyqtSignature("int")
def on_starDateCmbBox_activated(self, index):
"""
SELECCION DEL RANGO DE FECHAS -START DATE
"""
var_StopDay_index=self.endDateCmbBox.count() - self.endDateCmbBox.currentIndex()
self.endDateCmbBox.clear()
for i in self.variableList[index:]:
self.endDateCmbBox.addItem(i)
self.endDateCmbBox.setCurrentIndex(self.endDateCmbBox.count() - var_StopDay_index)
self.getsubList()
@pyqtSignature("int")
def on_endDateCmbBox_activated(self, index):
"""
SELECCION DEL RANGO DE FECHAS-END DATE
"""
var_StartDay_index=self.starDateCmbBox.currentIndex()
var_end_index = self.endDateCmbBox.count() - index
self.starDateCmbBox.clear()
for i in self.variableList[:len(self.variableList) - var_end_index + 1]:
self.starDateCmbBox.addItem(i)
self.starDateCmbBox.setCurrentIndex(var_StartDay_index)
self.getsubList() #Se carga var_sublist[] con el rango de las fechas seleccionadas
@pyqtSignature("int")
def on_readModeCmBox_activated(self, p0):
"""
SELECCION DEL MODO DE LECTURA ON=1, OFF=0
"""
if p0==0:
self.online=0
elif p0==1:
self.online=1
Alexander Valdez
carpeta figure:...
r253
Alexander Valdez
mainwindow...
r255 #---------------PUSHBUTTON_dataOkBtn_CONFIGURATION PROJECT--------------------------#
Alexander Valdez
carpeta figure:...
r253
@pyqtSignature("")
def on_dataOkBtn_clicked(self):
"""
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
"""
print "En este nivel se pasa el tipo de dato con el que se trabaja,path,startDate,endDate,startTime,endTime,online"
projectObj=self.proObjList[int(self.proConfCmbBox.currentIndex())]
datatype=str(self.dataTypeCmbBox.currentText())
path=str(self.dataPathTxt.text())
online=int(self.online)
starDate=str(self.starDateCmbBox.currentText())
endDate=str(self.endDateCmbBox.currentText())
self.readUnitConfObj = projectObj.addReadUnit(datatype=datatype,
path=path,
startDate=starDate,
endDate=endDate,
startTime='06:10:00',
endTime='23:59:59',
online=online)
self.readUnitConfObjList.append(self.readUnitConfObj)
print "self.readUnitConfObj.getId",self.readUnitConfObj.getId(),datatype,path,starDate,endDate,online
self.model_2=treeModel()
self.model_2.setParams(name=projectObj.name+str(projectObj.id),
directorio=path,
workspace="C:\\WorkspaceGUI",
remode=str(self.readModeCmBox.currentText()),
dataformat=datatype,
date=str(starDate)+"-"+str(endDate),
initTime='06:10:00',
endTime='23:59:59',
timezone="Local" ,
Summary="test de prueba")
self.model_2.arbol()
self.treeView_2.setModel(self.model_2)
Alexander Valdez
mainwindow...
r255 self.treeView_2.expandAll()
#-----------------PUSHBUTTON_ADD_PROCESSING UNIT PROJECT------------------#
@pyqtSignature("")
def on_addUnitProces_clicked(self):
"""
CREAR PROCESSING UNI ,ANADE UNA UNIDAD DE PROCESAMIENTO, LLAMA AL MÉTODO addUP QUE CONTIENE LAS OPERACION DE CREACION DE UNIDADES DE PROCESAMIENTO
Llama al metodo addUP.
"""
# print "En este nivel se adiciona una rama de procesamiento, y se le concatena con el id"
# self.procUnitConfObj0 = self.controllerObj.addProcUnit(datatype='Voltage', inputId=self.readUnitConfObj.getId())
self.addUP()
#-----------------VENTANA CONFIGURACION DE VOLTAGE---------------------------#
@pyqtSignature("int")
def on_selecChannelopVolCEB_stateChanged(self, p0):
"""
Check Box habilita operaciones de Selección de Canales
"""
if p0==2:
self.numberChannelopVol.setEnabled(True)
upProcessSelect=self.upObjVolList[int(self.addOpUpselec.currentIndex())]
opObj10=upProcessSelect.addOperation(name='selectChannels')
print opObj10.id
self.operObjList.append(opObj10)
print " Ingresa seleccion de Canales"
if p0==0:
print " deshabilitado"
@pyqtSignature("int")
def on_selecHeighopVolCEB_stateChanged(self, p0):
"""
Check Box habilita operaciones de Selección de Alturas
"""
if p0==2:
self.lineHeighProfileTxtopVol.setEnabled(True)
upProcessSelect=self.upObjVolList[int(self.addOpUpselec.currentIndex())]
opObj10=upProcessSelect.addOperation(name='selectHeights')
print opObj10.id
self.operObjList.append(opObj10)
print " Select Type of Profile"
if p0==0:
print " deshabilitado"
@pyqtSignature("int")
def on_profileSelecopVolCEB_stateChanged(self, p0):
"""
Check Box habilita ingreso del rango de Perfiles
"""
if p0==2:
self.lineProfileSelecopVolCEB.setEnabled(True)
upProcessSelect=self.upObjVolList[int(self.addOpUpselec.currentIndex())]
opObj10=upProcessSelect.addOperation(name='ProfileSelector', optype='other')
print opObj10.id
self.operObjList.append(opObj10)
print " Select Type of Profile"
if p0==0:
print " deshabilitado"
@pyqtSignature("int")
def on_coherentIntegrationCEB_stateChanged(self, p0):
"""
Check Box habilita ingresode del numero de Integraciones a realizar
"""
if p0==2:
self.numberIntegration.setEnabled(True)
upProcessSelect=self.upObjVolList[int(self.addOpUpselec.currentIndex())]
opObj10=upProcessSelect.addOperation(name='CohInt', optype='other')
print opObj10.id
self.operObjList.append(opObj10)
print "Choose number of Cohint"
if p0==0:
print " deshabilitado"
self.numberChannelopVol.setEnabled(False)
#-----------------------PUSHBUTTON_ACCEPT_OPERATION----------------------------#
@pyqtSignature("")
def on_dataopVolOkBtn_clicked(self):
"""
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
"""
if self.selecChannelopVolCEB.isChecked():
for i in self.operObjList:
if i.name=='selectChannels':
value=self.numberChannelopVol.text()
i.addParameter(name='channelList', value=value, format='intlist')
print "channel"
if self.selecHeighopVolCEB.isChecked():
for i in self.operObjList:
if i.name=='selectHeights' :
value=self.lineHeighProfileTxtopVol.text()
valueList=value.split(',')
i.addParameter(name='minHei', value=valueList[0], format='float')
i.addParameter(name='maxHei', value=valueList[1], format='float')
print "height"
Alexander Valdez
carpeta figure:...
r253
Alexander Valdez
NOTAS:...
r235
Alexander Valdez
mainwindow...
r255 if self.selecHeighopVolCEB.isChecked():
for i in self.operObjList:
if i.name=='ProfileSelector' :
value=self.lineProfileSelecopVolCEB.text()
i.addParameter(name='ProfileSelector', value=value, format='intlist')
if self.coherentIntegrationCEB.isChecked():
for i in self.operObjList:
if i.name=='CohInt':
value=self.numberIntegration.text()
i.addParameter(name='n', value=value, format='int')
#-------------------------VENTANA DE CONFIGURACION SPECTRA------------------------#
@pyqtSignature("int")
def on_nFFTPointOpSpecCEB_stateChanged(self, p0):
"""
Habilita la opcion de añadir el parámetro nFFTPoints a la Unidad de Procesamiento .
"""
if p0==2:
self.valuenFFTPointOpSpec.setEnabled(True)
print " nFFTPoint"
if p0==0:
print " deshabilitado"
#------------------PUSH_BUTTON_SPECTRA_OK------------------------------------#
@pyqtSignature("")
def on_dataopSpecOkBtn_clicked(self):
"""
Añade al archivo de configuración el parámetros nFFTPoints a la UP.
"""
print "Añadimos operaciones Spectra,nchannels,value,format"
if self.nFFTPointOpSpecCEB.isChecked():
upProcessSelect=self.upobjSpecList[int(self.addOpSpecUpselec.currentIndex())]
value=self.valuenFFTPointOpSpec.text()
upProcessSelect.addParameter(name='nFFTPoints',value=value,format='int')
#---------------------VENTANA DE CONFIGURACION GRAPH SPECTRA------------------#
@pyqtSignature("int")
def on_SpectraPlotGraphCEB_stateChanged(self, p0):
"""
Habilita la opcion de Ploteo Spectra Plot
"""
if p0==2:
upProcessSelect=self.upobjSpecList[int(self.addOpSpecUpselec.currentIndex())]
opObj10=upProcessSelect.addOperation(name='SpectraPlot',optype='other')
print opObj10.id
self.operObjList.append(opObj10)
if p0==0:
print " deshabilitado"
@pyqtSignature("int")
def on_CrossSpectraPlotGraphceb_stateChanged(self, p0):
"""
Habilita la opción de Ploteo CrossSpectra
"""
if p0==2:
upProcessSelect=self.upobjSpecList[int(self.addOpSpecUpselec.currentIndex())]
opObj10=upProcessSelect.addOperation(name='CrossSpectraPlot',optype='other')
print opObj10.id
self.operObjList.append(opObj10)
if p0==0:
print " deshabilitado"
@pyqtSignature("int")
def on_RTIPlotGraphCEB_stateChanged(self, p0):
"""
Habilita la opción de Plote RTIPlot
"""
if p0==2:
upProcessSelect=self.upobjSpecList[int(self.addOpSpecUpselec.currentIndex())]
opObj10=upProcessSelect.addOperation(name='RTIPlot',optype='other')
print opObj10.id
self.operObjList.append(opObj10)
if p0==0:
print " deshabilitado"
#------------------PUSH_BUTTON_SPECTRA_GRAPH_OK-----------------------------#
@pyqtSignature("")
def on_dataGraphSpecOkBtn_clicked(self):
"""
HABILITAR DE ACUERDO A LOS CHECKBOX QUE TIPO DE PLOTEOS SE VAN A REALIZAR MUESTRA Y GRABA LAS IMAGENES.
"""
print "Graficar Spec op"
if self.SpectraPlotGraphCEB.isChecked():
for i in self.operObjList:
if i.name=='SpectraPlot':
i.addParameter(name='idfigure', value='1', format='int')
i.addParameter(name='wintitle', value='SpectraPlot0', format='str')
i.addParameter(name='zmin', value='40', format='int')
i.addParameter(name='zmax', value='90', format='int')
i.addParameter(name='showprofile', value='1', format='int')
if self.CrossSpectraPlotGraphceb.isChecked():
for i in self.operObjList:
if i.name=='CrossSpectraPlot' :
i.addParameter(name='idfigure', value='2', format='int')
i.addParameter(name='wintitle', value='CrossSpectraPlot', format='str')
i.addParameter(name='zmin', value='40', format='int')
i.addParameter(name='zmax', value='90', format='int')
if self.RTIPlotGraphCEB.isChecked():
for i in self.operObjList:
if i.name=='RTIPlot':
i.addParameter(name='n', value='2', format='int')
i.addParameter(name='overlapping', value='1', format='int')
Alexander Valdez
NOTAS:...
r235 def getNumberofProject(self):
# for i in self.proObjList:
# print i
return self.proObjList
# for i in self.proObjList:
# print i
def setParam(self):
Alexander Valdez
carpeta figure:...
r253
self.tabWidgetProject.setEnabled(False)
Alexander Valdez
mainwindow:...
r247 self.dataPathTxt.setText('C:\data')
Alexander Valdez
carpeta figure:...
r253 self.nameProjectTxt.setText("Test")
Alexander Valdez
mainwindow:...
r247 self.numberChannelopVol.setEnabled(False)
Alexander Valdez
UltimaEdicionde GUI
r249 self.lineHeighProfileTxtopVol.setEnabled(False)
Alexander Valdez
mainwindow:...
r247 self.numberIntegration.setEnabled(False)
self.valuenFFTPointOpSpec.setEnabled(False)
Alexander Valdez
Last update...
r251 self.lineProfileSelecopVolCEB.setEnabled(False)
Alexander Valdez
NOTAS:...
r235
def clickFunctiontree(self,index):
indexclick= index.model().itemFromIndex(index).text()
#print indexclick
NumofPro=indexclick[8:10]
self.valuep=NumofPro
#print self.valuep
NameofPro=indexclick[0:7]
self.namepTree=NameofPro
#print self.namepTree
Alexander Valdez
VERSION1-GUI...
r208
Alexander Valdez
carpeta figure:...
r253 def addProject(self):
self.tabWidgetProject.setEnabled(True)
Alexander Valdez
r260 print "En este nivel se debe crear el proyecto,id,nombre,desc"
#+++++Creacion del Objeto Controller-XML++++++++++#
Alexander Valdez
carpeta figure:...
r253 self.idp += 1
self.projectObj = Project()
Alexander Valdez
r260 self.description="Think"
Alexander Valdez
carpeta figure:...
r253 id=int(self.idp)
name=str(self.nameProjectTxt.text())
desc=str(self.description)
Alexander Valdez
NOTAS:...
r235
Alexander Valdez
carpeta figure:...
r253 self.projectObj.setup(id = id, name=name, description=desc)
Alexander Valdez
r260 self.__projObjDict[id] = self.projectObj
self.parentItem = self.model.invisibleRootItem()
self.__arbolDict[id] = QtGui.QStandardItem(QtCore.QString(name+" %0").arg(self.idp))
self.parentItem.appendRow(self.__arbolDict[self.projectObj.id])
self.parentItem=self.__arbolDict[id]
Alexander Valdez
carpeta figure:...
r253
#self.configProject=Window(self)
Alexander Valdez
NOTAS:...
r235 #self.configProject.closed.connect(self.show)
Alexander Valdez
carpeta figure:...
r253 #self.configProject.show()
Alexander Valdez
NOTAS:...
r235 #self.configProject.closed.connect(self.show)
Alexander Valdez
carpeta figure:...
r253 # self.configProject.saveButton.clicked.connect(self.reciveParameters)
#self.configProject.closed.connect(self.createProject)
Alexander Valdez
NOTAS:...
r235
Alexander Valdez
r260
#+++++++++++++++++++LISTA DE PROYECTO++++++++++++++++++++++++++++#
# self.parentItem=self.projectObj.arbol
# self.loadProjects()
print "Porfavor ingrese los parámetros de configuracion del Proyecto"
Alexander Valdez
NOTAS:...
r235 def reciveParameters(self):
self.namep,self.description =self.configProject.almacena()
def createProject(self):
print "En este nivel se debe crear el proyecto,id,nombre,desc"
#+++++Creacion del Objeto Controller-XML++++++++++#
self.idp += 1
self.controllerObj = Project()
id=int(self.idp)
name=str(self.namep)
desc=str(self.description)
self.parentItem=self.model.invisibleRootItem()
self.controllerObj.arbol=QtGui.QStandardItem(QtCore.QString("Project %0").arg(self.idp))
self.controllerObj.setup(id = id, name=name, description=desc)
self.parentItem.appendRow(self.controllerObj.arbol)
self.proObjList.append(self.controllerObj)#+++++++++++++++++++LISTA DE PROYECTO++++++++++++++++++++++++++++#
self.parentItem=self.controllerObj.arbol
self.loadProjects()
print "Porfavor ingrese los parámetros de configuracion del Proyecto"
def loadProjects(self):
Alexander Valdez
mainwindow...
r255
Alexander Valdez
NOTAS:...
r235 self.proConfCmbBox.clear()
for i in self.proObjList:
self.proConfCmbBox.addItem("Project"+str(i.id))
Alexander Valdez
mainwindow...
r255
Alexander Valdez
NOTAS:...
r235
def existDir(self, var_dir):
Alexander Valdez
VERSION1-GUI...
r208 """
Alexander Valdez
NOTAS:...
r235 METODO PARA VERIFICAR SI LA RUTA EXISTE-VAR_DIR
VARIABLE DIRECCION
Alexander Valdez
VERSION1-GUI...
r208 """
Alexander Valdez
NOTAS:...
r235 if os.path.isdir(var_dir):
return True
else:
self.textEdit.append("Incorrect path:" + str(var_dir))
return False
Alexander Valdez
VERSION1-GUI...
r208
Alexander Valdez
NOTAS:...
r235 def loadDays(self):
Alexander Valdez
VERSION1-GUI...
r208 """
Alexander Valdez
NOTAS:...
r235 METODO PARA CARGAR LOS DIAS
Alexander Valdez
VERSION1-GUI...
r208 """
Alexander Valdez
NOTAS:...
r235 self.variableList=[]
self.starDateCmbBox.clear()
self.endDateCmbBox.clear()
Alexander Valdez
VERSION1-GUI...
r208
Alexander Valdez
NOTAS:...
r235 Dirlist = os.listdir(self.dataPath)
Dirlist.sort()
Alexander Valdez
VERSION1-GUI...
r208
Alexander Valdez
NOTAS:...
r235 for a in range(0, len(Dirlist)):
fname= Dirlist[a]
Doy=fname[5:8]
fname = fname[1:5]
print fname
fecha=Doy2Date(int(fname),int(Doy))
fechaList=fecha.change2date()
#print fechaList[0]
Dirlist[a]=fname+"/"+str(fechaList[0])+"/"+str(fechaList[1])
#+"-"+ fechaList[0]+"-"+fechaList[1]
Alexander Valdez
VERSION1-GUI...
r208
Alexander Valdez
mainwindow...
r255 #---------------AQUI TIENE QUE SER MODIFICADO--------#
Alexander Valdez
VERSION1-GUI...
r208
Alexander Valdez
NOTAS:...
r235 #Se cargan las listas para seleccionar StartDay y StopDay (QComboBox)
for i in range(0, (len(Dirlist))):
self.variableList.append(Dirlist[i])
Alexander Valdez
VERSION1-GUI...
r208
Alexander Valdez
NOTAS:...
r235 for i in self.variableList:
self.starDateCmbBox.addItem(i)
self.endDateCmbBox.addItem(i)
self.endDateCmbBox.setCurrentIndex(self.starDateCmbBox.count()-1)
Alexander Valdez
VERSION1-GUI...
r208
Alexander Valdez
mainwindow...
r255 self.getsubList()
self.dataOkBtn.setEnabled(True)
def getsubList(self):
Alexander Valdez
VERSION1-GUI...
r208 """
Alexander Valdez
mainwindow...
r255 OBTIENE EL RANDO DE LAS FECHAS SELECCIONADAS
Alexander Valdez
VERSION1-GUI...
r208 """
Alexander Valdez
mainwindow...
r255 self.subList=[]
for i in self.variableList[self.starDateCmbBox.currentIndex():self.starDateCmbBox.currentIndex() + self.endDateCmbBox.currentIndex()+1]:
self.subList.append(i)
Alexander Valdez
mainwindow:...
r247
Alexander Valdez
carpeta figure:...
r253 def addUP(self):
Alexander Valdez
VERSION1-GUI...
r208
Alexander Valdez
NOTAS:...
r235 self.configUP=UnitProcess(self)
for i in self.proObjList:
self.configUP.getfromWindowList.append(i)
#print i
for i in self.upObjList:
self.configUP.getfromWindowList.append(i)
self.configUP.loadTotalList()
self.configUP.show()
self.configUP.unitPsavebut.clicked.connect(self.reciveUPparameters)
self.configUP.closed.connect(self.createUP)
Alexander Valdez
VERSION1-GUI...
r208
Alexander Valdez
NOTAS:...
r235 def reciveUPparameters(self):
Alexander Valdez
VERSION1-GUI...
r208
Alexander Valdez
NOTAS:...
r235 self.uporProObjRecover,self.upType=self.configUP.almacena()
def createUP(self):
print "En este nivel se adiciona una rama de procesamiento, y se le concatena con el id"
projectObj=self.proObjList[int(self.proConfCmbBox.currentIndex())]
datatype=str(self.upType)
uporprojectObj=self.uporProObjRecover
#+++++++++++LET FLY+++++++++++#
if uporprojectObj.getElementName()=='ProcUnit':
inputId=uporprojectObj.getId()
elif uporprojectObj.getElementName()=='Project':
inputId=self.readUnitConfObjList[uporprojectObj.id-1].getId()
Alexander Valdez
VERSION1-GUI...
r208
Alexander Valdez
NOTAS:...
r235 self.procUnitConfObj1 = projectObj.addProcUnit(datatype=datatype, inputId=inputId)
self.upObjList.append(self.procUnitConfObj1)
print inputId
print self.procUnitConfObj1.getId()
self.parentItem=uporprojectObj.arbol
self.numbertree=int(self.procUnitConfObj1.getId())-1
self.procUnitConfObj1.arbol=QtGui.QStandardItem(QtCore.QString(datatype +"%1 ").arg(self.numbertree))
self.parentItem.appendRow(self.procUnitConfObj1.arbol)
self.parentItem=self.procUnitConfObj1.arbol
self.loadUp()
self.treeView.expandAll()
def loadUp(self):
self.addOpUpselec.clear()
Alexander Valdez
mainwindow:...
r247 self.addOpSpecUpselec.clear()
Alexander Valdez
NOTAS:...
r235 for i in self.upObjList:
Alexander Valdez
mainwindow:...
r247 if i.datatype=='Voltage':
self.upObjVolList.append(i)
name=i.getElementName()
id=int(i.id)-1
self.addOpUpselec.addItem(name+str(id))
if i.datatype=='Spectra':
self.upobjSpecList.append(i)
name=i.getElementName()
id=int(i.id)-1
self.addOpSpecUpselec.addItem(name+str(id))
self.resetopVolt()
self.resetopSpec()
Alexander Valdez
Last update...
r251
Alexander Valdez
mainwindow:...
r247 def resetopVolt(self):
self.selecChannelopVolCEB.setChecked(False)
self.selecHeighopVolCEB.setChecked(False)
self.coherentIntegrationCEB.setChecked(False)
Alexander Valdez
Last update...
r251 self.profileSelecopVolCEB.setChecked(False)
Alexander Valdez
mainwindow:...
r247 #self.selecChannelopVolCEB.setEnabled(False)
self.lineHeighProfileTxtopVol.clear()
Alexander Valdez
Last update...
r251 self.lineProfileSelecopVolCEB.clear()
Alexander Valdez
mainwindow:...
r247 self.numberChannelopVol.clear()
self.numberIntegration.clear()
Alexander Valdez
NOTAS:...
r235
Alexander Valdez
mainwindow...
r255
Alexander Valdez
mainwindow:...
r247 def resetopSpec(self):
self.nFFTPointOpSpecCEB.setChecked(False)
Alexander Valdez
VERSION1-GUI...
r208
Alexander Valdez
mainwindow:...
r247 self.valuenFFTPointOpSpec.clear()
def resetgraphSpec(self):
self.SpectraPlotGraphCEB.setChecked(False)
self.CrossSpectraPlotGraphceb.setChecked(False)
self.RTIPlotGraphCEB.setChecked(False)
Alexander Valdez
VERSION1-GUI...
r208
Alexander Valdez
mainwindow...
r255
Alexander Valdez
carpeta figure:...
r253 def saveProject(self):
Alexander Valdez
NOTAS:...
r235 if self.idp==1:
self.valuep=1
Alexander Valdez
VERSION1-GUI...
r208
Alexander Valdez
NOTAS:...
r235 print "Escribiendo el archivo XML"
filename="C:\\WorkspaceGUI\\CONFIG"+str(self.valuep)+".xml"
self.controllerObj=self.proObjList[int(self.valuep)-1]
self.controllerObj.writeXml(filename)
Alexander Valdez
VERSION1-GUI...
r208
Alexander Valdez
mainwindow...
r255
Alexander Valdez
NOTAS:...
r235
class Window(QMainWindow, Ui_window):
Alexander Valdez
VERSION1-GUI...
r208 """
Class documentation goes here.
"""
closed=pyqtSignal()
def __init__(self, parent = None):
"""
Constructor
"""
QMainWindow.__init__(self, parent)
self.setupUi(self)
Alexander Valdez
NOTAS:...
r235 self.name=0
self.nameproject=None
self.proyectNameLine.setText('My_name_is...')
self.descriptionTextEdit.setText('Write a description...')
Alexander Valdez
VERSION1-GUI...
r208 @pyqtSignature("")
Alexander Valdez
NOTAS:...
r235 def on_cancelButton_clicked(self):
Alexander Valdez
VERSION1-GUI...
r208 """
Slot documentation goes here.
"""
Alexander Valdez
NOTAS:...
r235 # TODO: not implemented yet
#raise NotImplementedError
self.hide()
Alexander Valdez
VERSION1-GUI...
r208
@pyqtSignature("")
Alexander Valdez
NOTAS:...
r235 def on_okButton_clicked(self):
Alexander Valdez
VERSION1-GUI...
r208 """
Slot documentation goes here.
"""
Alexander Valdez
NOTAS:...
r235 #self.almacena()
self.close()
Alexander Valdez
VERSION1-GUI...
r208
@pyqtSignature("")
Alexander Valdez
NOTAS:...
r235 def on_saveButton_clicked(self):
Alexander Valdez
VERSION1-GUI...
r208 """
Alexander Valdez
NOTAS:...
r235 Slot documentation goes here.
Alexander Valdez
VERSION1-GUI...
r208 """
Alexander Valdez
NOTAS:...
r235 self.almacena()
# self.close()
Alexander Valdez
VERSION1-GUI...
r208
Alexander Valdez
NOTAS:...
r235 def almacena(self):
#print str(self.proyectNameLine.text())
self.nameproject=str(self.proyectNameLine.text())
self.description=str(self.descriptionTextEdit.toPlainText())
return self.nameproject,self.description
Alexander Valdez
VERSION1-GUI...
r208 def closeEvent(self, event):
self.closed.emit()
event.accept()
Alexander Valdez
NOTAS:...
r235
Alexander Valdez
mainwindow...
r255
#--------------------------------------VENTANA DE CONFIGURACION DE LA UP-----------------------#
Alexander Valdez
NOTAS:...
r235 class UnitProcess(QMainWindow, Ui_UnitProcess):
Alexander Valdez
VERSION1-GUI...
r208 """
Class documentation goes here.
"""
Alexander Valdez
NOTAS:...
r235 closed=pyqtSignal()
Alexander Valdez
VERSION1-GUI...
r208 def __init__(self, parent = None):
"""
Constructor
"""
QMainWindow.__init__(self, parent)
self.setupUi(self)
Alexander Valdez
NOTAS:...
r235 self.getFromWindow=None
self.getfromWindowList=[]
Alexander Valdez
mainwindow...
r255 self.listUP=None
Alexander Valdez
NOTAS:...
r235
Alexander Valdez
VERSION1-GUI...
r208 @pyqtSignature("")
Alexander Valdez
NOTAS:...
r235 def on_unitPokbut_clicked(self):
Alexander Valdez
VERSION1-GUI...
r208 """
Slot documentation goes here.
"""
Alexander Valdez
NOTAS:...
r235 self.close()
Alexander Valdez
VERSION1-GUI...
r208
@pyqtSignature("")
Alexander Valdez
NOTAS:...
r235 def on_unitPsavebut_clicked(self):
Alexander Valdez
VERSION1-GUI...
r208 """
Slot documentation goes here.
"""
Alexander Valdez
mainwindow:...
r247
Alexander Valdez
NOTAS:...
r235 print "alex"
self.almacena()
Alexander Valdez
VERSION1-GUI...
r208
Alexander Valdez
NOTAS:...
r235 @pyqtSignature("")
def on_unitPcancelbut_clicked(self):
"""
Slot documentation goes here.
"""
# TODO: not implemented yet
#raise NotImplementedError
Alexander Valdez
mainwindow...
r255 self.hide()
def loadTotalList(self):
self.comboInputBox.clear()
for i in self.getfromWindowList:
name=i.getElementName()
id= i.id
if i.getElementName()=='ProcUnit':
id=int(i.id)-1
self.comboInputBox.addItem(str(name)+str(id))
Alexander Valdez
NOTAS:...
r235
Alexander Valdez
VERSION1-GUI...
r208 def almacena(self):
Alexander Valdez
NOTAS:...
r235 self.getFromWindow=self.getfromWindowList[int(self.comboInputBox.currentIndex())]
#self.nameofUP= str(self.nameUptxt.text())
self.typeofUP= str(self.comboTypeBox.currentText())
return self.getFromWindow,self.typeofUP
Alexander Valdez
VERSION1-GUI...
r208 def closeEvent(self, event):
self.closed.emit()
event.accept()
Alexander Valdez
NOTAS:...
r235
Alexander Valdez
VERSION1-GUI...
r208
Alexander Valdez
NOTAS:...
r235
Alexander Valdez
VERSION1-GUI...
r208