##// END OF EJS Templates
-Añadio shortcut...
Alexander Valdez -
r379:aad45055358a
parent child
Show More
@@ -1,1372 +1,1427
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2 """
2 """
3 Module implementing MainWindow.
3 Module implementing MainWindow.
4 #+++++++++++++GUI V1++++++++++++++#
4 #+++++++++++++GUI V1++++++++++++++#
5 @author: AlexanderValdezPortocarrero ñ_ñ
5 @author: AlexanderValdezPortocarrero ñ_ñ
6 """
6 """
7 import os, sys
7 import os, sys
8 import datetime
8 import datetime
9 from PyQt4.QtGui import QMainWindow
9 from PyQt4.QtGui import QMainWindow
10 from PyQt4.QtCore import pyqtSignature
10 from PyQt4.QtCore import pyqtSignature
11 from PyQt4.QtCore import pyqtSignal
11 from PyQt4.QtCore import pyqtSignal
12 from PyQt4 import QtCore
12 from PyQt4 import QtCore
13 from PyQt4 import QtGui
13 from PyQt4 import QtGui
14
14
15 from viewer.ui_unitprocess import Ui_UnitProcess
15 from viewer.ui_unitprocess import Ui_UnitProcess
16 from viewer.ui_window import Ui_window
16 from viewer.ui_window import Ui_window
17 from viewer.ui_mainwindow import Ui_BasicWindow
17 from viewer.ui_mainwindow import Ui_BasicWindow
18
18
19
19
20 from modelProperties import treeModel
20 from modelProperties import treeModel
21
21
22 path = os.path.split(os.getcwd())[0]
22 path = os.path.split(os.getcwd())[0]
23
23
24 sys.path.append(path)
24 sys.path.append(path)
25
25
26 from controller import *
26 from controller import *
27
27
28 def isRadarFile(file):
28 def isRadarFile(file):
29 try:
29 try:
30 year = int(file[1:5])
30 year = int(file[1:5])
31 doy = int(file[5:8])
31 doy = int(file[5:8])
32 set = int(file[8:11])
32 set = int(file[8:11])
33 except:
33 except:
34 return 0
34 return 0
35
35
36 return 1
36 return 1
37
37
38 def isRadarPath(path):
38 def isRadarPath(path):
39 try:
39 try:
40 year = int(path[1:5])
40 year = int(path[1:5])
41 doy = int(path[5:8])
41 doy = int(path[5:8])
42 except:
42 except:
43 return 0
43 return 0
44
44
45 return 1
45 return 1
46
46
47
47
48 class BasicWindow(QMainWindow,Ui_BasicWindow):
48 class BasicWindow(QMainWindow,Ui_BasicWindow):
49 """
49 """
50
50
51 """
51 """
52 def __init__(self,parent = None):
52 def __init__(self,parent = None):
53 """
53 """
54
54
55 """
55 """
56 QMainWindow.__init__(self,parent)
56 QMainWindow.__init__(self,parent)
57 self.setupUi(self)
57 self.setupUi(self)
58 self.__projObjDict = {}
58 self.__projObjDict = {}
59 self.__upObjDict = {}
59 self.__upObjDict = {}
60 self.__arbolDict = {}
60 self.__arbolDict = {}
61 self.readUnitConfObjList=[]
61 self.readUnitConfObjList=[]
62 self.operObjList=[]
62 self.operObjList=[]
63 self.idp = 0
63 self.idp = 0
64 self.online=0
64 self.online=0
65 self.walk=1
65 self.walk=1
66 self.indexclick=None
66 self.indexclick=None
67 self.setParameter()
67 self.setParameter()
68
68
69 @pyqtSignature("")
69 @pyqtSignature("")
70 def on_actionCreate_triggered(self):
70 def on_actionCreate_triggered(self):
71 """
71 """
72 Slot documentation goes here.
72 Slot documentation goes here.
73 """
73 """
74 self.setProjectParam()
74 self.setProjectParam()
75
75
76 @pyqtSignature("")
76 @pyqtSignature("")
77 def on_actionSave_triggered(self):
77 def on_actionSave_triggered(self):
78 """
78 """
79 Slot documentation goes here.
79 Slot documentation goes here.
80 """
80 """
81 self.saveProject()
81 self.saveProject()
82
83 @pyqtSignature("")
84 def on_actionClose_triggered(self):
85 """
86 Slot documentation goes here.
87 """
88 self.close()
82
89
83 def on_actionStart_triggered(self):
90 def on_actionStart_triggered(self):
84 """
91 """
85 """
92 """
86 self.playProject()
93 self.playProject()
87
94
88 @pyqtSignature("")
95 @pyqtSignature("")
89 def on_actionCreateToolbar_triggered(self):
96 def on_actionCreateToolbar_triggered(self):
90 """
97 """
91 Slot documentation goes here.
98 Slot documentation goes here.
92 """
99 """
93 self.setProjectParam()
100 self.setProjectParam()
94
101
95 @pyqtSignature("")
102 @pyqtSignature("")
96 def on_actionSaveToolbar_triggered(self):
103 def on_actionSaveToolbar_triggered(self):
97 """
104 """
98 Slot documentation goes here.
105 Slot documentation goes here.
99 """
106 """
100 self.saveProject()
107 self.saveProject()
101
108
102 @pyqtSignature("")
109 @pyqtSignature("")
103 def on_actionStarToolbar_triggered(self):
110 def on_actionStarToolbar_triggered(self):
104 """
111 """
105 Slot documentation goes here.
112 Slot documentation goes here.
106 """
113 """
107 self.playProject()
114 self.playProject()
108
115
109
116
110 @pyqtSignature("int")
117 @pyqtSignature("int")
111 def on_proComReadMode_activated(self, p0):
118 def on_proComReadMode_activated(self, p0):
112 """
119 """
113 SELECCION DEL MODO DE LECTURA ON=1, OFF=0
120 SELECCION DEL MODO DE LECTURA ON=1, OFF=0
114 """
121 """
115 if p0==0:
122 if p0==0:
116 self.online=0
123 self.online=0
117 self.proDelay.setText("0")
124 self.proDelay.setText("0")
118 self.proDelay.setEnabled(False)
125 self.proDelay.setEnabled(False)
119 elif p0==1:
126 elif p0==1:
120 self.online=1
127 self.online=1
121 self.proDelay.setText("5")
128 self.proDelay.setText("5")
122 self.proDelay.setEnabled(True)
129 self.proDelay.setEnabled(True)
123 self.console.clear()
130 self.console.clear()
124 self.console.append("Choose the type of Walk")
131 self.console.append("Choose the type of Walk")
125
132
126
133
127
134
128 @pyqtSignature("int")
135 @pyqtSignature("int")
129 def on_proComDataType_activated(self,index):
136 def on_proComDataType_activated(self,index):
130 """
137 """
131 Voltage or Spectra
138 Voltage or Spectra
132 """
139 """
133 if index==0:
140 if index==0:
134 self.datatype='.r'
141 self.datatype='.r'
135 elif index==1:
142 elif index==1:
136 self.datatype='.pdata'
143 self.datatype='.pdata'
137
144
138 self.proDataType.setText(self.datatype)
145 self.proDataType.setText(self.datatype)
139 self.console.clear()
146 self.console.clear()
140 self.console.append("Choose your DataPath")
147 self.console.append("Choose your DataPath")
141 self.console.append("Use the toolpath or Write the path")
148 self.console.append("Use the toolpath or Write the path")
142
149
143 @pyqtSignature("int")
150 @pyqtSignature("int")
144 def on_proComWalk_activated(self,index):
151 def on_proComWalk_activated(self,index):
145 """
152 """
146
153
147 """
154 """
148 if index==0:
155 if index==0:
149 self.walk=0
156 self.walk=0
150 elif index==1:
157 elif index==1:
151 self.walk=1
158 self.walk=1
152
159
153 self.console.clear()
160 self.console.clear()
154 self.console.append("If you have choose online mode write the delay")
161 self.console.append("If you have choose online mode write the delay")
155 self.console.append("Now, Push the Button Load to charge the date")
162 self.console.append("Now, Push the Button Load to charge the date")
156
163
157 @pyqtSignature("")
164 @pyqtSignature("")
158 def on_proToolPath_clicked(self):
165 def on_proToolPath_clicked(self):
159 """
166 """
160 Choose your path
167 Choose your path
161 """
168 """
162 self.dataPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
169 self.dataPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
163 self.proDataPath.setText(self.dataPath)
170 self.proDataPath.setText(self.dataPath)
164
171
165 self.proComStartDate.clear()
172 self.proComStartDate.clear()
166 self.proComEndDate.clear()
173 self.proComEndDate.clear()
167
174
168 if not os.path.exists(self.dataPath):
175 if not os.path.exists(self.dataPath):
169 self.proOk.setEnabled(False)
176 self.proOk.setEnabled(False)
170 self.console.clear()
177 self.console.clear()
171 self.console.append("Write a correct a path")
178 self.console.append("Write a correct a path")
172 return
179 return
173 self.console.clear()
180 self.console.clear()
174 self.console.append("Select the read mode")
181 self.console.append("Select the read mode")
175
182
176
183
177 @pyqtSignature("")
184 @pyqtSignature("")
178 def on_proLoadButton_clicked(self):
185 def on_proLoadButton_clicked(self):
179 self.proOk.setEnabled(True)
186 self.proOk.setEnabled(True)
180 self.console.clear()
187 self.console.clear()
181 self.console.append("You will see the range of date Load")
188 self.console.append("You will see the range of date Load")
182 self.console.append("First,Don't forget to Choose the Read Mode: OffLine or Online")
189 self.console.append("First,Don't forget to Choose the Read Mode: OffLine or Online")
183 self.console.append("The option delay is for default 0")
190 self.console.append("The option delay is for default 0")
184 self.loadDays()
191 self.loadDays()
185
192
186
193
187 @pyqtSignature("int")
194 @pyqtSignature("int")
188 def on_proComStartDate_activated(self, index):
195 def on_proComStartDate_activated(self, index):
189 """
196 """
190 SELECCION DEL RANGO DE FECHAS -START DATE
197 SELECCION DEL RANGO DE FECHAS -START DATE
191 """
198 """
192 stopIndex = self.proComEndDate.count() - self.proComEndDate.currentIndex()
199 stopIndex = self.proComEndDate.count() - self.proComEndDate.currentIndex()
193 self.proComEndDate.clear()
200 self.proComEndDate.clear()
194
201
195 for i in self.dateList[index:]:
202 for i in self.dateList[index:]:
196 self.proComEndDate.addItem(i)
203 self.proComEndDate.addItem(i)
197
204
198 self.proComEndDate.setCurrentIndex(self.proComEndDate.count() - stopIndex)
205 self.proComEndDate.setCurrentIndex(self.proComEndDate.count() - stopIndex)
199
206
200 @pyqtSignature("int")
207 @pyqtSignature("int")
201 def on_proComEndDate_activated(self, index):
208 def on_proComEndDate_activated(self, index):
202 """
209 """
203 SELECCION DEL RANGO DE FECHAS-END DATE
210 SELECCION DEL RANGO DE FECHAS-END DATE
204 """
211 """
205 startIndex=self.proComStartDate.currentIndex()
212 startIndex=self.proComStartDate.currentIndex()
206 stopIndex = self.proComEndDate.count() - index
213 stopIndex = self.proComEndDate.count() - index
207 self.proComStartDate.clear()
214 self.proComStartDate.clear()
208 for i in self.dateList[:len(self.dateList) - stopIndex + 1]:
215 for i in self.dateList[:len(self.dateList) - stopIndex + 1]:
209 self.proComStartDate.addItem(i)
216 self.proComStartDate.addItem(i)
210 self.proComStartDate.setCurrentIndex(startIndex)
217 self.proComStartDate.setCurrentIndex(startIndex)
211
218
212 @pyqtSignature("")
219 @pyqtSignature("")
213 def on_proOk_clicked(self):
220 def on_proOk_clicked(self):
214 """
221 """
215 Añade al Obj XML de Projecto, name,datatype,date,time,readmode,wait,etc, crea el readUnitProcess del archivo xml.
222 Añade al Obj XML de Projecto, name,datatype,date,time,readmode,wait,etc, crea el readUnitProcess del archivo xml.
216 Prepara la configuración del diágrama del Arbol del treeView numero 2
223 Prepara la configuración del diágrama del Arbol del treeView numero 2
217 """
224 """
218 self.console.clear()
225 self.console.clear()
219 self.idp +=1
226 self.idp +=1
220 self.projectObj= Project ()
227 self.projectObj= Project ()
221 self.__projObjDict[self.idp]=self.projectObj
228 self.__projObjDict[self.idp]=self.projectObj
222
229
223 id = self.idp
230 id = self.idp
224 name = str(self.proName.text())
231 name = str(self.proName.text())
225 try:
232 try:
226 name=str(self.proName.text())
233 name=str(self.proName.text())
227 except:
234 except:
228 self.console.clear()
235 self.console.clear()
229 self.console.append("Please Write a name")
236 self.console.append("Please Write a name")
230 return 0
237 return 0
231
238
232
239
233 desc=str(self.proDescription.toPlainText())
240 desc=str(self.proDescription.toPlainText())
234 self.projectObj.setup(id = id, name=name, description=desc)
241 self.projectObj.setup(id = id, name=name, description=desc)
235 datatype = str(self.proComDataType.currentText())
242 datatype = str(self.proComDataType.currentText())
236 path = str(self.proDataPath.text())
243 path = str(self.proDataPath.text())
237 #path='C://data3'
244 #path='C://data3'
238 online = int(self.online)
245 online = int(self.online)
239 if online ==0:
246 if online ==0:
240 delay=0
247 delay=0
241 else:
248 else:
242 delay=self.proDelay.text()
249 delay=self.proDelay.text()
243 try:
250 try:
244 delay=int(self.proDelay.text())
251 delay=int(self.proDelay.text())
245 except:
252 except:
246 self.console.clear()
253 self.console.clear()
247 self.console.append("Please Write a number for delay")
254 self.console.append("Please Write a number for delay")
248 return 0
255 return 0
249
256
250 walk = int(self.walk)
257 walk = int(self.walk)
251 starDate = str(self.proComStartDate.currentText())
258 starDate = str(self.proComStartDate.currentText())
252 endDate = str(self.proComEndDate.currentText())
259 endDate = str(self.proComEndDate.currentText())
253 reloj1=self.proStartTime.time()
260 reloj1=self.proStartTime.time()
254 reloj2=self.proEndTime.time()
261 reloj2=self.proEndTime.time()
255
262
256 self.readUnitConfObj = self.projectObj.addReadUnit(datatype = datatype,
263 self.readUnitConfObj = self.projectObj.addReadUnit(datatype = datatype,
257 path = path,
264 path = path,
258 startDate = starDate,
265 startDate = starDate,
259 endDate = endDate,
266 endDate = endDate,
260 startTime= str(reloj1.hour()) +":"+str(reloj1.minute())+":"+ str(reloj1.second()),
267 startTime= str(reloj1.hour()) +":"+str(reloj1.minute())+":"+ str(reloj1.second()),
261 endTime= str(reloj2.hour()) +":"+str(reloj2.minute())+":"+ str(reloj2.second()),
268 endTime= str(reloj2.hour()) +":"+str(reloj2.minute())+":"+ str(reloj2.second()),
262 online= online,
269 online= online,
263 delay=delay,
270 delay=delay,
264 walk= walk)
271 walk= walk)
265 self.readUnitConfObjList.append(self.readUnitConfObj)
272 self.readUnitConfObjList.append(self.readUnitConfObj)
266
273
267 #Project Explorer
274 #Project Explorer
268 self.parentItem=self.model.invisibleRootItem()
275 self.parentItem=self.model.invisibleRootItem()
269 self.__arbolDict[self.idp] =QtGui.QStandardItem(QtCore.QString(name).arg(self.idp))
276 self.__arbolDict[self.idp] =QtGui.QStandardItem(QtCore.QString(name).arg(self.idp))
270 self.parentItem.appendRow(self.__arbolDict[self.idp])
277 self.parentItem.appendRow(self.__arbolDict[self.idp])
271 self.parentItem=self.__arbolDict[self.idp]
278 self.parentItem=self.__arbolDict[self.idp]
272
279
273 #Project Properties
280 #Project Properties
274 self.model_2=treeModel()
281 self.model_2=treeModel()
275 self.model_2.setParams(name = self.projectObj.name,
282 self.model_2.setParams(name = self.projectObj.name,
276 directorio = path,
283 directorio = path,
277 workspace = self.pathWorkSpace,
284 workspace = self.pathWorkSpace,
278 remode = str(self.proComReadMode.currentText()),
285 remode = str(self.proComReadMode.currentText()),
279 dataformat = datatype,
286 dataformat = datatype,
280 date = str(starDate)+"-"+str(endDate),
287 date = str(starDate)+"-"+str(endDate),
281 initTime = str(reloj1.hour()) +":"+str(reloj1.minute())+":"+ str(reloj1.second()),
288 initTime = str(reloj1.hour()) +":"+str(reloj1.minute())+":"+ str(reloj1.second()),
282 endTime = str(reloj2.hour()) +":"+str(reloj2.minute())+":"+ str(reloj2.second()),
289 endTime = str(reloj2.hour()) +":"+str(reloj2.minute())+":"+ str(reloj2.second()),
283 timezone = "Local" ,
290 timezone = "Local" ,
284 Summary = desc)
291 Summary = desc)
285
292
286 self.treeProjectProperties.setModel(self.model_2)
293 self.treeProjectProperties.setModel(self.model_2)
287 self.treeProjectProperties.expandAll()
294 self.treeProjectProperties.expandAll()
288
295
289 #Disable tabProject after finish the creation
296 #Disable tabProject after finish the creation
290 #self.tabProject.setEnabled(False)
297 self.tabProject.setEnabled(False)
291 self.console.clear()
298 self.console.clear()
292 self.console.append("Now you can add a Unit Processing")
299 self.console.append("Now you can add a Unit Processing")
293 self.console.append("If you want to save your project")
300 self.console.append("If you want to save your project")
294 self.console.append("click on your project name in the Tree Project Explorer")
301 self.console.append("click on your project name in the Tree Project Explorer")
302
303
304 @pyqtSignature("")
305 def on_proClear_clicked(self):
306 self.setProjectParam()
295 #----------------Voltage Operation-------------------#
307 #----------------Voltage Operation-------------------#
296
308
297 @pyqtSignature("int")
309 @pyqtSignature("int")
298 def on_volOpCebChannels_stateChanged(self, p0):
310 def on_volOpCebChannels_stateChanged(self, p0):
299 """
311 """
300 Check Box habilita operaciones de Selecci�n de Canales
312 Check Box habilita operaciones de Selecci�n de Canales
301 """
313 """
302 if p0==2:
314 if p0==2:
303 self.volOpComChannels.setEnabled(True)
315 self.volOpComChannels.setEnabled(True)
304 self.volOpChannel.setEnabled(True)
316 self.volOpChannel.setEnabled(True)
305
317
306 if p0==0:
318 if p0==0:
307 self.volOpComChannels.setEnabled(False)
319 self.volOpComChannels.setEnabled(False)
308 self.volOpChannel.setEnabled(False)
320 self.volOpChannel.setEnabled(False)
309
321
310
322
311 @pyqtSignature("int")
323 @pyqtSignature("int")
312 def on_volOpCebHeights_stateChanged(self, p0):
324 def on_volOpCebHeights_stateChanged(self, p0):
313 """
325 """
314 Check Box habilita operaciones de Selecci�n de Alturas
326 Check Box habilita operaciones de Selecci�n de Alturas
315 """
327 """
316 if p0==2:
328 if p0==2:
317 self.volOpHeights.setEnabled(True)
329 self.volOpHeights.setEnabled(True)
318 self.volOpComHeights.setEnabled(True)
330 self.volOpComHeights.setEnabled(True)
319
331
320 if p0==0:
332 if p0==0:
321 self.volOpHeights.setEnabled(False)
333 self.volOpHeights.setEnabled(False)
322 self.volOpComHeights.setEnabled(False)
334 self.volOpComHeights.setEnabled(False)
323
335
324 @pyqtSignature("int")
336 @pyqtSignature("int")
325 def on_volOpCebFilter_stateChanged(self, p0):
337 def on_volOpCebFilter_stateChanged(self, p0):
326 """
338 """
327 Name='Decoder', optype='other'
339 Name='Decoder', optype='other'
328 """
340 """
329 if p0==2:
341 if p0==2:
330 self.volOpFilter.setEnabled(True)
342 self.volOpFilter.setEnabled(True)
331
343
332 if p0==0:
344 if p0==0:
333 self.volOpFilter.setEnabled(False)
345 self.volOpFilter.setEnabled(False)
334
346
335 @pyqtSignature("int")
347 @pyqtSignature("int")
336 def on_volOpCebProfile_stateChanged(self, p0):
348 def on_volOpCebProfile_stateChanged(self, p0):
337 """
349 """
338 Check Box habilita ingreso del rango de Perfiles
350 Check Box habilita ingreso del rango de Perfiles
339 """
351 """
340 if p0==2:
352 if p0==2:
341 self.volOpComProfile.setEnabled(True)
353 self.volOpComProfile.setEnabled(True)
342 self.volOpProfile.setEnabled(True)
354 self.volOpProfile.setEnabled(True)
343
355
344 if p0==0:
356 if p0==0:
345 self.volOpComProfile.setEnabled(False)
357 self.volOpComProfile.setEnabled(False)
346 self.volOpProfile.setEnabled(False)
358 self.volOpProfile.setEnabled(False)
347
359
348 @pyqtSignature("int")
360 @pyqtSignature("int")
349 def on_volOpCebDecodification_stateChanged(self, p0):
361 def on_volOpCebDecodification_stateChanged(self, p0):
350 """
362 """
351 Check Box habilita
363 Check Box habilita
352 """
364 """
353 if p0==2:
365 if p0==2:
354 self.volOpComCode.setEnabled(True)
366 self.volOpComCode.setEnabled(True)
355 self.volOpComMode.setEnabled(True)
367 self.volOpComMode.setEnabled(True)
356
368
357 if p0==0:
369 if p0==0:
358 self.volOpComCode.setEnabled(False)
370 self.volOpComCode.setEnabled(False)
359 self.volOpComMode.setEnabled(False)
371 self.volOpComMode.setEnabled(False)
360
372
361
373
362 @pyqtSignature("int")
374 @pyqtSignature("int")
363 def on_volOpCebCohInt_stateChanged(self, p0):
375 def on_volOpCebCohInt_stateChanged(self, p0):
364 """
376 """
365 Check Box habilita ingresode del numero de Integraciones a realizar
377 Check Box habilita ingresode del numero de Integraciones a realizar
366 """
378 """
367 if p0==2:
379 if p0==2:
368 self.volOpCohInt.setEnabled(True)
380 self.volOpCohInt.setEnabled(True)
369 if p0==0:
381 if p0==0:
370 self.volOpCohInt.setEnabled(False)
382 self.volOpCohInt.setEnabled(False)
371
383
372
384
373
385
374
386
375 @pyqtSignature("")
387 @pyqtSignature("")
376 def on_volOpOk_clicked(self):
388 def on_volOpOk_clicked(self):
377 """
389 """
378 BUSCA EN LA LISTA DE OPERACIONES DEL TIPO VOLTAJE Y LES A�ADE EL PARAMETRO ADECUADO ESPERANDO LA ACEPTACION DEL USUARIO
390 BUSCA EN LA LISTA DE OPERACIONES DEL TIPO VOLTAJE Y LES A�ADE EL PARAMETRO ADECUADO ESPERANDO LA ACEPTACION DEL USUARIO
379 PARA AGREGARLO AL ARCHIVO DE CONFIGURACION XML
391 PARA AGREGARLO AL ARCHIVO DE CONFIGURACION XML
380 """
392 """
381 for i in self.__arbolDict:
393 for i in self.__arbolDict:
382 if self.__arbolDict[i]==self.indexclick:
394 if self.__arbolDict[i]==self.indexclick:
383 if self.__upObjDict.has_key(i)==True:
395 if self.__upObjDict.has_key(i)==True:
384 self.upObj=self.__upObjDict[i]
396 self.upObj=self.__upObjDict[i]
385
397
386 if self.volOpCebChannels.isChecked():
398 if self.volOpCebChannels.isChecked():
387 if self.volOpComChannels.currentIndex()== 0:
399 if self.volOpComChannels.currentIndex()== 0:
388 opObj10=self.upObj.addOperation(name="selectChannels")
400 opObj10=self.upObj.addOperation(name="selectChannels")
389 self.operObjList.append(opObj10)
401 self.operObjList.append(opObj10)
390 value=self.volOpChannel.text()
402 value=self.volOpChannel.text()
391 opObj10.addParameter(name='channelList', value=value, format='intlist')
403 opObj10.addParameter(name='channelList', value=value, format='intlist')
392 else:
404 else:
393 opObj10=self.upObj.addOperation(name="selectChannelsByIndex")
405 opObj10=self.upObj.addOperation(name="selectChannelsByIndex")
394 self.operObjList.append(opObj10)
406 self.operObjList.append(opObj10)
395 value=self.volOpChannel.text()
407 value=self.volOpChannel.text()
396 opObj10.addParameter(name='channelIndexList', value=value, format='intlist')
408 opObj10.addParameter(name='channelIndexList', value=value, format='intlist')
397
409
398 if self.volOpCebHeights.isChecked():
410 if self.volOpCebHeights.isChecked():
399 if self.volOpComHeights.currentIndex()== 0:
411 if self.volOpComHeights.currentIndex()== 0:
400 opObj10=self.upObj.addOperation(name='selectHeights')
412 opObj10=self.upObj.addOperation(name='selectHeights')
401 value=self.volOpHeights.text()
413 value=self.volOpHeights.text()
402 valueList=value.split(',')
414 valueList=value.split(',')
403 opObj10.addParameter(name='minHei', value=valueList[0], format='float')
415 opObj10.addParameter(name='minHei', value=valueList[0], format='float')
404 opObj10.addParameter(name='maxHei', value=valueList[1], format='float')
416 opObj10.addParameter(name='maxHei', value=valueList[1], format='float')
405 else:
417 else:
406 opObj10=self.upObj.addOperation(name='selectHeightsByIndex')
418 opObj10=self.upObj.addOperation(name='selectHeightsByIndex')
407 value=self.volOpHeights.text()
419 value=self.volOpHeights.text()
408 valueList=value.split(',')
420 valueList=value.split(',')
409 opObj10.addParameter(name='minIndex', value=valueList[0], format='float')
421 opObj10.addParameter(name='minIndex', value=valueList[0], format='float')
410 opObj10.addParameter(name='maxIndex', value=valueList[1], format='float')
422 opObj10.addParameter(name='maxIndex', value=valueList[1], format='float')
411
423
412 if self.volOpCebFilter.isChecked():
424 if self.volOpCebFilter.isChecked():
413 opObj10=self.upObj.addOperation(name='filterByHeights')
425 opObj10=self.upObj.addOperation(name='filterByHeights')
414 value=self.volOpFilter.text()
426 value=self.volOpFilter.text()
415 opObj10.addParameter(name='window', value=value, format='int')
427 opObj10.addParameter(name='window', value=value, format='int')
416
428
417 if self.volOpCebProfile.isChecked():
429 if self.volOpCebProfile.isChecked():
418 opObj10=self.upObj.addOperation(name='ProfileSelector', optype='other')
430 opObj10=self.upObj.addOperation(name='ProfileSelector', optype='other')
419 if self.volOpComProfile.currentIndex()== 0:
431 if self.volOpComProfile.currentIndex()== 0:
420 self.operObjList.append(opObj10)
432 self.operObjList.append(opObj10)
421 value=self.volOpProfile.text()
433 value=self.volOpProfile.text()
422 opObj10.addParameter(name='profileList', value=value, format='intlist')
434 opObj10.addParameter(name='profileList', value=value, format='intlist')
423 else:
435 else:
424 self.operObjList.append(opObj10)
436 self.operObjList.append(opObj10)
425 value=self.volOpProfile.text()
437 value=self.volOpProfile.text()
426 opObj10.addParameter(name='profileRangeList', value=value, format='intlist')
438 opObj10.addParameter(name='profileRangeList', value=value, format='intlist')
427
439
428 if self.volOpCebDecodification.isChecked():
440 if self.volOpCebDecodification.isChecked():
429 opObj10=self.upObj.addOperation(name='Decoder', optype='other')
441 opObj10=self.upObj.addOperation(name='Decoder', optype='other')
430 if self.volOpComCode.currentIndex()==0:
442 if self.volOpComCode.currentIndex()==0:
431 opObj10.addParameter(name='code', value='1,1,-1,-1,-1,1', format='floatlist')
443 opObj10.addParameter(name='code', value='1,1,-1,-1,-1,1', format='floatlist')
432 opObj10.addParameter(name='nCode', value='2', format='int')
444 opObj10.addParameter(name='nCode', value='2', format='int')
433 opObj10.addParameter(name='nBaud', value='3', format='int')
445 opObj10.addParameter(name='nBaud', value='3', format='int')
434 if self.volOpComCode.currentIndex()==1:
446 if self.volOpComCode.currentIndex()==1:
435 opObj10.addParameter(name='code', value='1,1,−1,1,-1,-1,1,-1', format='floatlist')
447 opObj10.addParameter(name='code', value='1,1,−1,1,-1,-1,1,-1', format='floatlist')
436 opObj10.addParameter(name='nCode', value='2', format='int')
448 opObj10.addParameter(name='nCode', value='2', format='int')
437 opObj10.addParameter(name='nBaud', value='4', format='int')
449 opObj10.addParameter(name='nBaud', value='4', format='int')
438 if self.volOpComCode.currentIndex()==2:
450 if self.volOpComCode.currentIndex()==2:
439 opObj10.addParameter(name='code', value='1,1,1,−1,1,-1,-1,-1,1,-1', format='floatlist')
451 opObj10.addParameter(name='code', value='1,1,1,−1,1,-1,-1,-1,1,-1', format='floatlist')
440 opObj10.addParameter(name='nCode', value='2', format='int')
452 opObj10.addParameter(name='nCode', value='2', format='int')
441 opObj10.addParameter(name='nBaud', value='5', format='int')
453 opObj10.addParameter(name='nBaud', value='5', format='int')
442 if self.volOpComCode.currentIndex()==3:
454 if self.volOpComCode.currentIndex()==3:
443 opObj10.addParameter(name='code', value='1,1,1,−1,−1,1,−1,-1,-1,-1,1,1,-1,1', format='floatlist')
455 opObj10.addParameter(name='code', value='1,1,1,−1,−1,1,−1,-1,-1,-1,1,1,-1,1', format='floatlist')
444 opObj10.addParameter(name='nCode', value='2', format='int')
456 opObj10.addParameter(name='nCode', value='2', format='int')
445 opObj10.addParameter(name='nBaud', value='7', format='int')
457 opObj10.addParameter(name='nBaud', value='7', format='int')
446 if self.volOpComCode.currentIndex()==4:
458 if self.volOpComCode.currentIndex()==4:
447 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')
459 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')
448 opObj10.addParameter(name='nCode', value='2', format='int')
460 opObj10.addParameter(name='nCode', value='2', format='int')
449 opObj10.addParameter(name='nBaud', value='11', format='int')
461 opObj10.addParameter(name='nBaud', value='11', format='int')
450 if self.volOpComCode.currentIndex()==5:
462 if self.volOpComCode.currentIndex()==5:
451 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')
463 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')
452 opObj10.addParameter(name='nCode', value='2', format='int')
464 opObj10.addParameter(name='nCode', value='2', format='int')
453 opObj10.addParameter(name='nBaud', value='13', format='int')
465 opObj10.addParameter(name='nBaud', value='13', format='int')
454
466
455 if self.volOpComMode.currentIndex()==0:
467 if self.volOpComMode.currentIndex()==0:
456 opObj10.addParameter(name='mode', value='0', format='int')
468 opObj10.addParameter(name='mode', value='0', format='int')
457
469
458 if self.volOpComMode.currentIndex()==1:
470 if self.volOpComMode.currentIndex()==1:
459 opObj10.addParameter(name='mode', value='1', format='int')
471 opObj10.addParameter(name='mode', value='1', format='int')
460
472
461 if self.volOpComMode.currentIndex()==2:
473 if self.volOpComMode.currentIndex()==2:
462 opObj10.addParameter(name='mode', value='2', format='int')
474 opObj10.addParameter(name='mode', value='2', format='int')
463
475
464 if self.volOpCebCohInt.isChecked():
476 if self.volOpCebCohInt.isChecked():
465 opObj10=self.upObj.addOperation(name='CohInt', optype='other')
477 opObj10=self.upObj.addOperation(name='CohInt', optype='other')
466 self.operObjList.append(opObj10)
478 self.operObjList.append(opObj10)
467 value=self.volOpCohInt.text()
479 value=self.volOpCohInt.text()
468 opObj10.addParameter(name='n', value=value, format='int')
480 opObj10.addParameter(name='n', value=value, format='int')
469 #self.tabopVoltage.setEnabled(False)
481 #self.tabopVoltage.setEnabled(False)
470 self.console.clear()
482 self.console.clear()
471 self.console.append("If you want to save your project")
483 self.console.append("If you want to save your project")
472 self.console.append("click on your project name in the Tree Project Explorer")
484 self.console.append("click on your project name in the Tree Project Explorer")
473
485
474 #----------------Voltage Graph-------------------#
486 #----------------Voltage Graph-------------------#
475 @pyqtSignature("int")
487 @pyqtSignature("int")
476 def on_volGraphCebSave_stateChanged(self, p0):
488 def on_volGraphCebSave_stateChanged(self, p0):
477 """
489 """
478 Check Box habilita ingresode del numero de Integraciones a realizar
490 Check Box habilita ingresode del numero de Integraciones a realizar
479 """
491 """
480 if p0==2:
492 if p0==2:
481 self.volGraphPath.setEnabled(True)
493 self.volGraphPath.setEnabled(True)
482 self.volGraphPrefix.setEnabled(True)
494 self.volGraphPrefix.setEnabled(True)
483 self.volGraphToolPath.setEnabled(True)
495 self.volGraphToolPath.setEnabled(True)
484
496
485 if p0==0:
497 if p0==0:
486 self.volGraphPath.setEnabled(False)
498 self.volGraphPath.setEnabled(False)
487 self.volGraphPrefix.setEnabled(False)
499 self.volGraphPrefix.setEnabled(False)
488 self.volGraphToolPath.setEnabled(False)
500 self.volGraphToolPath.setEnabled(False)
489
501
490 @pyqtSignature("")
502 @pyqtSignature("")
491 def on_volGraphToolPath_clicked(self):
503 def on_volGraphToolPath_clicked(self):
492 """
504 """
493 Donde se guardan los DATOS
505 Donde se guardan los DATOS
494 """
506 """
495 self.dataPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
507 self.dataPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
496 self.volGraphPath.setText(self.dataPath)
508 self.volGraphPath.setText(self.dataPath)
497
509
498 if not os.path.exists(self.dataPath):
510 if not os.path.exists(self.dataPath):
499 self.volGraphOk.setEnabled(False)
511 self.volGraphOk.setEnabled(False)
500 return
512 return
501
513
502
514
503 @pyqtSignature("int")
515 @pyqtSignature("int")
504 def on_volGraphComType_activated(self,index):
516 def on_volGraphComType_activated(self,index):
505 """
517 """
506 Metodo que identifica que tipo de dato se va a trabajar VOLTAGE O ESPECTRA
518 Metodo que identifica que tipo de dato se va a trabajar VOLTAGE O ESPECTRA
507 """
519 """
508 if index==0:
520 if index==0:
509 self.volGraphIdFigure.setEnabled(False)
521 self.volGraphIdFigure.setEnabled(False)
510 self.volGraphWintitle.setEnabled(False)
522 self.volGraphWintitle.setEnabled(False)
511 self.volGraphChannelList.setEnabled(False)
523 self.volGraphChannelList.setEnabled(False)
512 self.volGraphxrange.setEnabled(False)
524 self.volGraphxrange.setEnabled(False)
513 self.volGraphyrange.setEnabled(False)
525 self.volGraphyrange.setEnabled(False)
514 if index==1:
526 if index==1:
515 self.volGraphIdFigure.setEnabled(True)
527 self.volGraphIdFigure.setEnabled(True)
516 self.volGraphWintitle.setEnabled(True)
528 self.volGraphWintitle.setEnabled(True)
517 self.volGraphChannelList.setEnabled(True)
529 self.volGraphChannelList.setEnabled(True)
518 self.volGraphxrange.setEnabled(True)
530 self.volGraphxrange.setEnabled(True)
519 self.volGraphyrange.setEnabled(True)
531 self.volGraphyrange.setEnabled(True)
520
532
521 @pyqtSignature(" ")
533 @pyqtSignature(" ")
522 def on_volGraphOk_clicked(self):
534 def on_volGraphOk_clicked(self):
523 """
535 """
524 GRAPH
536 GRAPH
525 """
537 """
526 for i in self.__arbolDict:
538 for i in self.__arbolDict:
527 if self.__arbolDict[i]==self.indexclick:
539 if self.__arbolDict[i]==self.indexclick:
528 if self.__upObjDict.has_key(i)==True:
540 if self.__upObjDict.has_key(i)==True:
529 self.upObj=self.__upObjDict[i]
541 self.upObj=self.__upObjDict[i]
530
542
531 if self.volGraphComType.currentIndex()==1:
543 if self.volGraphComType.currentIndex()==1:
532 opObj10=self.upObj.addOperation(name='Scope', optype='other')
544 opObj10=self.upObj.addOperation(name='Scope', optype='other')
533 self.operObjList.append(opObj10)
545 self.operObjList.append(opObj10)
534 wintitle=self.volGraphWintitle.text()
546 wintitle=self.volGraphWintitle.text()
535 channelList=self.volGraphChannelList.text()
547 channelList=self.volGraphChannelList.text()
536 xvalue= self.volGraphxrange.text()
548 xvalue= self.volGraphxrange.text()
537 yvalue= self.volGraphxrange.text()
549 yvalue= self.volGraphxrange.text()
538
550
539 opObj10.addParameter(name='wintitle', value=wintitle, format='str')
551 opObj10.addParameter(name='wintitle', value=wintitle, format='str')
540 opObj10.addParameter(name='channelList', value=channelList, format='int')
552 opObj10.addParameter(name='channelList', value=channelList, format='int')
541 xvalueList=xvalue.split(',')
553 xvalueList=xvalue.split(',')
542 opObj10.addParameter(name='xmin', value=xvalueList[0], format='int')
554 opObj10.addParameter(name='xmin', value=xvalueList[0], format='int')
543 opObj10.addParameter(name='xmax', value=xvalueList[1], format='int')
555 opObj10.addParameter(name='xmax', value=xvalueList[1], format='int')
544 yvalueList=yvalue.split(",")
556 yvalueList=yvalue.split(",")
545 opObj10.addParameter(name='ymin', value=yvalueList[0], format='int')
557 opObj10.addParameter(name='ymin', value=yvalueList[0], format='int')
546 opObj10.addParameter(name='ymax', value=yvalueList[1], format='int')
558 opObj10.addParameter(name='ymax', value=yvalueList[1], format='int')
547
559
548 if self.volGraphCebSave.isChecked():
560 if self.volGraphCebSave.isChecked():
549 opObj10.addParameter(name='save', value='1', format='int')
561 opObj10.addParameter(name='save', value='1', format='int')
550 opObj10.addParameter(name='figpath', value= self.volGraphPath.text())
562 opObj10.addParameter(name='figpath', value= self.volGraphPath.text())
551 opObj10.addParameter(name='figfile', value= self.volGraphPrefix.text())
563 opObj10.addParameter(name='figfile', value= self.volGraphPrefix.text())
552 self.tabgraphVoltage.setEnabled(False)
564 self.tabgraphVoltage.setEnabled(False)
553 self.console.clear()
565 self.console.clear()
554 self.console.append("If you want to save your project")
566 self.console.append("If you want to save your project")
555 self.console.append("click on your project name in the Tree Project Explorer")
567 self.console.append("click on your project name in the Tree Project Explorer")
556
568
557 #------Spectra operation--------#
569 #------Spectra operation--------#
558 @pyqtSignature("int")
570 @pyqtSignature("int")
559 def on_specOpCebnFFTpoints_stateChanged(self, p0):
571 def on_specOpCebnFFTpoints_stateChanged(self, p0):
560 """
572 """
561 Habilita la opcion de a�adir el par�metro nFFTPoints a la Unidad de Procesamiento .
573 Habilita la opcion de a�adir el par�metro nFFTPoints a la Unidad de Procesamiento .
562 """
574 """
563 if p0==2:
575 if p0==2:
564 self.specOpnFFTpoints.setEnabled(True)
576 self.specOpnFFTpoints.setEnabled(True)
565 self.specOppairsList.setEnabled(True)
577 self.specOppairsList.setEnabled(True)
566 if p0==0:
578 if p0==0:
567 self.specOpnFFTpoints.setEnabled(False)
579 self.specOpnFFTpoints.setEnabled(False)
568 self.specOppairsList.setEnabled(False)
580 self.specOppairsList.setEnabled(False)
569
581
570 @pyqtSignature("int")
582 @pyqtSignature("int")
571 def on_specOpCebChannel_stateChanged(self, p0):
583 def on_specOpCebChannel_stateChanged(self, p0):
572 """
584 """
573 Habilita la opcion de a�adir el par�metro nFFTPoints a la Unidad de Procesamiento .
585 Habilita la opcion de a�adir el par�metro nFFTPoints a la Unidad de Procesamiento .
574 """
586 """
575 if p0==2:
587 if p0==2:
576 self.specOpChannel.setEnabled(True)
588 self.specOpChannel.setEnabled(True)
577 self.specOpComChannel.setEnabled(True)
589 self.specOpComChannel.setEnabled(True)
578 if p0==0:
590 if p0==0:
579 self.specOpChannel.setEnabled(False)
591 self.specOpChannel.setEnabled(False)
580 self.specOpComChannel.setEnabled(False)
592 self.specOpComChannel.setEnabled(False)
581
593
582 @pyqtSignature("int")
594 @pyqtSignature("int")
583 def on_specOpCebHeights_stateChanged(self, p0):
595 def on_specOpCebHeights_stateChanged(self, p0):
584 """
596 """
585 Habilita la opcion de a�adir el par�metro nFFTPoints a la Unidad de Procesamiento .
597 Habilita la opcion de a�adir el par�metro nFFTPoints a la Unidad de Procesamiento .
586 """
598 """
587 if p0==2:
599 if p0==2:
588 self.specOpComHeights.setEnabled(True)
600 self.specOpComHeights.setEnabled(True)
589 self.specOpHeights.setEnabled(True)
601 self.specOpHeights.setEnabled(True)
590 if p0==0:
602 if p0==0:
591 self.specOpComHeights.setEnabled(False)
603 self.specOpComHeights.setEnabled(False)
592 self.specOpHeights.setEnabled(False)
604 self.specOpHeights.setEnabled(False)
593
605
594
606
595 @pyqtSignature("int")
607 @pyqtSignature("int")
596 def on_specOpCebIncoherent_stateChanged(self, p0):
608 def on_specOpCebIncoherent_stateChanged(self, p0):
597 """
609 """
598 Habilita la opcion de a�adir el par�metro nFFTPoints a la Unidad de Procesamiento .
610 Habilita la opcion de a�adir el par�metro nFFTPoints a la Unidad de Procesamiento .
599 """
611 """
600 if p0==2:
612 if p0==2:
601 self.specOpIncoherent.setEnabled(True)
613 self.specOpIncoherent.setEnabled(True)
602 if p0==0:
614 if p0==0:
603 self.specOpIncoherent.setEnabled(False)
615 self.specOpIncoherent.setEnabled(False)
604
616
605 @pyqtSignature("int")
617 @pyqtSignature("int")
606 def on_specOpCebRemoveDC_stateChanged(self, p0):
618 def on_specOpCebRemoveDC_stateChanged(self, p0):
607 """
619 """
608 Habilita la opcion de a�adir el par�metro nFFTPoints a la Unidad de Procesamiento .
620 Habilita la opcion de a�adir el par�metro nFFTPoints a la Unidad de Procesamiento .
609 """
621 """
610 if p0==2:
622 if p0==2:
611 self.specOpRemoveDC.setEnabled(True)
623 self.specOpRemoveDC.setEnabled(True)
612 if p0==0:
624 if p0==0:
613 self.specOpRemoveDC.setEnabled(False)
625 self.specOpRemoveDC.setEnabled(False)
614
626
615 @pyqtSignature("")
627 @pyqtSignature("")
616 def on_specOpOk_clicked(self):
628 def on_specOpOk_clicked(self):
617 """
629 """
618 AÑADE OPERACION SPECTRA
630 AÑADE OPERACION SPECTRA
619 """
631 """
620 for i in self.__arbolDict:
632 for i in self.__arbolDict:
621 if self.__arbolDict[i]==self.indexclick:
633 if self.__arbolDict[i]==self.indexclick:
622 if self.__upObjDict.has_key(i)==True:
634 if self.__upObjDict.has_key(i)==True:
623 self.upObj=self.__upObjDict[i]
635 self.upObj=self.__upObjDict[i]
624 # self.operObjList.append(opObj10)
636 # self.operObjList.append(opObj10)
625 if self.specOpCebnFFTpoints.isChecked():
637 if self.specOpCebnFFTpoints.isChecked():
626 value1=self.specOpnFFTpoints.text()
638 value1=self.specOpnFFTpoints.text()
627 value2=self.specOppairsList.text()
639 value2=self.specOppairsList.text()
628 self.upObj.addParameter(name='nFFTPoints',value=value1,format='int')
640 self.upObj.addParameter(name='nFFTPoints',value=value1,format='int')
629 self.upObj.addParameter(name='pairsList', value=value2, format='pairslist')
641 self.upObj.addParameter(name='pairsList', value=value2, format='pairslist')
630
642
631 if self.specOpCebHeights.isChecked():
643 if self.specOpCebHeights.isChecked():
632 if self.specOpComHeights.currentIndex()== 0:
644 if self.specOpComHeights.currentIndex()== 0:
633 opObj10=self.upObj.addOperation(name='selectHeights')
645 opObj10=self.upObj.addOperation(name='selectHeights')
634 value=self.specOpHeights.text()
646 value=self.specOpHeights.text()
635 valueList=value.split(',')
647 valueList=value.split(',')
636 opObj10.addParameter(name='minHei', value=valueList[0], format='float')
648 opObj10.addParameter(name='minHei', value=valueList[0], format='float')
637 opObj10.addParameter(name='maxHei', value=valueList[1], format='float')
649 opObj10.addParameter(name='maxHei', value=valueList[1], format='float')
638 else:
650 else:
639 opObj10=self.upObj.addOperation(name='selectHeightsByIndex')
651 opObj10=self.upObj.addOperation(name='selectHeightsByIndex')
640 value=self.specOpHeights.text()
652 value=self.specOpHeights.text()
641 valueList=value.split(',')
653 valueList=value.split(',')
642 opObj10.addParameter(name='minIndex', value=valueList[0], format='float')
654 opObj10.addParameter(name='minIndex', value=valueList[0], format='float')
643 opObj10.addParameter(name='maxIndex', value=valueList[1], format='float')
655 opObj10.addParameter(name='maxIndex', value=valueList[1], format='float')
644
656
645 if self.specOpCebChannel.isChecked():
657 if self.specOpCebChannel.isChecked():
646 if self.specOpComChannel.currentIndex()== 0:
658 if self.specOpComChannel.currentIndex()== 0:
647 opObj10=self.upObj.addOperation(name="selectChannels")
659 opObj10=self.upObj.addOperation(name="selectChannels")
648 self.operObjList.append(opObj10)
660 self.operObjList.append(opObj10)
649 value=self.specOpChannel.text()
661 value=self.specOpChannel.text()
650 opObj10.addParameter(name='channelList', value=value, format='intlist')
662 opObj10.addParameter(name='channelList', value=value, format='intlist')
651 else:
663 else:
652 opObj10=self.upObj.addOperation(name="selectChannelsByIndex")
664 opObj10=self.upObj.addOperation(name="selectChannelsByIndex")
653 self.operObjList.append(opObj10)
665 self.operObjList.append(opObj10)
654 value=self.specOpChannel.text()
666 value=self.specOpChannel.text()
655 opObj10.addParameter(name='channelIndexList', value=value, format='intlist')
667 opObj10.addParameter(name='channelIndexList', value=value, format='intlist')
656
668
657 if self.specOpCebIncoherent.isChecked():
669 if self.specOpCebIncoherent.isChecked():
658 opObj10=self.upObj.addOperation(name='IncohInt', optype='other')
670 opObj10=self.upObj.addOperation(name='IncohInt', optype='other')
659 self.operObjList.append(opObj10)
671 self.operObjList.append(opObj10)
660 value=self.specOpIncoherent.text()
672 value=self.specOpIncoherent.text()
661 opObj10.addParameter(name='n', value=value, format='float')
673 opObj10.addParameter(name='n', value=value, format='float')
662
674
663 if self.specOpCebRemoveDC.isChecked():
675 if self.specOpCebRemoveDC.isChecked():
664 opObj10=self.upObj.addOperation(name='removeDC')
676 opObj10=self.upObj.addOperation(name='removeDC')
665 value=self.specOpRemoveDC.text()
677 value=self.specOpRemoveDC.text()
666 opObj10.addParameter(name='mode', value=value,format='int')
678 opObj10.addParameter(name='mode', value=value,format='int')
667
679
668
680
669 self.tabopSpectra.setEnabled(False)
681 self.tabopSpectra.setEnabled(False)
670 self.console.clear()
682 self.console.clear()
671 self.console.append("If you want to save your project")
683 self.console.append("If you want to save your project")
672 self.console.append("click on your project name in the Tree Project Explorer")
684 self.console.append("click on your project name in the Tree Project Explorer")
673
685
674
686
675 #------Spectra Graph--------#
687 #------Spectra Graph--------#
676 @pyqtSignature("int")
688 @pyqtSignature("int")
677 def on_specGraphComType_activated(self,index):
689 def on_specGraphComType_activated(self,index):
678 if index==0:
690 if index==0:
679 print "return"
691 print "return"
680
692
681 if index==1:
693 if index==1:
682 self.setspecGraph()
694 self.setspecGraph()
683 self.specGraphTimeRange.setEnabled(False)
695 self.specGraphTimeRange.setEnabled(False)
684
696
685 if index==2:
697 if index==2:
686 self.setspecGraph()
698 self.setspecGraph()
687 self.specGraphTimeRange.setEnabled(False)
699 self.specGraphTimeRange.setEnabled(False)
688
700
689 if index==3:
701 if index==3:
690 self.setspecGraph()
702 self.setspecGraph()
691
703
692
704
693 if index==4:
705 if index==4:
694 self.setspecGraph()
706 self.setspecGraph()
695 self.specGraphTimeRange.setEnabled(False)
707 self.specGraphTimeRange.setEnabled(False)
696
708
697 if index==5:
709 if index==5:
698 self.setspecGraph()
710 self.setspecGraph()
699
711
700 if index==6:
712 if index==6:
701 self.setspecGraph()
713 self.setspecGraph()
702 self.specGgraphzrange.setEnabled(False)
714 self.specGgraphzrange.setEnabled(False)
703
715
704 @pyqtSignature("int")
716 @pyqtSignature("int")
705 def on_specGraphCebSave_stateChanged(self, p0):
717 def on_specGraphCebSave_stateChanged(self, p0):
706 """
718 """
707 """
719 """
708 if p0==2:
720 if p0==2:
709 self.specGraphPath.setEnabled(True)
721 self.specGraphPath.setEnabled(True)
710 self.specGraphPrefix.setEnabled(True)
722 self.specGraphPrefix.setEnabled(True)
711 self.specGraphToolPath.setEnabled(True)
723 self.specGraphToolPath.setEnabled(True)
712 if p0==0:
724 if p0==0:
713 self.specGraphPath.setEnabled(False)
725 self.specGraphPath.setEnabled(False)
714 self.specGraphPrefix.setEnabled(False)
726 self.specGraphPrefix.setEnabled(False)
715 slef.specGraphToolPath.setEnabled(False)
727 slef.specGraphToolPath.setEnabled(False)
716 @pyqtSignature("")
728 @pyqtSignature("")
717 def on_specGraphToolPath_clicked(self):
729 def on_specGraphToolPath_clicked(self):
718 """
730 """
719 """
731 """
720 self.savePath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
732 self.savePath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
721 self.specGraphPath.setText(self.savePath)
733 self.specGraphPath.setText(self.savePath)
722 if not os.path.exists(self.savePath):
734 if not os.path.exists(self.savePath):
723 self.console.clear()
735 self.console.clear()
724 self.console.append("Write a correct a path")
736 self.console.append("Write a correct a path")
725 return
737 return
726
738
727 @pyqtSignature("")
739 @pyqtSignature("")
728 def on_specGraphOk_clicked(self):
740 def on_specGraphOk_clicked(self):
729
741
730 for i in self.__arbolDict:
742 for i in self.__arbolDict:
731 if self.__arbolDict[i]==self.indexclick:
743 if self.__arbolDict[i]==self.indexclick:
732 if self.__upObjDict.has_key(i)==True:
744 if self.__upObjDict.has_key(i)==True:
733 self.upObj=self.__upObjDict[i]
745 self.upObj=self.__upObjDict[i]
734
746
735 if self.specGraphComType.currentIndex()==1:
747 if self.specGraphComType.currentIndex()==1:
736 opObj10=self.upObj.addOperation(name='SpectraPlot',optype='other')
748 opObj10=self.upObj.addOperation(name='SpectraPlot',optype='other')
737 self.properSpecGraph(opObj10)
749 self.properSpecGraph(opObj10)
738
750
739 if self.specGraphComType.currentIndex()==2:
751 if self.specGraphComType.currentIndex()==2:
740 opObj10=self.upObj.addOperation(name='CrossSpectraPlot',optype='other')
752 opObj10=self.upObj.addOperation(name='CrossSpectraPlot',optype='other')
741 self.properSpecGraph(opObj10)
753 self.properSpecGraph(opObj10)
742 opObj10.addParameter(name='power_cmap', value='jet', format='str')
754 opObj10.addParameter(name='power_cmap', value='jet', format='str')
743 opObj10.addParameter(name='coherence_cmap', value='jet', format='str')
755 opObj10.addParameter(name='coherence_cmap', value='jet', format='str')
744 opObj10.addParameter(name='phase_cmap', value='RdBu_r', format='str')
756 opObj10.addParameter(name='phase_cmap', value='RdBu_r', format='str')
745
757
746 if self.specGraphComType.currentIndex()==3:
758 if self.specGraphComType.currentIndex()==3:
747 opObj10=self.upObj.addOperation(name='RTIPlot',optype='other')
759 opObj10=self.upObj.addOperation(name='RTIPlot',optype='other')
748 self.properSpecGraph(opObj10)
760 self.properSpecGraph(opObj10)
749 value =self.specGraphTimeRange.text()
761 value =self.specGraphTimeRange.text()
750 opObj10.addParameter(name='timerange', value=value, format='int')
762 opObj10.addParameter(name='timerange', value=value, format='int')
751
763
752 if self.specGraphComType.currentIndex()==4:
764 if self.specGraphComType.currentIndex()==4:
753 opObj10=self.upObj.addOperation(name='CoherenceMap',optype='other')
765 opObj10=self.upObj.addOperation(name='CoherenceMap',optype='other')
754 self.properSpecGraph(opObj10)
766 self.properSpecGraph(opObj10)
755 opObj10.addParameter(name='coherence_cmap', value='jet', format='str')
767 opObj10.addParameter(name='coherence_cmap', value='jet', format='str')
756 opObj10.addParameter(name='phase_cmap', value='RdBu_r', format='str')
768 opObj10.addParameter(name='phase_cmap', value='RdBu_r', format='str')
757
769
758 if self.specGraphComType.currentIndex()==5:
770 if self.specGraphComType.currentIndex()==5:
759 opObj10=self.upObj.addOperation(name='RTIfromNoise',optype='other')
771 opObj10=self.upObj.addOperation(name='RTIfromNoise',optype='other')
760 self.properSpecGraph(opObj10)
772 self.properSpecGraph(opObj10)
761 self.specGgraphzrange.setEnabled(False)
773 self.specGgraphzrange.setEnabled(False)
762
774
763 if self.specGraphComType.currentIndex()==6:
775 if self.specGraphComType.currentIndex()==6:
764 opObj10=self.upObj.addOperation(name='ProfilePlot',optype='other')
776 opObj10=self.upObj.addOperation(name='ProfilePlot',optype='other')
765 self.properSpecGraph(opObj10)
777 self.properSpecGraph(opObj10)
766 self.specGgraphzrange.setEnabled(False)
778 self.specGgraphzrange.setEnabled(False)
767
779
768
780
769 #self.tabgraphSpectra.setEnabled(False)
781 #self.tabgraphSpectra.setEnabled(False)
770 self.specGraphComType.setEnabled(False)
782 self.specGraphComType.setEnabled(False)
771 self.console.clear()
783 self.console.clear()
772 self.console.append("If you want to save your project")
784 self.console.append("If you want to save your project")
773 self.console.append("click on your project name in the Tree Project Explorer")
785 self.console.append("click on your project name in the Tree Project Explorer")
774
786
775 @pyqtSignature("")
787 @pyqtSignature("")
776 def on_specGraphClear_clicked(self):
788 def on_specGraphClear_clicked(self):
777 self.clearspecGraph()
789 self.clearspecGraph()
778
790
779 def properSpecGraph(self,opObj10):
791 def properSpecGraph(self,opObj10):
780
792
781 self.operObjList.append(opObj10)
793 self.operObjList.append(opObj10)
782 wintitle=self.specGraphWinTitle.text()
794 wintitle=self.specGraphWinTitle.text()
783 opObj10.addParameter(name='wintitle', value=wintitle, format='str')
795 opObj10.addParameter(name='wintitle', value=wintitle, format='str')
784 idfigure=self.specGraphIdFigure.text()
796 idfigure=self.specGraphIdFigure.text()
785
797
786 opObj10.addParameter(name='idfigure', value=idfigure, format='int')
798 opObj10.addParameter(name='idfigure', value=idfigure, format='int')
787
799
788 channelList=self.specGraphChannelList.text()
800 channelList=self.specGraphChannelList.text()
789 if self.specGraphChannelList.isModified():
801 if self.specGraphChannelList.isModified():
790 opObj10.addParameter(name='channelList', value=channelList, format='intlist')
802 opObj10.addParameter(name='channelList', value=channelList, format='intlist')
791
803
792 xvalue= self.specGgraphxrange.text()
804 xvalue= self.specGgraphxrange.text()
793 if self.specGgraphxrange.isModified():
805 if self.specGgraphxrange.isModified():
794 xvalueList=xvalue.split(',')
806 xvalueList=xvalue.split(',')
795 try:
807 try:
796 value=int(xvalueList[0])
808 value=int(xvalueList[0])
797 value=int(xvalueList[1])
809 value=int(xvalueList[1])
798 opObj10.addParameter(name='xmin', value=xvalueList[0], format='int')
810 opObj10.addParameter(name='xmin', value=xvalueList[0], format='int')
799 opObj10.addParameter(name='xmax', value=xvalueList[1], format='int')
811 opObj10.addParameter(name='xmax', value=xvalueList[1], format='int')
800 except:
812 except:
801 return 0
813 return 0
802
814
803 yvalue= self.specGgraphyrange.text()
815 yvalue= self.specGgraphyrange.text()
804 if self.specGgraphyrange.isModified():
816 if self.specGgraphyrange.isModified():
805 yvalueList=yvalue.split(",")
817 yvalueList=yvalue.split(",")
806 try:
818 try:
807 value=int(yvalueList[0])
819 value=int(yvalueList[0])
808 value=int(yvalueList[1])
820 value=int(yvalueList[1])
809 opObj10.addParameter(name='ymin', value=yvalueList[0], format='int')
821 opObj10.addParameter(name='ymin', value=yvalueList[0], format='int')
810 opObj10.addParameter(name='ymax', value=yvalueList[1], format='int')
822 opObj10.addParameter(name='ymax', value=yvalueList[1], format='int')
811 except:
823 except:
812 return 0
824 return 0
813
825
814 zvalue= self.specGgraphzrange.text()
826 zvalue= self.specGgraphzrange.text()
815 if self.specGgraphzrange.isModified():
827 if self.specGgraphzrange.isModified():
816 zvalueList=zvalue.split(",")
828 zvalueList=zvalue.split(",")
817 try:
829 try:
818 value=int(zvalueList[0])
830 value=int(zvalueList[0])
819 value=int(zvalueList[1])
831 value=int(zvalueList[1])
820 opObj10.addParameter(name='zmin', value=zvalueList[0], format='int')
832 opObj10.addParameter(name='zmin', value=zvalueList[0], format='int')
821 opObj10.addParameter(name='zmax', value=zvalueList[1], format='int')
833 opObj10.addParameter(name='zmax', value=zvalueList[1], format='int')
822 except:
834 except:
823 return 0
835 return 0
824
836
825
826 if self.specGraphCebSave.isChecked():
837 if self.specGraphCebSave.isChecked():
827 opObj10.addParameter(name='save', value='1', format='bool')
838 opObj10.addParameter(name='save', value='1', format='bool')
828 opObj10.addParameter(name='figpath', value= self.specGraphPath.text(),format='str')
839 opObj10.addParameter(name='figpath', value= self.specGraphPath.text(),format='str')
829 opObj10.addParameter(name='figfile', value= self.specGraphPrefix.text(),format='str')
840 opObj10.addParameter(name='figfile', value= self.specGraphPrefix.text(),format='str')
830
841
831
842
832 def setspecGraph(self):
843 def setspecGraph(self):
833 self.specGraphIdFigure.setEnabled(True)
844 self.specGraphIdFigure.setEnabled(True)
834 self.specGraphWinTitle.setEnabled(True)
845 self.specGraphWinTitle.setEnabled(True)
835 self.specGraphChannelList.setEnabled(True)
846 self.specGraphChannelList.setEnabled(True)
836 self.specGgraphxrange.setEnabled(True)
847 self.specGgraphxrange.setEnabled(True)
837 self.specGgraphyrange.setEnabled(True)
848 self.specGgraphyrange.setEnabled(True)
838 self.specGgraphzrange.setEnabled(True)
849 self.specGgraphzrange.setEnabled(True)
839 self.specGraphTimeRange.setEnabled(True)
850 self.specGraphTimeRange.setEnabled(True)
840 # self.specGraphPath.setEnabled(True)
851 # self.specGraphPath.setEnabled(True)
841 # self.specGraphToolPath.setEnabled(True)
852 # self.specGraphToolPath.setEnabled(True)
842 # self.specGraphPrefix.setEnabled(True)
853 # self.specGraphPrefix.setEnabled(True)
843 def clearspecGraph(self):
854 def clearspecGraph(self):
844 self.specGraphComType.setEnabled(True)
855 self.specGraphComType.setEnabled(True)
845 self.specGraphComType.setCurrentIndex(0)
856 self.specGraphComType.setCurrentIndex(0)
846 self.specGraphIdFigure.clear()
857 self.specGraphIdFigure.clear()
847 self.specGraphWinTitle.clear()
858 self.specGraphWinTitle.clear()
848 self.specGraphChannelList.clear()
859 self.specGraphChannelList.clear()
849 self.specGgraphxrange.clear()
860 self.specGgraphxrange.clear()
850 self.specGgraphyrange.clear()
861 self.specGgraphyrange.clear()
851 self.specGgraphzrange.clear()
862 self.specGgraphzrange.clear()
852 self.specGraphTimeRange.clear()
863 self.specGraphTimeRange.clear()
853
864
854 def playProject(self):
865 def playProject(self):
855
866
856 for i in self.__arbolDict:
867 for i in self.__arbolDict:
857 if self.__arbolDict[i]==self.indexclick:
868 if self.__arbolDict[i]==self.indexclick:
858 self.projectObj=self.__projObjDict[i]
869 self.projectObj=self.__projObjDict[i]
859 filename=self.pathWorkSpace+str(self.projectObj.name)+str(self.projectObj.id)+".xml"
870 else:
860 self.projectObj.readXml(filename)
871 self.console.clear()
861 #controllerObj.printattr()
872 self.console.append("Please, Select the poject")
862
873 return 0
863 self.projectObj.createObjects()
874 filename=self.pathWorkSpace+str(self.projectObj.name)+str(self.projectObj.id)+".xml"
864 self.projectObj.connectObjects()
875 self.projectObj.readXml(filename)
865 self.projectObj.run()
876 #controllerObj.printattr()
866 self.console.clear()
877
867 self.console.append("Please Wait...")
878 self.projectObj.createObjects()
879 self.projectObj.connectObjects()
880 self.projectObj.run()
881 self.console.clear()
882 self.console.append("Please Wait...")
868
883
869
884
870 def saveProject(self):
885 def saveProject(self):
871
886
872 for i in self.__arbolDict:
887 for i in self.__arbolDict:
873 if self.__arbolDict[i]==self.indexclick:
888 if self.__arbolDict[i]==self.indexclick:
874 self.projectObj=self.__projObjDict[i]
889 self.projectObj=self.__projObjDict[i]
890 else:
891 self.console.clear()
892 self.console.append("First, Click on current project")
893 return 0
875
894
876 filename=self.pathWorkSpace+str(self.projectObj.name)+str(self.projectObj.id)+".xml"
895 filename=self.pathWorkSpace+str(self.projectObj.name)+str(self.projectObj.id)+".xml"
877 self.projectObj.writeXml(filename)
896 self.projectObj.writeXml(filename)
878 self.console.clear()
897 self.console.clear()
879 self.console.append("Now, you can push the icon Start in the toolbar or push start in menu run")
898 self.console.append("Now, you can push the icon Start in the toolbar or push start in menu run")
880
899
881
900
882 def clickFunction(self,index):
901 def clickFunction(self,index):
883 self.indexclick= index.model().itemFromIndex(index)
902 self.indexclick= index.model().itemFromIndex(index)
884
903
885 def doubleclickFunction(self):
904 def doubleclickFunction(self):
886 for i in self.__arbolDict:
905 for i in self.__arbolDict:
887 if self.__arbolDict[i]==self.indexclick:
906 if self.__arbolDict[i]==self.indexclick:
888 if self.__projObjDict.has_key(i)==True:
907 if self.__projObjDict.has_key(i)==True:
908 #self.tabProject.setEnabled(True)
889 self.proName.setText(str(self.__projObjDict[i].name))
909 self.proName.setText(str(self.__projObjDict[i].name))
890 self.proDataPath.setText(str(self.readUnitConfObjList[i-1].path))
910 self.proDataPath.setText(str(self.readUnitConfObjList[i-1].path))
911
912 startDate = str(self.readUnitConfObjList[i-1].startDate)
913 endDate = str(self.readUnitConfObjList[i-1].endDate)
914 self.proComStartDate.clear()
915 self.proComEndDate.clear()
916 self.proComStartDate.addItem( startDate)
917 self.proComEndDate.addItem(endDate)
918 startTime=str(self.readUnitConfObjList[i-1].startTime)
919 endTime=str(self.readUnitConfObjList[i-1].endTime)
920 starlist=startTime.split(":")
921 endlist=endTime.split(":")
922 self.time.setHMS(int(starlist[0]),int(starlist[1]),int(starlist[2]))
923 self.proStartTime.setTime(self.time)
924 self.time.setHMS(int(endlist[0]),int(endlist[1]),int(endlist[2]))
925 self.proEndTime.setTime(self.time)
926
891 self.model_2=treeModel()
927 self.model_2=treeModel()
892 self.model_2.setParams(name = str(self.__projObjDict[i].name),
928 self.model_2.setParams(name = str(self.__projObjDict[i].name),
893 directorio = str(self.readUnitConfObjList[i-1].path),
929 directorio = str(self.readUnitConfObjList[i-1].path),
894 workspace = self.pathWorkSpace,
930 workspace = self.pathWorkSpace,
895 remode = "off Line",
931 remode = "Off Line",
896 dataformat = self.readUnitConfObjList[i-1].datatype,
932 dataformat = self.readUnitConfObjList[i-1].datatype,
897 date = str(self.readUnitConfObjList[i-1].startDate)+"-"+str(self.readUnitConfObjList[i-1].endDate),
933 date = str(self.readUnitConfObjList[i-1].startDate)+"-"+str(self.readUnitConfObjList[i-1].endDate),
898 initTime = str(self.readUnitConfObjList[i-1].startTime),
934 initTime = str(self.readUnitConfObjList[i-1].startTime),
899 endTime = str(self.readUnitConfObjList[i-1].endTime),
935 endTime = str(self.readUnitConfObjList[i-1].endTime),
900 timezone = "Local" ,
936 timezone = "Local" ,
901 Summary = str(self.__projObjDict[i].description))
937 Summary = str(self.__projObjDict[i].description))
902 self.treeProjectProperties.setModel(self.model_2)
938 self.treeProjectProperties.setModel(self.model_2)
903 self.treeProjectProperties.expandAll()
939 self.treeProjectProperties.expandAll()
904 self.tabWidgetProject.setCurrentWidget(self.tabProject)
940 self.tabWidgetProject.setCurrentWidget(self.tabProject)
905
941
906 if self.indexclick.text()=='Voltage':
942 if self.indexclick.text()=='Voltage':
907 self.tabVoltage.setEnabled(True)
943 self.tabVoltage.setEnabled(True)
908 self.tabSpectra.setEnabled(False)
944 self.tabSpectra.setEnabled(False)
909 self.tabCorrelation.setEnabled(False)
945 self.tabCorrelation.setEnabled(False)
910 self.tabWidgetProject.setCurrentWidget(self.tabVoltage)
946 self.tabWidgetProject.setCurrentWidget(self.tabVoltage)
911
947
912 self.volOpComChannels.setEnabled(False)
948 self.volOpComChannels.setEnabled(False)
913 self.volOpComHeights.setEnabled(False)
949 self.volOpComHeights.setEnabled(False)
914 self.volOpFilter.setEnabled(False)
950 self.volOpFilter.setEnabled(False)
915 self.volOpComProfile.setEnabled(False)
951 self.volOpComProfile.setEnabled(False)
916 self.volOpComCode.setEnabled(False)
952 self.volOpComCode.setEnabled(False)
917 self.volOpCohInt.setEnabled(False)
953 self.volOpCohInt.setEnabled(False)
918 self.volOpChannel.clear()
954 self.volOpChannel.clear()
919 self.volOpHeights.clear()
955 self.volOpHeights.clear()
920 self.volOpProfile.clear()
956 self.volOpProfile.clear()
921 self.volOpFilter.clear()
957 self.volOpFilter.clear()
922
958
923 self.volOpChannel.setEnabled(False)
959 self.volOpChannel.setEnabled(False)
924 self.volOpHeights.setEnabled(False)
960 self.volOpHeights.setEnabled(False)
925 self.volOpProfile.setEnabled(False)
961 self.volOpProfile.setEnabled(False)
926 self.volOpCebHeights.clearFocus()
962 self.volOpCebHeights.clearFocus()
927 # self.volOpCebChannels.clear()
963 # self.volOpCebChannels.clear()
928 # self.volOpCebHeights.clear()
964 # self.volOpCebHeights.clear()
929 # self.volOpCebFilter.clear()
965 # self.volOpCebFilter.clear()
930 # self.volOpCebProfile.clear()
966 # self.volOpCebProfile.clear()
931 # self.volOpCebDecodification.clear()
967 # self.volOpCebDecodification.clear()
932 # self.volOpCebCohInt.clear()
968 # self.volOpCebCohInt.clear()
933
969
934
970
935 if self.indexclick.text()=='Spectra':
971 if self.indexclick.text()=='Spectra':
936 self.tabSpectra.setEnabled(True)
972 self.tabSpectra.setEnabled(True)
937 self.tabVoltage.setEnabled(False)
973 self.tabVoltage.setEnabled(False)
938 self.tabCorrelation.setEnabled(False)
974 self.tabCorrelation.setEnabled(False)
939 self.tabWidgetProject.setCurrentWidget(self.tabSpectra)
975 self.tabWidgetProject.setCurrentWidget(self.tabSpectra)
940
976
941 if self.indexclick.text()=='Correlation':
977 if self.indexclick.text()=='Correlation':
942 self.tabCorrelation.setEnabled(True)
978 self.tabCorrelation.setEnabled(True)
943 self.tabVoltage.setEnabled(False)
979 self.tabVoltage.setEnabled(False)
944 self.tabSpectra.setEnabled(False)
980 self.tabSpectra.setEnabled(False)
945 self.tabWidgetProject.setCurrentWidget(self.tabCorrelation)
981 self.tabWidgetProject.setCurrentWidget(self.tabCorrelation)
946
982
947 def popup(self, pos):
983 def popup(self, pos):
948
984
949 menu = QtGui.QMenu()
985 self.menu = QtGui.QMenu()
950 quitAction0 = menu.addAction("AddNewProject")
986 quitAction0 = self.menu.addAction("AddNewProject")
951 quitAction1 = menu.addAction("AddNewProcessingUnit")
987 quitAction1 = self.menu.addAction("AddNewProcessingUnit")
952 quitAction2 = menu.addAction("Exit")
988 quitAction2 = self.menu.addAction("Delete Branch")
953 #quitAction2 = menu.addAction("Exit")
989 quitAction3 = self.menu.addAction("Exit")
954 action = menu.exec_(self.mapToGlobal(pos))
990
991 action = self.menu.exec_(self.mapToGlobal(pos))
955 if action == quitAction0:
992 if action == quitAction0:
956 self.setProjectParam()
993 self.setProjectParam()
957 if action == quitAction1:
994 if action == quitAction1:
958 self.addPU()
995 self.addPU()
959 self.console.clear()
996 self.console.clear()
960 self.console.append("Please, Choose the type of Processing Unit")
997 self.console.append("Please, Choose the type of Processing Unit")
961 self.console.append("If your Datatype is rawdata, you will start with processing unit Type Voltage")
998 self.console.append("If your Datatype is rawdata, you will start with processing unit Type Voltage")
962 self.console.append("If your Datatype is pdata, you will choose between processing unit Type Spectra or Correlation")
999 self.console.append("If your Datatype is pdata, you will choose between processing unit Type Spectra or Correlation")
963 if action == quitAction2:
1000 if action == quitAction2:
1001 for i in self.__arbolDict:
1002 if self.__arbolDict[i]==self.indexclick:
1003 self.arbolItem=self.__arbolDict[i]
1004 #print self.arbolItem
1005 #self.treeProjectExplorer.removeRows(self.arbolItem)
1006 self.arbolItem.removeRows(self.arbolItem.row(),1)
1007
1008 if action == quitAction3:
964 return
1009 return
965
1010
966 def setProjectParam(self):
1011 def setProjectParam(self):
967 self.tabWidgetProject.setEnabled(True)
1012 self.tabWidgetProject.setEnabled(True)
968 self.tabWidgetProject.setCurrentWidget(self.tabProject)
1013 self.tabWidgetProject.setCurrentWidget(self.tabProject)
969 self.tabProject.setEnabled(True)
1014 self.tabProject.setEnabled(True)
970
1015
971 self.proName.clear()
1016 self.proName.clear()
1017 self.proDataType.setText('.r')
972 self.proDataPath.clear()
1018 self.proDataPath.clear()
973 self.proComDataType.clear()
1019 self.proComDataType.clear()
974 self.proComDataType.addItem("Voltage")
1020 self.proComDataType.addItem("Voltage")
975 self.proComDataType.addItem("Spectra")
1021 self.proComDataType.addItem("Spectra")
1022
1023 self.proComStartDate.clear()
1024 self.proComEndDate.clear()
1025
976 startTime="00:00:00"
1026 startTime="00:00:00"
977 endTime="23:59:59"
1027 endTime="23:59:59"
978 starlist=startTime.split(":")
1028 starlist=startTime.split(":")
979 endlist=endTime.split(":")
1029 endlist=endTime.split(":")
980
1030
981 self.time.setHMS(int(starlist[0]),int(starlist[1]),int(starlist[2]))
1031 self.time.setHMS(int(starlist[0]),int(starlist[1]),int(starlist[2]))
982 self.proStartTime.setTime(self.time)
1032 self.proStartTime.setTime(self.time)
983 self.time.setHMS(int(endlist[0]),int(endlist[1]),int(endlist[2]))
1033 self.time.setHMS(int(endlist[0]),int(endlist[1]),int(endlist[2]))
984 self.proEndTime.setTime(self.time)
1034 self.proEndTime.setTime(self.time)
985 self.proDescription.clear()
1035 self.proDescription.clear()
986
1036
987 self.console.clear()
1037 self.console.clear()
988 self.console.append("Please, Write a name Project")
1038 self.console.append("Please, Write a name Project")
989 self.console.append("Introduce Project Parameters")
1039 self.console.append("Introduce Project Parameters")
990 self.console.append("Select data type Voltage( .rawdata) or Spectra(.pdata)")
1040 self.console.append("Select data type Voltage( .rawdata) or Spectra(.pdata)")
991
1041
992
1042
993 def addPU(self):
1043 def addPU(self):
994 self.configUP=UnitProcess(self)
1044 self.configUP=UnitProcess(self)
995 for i in self.__arbolDict:
1045 for i in self.__arbolDict:
996 if self.__arbolDict[i]==self.indexclick:
1046 if self.__arbolDict[i]==self.indexclick:
997 if self.__projObjDict.has_key(i)==True:
1047 if self.__projObjDict.has_key(i)==True:
998 self.projectObj=self.__projObjDict[int(i)]
1048 self.projectObj=self.__projObjDict[int(i)]
999 self.configUP.dataTypeProject=str(self.proComDataType.currentText())
1049 self.configUP.dataTypeProject=str(self.proComDataType.currentText())
1000 self.configUP.getfromWindowList.append(self.projectObj)
1050 self.configUP.getfromWindowList.append(self.projectObj)
1001 else:
1051 else:
1002 self.upObj=self.__upObjDict[i]
1052 self.upObj=self.__upObjDict[i]
1003 self.configUP.getfromWindowList.append(self.upObj)
1053 self.configUP.getfromWindowList.append(self.upObj)
1004
1054
1005 self.configUP.loadTotalList()
1055 self.configUP.loadTotalList()
1006 self.configUP.show()
1056 self.configUP.show()
1007 self.configUP.closed.connect(self.createUP)
1057 self.configUP.closed.connect(self.createUP)
1008
1058
1009 def createUP(self):
1059 def createUP(self):
1010
1060
1011 if not self.configUP.create:
1061 if not self.configUP.create:
1012 return
1062 return
1013
1063
1014 self.uporProObjRecover=self.configUP.getFromWindow
1064 self.uporProObjRecover=self.configUP.getFromWindow
1015
1065
1016 self.upType = self.configUP.typeofUP
1066 self.upType = self.configUP.typeofUP
1017 for i in self.__arbolDict:
1067 for i in self.__arbolDict:
1018 if self.__arbolDict[i]==self.indexclick:
1068 if self.__arbolDict[i]==self.indexclick:
1019 if self.__projObjDict.has_key(i)==True:
1069 if self.__projObjDict.has_key(i)==True:
1020 self.projectObj=self.__projObjDict[int(i)]
1070 self.projectObj=self.__projObjDict[int(i)]
1021
1071
1022 if self.__upObjDict.has_key(i)==True:
1072 if self.__upObjDict.has_key(i)==True:
1023 self.upObj=self.__upObjDict[i]
1073 self.upObj=self.__upObjDict[i]
1024 getIdProject=self.upObj.id[0]
1074 getIdProject=self.upObj.id[0]
1025 self.projectObj=self.__projObjDict[int(getIdProject)]
1075 self.projectObj=self.__projObjDict[int(getIdProject)]
1026
1076
1027 datatype=str(self.upType)
1077 datatype=str(self.upType)
1028 uporprojectObj=self.uporProObjRecover
1078 uporprojectObj=self.uporProObjRecover
1029
1079
1030 if uporprojectObj.getElementName()=='ProcUnit':
1080 if uporprojectObj.getElementName()=='ProcUnit':
1031 inputId=uporprojectObj.getId()
1081 inputId=uporprojectObj.getId()
1032 self.console.clear()
1082 self.console.clear()
1033 self.console.append("Double Clik on the Processing Unit to enable the tab")
1083 self.console.append("Double Clik on the Processing Unit to enable the tab")
1034 self.console.append("Before Add other Processing Unit complete the tab")
1084 self.console.append("Before Add other Processing Unit complete the tab")
1035 else:
1085 else:
1036 inputId=self.readUnitConfObjList[uporprojectObj.id-1].getId()
1086 inputId=self.readUnitConfObjList[uporprojectObj.id-1].getId()
1037 self.console.clear()
1087 self.console.clear()
1038 self.console.append("Double Clik on the Processing Unit to enable the tab")
1088 self.console.append("Double Clik on the Processing Unit to enable the tab")
1039 self.console.append("Before Add other Project or Processing Unit complete the tab")
1089 self.console.append("Before Add other Project or Processing Unit complete the tab")
1040
1090
1041 self.procUnitConfObj1 = self.projectObj.addProcUnit(datatype=datatype, inputId=inputId)
1091 self.procUnitConfObj1 = self.projectObj.addProcUnit(datatype=datatype, inputId=inputId)
1042 self.__upObjDict[self.procUnitConfObj1.id]= self.procUnitConfObj1
1092 self.__upObjDict[self.procUnitConfObj1.id]= self.procUnitConfObj1
1093
1043 self.parentItem=self.__arbolDict[uporprojectObj.id]
1094 self.parentItem=self.__arbolDict[uporprojectObj.id]
1044 self.numbertree=int(self.procUnitConfObj1.getId())-1
1095 self.numbertree=int(self.procUnitConfObj1.getId())-1
1045 self.__arbolDict[self.procUnitConfObj1.id]=QtGui.QStandardItem(QtCore.QString(datatype).arg(self.numbertree))
1096 self.__arbolDict[self.procUnitConfObj1.id]=QtGui.QStandardItem(QtCore.QString(datatype).arg(self.numbertree))
1046 self.parentItem.appendRow(self.__arbolDict[self.procUnitConfObj1.id])
1097 self.parentItem.appendRow(self.__arbolDict[self.procUnitConfObj1.id])
1047 self.parentItem=self.__arbolDict[self.procUnitConfObj1.id]
1098 self.parentItem=self.__arbolDict[self.procUnitConfObj1.id]
1048 self.treeProjectExplorer.expandAll()
1099 self.treeProjectExplorer.expandAll()
1049
1100
1050
1101
1051 def searchData(self,path,ext,walk,expLabel=''):
1102 def searchData(self,path,ext,walk,expLabel=''):
1052 dateList=[]
1103 dateList=[]
1053 fileList=[]
1104 fileList=[]
1054 if walk== 0:
1105 if walk== 0:
1055 files= os.listdir(path)
1106 files= os.listdir(path)
1056 for thisFile in files:
1107 for thisFile in files:
1057 if not os.path.isfile(thisFile):
1058 continue
1059 thisExt = os.path.splitext(thisFile)[-1]
1108 thisExt = os.path.splitext(thisFile)[-1]
1060
1109 print thisExt
1061 if thisExt != ext:
1110 if thisExt != ext:
1111 self.console.clear()
1112 self.console.append("There is no datatype selected in the path Directory")
1113 self.proOk.setEnabled(False)
1062 continue
1114 continue
1063
1115
1064 fileList.append(file)
1116 fileList.append(thisFile)
1065
1117
1066 for thisFile in fileList:
1118 for thisFile in fileList:
1067
1119
1068 if not isRadarFile(thisFile):
1120 if not isRadarFile(thisFile):
1069 self.console.clear()
1121 self.console.clear()
1070 self.console.append("Please, Choose the Correct Path")
1122 self.console.append("Please, Choose the Correct Path")
1071 self.proOk.setEnabled(False)
1123 self.proOk.setEnabled(False)
1072 continue
1124 continue
1073
1125
1074 year = int(thisFile[1:5])
1126 year = int(thisFile[1:5])
1075 doy = int(thisFile[5:8])
1127 doy = int(thisFile[5:8])
1076
1128
1077 date = datetime.date(year,1,1) + datetime.timedelta(doy-1)
1129 date = datetime.date(year,1,1) + datetime.timedelta(doy-1)
1078 dateformat = date.strftime("%Y/%m/%d")
1130 dateformat = date.strftime("%Y/%m/%d")
1079
1131
1080 if dateformat not in dateList:
1132 if dateformat not in dateList:
1081 dateList.append(dateformat)
1133 dateList.append(dateformat)
1082
1134
1083 if walk == 1:
1135 if walk == 1:
1084
1136
1085 dirList = os.listdir(path)
1137 dirList = os.listdir(path)
1086
1138
1087 dirList.sort()
1139 dirList.sort()
1088
1140
1089 dateList = []
1141 dateList = []
1090
1142
1091 for thisDir in dirList:
1143 for thisDir in dirList:
1092
1144
1093 if not isRadarPath(thisDir):
1145 if not isRadarPath(thisDir):
1094 self.console.clear()
1146 self.console.clear()
1095 self.console.append("Please, Choose the Correct Path")
1147 self.console.append("Please, Choose the Correct Path")
1096 self.proOk.setEnabled(False)
1148 self.proOk.setEnabled(False)
1097 continue
1149 continue
1098
1150
1099 doypath = os.path.join(path, thisDir, expLabel)
1151 doypath = os.path.join(path, thisDir, expLabel)
1100
1152 if not os.path.exists(doypath):
1153 self.console.clear()
1154 self.console.append("Please, Choose the Correct Path")
1155 return
1101 files = os.listdir(doypath)
1156 files = os.listdir(doypath)
1102 fileList = []
1157 fileList = []
1103
1158
1104 for thisFile in files:
1159 for thisFile in files:
1105
1160 thisExt=os.path.splitext(thisFile)[-1]
1106 if os.path.splitext(thisFile)[-1] != ext:
1161 if thisExt != ext:
1107 continue
1162 self.console.clear()
1163 self.console.append("There is no datatype selected in the Path Directory")
1164 self.proOk.setEnabled(False)
1165 continue
1108
1166
1109 if not isRadarFile(thisFile):
1167 if not isRadarFile(thisFile):
1110 self.proOk.setEnabled(False)
1168 self.proOk.setEnabled(False)
1111 self.console.clear()
1169 self.console.clear()
1112 self.console.append("Please, Choose the Correct Path")
1170 self.console.append("Please, Choose the Correct Path")
1113 continue
1171 continue
1114
1172
1115 fileList.append(thisFile)
1173 fileList.append(thisFile)
1116 break
1174 break
1117
1175
1118 if fileList == []:
1176 if fileList == []:
1119 continue
1177 continue
1120
1178
1121 year = int(thisDir[1:5])
1179 year = int(thisDir[1:5])
1122 doy = int(thisDir[5:8])
1180 doy = int(thisDir[5:8])
1123
1181
1124 date = datetime.date(year,1,1) + datetime.timedelta(doy-1)
1182 date = datetime.date(year,1,1) + datetime.timedelta(doy-1)
1125 dateformat = date.strftime("%Y/%m/%d")
1183 dateformat = date.strftime("%Y/%m/%d")
1126 dateList.append(dateformat)
1184 dateList.append(dateformat)
1127
1185
1128 return dateList
1186 return dateList
1129
1187
1130 def loadDays(self):
1188 def loadDays(self):
1131 """
1189 """
1132 Method to loads day
1190 Method to loads day
1133 """
1191 """
1134 ext=str(self.proDataType.text())
1192 ext=str(self.proDataType.text())
1135 try:
1193
1136 punto = str(ext[1:2])
1137 ext=self.datatype
1138 except:
1139 self.proOk.setEnabled(False)
1140 self.console.clear()
1141 self.console.append("Please, Choose DataType")
1142 return 0
1143
1144 #-------------------------#
1194 #-------------------------#
1145 walk= self.walk
1195 walk= self.walk
1146
1196
1147 path=str(self.proDataPath.text())
1197 path=str(self.proDataPath.text())
1148 if not os.path.exists(path):
1198 if not os.path.exists(path):
1149 self.proOk.setEnabled(False)
1199 self.proOk.setEnabled(False)
1150 self.console.clear()
1200 self.console.clear()
1151 self.console.append("Write a correct a path")
1201 self.console.append("Write a correct a path")
1152 return
1202 return
1153 self.proComStartDate.clear()
1203 self.proComStartDate.clear()
1154 self.proComEndDate.clear()
1204 self.proComEndDate.clear()
1155 #Load List to select start day and end day.(QComboBox)
1205 #Load List to select start day and end day.(QComboBox)
1156 dateList=self.searchData(path,ext=ext,walk=walk)
1206 dateList=self.searchData(path,ext=ext,walk=walk)
1157 self.dateList=dateList
1207 self.dateList=dateList
1158 for thisDate in dateList:
1208 for thisDate in dateList:
1159 self.proComStartDate.addItem(thisDate)
1209 self.proComStartDate.addItem(thisDate)
1160 self.proComEndDate.addItem(thisDate)
1210 self.proComEndDate.addItem(thisDate)
1161 self.proComEndDate.setCurrentIndex(self.proComStartDate.count()-1)
1211 self.proComEndDate.setCurrentIndex(self.proComStartDate.count()-1)
1162
1212
1163 def setWorkSpaceGUI(self,pathWorkSpace):
1213 def setWorkSpaceGUI(self,pathWorkSpace):
1164 self.pathWorkSpace = pathWorkSpace
1214 self.pathWorkSpace = pathWorkSpace
1165
1215
1166 def setParameter(self):
1216 def setParameter(self):
1167 self.setWindowTitle("ROJ-Signal Chain")
1217 self.setWindowTitle("ROJ-Signal Chain")
1168 self.setWindowIcon(QtGui.QIcon("figure/adn.jpg"))
1218 self.setWindowIcon(QtGui.QIcon("figure/adn.jpg"))
1169 self.tabWidgetProject.setEnabled(False)
1219 self.tabWidgetProject.setEnabled(False)
1170 self.tabVoltage.setEnabled(False)
1220 self.tabVoltage.setEnabled(False)
1171 self.tabSpectra.setEnabled(False)
1221 self.tabSpectra.setEnabled(False)
1172 self.tabCorrelation.setEnabled(False)
1222 self.tabCorrelation.setEnabled(False)
1173
1223
1224 self.actionCreate.setShortcut('Ctrl+P')
1225 self.actionStart.setShortcut('Ctrl+R')
1226 self.actionSave.setShortcut('Ctrl+S')
1227 self.actionClose.setShortcut('Ctrl+Q')
1228
1174 self.proName.clear()
1229 self.proName.clear()
1175 self.proDataPath.setText('C:\Rawdata')
1230 self.proDataPath.setText('')
1176 self.console.append("Welcome to Signal Chain please Create a New Project")
1231 self.console.append("Welcome to Signal Chain please Create a New Project")
1177 self.proStartTime.setDisplayFormat("hh:mm:ss")
1232 self.proStartTime.setDisplayFormat("hh:mm:ss")
1178 self.time =QtCore.QTime()
1233 self.time =QtCore.QTime()
1179 self.hour =0
1234 self.hour =0
1180 self.min =0
1235 self.min =0
1181 self.sec =0
1236 self.sec =0
1182 self.proEndTime.setDisplayFormat("hh:mm:ss")
1237 self.proEndTime.setDisplayFormat("hh:mm:ss")
1183 startTime="00:00:00"
1238 startTime="00:00:00"
1184 endTime="23:59:59"
1239 endTime="23:59:59"
1185 starlist=startTime.split(":")
1240 starlist=startTime.split(":")
1186 endlist=endTime.split(":")
1241 endlist=endTime.split(":")
1187 self.time.setHMS(int(starlist[0]),int(starlist[1]),int(starlist[2]))
1242 self.time.setHMS(int(starlist[0]),int(starlist[1]),int(starlist[2]))
1188 self.proStartTime.setTime(self.time)
1243 self.proStartTime.setTime(self.time)
1189 self.time.setHMS(int(endlist[0]),int(endlist[1]),int(endlist[2]))
1244 self.time.setHMS(int(endlist[0]),int(endlist[1]),int(endlist[2]))
1190 self.proEndTime.setTime(self.time)
1245 self.proEndTime.setTime(self.time)
1191 self.proOk.setEnabled(False)
1246 self.proOk.setEnabled(False)
1192 #set model Project Explorer
1247 #set model Project Explorer
1193 self.model = QtGui.QStandardItemModel()
1248 self.model = QtGui.QStandardItemModel()
1194 self.model.setHorizontalHeaderLabels(("Project Explorer",))
1249 self.model.setHorizontalHeaderLabels(("Project Explorer",))
1195 layout = QtGui.QVBoxLayout()
1250 layout = QtGui.QVBoxLayout()
1196 layout.addWidget(self.treeProjectExplorer)
1251 layout.addWidget(self.treeProjectExplorer)
1197 self.treeProjectExplorer.setModel(self.model)
1252 self.treeProjectExplorer.setModel(self.model)
1198 self.treeProjectExplorer.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
1253 self.treeProjectExplorer.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
1199 self.treeProjectExplorer.customContextMenuRequested.connect(self.popup)
1254 self.treeProjectExplorer.customContextMenuRequested.connect(self.popup)
1200 self.treeProjectExplorer.clicked.connect(self.clickFunction)
1255 self.treeProjectExplorer.clicked.connect(self.clickFunction)
1201
1256
1202 self.treeProjectExplorer.doubleClicked.connect(self.doubleclickFunction)
1257 self.treeProjectExplorer.doubleClicked.connect(self.doubleclickFunction)
1203 self.treeProjectExplorer.expandAll()
1258 self.treeProjectExplorer.expandAll()
1204 #set model Project Properties
1259 #set model Project Properties
1205
1260
1206 self.model_2=treeModel()
1261 self.model_2=treeModel()
1207 self.model_2.showtree()
1262 self.model_2.showtree()
1208 self.treeProjectProperties.setModel(self.model_2)
1263 self.treeProjectProperties.setModel(self.model_2)
1209 self.treeProjectProperties.expandAll()
1264 self.treeProjectProperties.expandAll()
1210 #set Project
1265 #set Project
1211 self.proDelay.setEnabled(False)
1266 self.proDelay.setEnabled(False)
1212 self.proDataType.setReadOnly(True)
1267 self.proDataType.setReadOnly(True)
1213
1268
1214 #set Operation Voltage
1269 #set Operation Voltage
1215 self.volOpComChannels.setEnabled(False)
1270 self.volOpComChannels.setEnabled(False)
1216 self.volOpComHeights.setEnabled(False)
1271 self.volOpComHeights.setEnabled(False)
1217 self.volOpFilter.setEnabled(False)
1272 self.volOpFilter.setEnabled(False)
1218 self.volOpComProfile.setEnabled(False)
1273 self.volOpComProfile.setEnabled(False)
1219 self.volOpComCode.setEnabled(False)
1274 self.volOpComCode.setEnabled(False)
1220 self.volOpCohInt.setEnabled(False)
1275 self.volOpCohInt.setEnabled(False)
1221
1276
1222 self.volOpChannel.setEnabled(False)
1277 self.volOpChannel.setEnabled(False)
1223 self.volOpHeights.setEnabled(False)
1278 self.volOpHeights.setEnabled(False)
1224 self.volOpProfile.setEnabled(False)
1279 self.volOpProfile.setEnabled(False)
1225 self.volOpComMode.setEnabled(False)
1280 self.volOpComMode.setEnabled(False)
1226
1281
1227 self.volGraphPath.setEnabled(False)
1282 self.volGraphPath.setEnabled(False)
1228 self.volGraphPrefix.setEnabled(False)
1283 self.volGraphPrefix.setEnabled(False)
1229 self.volGraphToolPath.setEnabled(False)
1284 self.volGraphToolPath.setEnabled(False)
1230
1285
1231 #set Graph Voltage
1286 #set Graph Voltage
1232 self.volGraphIdFigure.setEnabled(False)
1287 self.volGraphIdFigure.setEnabled(False)
1233 self.volGraphWintitle.setEnabled(False)
1288 self.volGraphWintitle.setEnabled(False)
1234 self.volGraphChannelList.setEnabled(False)
1289 self.volGraphChannelList.setEnabled(False)
1235 self.volGraphxrange.setEnabled(False)
1290 self.volGraphxrange.setEnabled(False)
1236 self.volGraphyrange.setEnabled(False)
1291 self.volGraphyrange.setEnabled(False)
1237 #set Operation Spectra
1292 #set Operation Spectra
1238 self.specOpnFFTpoints.setEnabled(False)
1293 self.specOpnFFTpoints.setEnabled(False)
1239 self.specOppairsList.setEnabled(False)
1294 self.specOppairsList.setEnabled(False)
1240 self.specOpComChannel.setEnabled(False)
1295 self.specOpComChannel.setEnabled(False)
1241 self.specOpComHeights.setEnabled(False)
1296 self.specOpComHeights.setEnabled(False)
1242 self.specOpIncoherent.setEnabled(False)
1297 self.specOpIncoherent.setEnabled(False)
1243 self.specOpRemoveDC .setEnabled(False)
1298 self.specOpRemoveDC .setEnabled(False)
1244 self.specOpRemoveInterference.setEnabled(False)
1299 self.specOpRemoveInterference.setEnabled(False)
1245
1300
1246 self.specOpChannel.setEnabled(False)
1301 self.specOpChannel.setEnabled(False)
1247 self.specOpHeights.setEnabled(False)
1302 self.specOpHeights.setEnabled(False)
1248 #set Graph Spectra
1303 #set Graph Spectra
1249 self.specGraphIdFigure.setEnabled(False)
1304 self.specGraphIdFigure.setEnabled(False)
1250 self.specGraphWinTitle.setEnabled(False)
1305 self.specGraphWinTitle.setEnabled(False)
1251 self.specGraphChannelList.setEnabled(False)
1306 self.specGraphChannelList.setEnabled(False)
1252 self.specGgraphxrange.setEnabled(False)
1307 self.specGgraphxrange.setEnabled(False)
1253 self.specGgraphyrange.setEnabled(False)
1308 self.specGgraphyrange.setEnabled(False)
1254 self.specGgraphzrange.setEnabled(False)
1309 self.specGgraphzrange.setEnabled(False)
1255 self.specGraphTimeRange.setEnabled(False)
1310 self.specGraphTimeRange.setEnabled(False)
1256 self.specGraphPath.setEnabled(False)
1311 self.specGraphPath.setEnabled(False)
1257 self.specGraphToolPath.setEnabled(False)
1312 self.specGraphToolPath.setEnabled(False)
1258 self.specGraphPrefix.setEnabled(False)
1313 self.specGraphPrefix.setEnabled(False)
1259
1314
1260
1315
1261 #tool tip gui
1316 #tool tip gui
1262 QtGui.QToolTip.setFont(QtGui.QFont('SansSerif', 10))
1317 QtGui.QToolTip.setFont(QtGui.QFont('SansSerif', 10))
1263 self.treeProjectExplorer.setToolTip('Right clik to add Project or Unit Process')
1318 self.treeProjectExplorer.setToolTip('Right clik to add Project or Unit Process')
1264 #tool tip gui project
1319 #tool tip gui project
1265 self.proComWalk.setToolTip('Search 0: Search file in format .r or pdata ,Search 1 : Search file in a directory DYYYYDOY')
1320 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>')
1266 self.proComWalk.setCurrentIndex(1)
1321 self.proComWalk.setCurrentIndex(1)
1267 #tool tip gui volOp
1322 #tool tip gui volOp
1268 self.volOpChannel.setToolTip('Example: 1,2,3,4,5')
1323 self.volOpChannel.setToolTip('Example: 1,2,3,4,5')
1269 self.volOpHeights.setToolTip('Example: 90,180')
1324 self.volOpHeights.setToolTip('Example: 90,180')
1270 self.volOpFilter.setToolTip('Example: 3')
1325 self.volOpFilter.setToolTip('Example: 3')
1271 self.volOpProfile.setToolTip('Example:0,125 ')
1326 self.volOpProfile.setToolTip('Example:0,125 ')
1272 self.volOpCohInt.setToolTip('Example: 100')
1327 self.volOpCohInt.setToolTip('Example: 100')
1273 self.volOpOk.setToolTip('If you have finish, please Ok ')
1328 self.volOpOk.setToolTip('If you have finish, please Ok ')
1274 #tool tip gui volGraph
1329 #tool tip gui volGraph
1275 self.volGraphIdFigure.setToolTip('Example: 1')
1330 self.volGraphIdFigure.setToolTip('Example: 1')
1276 self.volGraphxrange.setToolTip('Example: 10,150')
1331 self.volGraphxrange.setToolTip('Example: 10,150')
1277 self.volGraphyrange.setToolTip('Example: 20,180')
1332 self.volGraphyrange.setToolTip('Example: 20,180')
1278 self.volGraphOk.setToolTip('If you have finish, please Ok ')
1333 self.volGraphOk.setToolTip('If you have finish, please Ok ')
1279 #tool tip gui specOp
1334 #tool tip gui specOp
1280 self.specOpnFFTpoints.setToolTip('Example: 100')
1335 self.specOpnFFTpoints.setToolTip('Example: 100')
1281 self.specOpIncoherent.setToolTip('Example: 150')
1336 self.specOpIncoherent.setToolTip('Example: 150')
1282 self.specOpRemoveDC .setToolTip('Example: 1')
1337 self.specOpRemoveDC .setToolTip('Example: 1')
1283
1338
1284
1339
1285 self.specOpChannel.setToolTip('Example: 1,2,3,4,5')
1340 self.specOpChannel.setToolTip('Example: 1,2,3,4,5')
1286 self.specOpHeights.setToolTip('Example: 90,180')
1341 self.specOpHeights.setToolTip('Example: 90,180')
1287 self.specOppairsList.setToolTip('Example: (0,1),(2,3)')
1342 self.specOppairsList.setToolTip('Example: (0,1),(2,3)')
1288 #tool tip gui specGraph
1343 #tool tip gui specGraph
1289 self.specGraphIdFigure.setToolTip('Example: 2')
1344 self.specGraphIdFigure.setToolTip('Example: 2')
1290 self.specGraphWinTitle.setToolTip('Example: Myplot')
1345 self.specGraphWinTitle.setToolTip('Example: Myplot')
1291 self.specGraphChannelList.setToolTip('Example: Myplot')
1346 self.specGraphChannelList.setToolTip('Example: Myplot')
1292 self.specGgraphxrange.setToolTip('Example: 10,150')
1347 self.specGgraphxrange.setToolTip('Example: 10,150')
1293 self.specGgraphyrange.setToolTip('Example: 20,160')
1348 self.specGgraphyrange.setToolTip('Example: 20,160')
1294 self.specGgraphzrange.setToolTip('Example: 30,170')
1349 self.specGgraphzrange.setToolTip('Example: 30,170')
1295
1350
1296 self.specGraphPrefix.setToolTip('Example: figure')
1351 self.specGraphPrefix.setToolTip('Example: figure')
1297
1352
1298
1353
1299 class UnitProcess(QMainWindow, Ui_UnitProcess):
1354 class UnitProcess(QMainWindow, Ui_UnitProcess):
1300 """
1355 """
1301 Class documentation goes here.
1356 Class documentation goes here.
1302 """
1357 """
1303 closed=pyqtSignal()
1358 closed=pyqtSignal()
1304 create= False
1359 create= False
1305 def __init__(self, parent = None):
1360 def __init__(self, parent = None):
1306 """
1361 """
1307 Constructor
1362 Constructor
1308 """
1363 """
1309 QMainWindow.__init__(self, parent)
1364 QMainWindow.__init__(self, parent)
1310 self.setupUi(self)
1365 self.setupUi(self)
1311 self.getFromWindow=None
1366 self.getFromWindow=None
1312 self.getfromWindowList=[]
1367 self.getfromWindowList=[]
1313 self.dataTypeProject=None
1368 self.dataTypeProject=None
1314
1369
1315 self.listUP=None
1370 self.listUP=None
1316
1371
1317 @pyqtSignature("")
1372 @pyqtSignature("")
1318 def on_unitPokbut_clicked(self):
1373 def on_unitPokbut_clicked(self):
1319 """
1374 """
1320 Slot documentation goes here.
1375 Slot documentation goes here.
1321 """
1376 """
1322 self.create =True
1377 self.create =True
1323 self.getFromWindow=self.getfromWindowList[int(self.comboInputBox.currentIndex())]
1378 self.getFromWindow=self.getfromWindowList[int(self.comboInputBox.currentIndex())]
1324 #self.nameofUP= str(self.nameUptxt.text())
1379 #self.nameofUP= str(self.nameUptxt.text())
1325 self.typeofUP= str(self.comboTypeBox.currentText())
1380 self.typeofUP= str(self.comboTypeBox.currentText())
1326 self.close()
1381 self.close()
1327
1382
1328
1383
1329 @pyqtSignature("")
1384 @pyqtSignature("")
1330 def on_unitPcancelbut_clicked(self):
1385 def on_unitPcancelbut_clicked(self):
1331 """
1386 """
1332 Slot documentation goes here.
1387 Slot documentation goes here.
1333 """
1388 """
1334 self.create=False
1389 self.create=False
1335 self.close()
1390 self.close()
1336
1391
1337 def loadTotalList(self):
1392 def loadTotalList(self):
1338 self.comboInputBox.clear()
1393 self.comboInputBox.clear()
1339 for i in self.getfromWindowList:
1394 for i in self.getfromWindowList:
1340
1395
1341 name=i.getElementName()
1396 name=i.getElementName()
1342 if name=='Project':
1397 if name=='Project':
1343 id= i.id
1398 id= i.id
1344 name=i.name
1399 name=i.name
1345 if self.dataTypeProject=='Voltage':
1400 if self.dataTypeProject=='Voltage':
1346 self.comboTypeBox.clear()
1401 self.comboTypeBox.clear()
1347 self.comboTypeBox.addItem("Voltage")
1402 self.comboTypeBox.addItem("Voltage")
1348
1403
1349 if self.dataTypeProject=='Spectra':
1404 if self.dataTypeProject=='Spectra':
1350 self.comboTypeBox.clear()
1405 self.comboTypeBox.clear()
1351 self.comboTypeBox.addItem("Spectra")
1406 self.comboTypeBox.addItem("Spectra")
1352 self.comboTypeBox.addItem("Correlation")
1407 self.comboTypeBox.addItem("Correlation")
1353
1408
1354 if name=='ProcUnit':
1409 if name=='ProcUnit':
1355 id=int(i.id)-1
1410 id=int(i.id)-1
1356 name=i.datatype
1411 name=i.datatype
1357 if name == 'Voltage':
1412 if name == 'Voltage':
1358 self.comboTypeBox.clear()
1413 self.comboTypeBox.clear()
1359 self.comboTypeBox.addItem("Spectra")
1414 self.comboTypeBox.addItem("Spectra")
1360 self.comboTypeBox.addItem("Correlation")
1415 self.comboTypeBox.addItem("Correlation")
1361 if name == 'Spectra':
1416 if name == 'Spectra':
1362 self.comboTypeBox.clear()
1417 self.comboTypeBox.clear()
1363 self.comboTypeBox.addItem("Spectra")
1418 self.comboTypeBox.addItem("Spectra")
1364 self.comboTypeBox.addItem("Correlation")
1419 self.comboTypeBox.addItem("Correlation")
1365
1420
1366
1421
1367 self.comboInputBox.addItem(str(name))
1422 self.comboInputBox.addItem(str(name))
1368 #self.comboInputBox.addItem(str(name)+str(id))
1423 #self.comboInputBox.addItem(str(name)+str(id))
1369
1424
1370 def closeEvent(self, event):
1425 def closeEvent(self, event):
1371 self.closed.emit()
1426 self.closed.emit()
1372 event.accept() No newline at end of file
1427 event.accept()
General Comments 0
You need to be logged in to leave comments. Login now