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