##// END OF EJS Templates
Update:...
Alexander Valdez -
r383:d253e1cb035a
parent child
Show More
@@ -1,1743 +1,1751
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 577 def on_specOpCebCrossSpectra_stateChanged(self, p0):
578 578 """
579 579 Habilita la opcion de a�adir el par�metro CrossSpectra a la Unidad de Procesamiento .
580 580 """
581 581 if p0==2:
582 582 # self.specOpnFFTpoints.setEnabled(True)
583 583 self.specOppairsList.setEnabled(True)
584 584 if p0==0:
585 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 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 642 value1=self.specOpnFFTpoints.text()
643 try:
644 value1=int(self.specOpnFFTpoints.text())
645 except:
646 self.console.clear()
647 self.console.append("Please Write the number of FFT")
648 return 0
643 649 self.upObj.addParameter(name='nFFTPoints',value=value1,format='int')
644 650 # self.operObjList.append(opObj10)
645 651 if self.specOpCebCrossSpectra.isChecked():
646 652 value2=self.specOppairsList.text()
647 653 self.upObj.addParameter(name='pairsList', value=value2, format='pairslist')
648 654
649 655 if self.specOpCebHeights.isChecked():
650 656 if self.specOpComHeights.currentIndex()== 0:
651 657 opObj10=self.upObj.addOperation(name='selectHeights')
652 658 value=self.specOpHeights.text()
653 659 valueList=value.split(',')
654 660 opObj10.addParameter(name='minHei', value=valueList[0], format='float')
655 661 opObj10.addParameter(name='maxHei', value=valueList[1], format='float')
656 662 else:
657 663 opObj10=self.upObj.addOperation(name='selectHeightsByIndex')
658 664 value=self.specOpHeights.text()
659 665 valueList=value.split(',')
660 666 opObj10.addParameter(name='minIndex', value=valueList[0], format='float')
661 667 opObj10.addParameter(name='maxIndex', value=valueList[1], format='float')
662 668
663 669 if self.specOpCebChannel.isChecked():
664 670 if self.specOpComChannel.currentIndex()== 0:
665 671 opObj10=self.upObj.addOperation(name="selectChannels")
666 672 self.operObjList.append(opObj10)
667 673 value=self.specOpChannel.text()
668 674 opObj10.addParameter(name='channelList', value=value, format='intlist')
669 675 else:
670 676 opObj10=self.upObj.addOperation(name="selectChannelsByIndex")
671 677 self.operObjList.append(opObj10)
672 678 value=self.specOpChannel.text()
673 679 opObj10.addParameter(name='channelIndexList', value=value, format='intlist')
674 680
675 681 if self.specOpCebIncoherent.isChecked():
676 682 opObj10=self.upObj.addOperation(name='IncohInt', optype='other')
677 683 self.operObjList.append(opObj10)
678 684 value=self.specOpIncoherent.text()
679 685 opObj10.addParameter(name='n', value=value, format='float')
680 686
681 687 if self.specOpCebRemoveDC.isChecked():
682 688 opObj10=self.upObj.addOperation(name='removeDC')
683 689 value=self.specOpRemoveDC.text()
684 690 opObj10.addParameter(name='mode', value=value,format='int')
685 691
686 692
687 693 #self.tabopSpectra.setEnabled(False)
688 694 self.console.clear()
689 695 self.console.append("If you want to save your project")
690 696 self.console.append("click on your project name in the Tree Project Explorer")
691 697
692 698
693 699 #------Spectra Graph--------#
694 700 @pyqtSignature("int")
695 701 def on_specGraphCebSpectraplot_stateChanged(self, p0):
696 702
697 703 if p0==2:
698 704 self.specGgraphFreq.setEnabled(True)
699 705 self.specGgraphHeight.setEnabled(True)
700 706 self.specGgraphDbsrange.setEnabled(True)
701 707 if p0==0:
702 708 self.specGgraphFreq.setEnabled(False)
703 709 self.specGgraphHeight.setEnabled(False)
704 710 self.specGgraphDbsrange.setEnabled(False)
705 711
706 712
707 713 @pyqtSignature("int")
708 714 def on_specGraphCebCrossSpectraplot_stateChanged(self, p0):
709 715
710 716 if p0==2:
711 717 self.specGgraphFreq.setEnabled(True)
712 718 self.specGgraphHeight.setEnabled(True)
713 719 self.specGgraphmagnitud.setEnabled(True)
714 720 if p0==0:
715 721 self.specGgraphFreq.setEnabled(False)
716 722 self.specGgraphHeight.setEnabled(False)
717 723 self.specGgraphmagnitud.setEnabled(False)
718 724
719 725 @pyqtSignature("int")
720 726 def on_specGraphCebRTIplot_stateChanged(self, p0):
721 727
722 728 if p0==2:
723 729 self.specGgraphTimeRange.setEnabled(True)
724 730 self.specGgraphHeight.setEnabled(True)
725 731 self.specGgraphDbsrange.setEnabled(True)
726 732 if p0==0:
727 733 self.specGgraphTimeRange.setEnabled(False)
728 734 self.specGgraphHeight.setEnabled(False)
729 735 self.specGgraphDbsrange.setEnabled(False)
730 736
731 737
732 738
733 739 @pyqtSignature("int")
734 740 def on_specGraphCebCoherencmap_stateChanged(self, p0):
735 741
736 742 if p0==2:
737 743 self.specGgraphTimeRange.setEnabled(True)
738 744 self.specGgraphHeight.setEnabled(True)
739 745 self.specGgraphmagnitud.setEnabled(True)
740 746 if p0==0:
741 747 self.specGgraphTimeRange.setEnabled(False)
742 748 self.specGgraphHeight.setEnabled(False)
743 749 self.specGgraphmagnitud.setEnabled(False)
744 750
745 751
746 752 @pyqtSignature("int")
747 753 def on_specGraphRTIfromnoise_stateChanged(self, p0):
748 754
749 755 if p0==2:
750 756 self.specGgraphTimeRange.setEnabled(True)
751 757 self.specGgraphHeight.setEnabled(True)
752 758 self.specGgraphDbsrange.setEnabled(True)
753 759 if p0==0:
754 760 self.specGgraphTimeRange.setEnabled(False)
755 761 self.specGgraphHeight.setEnabled(False)
756 762 self.specGgraphDbsrange.setEnabled(False)
757 763
758 764 @pyqtSignature("int")
759 765 def on_specGraphPowerprofile_stateChanged(self, p0):
760 766
761 767 if p0==2:
762 768
763 769 self.specGgraphHeight.setEnabled(True)
764 770 self.specGgraphDbsrange.setEnabled(True)
765 771 if p0==0:
766 772 self.specGgraphHeight.setEnabled(False)
767 773 self.specGgraphDbsrange.setEnabled(False)
768 774
769 775 @pyqtSignature("int")
770 776 def on_specGraphPhase_stateChanged(self, p0):
771 777
772 778 if p0==2:
773 779 self.specGgraphTimeRange.setEnabled(True)
774 780 self.specGgraphPhaserange.setEnabled(True)
775 781
776 782 if p0==0:
777 783 self.specGgraphTimeRange.setEnabled(False)
778 784 self.specGgraphPhaserange.setEnabled(False)
779 785
780 786 @pyqtSignature("int")
781 787 def on_specGraphSaveSpectra_stateChanged(self, p0):
782 788 """
783 789 """
784 790 if p0==2:
785 791 self.specGraphPath.setEnabled(True)
786 792 self.specGraphPrefix.setEnabled(True)
787 793 self.specGraphToolPath.setEnabled(True)
788 794 if p0==0:
789 795 self.specGraphPath.setEnabled(False)
790 796 self.specGraphPrefix.setEnabled(False)
791 797 self.specGraphToolPath.setEnabled(False)
792 798
793 799
794 800 @pyqtSignature("int")
795 801 def on_specGraphSaveCross_stateChanged(self, p0):
796 802 if p0==2:
797 803 self.specGraphPath.setEnabled(True)
798 804 self.specGraphPrefix.setEnabled(True)
799 805 self.specGraphToolPath.setEnabled(True)
800 806
801 807 @pyqtSignature("int")
802 808 def on_specGraphSaveRTIplot_stateChanged(self, p0):
803 809 if p0==2:
804 810 self.specGraphPath.setEnabled(True)
805 811 self.specGraphPrefix.setEnabled(True)
806 812 self.specGraphToolPath.setEnabled(True)
807 813
808 814 @pyqtSignature("int")
809 815 def on_specGraphSaveCoherencemap_stateChanged(self, p0):
810 816 if p0==2:
811 817 self.specGraphPath.setEnabled(True)
812 818 self.specGraphPrefix.setEnabled(True)
813 819 self.specGraphToolPath.setEnabled(True)
814 820
815 821 @pyqtSignature("int")
816 822 def on_specGraphSaveRTIfromNoise_stateChanged(self, p0):
817 823 if p0==2:
818 824 self.specGraphPath.setEnabled(True)
819 825 self.specGraphPrefix.setEnabled(True)
820 826 self.specGraphToolPath.setEnabled(True)
821 827
822 828 @pyqtSignature("int")
823 829 def on_specGraphSavePowerprofile_stateChanged(self, p0):
824 830 if p0==2:
825 831 self.specGraphPath.setEnabled(True)
826 832 self.specGraphPrefix.setEnabled(True)
827 833 self.specGraphToolPath.setEnabled(True)
828 834
829 835 @pyqtSignature("int")
830 836 def on_specGraphSavePhase_stateChanged(self, p0):
831 837 if p0==2:
832 838 self.specGraphPath.setEnabled(True)
833 839 self.specGraphPrefix.setEnabled(True)
834 840 self.specGraphToolPath.setEnabled(True)
835 841
836 842 @pyqtSignature("int")
837 843 def on_specGraphSaveCCF_stateChanged(self, p0):
838 844 if p0==2:
839 845 self.specGraphPath.setEnabled(True)
840 846 self.specGraphPrefix.setEnabled(True)
841 847 self.specGraphToolPath.setEnabled(True)
842 848
843 849 @pyqtSignature("")
844 850 def on_specGraphToolPath_clicked(self):
845 851 """
846 852 """
847 853 self.savePath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
848 854 self.specGraphPath.setText(self.savePath)
849 855 if not os.path.exists(self.savePath):
850 856 self.console.clear()
851 857 self.console.append("Write a correct a path")
852 858 return
853 859
854 860 @pyqtSignature("")
855 861 def on_specGraphOk_clicked(self):
856 862
857 863 for i in self.__arbolDict:
858 864 if self.__arbolDict[i]==self.indexclick:
859 865 if self.__upObjDict.has_key(i)==True:
860 866 self.upObj=self.__upObjDict[i]
861 867 if self.specGraphCebSpectraplot.isChecked():
862 868 opObj10=self.upObj.addOperation(name='SpectraPlot',optype='other')
863 869
864 870 self.idImag += 1
865 871 opObj10.addParameter(name='idfigure', value=int(self.idImag), format='int')
866 872
867 873 channelList=self.specGgraphChannelList.text()
868 874 if self.specGgraphChannelList.isModified():
869 875 opObj10.addParameter(name='channelList', value=channelList, format='intlist')
870 876
871 877 xvalue= self.specGgraphFreq.text()
872 878 if self.specGgraphFreq.isModified():
873 879 xvalueList=xvalue.split(',')
874 880 try:
875 881 value=int(xvalueList[0])
876 882 value=int(xvalueList[1])
877 883 opObj10.addParameter(name='xmin', value=xvalueList[0], format='int')
878 884 opObj10.addParameter(name='xmax', value=xvalueList[1], format='int')
879 885 except:
880 886 return 0
881 887
882 888 yvalue= self.specGgraphHeight.text()
883 889 if self.specGgraphHeight.isModified():
884 890 yvalueList=yvalue.split(",")
885 891 try:
886 892 value=int(yvalueList[0])
887 893 value=int(yvalueList[1])
888 894 opObj10.addParameter(name='ymin', value=yvalueList[0], format='int')
889 895 opObj10.addParameter(name='ymax', value=yvalueList[1], format='int')
890 896 except:
891 897 return 0
892 898
893 899 zvalue= self.specGgraphDbsrange.text()
894 900 if self.specGgraphDbsrange.isModified():
895 901 zvalueList=zvalue.split(",")
896 902 try:
897 903 value=int(zvalueList[0])
898 904 value=int(zvalueList[1])
899 905 opObj10.addParameter(name='zmin', value=zvalueList[0], format='int')
900 906 opObj10.addParameter(name='zmax', value=zvalueList[1], format='int')
901 907 except:
902 908 return 0
903 909
904 910 if self.specGraphSaveSpectra.isChecked():
905 911 opObj10.addParameter(name='save', value='1', format='bool')
906 912 opObj10.addParameter(name='figpath', value= self.specGraphPath.text(),format='str')
907 913 opObj10.addParameter(name='figfile', value= self.specGraphPrefix.text(),format='str')
908 914
909 915
910 916 if self.specGraphCebCrossSpectraplot.isChecked():
911 917 opObj10=self.upObj.addOperation(name='CrossSpectraPlot',optype='other')
912 918
913 919 opObj10.addParameter(name='power_cmap', value='jet', format='str')
914 920 opObj10.addParameter(name='coherence_cmap', value='jet', format='str')
915 921 opObj10.addParameter(name='phase_cmap', value='RdBu_r', format='str')
916 922
917 923
918 924 self.idImag += 1
919 925 opObj10.addParameter(name='idfigure', value=int(self.idImag), format='int')
920 926
921 927 channelList=self.specGgraphChannelList.text()
922 928 if self.specGgraphChannelList.isModified():
923 929 opObj10.addParameter(name='channelList', value=channelList, format='intlist')
924 930
925 931 xvalue= self.specGgraphFreq.text()
926 932 if self.specGgraphFreq.isModified():
927 933 xvalueList=xvalue.split(',')
928 934 try:
929 935 value=int(xvalueList[0])
930 936 value=int(xvalueList[1])
931 937 opObj10.addParameter(name='xmin', value=xvalueList[0], format='int')
932 938 opObj10.addParameter(name='xmax', value=xvalueList[1], format='int')
933 939 except:
934 940 return 0
935 941
936 942 yvalue= self.specGgraphHeight.text()
937 943 if self.specGgraphHeight.isModified():
938 944 yvalueList=yvalue.split(",")
939 945 try:
940 946 value=int(yvalueList[0])
941 947 value=int(yvalueList[1])
942 948 opObj10.addParameter(name='ymin', value=yvalueList[0], format='int')
943 949 opObj10.addParameter(name='ymax', value=yvalueList[1], format='int')
944 950 except:
945 951 return 0
946 952
947 953 zvalue= self.specGgraphmagnitud.text()
948 954 if self.specGgraphmagnitud.isModified():
949 955 zvalueList=zvalue.split(",")
950 956 try:
951 957 value=int(zvalueList[0])
952 958 value=int(zvalueList[1])
953 959 opObj10.addParameter(name='zmin', value=zvalueList[0], format='int')
954 960 opObj10.addParameter(name='zmax', value=zvalueList[1], format='int')
955 961 except:
956 962 return 0
957 963
958 964 if self.specGraphSaveCross.isChecked():
959 965 opObj10.addParameter(name='save', value='1', format='bool')
960 966 opObj10.addParameter(name='figpath', value= self.specGraphPath.text(),format='str')
961 967 opObj10.addParameter(name='figfile', value= self.specGraphPrefix.text(),format='str')
962 968
963 969
964 970
965 971 if self.specGraphCebRTIplot.isChecked():
966 972 opObj10=self.upObj.addOperation(name='RTIPlot',optype='other')
967 973
968 974 self.idImag += 1
969 975 opObj10.addParameter(name='idfigure', value=int(self.idImag), format='int')
970 976
971 977 channelList=self.specGgraphChannelList.text()
972 978 if self.specGgraphChannelList.isModified():
973 979 opObj10.addParameter(name='channelList', value=channelList, format='intlist')
974 980
975 981 xvalue= self.specGgraphTimeRange.text()
976 982 if self.specGgraphTimeRange.isModified():
977 983 xvalueList=xvalue.split(',')
978 984 try:
979 985 value=int(xvalueList[0])
980 986 value=int(xvalueList[1])
981 987 opObj10.addParameter(name='xmin', value=xvalueList[0], format='int')
982 988 opObj10.addParameter(name='xmax', value=xvalueList[1], format='int')
983 989 except:
984 990 return 0
985 991
986 992 yvalue= self.specGgraphHeight.text()
987 993 if self.specGgraphHeight.isModified():
988 994 yvalueList=yvalue.split(",")
989 995 try:
990 996 value=int(yvalueList[0])
991 997 value=int(yvalueList[1])
992 998 opObj10.addParameter(name='ymin', value=yvalueList[0], format='int')
993 999 opObj10.addParameter(name='ymax', value=yvalueList[1], format='int')
994 1000 except:
995 1001 return 0
996 1002
997 1003 zvalue= self.specGgraphDbsrange.text()
998 1004 if self.specGgraphDbsrange.isModified():
999 1005 zvalueList=zvalue.split(",")
1000 1006 try:
1001 1007 value=int(zvalueList[0])
1002 1008 value=int(zvalueList[1])
1003 1009 opObj10.addParameter(name='zmin', value=zvalueList[0], format='int')
1004 1010 opObj10.addParameter(name='zmax', value=zvalueList[1], format='int')
1005 1011 except:
1006 1012 return 0
1007 1013
1008 1014 if self.specGraphSaveRTIplot.isChecked():
1009 1015 opObj10.addParameter(name='save', value='1', format='bool')
1010 1016 opObj10.addParameter(name='figpath', value= self.specGraphPath.text(),format='str')
1011 1017 opObj10.addParameter(name='figfile', value= self.specGraphPrefix.text(),format='str')
1012 1018
1013 1019 if self.specGraphCebCoherencmap.isChecked():
1014 1020 opObj10=self.upObj.addOperation(name='CoherenceMap',optype='other')
1015 1021
1016 1022 opObj10.addParameter(name='coherence_cmap', value='jet', format='str')
1017 1023 opObj10.addParameter(name='phase_cmap', value='RdBu_r', format='str')
1018 1024
1019 1025 self.idImag += 1
1020 1026 opObj10.addParameter(name='idfigure', value=int(self.idImag), format='int')
1021 1027
1022 1028 channelList=self.specGgraphChannelList.text()
1023 1029 if self.specGgraphChannelList.isModified():
1024 1030 opObj10.addParameter(name='channelList', value=channelList, format='intlist')
1025 1031
1026 1032 xvalue= self.specGgraphTimeRange.text()
1027 1033 if self.specGgraphTimeRange.isModified():
1028 1034 xvalueList=xvalue.split(',')
1029 1035 try:
1030 1036 value=int(xvalueList[0])
1031 1037 value=int(xvalueList[1])
1032 1038 opObj10.addParameter(name='xmin', value=xvalueList[0], format='int')
1033 1039 opObj10.addParameter(name='xmax', value=xvalueList[1], format='int')
1034 1040 except:
1035 1041 return 0
1036 1042
1037 1043 yvalue= self.specGgraphHeight.text()
1038 1044 if self.specGgraphHeight.isModified():
1039 1045 yvalueList=yvalue.split(",")
1040 1046 try:
1041 1047 value=int(yvalueList[0])
1042 1048 value=int(yvalueList[1])
1043 1049 opObj10.addParameter(name='ymin', value=yvalueList[0], format='int')
1044 1050 opObj10.addParameter(name='ymax', value=yvalueList[1], format='int')
1045 1051 except:
1046 1052 return 0
1047 1053
1048 1054 zvalue= self.specGgraphmagnitud.text()
1049 1055 if self.specGgraphmagnitud.isModified():
1050 1056 zvalueList=zvalue.split(",")
1051 1057 try:
1052 1058 value=int(zvalueList[0])
1053 1059 value=int(zvalueList[1])
1054 1060 opObj10.addParameter(name='zmin', value=zvalueList[0], format='int')
1055 1061 opObj10.addParameter(name='zmax', value=zvalueList[1], format='int')
1056 1062 except:
1057 1063 return 0
1058 1064
1059 1065 if self.specGraphSaveCoherencemap.isChecked():
1060 1066 opObj10.addParameter(name='save', value='1', format='bool')
1061 1067 opObj10.addParameter(name='figpath', value= self.specGraphPath.text(),format='str')
1062 1068 opObj10.addParameter(name='figfile', value= self.specGraphPrefix.text(),format='str')
1063 1069
1064 1070
1065 1071 if self.specGraphRTIfromnoise.isChecked():
1066 1072 opObj10=self.upObj.addOperation(name='RTIfromNoise',optype='other')
1067 1073
1068 1074 self.idImag += 1
1069 1075 opObj10.addParameter(name='idfigure', value=int(self.idImag), format='int')
1070 1076
1071 1077 channelList=self.specGgraphChannelList.text()
1072 1078 if self.specGgraphChannelList.isModified():
1073 1079 opObj10.addParameter(name='channelList', value=channelList, format='intlist')
1074 1080
1075 1081 xvalue= self.specGgraphTimeRange.text()
1076 1082 if self.specGgraphTimeRange.isModified():
1077 1083 xvalueList=xvalue.split(',')
1078 1084 try:
1079 1085 value=int(xvalueList[0])
1080 1086 value=int(xvalueList[1])
1081 1087 opObj10.addParameter(name='xmin', value=xvalueList[0], format='int')
1082 1088 opObj10.addParameter(name='xmax', value=xvalueList[1], format='int')
1083 1089 except:
1084 1090 return 0
1085 1091
1086 1092 yvalue= self.specGgraphHeight.text()
1087 1093 if self.specGgraphHeight.isModified():
1088 1094 yvalueList=yvalue.split(",")
1089 1095 try:
1090 1096 value=int(yvalueList[0])
1091 1097 value=int(yvalueList[1])
1092 1098 opObj10.addParameter(name='ymin', value=yvalueList[0], format='int')
1093 1099 opObj10.addParameter(name='ymax', value=yvalueList[1], format='int')
1094 1100 except:
1095 1101 return 0
1096 1102
1097 1103
1098 1104 if self.specGraphSaveRTIfromNoise.isChecked():
1099 1105 opObj10.addParameter(name='save', value='1', format='bool')
1100 1106 opObj10.addParameter(name='figpath', value= self.specGraphPath.text(),format='str')
1101 1107 opObj10.addParameter(name='figfile', value= self.specGraphPrefix.text(),format='str')
1102 1108
1103 1109
1104 1110 if self.specGraphPowerprofile.isChecked():
1105 1111 opObj10=self.upObj.addOperation(name='ProfilePlot',optype='other')
1106 1112 self.idImag += 1
1107 1113 opObj10.addParameter(name='idfigure', value=int(self.idImag), format='int')
1108 1114
1109 1115 channelList=self.specGgraphChannelList.text()
1110 1116 if self.specGgraphChannelList.isModified():
1111 1117 opObj10.addParameter(name='channelList', value=channelList, format='intlist')
1112 1118
1113 1119 xvalue= self.specGgraphDbsrange.text()
1114 1120 if self.specGgraphDbsrange.isModified():
1115 1121 xvalueList=xvalue.split(',')
1116 1122 try:
1117 1123 value=int(xvalueList[0])
1118 1124 value=int(xvalueList[1])
1119 1125 opObj10.addParameter(name='xmin', value=xvalueList[0], format='int')
1120 1126 opObj10.addParameter(name='xmax', value=xvalueList[1], format='int')
1121 1127 except:
1122 1128 return 0
1123 1129
1124 1130 yvalue= self.specGgraphHeight.text()
1125 1131 if self.specGgraphHeight.isModified():
1126 1132 yvalueList=yvalue.split(",")
1127 1133 try:
1128 1134 value=int(yvalueList[0])
1129 1135 value=int(yvalueList[1])
1130 1136 opObj10.addParameter(name='ymin', value=yvalueList[0], format='int')
1131 1137 opObj10.addParameter(name='ymax', value=yvalueList[1], format='int')
1132 1138 except:
1133 1139 return 0
1134 1140
1135 1141
1136 1142 if self.specGraphSavePowerprofile.isChecked():
1137 1143 opObj10.addParameter(name='save', value='1', format='bool')
1138 1144 opObj10.addParameter(name='figpath', value= self.specGraphPath.text(),format='str')
1139 1145 opObj10.addParameter(name='figfile', value= self.specGraphPrefix.text(),format='str')
1140 1146
1141 1147
1142 1148
1143 1149 #self.tabgraphSpectra.setEnabled(False)
1144 1150
1145 1151 self.console.clear()
1146 1152 self.console.append("If you want to save your project")
1147 1153 self.console.append("click on your project name in the Tree Project Explorer")
1148 1154
1149 1155 @pyqtSignature("")
1150 1156 def on_specGraphClear_clicked(self):
1151 1157 self.clearspecGraph()
1152 1158
1153 1159 def setspecGraph(self):
1154 1160
1155 1161 self.specGgraphChannelList.setEnabled(True)
1156 1162
1157 1163 def clearspecGraph(self):
1158 1164
1159 1165 self.specGgraphChannelList.clear()
1160 1166
1161 1167
1162 1168 def playProject(self):
1163 1169
1164 1170 for i in self.__arbolDict:
1165 1171 if self.__arbolDict[i]==self.indexclick:
1166 1172 if self.__projObjDict.has_key(i)==True:
1167 1173 self.projectObj=self.__projObjDict[i]
1168 1174 filename=self.pathWorkSpace+"/"+str(self.projectObj.name)+str(self.projectObj.id)+".xml"
1169 1175 self.console.clear()
1170 1176 self.console.append("Please Wait...")
1171 1177 self.projectObj.readXml(filename)
1172 1178 self.projectObj.createObjects()
1173 1179 self.projectObj.connectObjects()
1174 1180 self.projectObj.run()
1175 1181 return 0
1176 1182 else:
1177 1183 self.console.clear()
1178 1184 self.console.append("First,click on current project")
1179 1185
1180 1186
1181 1187
1182 1188 def saveProject(self):
1183 1189 print self.indexclick
1184 1190 for i in self.__arbolDict:
1185 1191 if self.__arbolDict[i]==self.indexclick:
1186 1192 if self.__projObjDict.has_key(i)==True:
1187 1193 self.projectObj=self.__projObjDict[int(i)]
1188 1194 else:
1189 1195 self.console.clear()
1190 1196 self.console.append("First,click on current project")
1191 1197
1192 1198 filename=self.pathWorkSpace+"/"+str(self.projectObj.name)+str(self.projectObj.id)+".xml"
1193 1199 self.console.clear()
1194 1200 self.projectObj.writeXml(filename)
1195 1201 self.console.append("Now, you can push the icon Start in the toolbar or push start in menu run")
1196 1202
1197 1203
1198 1204 def clickFunction(self,index):
1199 1205 self.indexclick= index.model().itemFromIndex(index)
1200 1206
1201 1207 def doubleclickFunction(self):
1202 1208 for i in self.__arbolDict:
1203 1209 if self.__arbolDict[i]==self.indexclick:
1204 1210 if self.__projObjDict.has_key(i)==True:
1205 1211 #self.tabProject.setEnabled(True)
1206 1212
1207 1213 self.proName.setText(str(self.__projObjDict[i].name))
1208 1214 self.proDataPath.setText(str(self.readUnitConfObjList[i-1].path))
1209 1215
1210 1216 startDate = str(self.readUnitConfObjList[i-1].startDate)
1211 1217 endDate = str(self.readUnitConfObjList[i-1].endDate)
1212 1218 self.proComStartDate.clear()
1213 1219 self.proComEndDate.clear()
1214 1220 self.proComStartDate.addItem( startDate)
1215 1221 self.proComEndDate.addItem(endDate)
1216 1222 startTime=str(self.readUnitConfObjList[i-1].startTime)
1217 1223 endTime=str(self.readUnitConfObjList[i-1].endTime)
1218 1224 starlist=startTime.split(":")
1219 1225 endlist=endTime.split(":")
1220 1226 self.time.setHMS(int(starlist[0]),int(starlist[1]),int(starlist[2]))
1221 1227 self.proStartTime.setTime(self.time)
1222 1228 self.time.setHMS(int(endlist[0]),int(endlist[1]),int(endlist[2]))
1223 1229 self.proEndTime.setTime(self.time)
1224 1230
1225 1231 self.model_2=treeModel()
1226 1232 self.model_2.setParams(name = str(self.__projObjDict[i].name),
1227 1233 directorio = str(self.readUnitConfObjList[i-1].path),
1228 1234 workspace = self.pathWorkSpace,
1229 1235 remode = "Off Line",
1230 1236 dataformat = self.readUnitConfObjList[i-1].datatype,
1231 1237 date = str(self.readUnitConfObjList[i-1].startDate)+"-"+str(self.readUnitConfObjList[i-1].endDate),
1232 1238 initTime = str(self.readUnitConfObjList[i-1].startTime),
1233 1239 endTime = str(self.readUnitConfObjList[i-1].endTime),
1234 1240 timezone = "Local" ,
1235 1241 Summary = str(self.__projObjDict[i].description))
1236 1242 self.treeProjectProperties.setModel(self.model_2)
1237 1243 self.treeProjectProperties.expandAll()
1238 1244 self.tabWidgetProject.setCurrentWidget(self.tabProject)
1239 1245
1240 1246 if self.indexclick.text()=='Voltage':
1241 1247 self.tabVoltage.setEnabled(True)
1242 1248 self.tabSpectra.setEnabled(False)
1243 1249 self.tabCorrelation.setEnabled(False)
1244 1250 self.tabWidgetProject.setCurrentWidget(self.tabVoltage)
1245 1251
1246 1252 self.volOpComChannels.setEnabled(False)
1247 1253 self.volOpComHeights.setEnabled(False)
1248 1254 self.volOpFilter.setEnabled(False)
1249 1255 self.volOpComProfile.setEnabled(False)
1250 1256 self.volOpComCode.setEnabled(False)
1251 1257 self.volOpCohInt.setEnabled(False)
1252 1258 self.volOpChannel.clear()
1253 1259 self.volOpHeights.clear()
1254 1260 self.volOpProfile.clear()
1255 1261 self.volOpFilter.clear()
1256 1262
1257 1263 self.volOpChannel.setEnabled(False)
1258 1264 self.volOpHeights.setEnabled(False)
1259 1265 self.volOpProfile.setEnabled(False)
1260 1266 self.volOpCebHeights.clearFocus()
1261 1267 # self.volOpCebChannels.clear()
1262 1268 # self.volOpCebHeights.clear()
1263 1269 # self.volOpCebFilter.clear()
1264 1270 # self.volOpCebProfile.clear()
1265 1271 # self.volOpCebDecodification.clear()
1266 1272 # self.volOpCebCohInt.clear()
1267 1273
1268 1274
1269 1275 if self.indexclick.text()=='Spectra':
1270 1276 self.tabSpectra.setEnabled(True)
1271 1277 self.specOpnFFTpoints.setEnabled(True)
1272 1278 self.tabVoltage.setEnabled(False)
1273 1279 self.tabCorrelation.setEnabled(False)
1274 1280 self.tabWidgetProject.setCurrentWidget(self.tabSpectra)
1275
1281 self.specGgraphChannelList.setEnabled(True)
1282 self.specGgraphChannelList.clear()
1283
1276 1284 self.specOpnFFTpoints.clear()
1277 1285 self.specOppairsList.clear()
1278 1286 self.specOpChannel.clear()
1279 1287 self.specOpHeights.clear()
1280 1288 self.specOpIncoherent.clear()
1281 1289 self.specOpRemoveDC.clear()
1282 1290 self.specOpRemoveInterference.clear()
1283 1291
1284 1292
1285 1293 if self.indexclick.text()=='Correlation':
1286 1294 self.tabCorrelation.setEnabled(True)
1287 1295 self.tabVoltage.setEnabled(False)
1288 1296 self.tabSpectra.setEnabled(False)
1289 1297 self.tabWidgetProject.setCurrentWidget(self.tabCorrelation)
1290 1298
1291 1299 def popup(self, pos):
1292 1300
1293 1301 self.menu = QtGui.QMenu()
1294 1302 quitAction0 = self.menu.addAction("AddNewProject")
1295 1303 quitAction1 = self.menu.addAction("AddNewProcessingUnit")
1296 1304 quitAction2 = self.menu.addAction("Delete Branch")
1297 1305 quitAction3 = self.menu.addAction("Exit")
1298 1306
1299 1307 action = self.menu.exec_(self.mapToGlobal(pos))
1300 1308 if action == quitAction0:
1301 1309 self.setProjectParam()
1302 1310 if action == quitAction1:
1303 1311 self.addPU()
1304 1312 self.console.clear()
1305 1313 self.console.append("Please, Choose the type of Processing Unit")
1306 1314 self.console.append("If your Datatype is rawdata, you will start with processing unit Type Voltage")
1307 1315 self.console.append("If your Datatype is pdata, you will choose between processing unit Type Spectra or Correlation")
1308 1316 if action == quitAction2:
1309 1317 for i in self.__arbolDict:
1310 1318 if self.__arbolDict[i]==self.indexclick:
1311 1319 self.arbolItem=self.__arbolDict[i]
1312 1320 self.arbolItem.removeRows(self.arbolItem.row(),1)
1313 1321
1314 1322 if action == quitAction3:
1315 1323 return
1316 1324
1317 1325 def setProjectParam(self):
1318 1326 self.tabWidgetProject.setEnabled(True)
1319 1327 self.tabWidgetProject.setCurrentWidget(self.tabProject)
1320 1328 self.tabProject.setEnabled(True)
1321 1329
1322 1330 self.proName.clear()
1323 1331 self.proDataType.setText('.r')
1324 1332 self.proDataPath.clear()
1325 1333 self.proComDataType.clear()
1326 1334 self.proComDataType.addItem("Voltage")
1327 1335 self.proComDataType.addItem("Spectra")
1328 1336
1329 1337 self.proComStartDate.clear()
1330 1338 self.proComEndDate.clear()
1331 1339
1332 1340 startTime="00:00:00"
1333 1341 endTime="23:59:59"
1334 1342 starlist=startTime.split(":")
1335 1343 endlist=endTime.split(":")
1336 1344
1337 1345 self.time.setHMS(int(starlist[0]),int(starlist[1]),int(starlist[2]))
1338 1346 self.proStartTime.setTime(self.time)
1339 1347 self.time.setHMS(int(endlist[0]),int(endlist[1]),int(endlist[2]))
1340 1348 self.proEndTime.setTime(self.time)
1341 1349 self.proDescription.clear()
1342 1350
1343 1351 self.console.clear()
1344 1352 self.console.append("Please, Write a name Project")
1345 1353 self.console.append("Introduce Project Parameters")
1346 1354 self.console.append("Select data type Voltage( .rawdata) or Spectra(.pdata)")
1347 1355
1348 1356
1349 1357 def addPU(self):
1350 1358 self.configUP=UnitProcess(self)
1351 1359 for i in self.__arbolDict:
1352 1360 if self.__arbolDict[i]==self.indexclick:
1353 1361 if self.__projObjDict.has_key(i)==True:
1354 1362 self.projectObj=self.__projObjDict[int(i)]
1355 1363 self.configUP.dataTypeProject=str(self.proComDataType.currentText())
1356 1364 self.configUP.getfromWindowList.append(self.projectObj)
1357 1365 else:
1358 1366 self.upObj=self.__upObjDict[i]
1359 1367 self.configUP.getfromWindowList.append(self.upObj)
1360 1368
1361 1369 self.configUP.loadTotalList()
1362 1370 self.configUP.show()
1363 1371 self.configUP.closed.connect(self.createUP)
1364 1372
1365 1373 def createUP(self):
1366 1374
1367 1375 if not self.configUP.create:
1368 1376 return
1369 1377
1370 1378 self.uporProObjRecover=self.configUP.getFromWindow
1371 1379
1372 1380 self.upType = self.configUP.typeofUP
1373 1381 for i in self.__arbolDict:
1374 1382 if self.__arbolDict[i]==self.indexclick:
1375 1383 if self.__projObjDict.has_key(i)==True:
1376 1384 self.projectObj=self.__projObjDict[int(i)]
1377 1385
1378 1386 if self.__upObjDict.has_key(i)==True:
1379 1387 self.upObj=self.__upObjDict[i]
1380 1388 getIdProject=self.upObj.id[0]
1381 1389 self.projectObj=self.__projObjDict[int(getIdProject)]
1382 1390
1383 1391 datatype=str(self.upType)
1384 1392 uporprojectObj=self.uporProObjRecover
1385 1393
1386 1394 if uporprojectObj.getElementName()=='ProcUnit':
1387 1395 inputId=uporprojectObj.getId()
1388 1396 self.console.clear()
1389 1397 self.console.append("Double Clik on the Processing Unit to enable the tab")
1390 1398 self.console.append("Before Add other Processing Unit complete the tab")
1391 1399 else:
1392 1400 inputId=self.readUnitConfObjList[uporprojectObj.id-1].getId()
1393 1401 self.console.clear()
1394 1402 self.console.append("Double Clik on the Processing Unit to enable the tab")
1395 1403 self.console.append("Before Add other Project or Processing Unit complete the tab")
1396 1404
1397 1405 self.procUnitConfObj1 = self.projectObj.addProcUnit(datatype=datatype, inputId=inputId)
1398 1406 self.__upObjDict[self.procUnitConfObj1.id]= self.procUnitConfObj1
1399 1407
1400 1408 self.parentItem=self.__arbolDict[uporprojectObj.id]
1401 1409 self.numbertree=int(self.procUnitConfObj1.getId())-1
1402 1410 self.__arbolDict[self.procUnitConfObj1.id]=QtGui.QStandardItem(QtCore.QString(datatype).arg(self.numbertree))
1403 1411 self.parentItem.appendRow(self.__arbolDict[self.procUnitConfObj1.id])
1404 1412 self.parentItem=self.__arbolDict[self.procUnitConfObj1.id]
1405 1413 self.treeProjectExplorer.expandAll()
1406 1414
1407 1415
1408 1416 def searchData(self,path,ext,walk,expLabel=''):
1409 1417 dateList=[]
1410 1418 fileList=[]
1411 1419 if walk== 0:
1412 1420 files= os.listdir(path)
1413 1421 for thisFile in files:
1414 1422 thisExt = os.path.splitext(thisFile)[-1]
1415 1423 if thisExt != ext:
1416 1424 self.console.clear()
1417 1425 self.console.append("There is no datatype selected in the path Directory")
1418 1426 self.proOk.setEnabled(False)
1419 1427 continue
1420 1428
1421 1429 fileList.append(thisFile)
1422 1430
1423 1431 for thisFile in fileList:
1424 1432
1425 1433 if not isRadarFile(thisFile):
1426 1434 self.console.clear()
1427 1435 self.console.append("Please, Choose the Correct Path")
1428 1436 self.proOk.setEnabled(False)
1429 1437 continue
1430 1438
1431 1439 year = int(thisFile[1:5])
1432 1440 doy = int(thisFile[5:8])
1433 1441
1434 1442 date = datetime.date(year,1,1) + datetime.timedelta(doy-1)
1435 1443 dateformat = date.strftime("%Y/%m/%d")
1436 1444
1437 1445 if dateformat not in dateList:
1438 1446 dateList.append(dateformat)
1439 1447
1440 1448 if walk == 1:
1441 1449
1442 1450 dirList = os.listdir(path)
1443 1451
1444 1452 dirList.sort()
1445 1453
1446 1454 dateList = []
1447 1455
1448 1456 for thisDir in dirList:
1449 1457
1450 1458 if not isRadarPath(thisDir):
1451 1459 self.console.clear()
1452 1460 self.console.append("Please, Choose the Correct Path")
1453 1461 self.proOk.setEnabled(False)
1454 1462 continue
1455 1463
1456 1464 doypath = os.path.join(path, thisDir, expLabel)
1457 1465 if not os.path.exists(doypath):
1458 1466 self.console.clear()
1459 1467 self.console.append("Please, Choose the Correct Path")
1460 1468 return
1461 1469 files = os.listdir(doypath)
1462 1470 fileList = []
1463 1471
1464 1472 for thisFile in files:
1465 1473 thisExt=os.path.splitext(thisFile)[-1]
1466 1474 if thisExt != ext:
1467 1475 self.console.clear()
1468 1476 self.console.append("There is no datatype selected in the Path Directory")
1469 1477 self.proOk.setEnabled(False)
1470 1478 continue
1471 1479
1472 1480 if not isRadarFile(thisFile):
1473 1481 self.proOk.setEnabled(False)
1474 1482 self.console.clear()
1475 1483 self.console.append("Please, Choose the Correct Path")
1476 1484 continue
1477 1485
1478 1486 fileList.append(thisFile)
1479 1487 break
1480 1488
1481 1489 if fileList == []:
1482 1490 continue
1483 1491
1484 1492 year = int(thisDir[1:5])
1485 1493 doy = int(thisDir[5:8])
1486 1494
1487 1495 date = datetime.date(year,1,1) + datetime.timedelta(doy-1)
1488 1496 dateformat = date.strftime("%Y/%m/%d")
1489 1497 dateList.append(dateformat)
1490 1498
1491 1499 return dateList
1492 1500
1493 1501 def loadDays(self):
1494 1502 """
1495 1503 Method to loads day
1496 1504 """
1497 1505 ext=str(self.proDataType.text())
1498 1506
1499 1507 #-------------------------#
1500 1508 walk= self.walk
1501 1509
1502 1510 path=str(self.proDataPath.text())
1503 1511 if not os.path.exists(path):
1504 1512 self.proOk.setEnabled(False)
1505 1513 self.console.clear()
1506 1514 self.console.append("Write a correct a path")
1507 1515 return
1508 1516 self.proComStartDate.clear()
1509 1517 self.proComEndDate.clear()
1510 1518 #Load List to select start day and end day.(QComboBox)
1511 1519 dateList=self.searchData(path,ext=ext,walk=walk)
1512 1520 self.dateList=dateList
1513 1521 for thisDate in dateList:
1514 1522 self.proComStartDate.addItem(thisDate)
1515 1523 self.proComEndDate.addItem(thisDate)
1516 1524 self.proComEndDate.setCurrentIndex(self.proComStartDate.count()-1)
1517 1525
1518 1526 def setWorkSpaceGUI(self,pathWorkSpace):
1519 1527 self.pathWorkSpace = pathWorkSpace
1520 1528 #---Comandos Usados en Console----#
1521 1529 def __del__(self):
1522 1530 sys.stdout=sys.__stdout__
1523 1531
1524 1532 def normalOutputWritten(self,text):
1525 1533 self.console.append(text)
1526 1534
1527 1535 #-----Fin------#
1528 1536
1529 1537 def setParameter(self):
1530 1538 self.setWindowTitle("ROJ-Signal Chain")
1531 1539 self.setWindowIcon(QtGui.QIcon("figure/adn.jpg"))
1532 1540 sys.stdout = ShowMeConsole(textWritten=self.normalOutputWritten)
1533 1541
1534 1542 self.tabWidgetProject.setEnabled(False)
1535 1543 self.tabVoltage.setEnabled(False)
1536 1544 self.tabSpectra.setEnabled(False)
1537 1545 self.tabCorrelation.setEnabled(False)
1538 1546
1539 1547 self.actionCreate.setShortcut('Ctrl+P')
1540 1548 self.actionStart.setShortcut('Ctrl+R')
1541 1549 self.actionSave.setShortcut('Ctrl+S')
1542 1550 self.actionClose.setShortcut('Ctrl+Q')
1543 1551
1544 1552 self.proName.clear()
1545 1553 self.proDataPath.setText('')
1546 1554 self.console.append("Welcome to Signal Chain please Create a New Project")
1547 1555 self.proStartTime.setDisplayFormat("hh:mm:ss")
1548 1556 self.time =QtCore.QTime()
1549 1557 self.hour =0
1550 1558 self.min =0
1551 1559 self.sec =0
1552 1560 self.proEndTime.setDisplayFormat("hh:mm:ss")
1553 1561 startTime="00:00:00"
1554 1562 endTime="23:59:59"
1555 1563 starlist=startTime.split(":")
1556 1564 endlist=endTime.split(":")
1557 1565 self.time.setHMS(int(starlist[0]),int(starlist[1]),int(starlist[2]))
1558 1566 self.proStartTime.setTime(self.time)
1559 1567 self.time.setHMS(int(endlist[0]),int(endlist[1]),int(endlist[2]))
1560 1568 self.proEndTime.setTime(self.time)
1561 1569 self.proOk.setEnabled(False)
1562 1570 #set model Project Explorer
1563 1571 self.model = QtGui.QStandardItemModel()
1564 1572 self.model.setHorizontalHeaderLabels(("Project Explorer",))
1565 1573 layout = QtGui.QVBoxLayout()
1566 1574 layout.addWidget(self.treeProjectExplorer)
1567 1575 self.treeProjectExplorer.setModel(self.model)
1568 1576 self.treeProjectExplorer.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
1569 1577 self.treeProjectExplorer.customContextMenuRequested.connect(self.popup)
1570 1578 self.treeProjectExplorer.clicked.connect(self.clickFunction)
1571 1579
1572 1580 self.treeProjectExplorer.doubleClicked.connect(self.doubleclickFunction)
1573 1581 self.treeProjectExplorer.expandAll()
1574 1582 #set model Project Properties
1575 1583
1576 1584 self.model_2=treeModel()
1577 1585 self.model_2.showtree()
1578 1586 self.treeProjectProperties.setModel(self.model_2)
1579 1587 self.treeProjectProperties.expandAll()
1580 1588 #set Project
1581 1589 self.proDelay.setEnabled(False)
1582 1590 self.proDataType.setReadOnly(True)
1583 1591
1584 1592 #set Operation Voltage
1585 1593 self.volOpComChannels.setEnabled(False)
1586 1594 self.volOpComHeights.setEnabled(False)
1587 1595 self.volOpFilter.setEnabled(False)
1588 1596 self.volOpComProfile.setEnabled(False)
1589 1597 self.volOpComCode.setEnabled(False)
1590 1598 self.volOpCohInt.setEnabled(False)
1591 1599
1592 1600 self.volOpChannel.setEnabled(False)
1593 1601 self.volOpHeights.setEnabled(False)
1594 1602 self.volOpProfile.setEnabled(False)
1595 1603 self.volOpComMode.setEnabled(False)
1596 1604
1597 1605 self.volGraphPath.setEnabled(False)
1598 1606 self.volGraphPrefix.setEnabled(False)
1599 1607 self.volGraphToolPath.setEnabled(False)
1600 1608
1601 1609 #set Graph Voltage
1602 1610 self.volGraphChannelList.setEnabled(False)
1603 1611 self.volGraphfreqrange.setEnabled(False)
1604 1612 self.volGraphHeightrange.setEnabled(False)
1605 1613
1606 1614 #set Operation Spectra
1607 1615 self.specOpnFFTpoints.setEnabled(False)
1608 1616 self.specOppairsList.setEnabled(False)
1609 1617 self.specOpComChannel.setEnabled(False)
1610 1618 self.specOpComHeights.setEnabled(False)
1611 1619 self.specOpIncoherent.setEnabled(False)
1612 1620 self.specOpRemoveDC .setEnabled(False)
1613 1621 self.specOpRemoveInterference.setEnabled(False)
1614 1622
1615 1623 self.specOpChannel.setEnabled(False)
1616 1624 self.specOpHeights.setEnabled(False)
1617 1625 #set Graph Spectra
1618 1626 self.specGgraphChannelList.setEnabled(False)
1619 1627 self.specGgraphFreq.setEnabled(False)
1620 1628 self.specGgraphHeight.setEnabled(False)
1621 1629 self.specGgraphDbsrange.setEnabled(False)
1622 1630 self.specGgraphmagnitud.setEnabled(False)
1623 1631 self.specGgraphTimeRange.setEnabled(False)
1624 1632 self.specGgraphPhaserange.setEnabled(False)
1625 1633 self.specGraphPath.setEnabled(False)
1626 1634 self.specGraphToolPath.setEnabled(False)
1627 1635 self.specGraphPrefix.setEnabled(False)
1628 1636
1629 1637
1630 1638 #tool tip gui
1631 1639 QtGui.QToolTip.setFont(QtGui.QFont('SansSerif', 10))
1632 1640 self.treeProjectExplorer.setToolTip('Right clik to add Project or Unit Process')
1633 1641 #tool tip gui project
1634 1642 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>')
1635 1643 self.proComWalk.setCurrentIndex(1)
1636 1644 #tool tip gui volOp
1637 1645 self.volOpChannel.setToolTip('Example: 1,2,3,4,5')
1638 1646 self.volOpHeights.setToolTip('Example: 90,180')
1639 1647 self.volOpFilter.setToolTip('Example: 3')
1640 1648 self.volOpProfile.setToolTip('Example:0,125 ')
1641 1649 self.volOpCohInt.setToolTip('Example: 100')
1642 1650 self.volOpOk.setToolTip('If you have finish, please Ok ')
1643 1651 #tool tip gui volGraph
1644 1652 self.volGraphfreqrange.setToolTip('Example: 10,150')
1645 1653 self.volGraphHeightrange.setToolTip('Example: 20,180')
1646 1654 self.volGraphOk.setToolTip('If you have finish, please Ok ')
1647 1655 #tool tip gui specOp
1648 1656 self.specOpnFFTpoints.setToolTip('Example: 100')
1649 1657 self.specOpIncoherent.setToolTip('Example: 150')
1650 1658 self.specOpRemoveDC .setToolTip('Example: 1')
1651 1659
1652 1660
1653 1661 self.specOpChannel.setToolTip('Example: 1,2,3,4,5')
1654 1662 self.specOpHeights.setToolTip('Example: 90,180')
1655 1663 self.specOppairsList.setToolTip('Example: (0,1),(2,3)')
1656 1664 #tool tip gui specGraph
1657 1665
1658 1666 self.specGgraphChannelList.setToolTip('Example: Myplot')
1659 1667 self.specGgraphFreq.setToolTip('Example: 10,150')
1660 1668 self.specGgraphHeight.setToolTip('Example: 20,160')
1661 1669 self.specGgraphDbsrange.setToolTip('Example: 30,170')
1662 1670
1663 1671 self.specGraphPrefix.setToolTip('Example: figure')
1664 1672
1665 1673 class UnitProcess(QMainWindow, Ui_UnitProcess):
1666 1674 """
1667 1675 Class documentation goes here.
1668 1676 """
1669 1677 closed=pyqtSignal()
1670 1678 create= False
1671 1679 def __init__(self, parent = None):
1672 1680 """
1673 1681 Constructor
1674 1682 """
1675 1683 QMainWindow.__init__(self, parent)
1676 1684 self.setupUi(self)
1677 1685 self.getFromWindow=None
1678 1686 self.getfromWindowList=[]
1679 1687 self.dataTypeProject=None
1680 1688
1681 1689 self.listUP=None
1682 1690
1683 1691 @pyqtSignature("")
1684 1692 def on_unitPokbut_clicked(self):
1685 1693 """
1686 1694 Slot documentation goes here.
1687 1695 """
1688 1696 self.create =True
1689 1697 self.getFromWindow=self.getfromWindowList[int(self.comboInputBox.currentIndex())]
1690 1698 #self.nameofUP= str(self.nameUptxt.text())
1691 1699 self.typeofUP= str(self.comboTypeBox.currentText())
1692 1700 self.close()
1693 1701
1694 1702
1695 1703 @pyqtSignature("")
1696 1704 def on_unitPcancelbut_clicked(self):
1697 1705 """
1698 1706 Slot documentation goes here.
1699 1707 """
1700 1708 self.create=False
1701 1709 self.close()
1702 1710
1703 1711 def loadTotalList(self):
1704 1712 self.comboInputBox.clear()
1705 1713 for i in self.getfromWindowList:
1706 1714
1707 1715 name=i.getElementName()
1708 1716 if name=='Project':
1709 1717 id= i.id
1710 1718 name=i.name
1711 1719 if self.dataTypeProject=='Voltage':
1712 1720 self.comboTypeBox.clear()
1713 1721 self.comboTypeBox.addItem("Voltage")
1714 1722
1715 1723 if self.dataTypeProject=='Spectra':
1716 1724 self.comboTypeBox.clear()
1717 1725 self.comboTypeBox.addItem("Spectra")
1718 1726 self.comboTypeBox.addItem("Correlation")
1719 1727
1720 1728 if name=='ProcUnit':
1721 1729 id=int(i.id)-1
1722 1730 name=i.datatype
1723 1731 if name == 'Voltage':
1724 1732 self.comboTypeBox.clear()
1725 1733 self.comboTypeBox.addItem("Spectra")
1726 1734 self.comboTypeBox.addItem("Correlation")
1727 1735 if name == 'Spectra':
1728 1736 self.comboTypeBox.clear()
1729 1737 self.comboTypeBox.addItem("Spectra")
1730 1738 self.comboTypeBox.addItem("Correlation")
1731 1739
1732 1740
1733 1741 self.comboInputBox.addItem(str(name))
1734 1742 #self.comboInputBox.addItem(str(name)+str(id))
1735 1743
1736 1744 def closeEvent(self, event):
1737 1745 self.closed.emit()
1738 1746 event.accept()
1739 1747
1740 1748 class ShowMeConsole(QtCore.QObject):
1741 1749 textWritten=QtCore.pyqtSignal(str)
1742 1750 def write (self,text):
1743 1751 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