This diff has been collapsed as it changes many lines, (1226 lines changed) Show them Hide them | |||
@@ -59,33 +59,178 def isRadarPath(path): | |||
|
59 | 59 | |
|
60 | 60 | return 1 |
|
61 | 61 | |
|
62 |
def isInt( |
|
|
62 | def isInt(cadena): | |
|
63 | 63 | |
|
64 | 64 | try: |
|
65 |
int( |
|
|
65 | int(cadena) | |
|
66 | 66 | except: |
|
67 | 67 | return 0 |
|
68 | 68 | |
|
69 | 69 | return 1 |
|
70 | 70 | |
|
71 |
def isFloat( |
|
|
71 | def isFloat(cadena): | |
|
72 | 72 | |
|
73 | 73 | try: |
|
74 |
float( |
|
|
74 | float(cadena) | |
|
75 | 75 | except: |
|
76 | 76 | return 0 |
|
77 | 77 | |
|
78 | 78 | return 1 |
|
79 | 79 | |
|
80 |
def isList( |
|
|
80 | def isList(cadena): | |
|
81 | 81 | |
|
82 | x = ast.literal_eval(value) | |
|
82 | value = str.strip(cadena) | |
|
83 | ||
|
84 | if not value: | |
|
85 | return 0 | |
|
86 | ||
|
87 | try: | |
|
88 | x = ast.literal_eval(value) | |
|
89 | except: | |
|
90 | return 0 | |
|
83 | 91 | |
|
84 | 92 | if type(x) in (int, float, tuple, list): |
|
85 | 93 | return 1 |
|
86 | 94 | |
|
87 | 95 | return 0 |
|
96 | ||
|
97 | def isIntList(cadena): | |
|
98 | ||
|
99 | value = str.strip(cadena) | |
|
100 | ||
|
101 | if not value: | |
|
102 | return 0 | |
|
103 | ||
|
104 | try: | |
|
105 | x = ast.literal_eval(value) | |
|
106 | except: | |
|
107 | return 0 | |
|
108 | ||
|
109 | if type(x) not in (int, tuple, list): | |
|
110 | return 0 | |
|
111 | ||
|
112 | return 1 | |
|
113 | ||
|
114 | def isFloatRange(cadena): | |
|
115 | ||
|
116 | value = str.strip(cadena) | |
|
117 | ||
|
118 | if not value: | |
|
119 | return 0 | |
|
120 | ||
|
121 | c = str.split(value, ",") | |
|
122 | ||
|
123 | if len(c) != 2: | |
|
124 | return 0 | |
|
125 | ||
|
126 | if not isFloat(c[0]): | |
|
127 | return 0 | |
|
128 | ||
|
129 | if not isFloat(c[1]): | |
|
130 | return 0 | |
|
131 | ||
|
132 | return 1 | |
|
133 | ||
|
134 | def isIntRange(cadena): | |
|
135 | ||
|
136 | value = str.strip(cadena) | |
|
137 | ||
|
138 | if not value: | |
|
139 | return 0 | |
|
140 | ||
|
141 | c = str.split(value, ",") | |
|
142 | ||
|
143 | if len(c) != 2: | |
|
144 | return 0 | |
|
145 | ||
|
146 | if not isInt(c[0]): | |
|
147 | return 0 | |
|
148 | ||
|
149 | if not isInt(c[1]): | |
|
150 | return 0 | |
|
151 | ||
|
152 | def isPair(value): | |
|
153 | ||
|
154 | if type(value) not in (tuple, list): | |
|
155 | return 0 | |
|
156 | ||
|
157 | if len(value) != 2: | |
|
158 | return 0 | |
|
159 | ||
|
160 | for i in value: | |
|
161 | if type(i) not in (int,): | |
|
162 | return 0 | |
|
163 | ||
|
164 | return 1 | |
|
165 | ||
|
166 | def isPairList(cadena): | |
|
167 | ||
|
168 | value = str.strip(cadena) | |
|
169 | ||
|
170 | if not value: | |
|
171 | return 0 | |
|
172 | ||
|
173 | try: | |
|
174 | x = ast.literal_eval(value) | |
|
175 | except: | |
|
176 | return 0 | |
|
177 | ||
|
178 | if type(x) not in (tuple, list): | |
|
179 | return 0 | |
|
180 | ||
|
181 | if type(x[0]) not in (tuple, list): | |
|
182 | #x = (0,1) | |
|
183 | if not isPair(x): | |
|
184 | return 0 | |
|
185 | ||
|
186 | return 1 | |
|
187 | ||
|
188 | for thisPair in x: | |
|
189 | if not isPair(thisPair): | |
|
190 | return 0 | |
|
191 | ||
|
192 | return 1 | |
|
193 | ||
|
194 | def isMultiList(cadena): | |
|
195 | ||
|
196 | value = str.strip(cadena) | |
|
197 | ||
|
198 | if not value: | |
|
199 | return 0 | |
|
200 | ||
|
201 | try: | |
|
202 | x = ast.literal_eval(value) | |
|
203 | except: | |
|
204 | return 0 | |
|
205 | ||
|
206 | if type(x) not in (tuple, list): | |
|
207 | return 0 | |
|
208 | ||
|
209 | if type(x[0]) not in (int, tuple, list): | |
|
210 | return 0 | |
|
211 | ||
|
212 | for thisList in x: | |
|
213 | if type(thisList) not in (tuple, list): | |
|
214 | return 0 | |
|
88 | 215 | |
|
216 | return 1 | |
|
217 | ||
|
218 | def getCode(cadena): | |
|
219 | ||
|
220 | if not isMultiList(cadena): | |
|
221 | return None | |
|
222 | ||
|
223 | try: | |
|
224 | x = ast.literal_eval(value) | |
|
225 | except: | |
|
226 | return 0 | |
|
227 | ||
|
228 | if type(x[0]) not in (tuple, list): | |
|
229 | return [x] | |
|
230 | ||
|
231 | return x | |
|
232 | ||
|
233 | ||
|
89 | 234 | class BasicWindow(QMainWindow, Ui_BasicWindow): |
|
90 | 235 | """ |
|
91 | 236 | """ |
@@ -113,9 +258,8 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
113 | 258 | self.idImagspectraHeis = 0 |
|
114 | 259 | self.idImagrtiHeis = 0 |
|
115 | 260 | |
|
261 | self.dateList = [] | |
|
116 | 262 | self.dataPath = None |
|
117 | self.online = 0 | |
|
118 | self.walk = 0 | |
|
119 | 263 | self.create = False |
|
120 | 264 | self.selectedItemTree = None |
|
121 | 265 | self.controllerThread = None |
@@ -307,49 +451,94 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
307 | 451 | SELECCION DEL MODO DE LECTURA ON=1, OFF=0 |
|
308 | 452 | """ |
|
309 | 453 | if index == 0: |
|
310 |
self. |
|
|
311 |
self.pro |
|
|
312 | self.proSet.setText("") | |
|
313 | self.proSet.setEnabled(False) | |
|
454 | # self.proDelay.setText("0") | |
|
455 | self.proSet.setEnabled(True) | |
|
314 | 456 | self.proDelay.setEnabled(False) |
|
315 | 457 | elif index == 1: |
|
316 | self.online = 1 | |
|
317 | 458 | self.proSet.setText("") |
|
318 | self.proDelay.setText("5") | |
|
319 |
self.proSet.setEnabled( |
|
|
459 | # self.proDelay.setText("5") | |
|
460 | self.proSet.setEnabled(False) | |
|
320 | 461 | self.proDelay.setEnabled(True) |
|
321 | 462 | |
|
322 | @pyqtSignature("int") | |
|
323 | def on_proComDataType_activated(self, index): | |
|
324 | """ | |
|
325 | Voltage or Spectra | |
|
326 |
|
|
|
463 | ||
|
464 | def __setRawDataWindow(self): | |
|
465 | ||
|
466 | self.__setPDataWindow() | |
|
467 | ||
|
468 | self.frame_data.show() | |
|
469 | ||
|
470 | self.labnTxs.show() | |
|
471 | self.pronTxs.show() | |
|
472 | ||
|
473 | self.labByBlock.show() | |
|
474 | self.proComByBlock.show() | |
|
475 | ||
|
476 | def __setPDataWindow(self): | |
|
477 | ||
|
478 | self.labelIPPKm.hide() | |
|
479 | self.proIPPKm.hide() | |
|
480 | ||
|
327 | 481 | self.labelSet.show() |
|
328 | 482 | self.proSet.show() |
|
329 | 483 | |
|
330 | 484 | self.labExpLabel.show() |
|
331 | 485 | self.proExpLabel.show() |
|
332 | 486 | |
|
333 |
self.label |
|
|
334 |
self.pro |
|
|
487 | self.labelWalk.show() | |
|
488 | self.proComWalk.show() | |
|
489 | ||
|
490 | self.frame_data.hide() | |
|
491 | ||
|
492 | # self.labnTxs.hide() | |
|
493 | # self.pronTxs.hide() | |
|
494 | # | |
|
495 | # self.labByBlock.hide() | |
|
496 | # self.proComByBlock.hide() | |
|
497 | ||
|
498 | def __setUSRPDataWindow(self): | |
|
499 | ||
|
500 | self.frame_data.show() | |
|
501 | ||
|
502 | self.labelIPPKm.show() | |
|
503 | self.proIPPKm.show() | |
|
504 | ||
|
505 | self.labelSet.hide() | |
|
506 | self.proSet.hide() | |
|
507 | ||
|
508 | self.labExpLabel.hide() | |
|
509 | self.proExpLabel.hide() | |
|
510 | ||
|
511 | self.labelWalk.hide() | |
|
512 | self.proComWalk.hide() | |
|
513 | ||
|
514 | self.labnTxs.hide() | |
|
515 | self.pronTxs.hide() | |
|
516 | ||
|
517 | self.labByBlock.hide() | |
|
518 | self.proComByBlock.hide() | |
|
519 | ||
|
520 | @pyqtSignature("int") | |
|
521 | def on_proComDataType_activated(self, index): | |
|
522 | """ | |
|
523 | Voltage or Spectra | |
|
524 | """ | |
|
335 | 525 | |
|
336 | 526 | if index == 0: |
|
337 | 527 | extension = '.r' |
|
528 | self.__setRawDataWindow() | |
|
529 | ||
|
338 | 530 | elif index == 1: |
|
339 | 531 | extension = '.pdata' |
|
532 | self.__setPDataWindow() | |
|
533 | ||
|
534 | ||
|
340 | 535 | elif index == 2: |
|
341 | 536 | extension = '.fits' |
|
537 | self.__setPDataWindow() | |
|
538 | ||
|
342 | 539 | elif index == 3: |
|
343 | 540 | extension = '.hdf5' |
|
344 | ||
|
345 | self.labelIPPKm.show() | |
|
346 | self.proIPPKm.show() | |
|
347 | ||
|
348 | self.labelSet.hide() | |
|
349 | self.proSet.hide() | |
|
350 | ||
|
351 | self.labExpLabel.hide() | |
|
352 | self.proExpLabel.hide() | |
|
541 | self.__setUSRPDataWindow() | |
|
353 | 542 | |
|
354 | 543 | self.proDataType.setText(extension) |
|
355 | 544 | |
@@ -359,10 +548,10 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
359 | 548 | |
|
360 | 549 | """ |
|
361 | 550 | if index == 0: |
|
362 | self.walk = 0 | |
|
551 | self.proExpLabel.setEnabled(False) | |
|
363 | 552 | elif index == 1: |
|
364 | self.walk = 1 | |
|
365 | ||
|
553 | self.proExpLabel.setEnabled(True) | |
|
554 | ||
|
366 | 555 | @pyqtSignature("") |
|
367 | 556 | def on_proToolPath_clicked(self): |
|
368 | 557 | """ |
@@ -409,11 +598,9 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
409 | 598 | |
|
410 | 599 | self.console.clear() |
|
411 | 600 | |
|
412 |
p |
|
|
413 | ||
|
414 | parms_ok, project_name, datatype, ext, data_path, read_mode, delay, walk, set, expLabel = parameter_list | |
|
601 | projectParms = self.__getParmsFromProjectWindow() | |
|
415 | 602 | |
|
416 |
if |
|
|
603 | if not projectParms.online: | |
|
417 | 604 | self.proComStartDate.clear() |
|
418 | 605 | self.proComEndDate.clear() |
|
419 | 606 | self.proComStartDate.setEnabled(True) |
@@ -422,7 +609,7 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
422 | 609 | self.proEndTime.setEnabled(True) |
|
423 | 610 | self.frame_2.setEnabled(True) |
|
424 | 611 | |
|
425 | if read_mode == "Online": | |
|
612 | else: | |
|
426 | 613 | self.proComStartDate.addItem("1960/01/30") |
|
427 | 614 | self.proComEndDate.addItem("2018/12/31") |
|
428 | 615 | self.proComStartDate.setEnabled(False) |
@@ -431,7 +618,7 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
431 | 618 | self.proEndTime.setEnabled(False) |
|
432 | 619 | self.frame_2.setEnabled(True) |
|
433 | 620 | |
|
434 |
if self.loadDays( |
|
|
621 | if self.loadDays(projectParms.dpath, projectParms.ext, projectParms.walk, projectParms.expLabel) == []: | |
|
435 | 622 | self._disable_save_button() |
|
436 | 623 | self._disable_play_button() |
|
437 | 624 | self.proOk.setEnabled(False) |
@@ -537,7 +724,7 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
537 | 724 | if p0 == 0: |
|
538 | 725 | self.volOpComChannels.setEnabled(False) |
|
539 | 726 | self.volOpChannel.setEnabled(False) |
|
540 | self.volOpChannel.clear() | |
|
727 | # self.volOpChannel.clear() | |
|
541 | 728 | |
|
542 | 729 | @pyqtSignature("int") |
|
543 | 730 | def on_volOpCebHeights_stateChanged(self, p0): |
@@ -550,7 +737,7 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
550 | 737 | |
|
551 | 738 | if p0 == 0: |
|
552 | 739 | self.volOpHeights.setEnabled(False) |
|
553 | self.volOpHeights.clear() | |
|
740 | # self.volOpHeights.clear() | |
|
554 | 741 | self.volOpComHeights.setEnabled(False) |
|
555 | 742 | |
|
556 | 743 | @pyqtSignature("int") |
@@ -563,7 +750,7 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
563 | 750 | |
|
564 | 751 | if p0 == 0: |
|
565 | 752 | self.volOpFilter.setEnabled(False) |
|
566 | self.volOpFilter.clear() | |
|
753 | # self.volOpFilter.clear() | |
|
567 | 754 | |
|
568 | 755 | @pyqtSignature("int") |
|
569 | 756 | def on_volOpCebProfile_stateChanged(self, p0): |
@@ -577,7 +764,7 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
577 | 764 | if p0 == 0: |
|
578 | 765 | self.volOpComProfile.setEnabled(False) |
|
579 | 766 | self.volOpProfile.setEnabled(False) |
|
580 | self.volOpProfile.clear() | |
|
767 | # self.volOpProfile.clear() | |
|
581 | 768 | |
|
582 | 769 | @pyqtSignature("int") |
|
583 | 770 | def on_volOpComProfile_activated(self, index): |
@@ -689,7 +876,7 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
689 | 876 | self.volOpFlip.setEnabled(True) |
|
690 | 877 | if p0 == 0: |
|
691 | 878 | self.volOpFlip.setEnabled(False) |
|
692 | self.volOpFlip.clear() | |
|
879 | # self.volOpFlip.clear() | |
|
693 | 880 | |
|
694 | 881 | @pyqtSignature("int") |
|
695 | 882 | def on_volOpCebCohInt_stateChanged(self, p0): |
@@ -700,7 +887,7 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
700 | 887 | self.volOpCohInt.setEnabled(True) |
|
701 | 888 | if p0 == 0: |
|
702 | 889 | self.volOpCohInt.setEnabled(False) |
|
703 | self.volOpCohInt.clear() | |
|
890 | # self.volOpCohInt.clear() | |
|
704 | 891 | |
|
705 | 892 | @pyqtSignature("int") |
|
706 | 893 | def on_volOpCebRadarfrequency_stateChanged(self, p0): |
@@ -747,7 +934,7 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
747 | 934 | self._disable_save_button() |
|
748 | 935 | |
|
749 | 936 | self.console.clear() |
|
750 |
self.console.append("Checking input parameters |
|
|
937 | self.console.append("Checking input parameters:\n") | |
|
751 | 938 | |
|
752 | 939 | puObj = self.getSelectedItemObj() |
|
753 | 940 | puObj.removeOperations() |
@@ -757,25 +944,15 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
757 | 944 | format = 'float' |
|
758 | 945 | name_operation = 'setRadarFrequency' |
|
759 | 946 | name_parameter = 'frequency' |
|
760 | if not value == "": | |
|
761 |
|
|
|
762 | radarfreq = float(self.volOpRadarfrequency.text())*1e6 | |
|
763 |
|
|
|
764 | self.console.clear() | |
|
765 | self.console.append("Invalid value '%s' for Radar Frequency" %value) | |
|
766 | return 0 | |
|
947 | ||
|
948 | if not isFloat(value): | |
|
949 | self.console.append("Invalid value '%s' for Radar Frequency" %value) | |
|
950 | return 0 | |
|
767 | 951 | |
|
768 |
|
|
|
769 |
|
|
|
770 | self.console.append("Invalid value '%s' for %s" %(value,name_parameter)) | |
|
771 | return 0 | |
|
952 | opObj = puObj.addOperation(name=name_operation) | |
|
953 | opObj.addParameter(name=name_parameter, value=radarfreq, format=format) | |
|
772 | 954 | |
|
773 | 955 | if self.volOpCebChannels.isChecked(): |
|
774 | value = str(self.volOpChannel.text()) | |
|
775 | ||
|
776 | if value == "": | |
|
777 | print "Please fill channel list" | |
|
778 | return 0 | |
|
779 | 956 | |
|
780 | 957 | format = 'intlist' |
|
781 | 958 | if self.volOpComChannels.currentIndex() == 0: |
@@ -784,18 +961,22 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
784 | 961 | else: |
|
785 | 962 | name_operation = "selectChannelsByIndex" |
|
786 | 963 | name_parameter = 'channelIndexList' |
|
787 |
|
|
|
788 | opObj = puObj.addOperation(name=name_operation) | |
|
789 | if not opObj.addParameter(name=name_parameter, value=value, format=format): | |
|
964 | ||
|
965 | value = str(self.volOpChannel.text()) | |
|
966 | ||
|
967 | if not isIntList(value): | |
|
790 | 968 | self.console.append("Invalid value '%s' for %s" %(value,name_parameter)) |
|
791 | 969 | return 0 |
|
792 | 970 | |
|
971 | opObj = puObj.addOperation(name=name_operation) | |
|
972 | opObj.addParameter(name=name_parameter, value=value, format=format) | |
|
973 | ||
|
793 | 974 | if self.volOpCebHeights.isChecked(): |
|
794 | 975 | value = str(self.volOpHeights.text()) |
|
795 | 976 | |
|
796 |
if value |
|
|
797 | print "Please fill height range" | |
|
798 |
|
|
|
977 | if not isFloatRange(value): | |
|
978 | self.console.append("Invalid value '%s' for Height range" %value) | |
|
979 | return 0 | |
|
799 | 980 | |
|
800 | 981 | valueList = value.split(',') |
|
801 | 982 | |
@@ -816,100 +997,63 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
816 | 997 | |
|
817 | 998 | if self.volOpCebFilter.isChecked(): |
|
818 | 999 | value = str(self.volOpFilter.text()) |
|
819 |
|
|
|
820 | print "Please fill filter value" | |
|
1000 | ||
|
1001 | if not isInt(value): | |
|
1002 | self.console.append("Invalid value '%s' for Filter" %value) | |
|
821 | 1003 | return 0 |
|
822 | 1004 | |
|
823 | 1005 | format = 'int' |
|
824 | 1006 | name_operation = 'filterByHeights' |
|
825 | 1007 | name_parameter = 'window' |
|
826 | 1008 | opObj = puObj.addOperation(name=name_operation) |
|
827 |
|
|
|
828 | self.console.append("Invalid value '%s' for %s" %(value,name_parameter)) | |
|
829 | return 0 | |
|
1009 | opObj.addParameter(name=name_parameter, value=value, format=format) | |
|
830 | 1010 | |
|
831 | 1011 | if self.volOpCebProfile.isChecked(): |
|
832 | 1012 | value = str(self.volOpProfile.text()) |
|
833 | 1013 | |
|
834 | if value == "": | |
|
835 | print "Please fill profile value" | |
|
836 | return 0 | |
|
837 | ||
|
838 | 1014 | format = 'intlist' |
|
839 | 1015 | optype = 'other' |
|
840 | 1016 | name_operation = 'ProfileSelector' |
|
1017 | ||
|
841 | 1018 | if self.volOpComProfile.currentIndex() == 0: |
|
842 | 1019 | name_parameter = 'profileList' |
|
843 | 1020 | if self.volOpComProfile.currentIndex() == 1: |
|
844 | 1021 | name_parameter = 'profileRangeList' |
|
845 | 1022 | if self.volOpComProfile.currentIndex() == 2: |
|
846 | 1023 | name_parameter = 'rangeList' |
|
847 |
|
|
|
1024 | ||
|
1025 | if not isIntList(value): | |
|
1026 | self.console.append("Invalid value '%s' for %s" %(value, name_parameter) ) | |
|
1027 | return 0 | |
|
1028 | ||
|
848 | 1029 | opObj = puObj.addOperation(name='ProfileSelector', optype='other') |
|
849 |
|
|
|
850 | self.console.append("Invalid value '%s' for %s" %(value,name_parameter)) | |
|
851 | return 0 | |
|
1030 | opObj.addParameter(name=name_parameter, value=value, format=format) | |
|
852 | 1031 | |
|
853 | 1032 | if self.volOpCebDecodification.isChecked(): |
|
854 | 1033 | name_operation = 'Decoder' |
|
855 | 1034 | opObj = puObj.addOperation(name=name_operation, optype='other') |
|
856 | 1035 | |
|
857 | #User defined | |
|
858 | nBaud = None | |
|
859 | nCode = None | |
|
860 | ||
|
861 | code = str(self.volOpCode.text()) | |
|
862 | try: | |
|
863 | code_tmp = ast.literal_eval(code) | |
|
864 | except: | |
|
865 | code_tmp = [] | |
|
866 | ||
|
867 | if len(code_tmp) > 0: | |
|
868 | ||
|
869 | if type(code_tmp) not in (tuple, list): | |
|
870 | self.console.append("Please write a right value for Code (Exmaple: [1,1,-1], [1,-1,1])") | |
|
871 | return 0 | |
|
872 | ||
|
873 | if len(code_tmp) > 1 and type(code_tmp[0]) in (tuple, list): #[ [1,-1,1], [1,1,-1] ] | |
|
874 | nBaud = len(code_tmp[0]) | |
|
875 | nCode = len(code_tmp) | |
|
876 | elif len(code_tmp) == 1 and type(code_tmp[0]) in (tuple, list): #[ [1,-1,1] ] | |
|
877 | nBaud = len(code_tmp[0]) | |
|
878 | nCode = 1 | |
|
879 | elif type(code_tmp[0]) in (int, float): #[1,-1,1] or (1,-1,1) | |
|
880 | nBaud = len(code_tmp) | |
|
881 | nCode = 1 | |
|
882 | else: | |
|
883 | self.console.append("Please write a right value for Code (Exmaple: [1,1,-1], [1,-1,1])") | |
|
884 | return 0 | |
|
885 | ||
|
886 | if not nBaud or not nCode: | |
|
887 | self.console.append("Please write a right value for Code") | |
|
888 | return 0 | |
|
889 | ||
|
890 | code = code.replace("(", "") | |
|
891 | code = code.replace(")", "") | |
|
892 | code = code.replace("[", "") | |
|
893 | code = code.replace("]", "") | |
|
1036 | if self.volOpComCode.currentIndex() != 0: | |
|
894 | 1037 | |
|
895 | if not opObj.addParameter(name='code', value=code, format='intlist'): | |
|
896 | self.console.append("Please write a right value for Code") | |
|
897 | return 0 | |
|
898 | if not opObj.addParameter(name='nCode', value=nCode, format='int'): | |
|
899 | self.console.append("Please write a right value for Code") | |
|
900 | return 0 | |
|
901 | if not opObj.addParameter(name='nBaud', value=nBaud, format='int'): | |
|
902 | self.console.append("Please write a right value for Code") | |
|
1038 | code = str(self.volOpCode.text()) | |
|
1039 | ||
|
1040 | if not isMultiList(code): | |
|
1041 | self.console.append("Please write a valid Code (Example: [1,1,-1], [1,-1,1])") | |
|
903 | 1042 | return 0 |
|
1043 | ||
|
1044 | real_code = getCode(code) | |
|
1045 | nCode = len(real_code) | |
|
1046 | nBaud = len(real_code[0]) | |
|
1047 | ||
|
1048 | opObj.addParameter(name='code', value=code, format='intlist') | |
|
1049 | opObj.addParameter(name='nCode', value=nCode, format='int') | |
|
1050 | opObj.addParameter(name='nBaud', value=nBaud, format='int') | |
|
904 | 1051 | |
|
905 | 1052 | name_parameter = 'mode' |
|
906 | 1053 | format = 'int' |
|
907 | ||
|
908 | 1054 | value = str(self.volOpComMode.currentIndex()) |
|
909 |
|
|
|
910 |
|
|
|
911 | self.console.append("Invalid value '%s' for '%s'" %(value,name_parameter)) | |
|
912 | return 0 | |
|
1055 | ||
|
1056 | opObj.addParameter(name=name_parameter, value=value, format=format) | |
|
913 | 1057 | |
|
914 | 1058 | |
|
915 | 1059 | if self.volOpCebFlip.isChecked(): |
@@ -922,29 +1066,27 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
922 | 1066 | format = 'intlist' |
|
923 | 1067 | value = str(self.volOpFlip.text()) |
|
924 | 1068 | |
|
925 |
if value |
|
|
926 | if not opObj.addParameter(name=name_parameter, value=value, format=format): | |
|
927 | self.console.append("Invalid value '%s' for '%s'" %(value,name_parameter)) | |
|
928 |
|
|
|
1069 | if not isIntList(value): | |
|
1070 | self.console.append("Invalid value '%s' for '%s'" %(value,name_parameter)) | |
|
1071 | return 0 | |
|
1072 | ||
|
1073 | opObj.addParameter(name=name_parameter, value=value, format=format) | |
|
929 | 1074 | |
|
930 | 1075 | if self.volOpCebCohInt.isChecked(): |
|
931 | 1076 | name_operation = 'CohInt' |
|
932 | 1077 | optype = 'other' |
|
933 | 1078 | value = str(self.volOpCohInt.text()) |
|
934 | 1079 | |
|
935 |
if value |
|
|
936 | print "Please fill number of coherent integrations" | |
|
1080 | if not isInt(value): | |
|
1081 | self.console.append("Invalid value '%s' for '%s'" %(value,name_parameter)) | |
|
937 | 1082 | return 0 |
|
938 | 1083 | |
|
939 | 1084 | name_parameter = 'n' |
|
940 | 1085 | format = 'int' |
|
941 | 1086 | |
|
942 | 1087 | opObj = puObj.addOperation(name=name_operation, optype=optype) |
|
1088 | opObj.addParameter(name=name_parameter, value=value, format=format) | |
|
943 | 1089 | |
|
944 | if not opObj.addParameter(name=name_parameter, value=value, format=format): | |
|
945 | self.console.append("Invalid value '%s' for '%s'" %(value,name_parameter)) | |
|
946 | return 0 | |
|
947 | ||
|
948 | 1090 | if self.volGraphCebshow.isChecked(): |
|
949 | 1091 | name_operation = 'Scope' |
|
950 | 1092 | optype = 'other' |
@@ -964,51 +1106,64 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
964 | 1106 | # opObj.addParameter(name=name_parameter, value=value, format=format) |
|
965 | 1107 | opObj.addParameter(name=name_parameter1, value=opObj.id, format=format1) |
|
966 | 1108 | |
|
967 |
channelList = str(self.volGraphChannelList.text()). |
|
|
968 |
xvalue = str(self.volGraphfreqrange.text()). |
|
|
969 |
yvalue = str(self.volGraphHeightrange.text()). |
|
|
970 | ||
|
1109 | channelList = str(self.volGraphChannelList.text()).strip() | |
|
1110 | xvalue = str(self.volGraphfreqrange.text()).strip() | |
|
1111 | yvalue = str(self.volGraphHeightrange.text()).strip() | |
|
1112 | figpath = str(self.volGraphPath.text()).strip() | |
|
1113 | figfile = str(self.volGraphPrefix.text()).strip() | |
|
1114 | ||
|
1115 | if channelList != "": | |
|
1116 | if not isIntList(channelList): | |
|
1117 | self.console.append("Invalid value '%s' for 'Graphics:ChannelList'" %(channelList)) | |
|
1118 | return 0 | |
|
1119 | ||
|
1120 | if xvalue != "": | |
|
1121 | if not isFloatRange(xvalue): | |
|
1122 | self.console.append("Invalid value '%s' for 'Graphics:Frequncy-Range'" %(xvalue)) | |
|
1123 | return 0 | |
|
1124 | ||
|
1125 | if yvalue != "": | |
|
1126 | if not isFloatRange(yvalue): | |
|
1127 | self.console.append("Invalid value '%s' for 'Graphics:Height-Range'" %(yvalue)) | |
|
1128 | return 0 | |
|
1129 | ||
|
1130 | ||
|
971 | 1131 | if channelList: |
|
972 | 1132 | opObj.addParameter(name='channelList', value=channelList, format='intlist') |
|
973 | 1133 | |
|
974 | 1134 | if xvalue: |
|
975 | 1135 | xvalueList = xvalue.split(',') |
|
976 | try: | |
|
977 | value0 = float(xvalueList[0]) | |
|
978 | value1 = float(xvalueList[1]) | |
|
979 | except: | |
|
980 | return 0 | |
|
981 | opObj.addParameter(name='xmin', value=value0, format='float') | |
|
982 | opObj.addParameter(name='xmax', value=value1, format='float') | |
|
983 | 1136 | |
|
1137 | opObj.addParameter(name='xmin', value=xvalueList[0], format='float') | |
|
1138 | opObj.addParameter(name='xmax', value=xvalueList[1], format='float') | |
|
984 | 1139 | |
|
985 |
if |
|
|
1140 | if yvalue: | |
|
986 | 1141 | yvalueList = yvalue.split(",") |
|
987 | try: | |
|
988 | value0 = int(yvalueList[0]) | |
|
989 | value1 = int(yvalueList[1]) | |
|
990 | except: | |
|
991 | return 0 | |
|
992 | 1142 | |
|
993 | opObj.addParameter(name='ymin', value=value0, format='int') | |
|
994 | opObj.addParameter(name='ymax', value=value1, format='int') | |
|
1143 | opObj.addParameter(name='ymin', value=yvalueList[0], format='int') | |
|
1144 | opObj.addParameter(name='ymax', value=yvalueList[1], format='int') | |
|
995 | 1145 | |
|
996 | 1146 | if self.volGraphCebSave.isChecked(): |
|
997 | 1147 | checkPath = True |
|
1148 | ||
|
998 | 1149 | opObj.addParameter(name='save', value='1', format='int') |
|
999 |
opObj.addParameter(name='figpath', value= |
|
|
1000 | value = str(self.volGraphPrefix.text()).replace(" ","") | |
|
1001 |
if |
|
|
1150 | opObj.addParameter(name='figpath', value=figpath, format='str') | |
|
1151 | ||
|
1152 | if figfile: | |
|
1002 | 1153 | opObj.addParameter(name='figfile', value=value, format='str') |
|
1003 | ||
|
1004 | localfolder = None | |
|
1154 | ||
|
1005 | 1155 | if checkPath: |
|
1006 | localfolder = str(self.volGraphPath.text()) | |
|
1007 |
if |
|
|
1156 | ||
|
1157 | if not figpath: | |
|
1008 | 1158 | self.console.clear() |
|
1009 | 1159 | self.console.append("Graphic path should be defined") |
|
1010 | 1160 | return 0 |
|
1011 | 1161 | |
|
1162 | if os.path.isdir(figpath): | |
|
1163 | self.console.clear() | |
|
1164 | self.console.append("Graphic path does not exist, it has to be created") | |
|
1165 | return 0 | |
|
1166 | ||
|
1012 | 1167 | # if something happend |
|
1013 | 1168 | parms_ok, output_path, blocksperfile, profilesperblock = self.checkInputsPUSave(datatype='Voltage') |
|
1014 | 1169 | if parms_ok: |
@@ -1099,7 +1254,7 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
1099 | 1254 | if p0 == 2: |
|
1100 | 1255 | self.specOpRadarfrequency.setEnabled(True) |
|
1101 | 1256 | if p0 == 0: |
|
1102 | self.specOpRadarfrequency.clear() | |
|
1257 | # self.specOpRadarfrequency.clear() | |
|
1103 | 1258 | self.specOpRadarfrequency.setEnabled(False) |
|
1104 | 1259 | |
|
1105 | 1260 | |
@@ -1110,9 +1265,12 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
1110 | 1265 | """ |
|
1111 | 1266 | if p0 == 2: |
|
1112 | 1267 | # self.specOpnFFTpoints.setEnabled(True) |
|
1268 | self.specOpComCrossSpectra.setEnabled(True) | |
|
1113 | 1269 | self.specOppairsList.setEnabled(True) |
|
1270 | ||
|
1114 | 1271 | if p0 == 0: |
|
1115 | 1272 | # self.specOpnFFTpoints.setEnabled(False) |
|
1273 | self.specOpComCrossSpectra.setEnabled(False) | |
|
1116 | 1274 | self.specOppairsList.setEnabled(False) |
|
1117 | 1275 | |
|
1118 | 1276 | @pyqtSignature("int") |
@@ -1184,7 +1342,7 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
1184 | 1342 | self._disable_save_button() |
|
1185 | 1343 | |
|
1186 | 1344 | self.console.clear() |
|
1187 |
self.console.append("Checking input parameters |
|
|
1345 | self.console.append("Checking input parameters:\n") | |
|
1188 | 1346 | |
|
1189 | 1347 | projectObj = self.getSelectedProjectObj() |
|
1190 | 1348 | |
@@ -1204,7 +1362,7 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
1204 | 1362 | |
|
1205 | 1363 | if not isFloat(value): |
|
1206 | 1364 | self.console.clear() |
|
1207 |
self.console.append("Invalid value |
|
|
1365 | self.console.append("Invalid value [%s] for '%s'" %(value, name_parameter)) | |
|
1208 | 1366 | return 0 |
|
1209 | 1367 | |
|
1210 | 1368 | radarfreq = float(value)*1e6 |
@@ -1219,7 +1377,7 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
1219 | 1377 | value = str(self.specOpnFFTpoints.text()) |
|
1220 | 1378 | |
|
1221 | 1379 | if not isInt(value): |
|
1222 |
self.console.append("Invalid value |
|
|
1380 | self.console.append("Invalid value [%s] for '%s'" %(value, 'nFFTPoints')) | |
|
1223 | 1381 | return 0 |
|
1224 | 1382 | |
|
1225 | 1383 | puObj.addParameter(name='nFFTPoints', value=value, format='int') |
@@ -1241,30 +1399,23 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
1241 | 1399 | format = 'pairslist' |
|
1242 | 1400 | value = str(self.specOppairsList.text()) |
|
1243 | 1401 | |
|
1244 |
if value |
|
|
1245 | print "Please fill the pairs list field" | |
|
1402 | if not isPairList(value): | |
|
1403 | self.console.append("Invalid value [%s] for '%s'" %(value, name_parameter)) | |
|
1246 | 1404 | return 0 |
|
1247 | 1405 | |
|
1248 |
|
|
|
1249 | self.console.append("Invalid value '%s' for '%s'" %(value,name_parameter)) | |
|
1250 | return 0 | |
|
1406 | puObj.addParameter(name=name_parameter, value=value, format=format) | |
|
1251 | 1407 | |
|
1252 | 1408 | if self.specOpCebHeights.isChecked(): |
|
1253 | 1409 | value = str(self.specOpHeights.text()) |
|
1254 | 1410 | |
|
1255 |
if value |
|
|
1256 |
self.console.append(" |
|
|
1411 | if not isFloatRange(value): | |
|
1412 | self.console.append("Invalid value [%s] for Height range" %value) | |
|
1257 | 1413 | return 0 |
|
1258 | ||
|
1414 | ||
|
1259 | 1415 | valueList = value.split(',') |
|
1260 | format = 'float' | |
|
1261 | 1416 | value0 = valueList[0] |
|
1262 | 1417 | value1 = valueList[1] |
|
1263 | 1418 | |
|
1264 | if not isFloat(value0) or not isFloat(value1): | |
|
1265 | self.console.append("Invalid value '%s' for '%s'" %(value, "Height range")) | |
|
1266 | return 0 | |
|
1267 | ||
|
1268 | 1419 | if self.specOpComHeights.currentIndex() == 0: |
|
1269 | 1420 | name_operation = 'selectHeights' |
|
1270 | 1421 | name_parameter1 = 'minHei' |
@@ -1273,7 +1424,9 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
1273 | 1424 | name_operation = 'selectHeightsByIndex' |
|
1274 | 1425 | name_parameter1 = 'minIndex' |
|
1275 | 1426 | name_parameter2 = 'maxIndex' |
|
1276 |
|
|
|
1427 | ||
|
1428 | format = 'float' | |
|
1429 | ||
|
1277 | 1430 | opObj = puObj.addOperation(name=name_operation) |
|
1278 | 1431 | opObj.addParameter(name=name_parameter1, value=value0, format=format) |
|
1279 | 1432 | opObj.addParameter(name=name_parameter2, value=value1, format=format) |
@@ -1290,12 +1443,8 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
1290 | 1443 | format = 'intlist' |
|
1291 | 1444 | value = str(self.specOpChannel.text()) |
|
1292 | 1445 | |
|
1293 |
if value |
|
|
1294 | print "Please fill channel list" | |
|
1295 | return 0 | |
|
1296 | ||
|
1297 | if not isList(value): | |
|
1298 | self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter)) | |
|
1446 | if not isIntList(value): | |
|
1447 | self.console.append("Invalid value [%s] for '%s'" %(value, name_parameter)) | |
|
1299 | 1448 | return 0 |
|
1300 | 1449 | |
|
1301 | 1450 | opObj = puObj.addOperation(name=name_operation) |
@@ -1314,13 +1463,9 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
1314 | 1463 | format = 'int' |
|
1315 | 1464 | |
|
1316 | 1465 | value = str(self.specOpIncoherent.text()) |
|
1317 | ||
|
1318 | if value == "": | |
|
1319 | print "Please fill Incoherent integration value" | |
|
1320 | return 0 | |
|
1321 | 1466 | |
|
1322 | 1467 | if not isFloat(value): |
|
1323 |
self.console.append("Invalid value |
|
|
1468 | self.console.append("Invalid value [%s] for '%s'" %(value, name_parameter)) | |
|
1324 | 1469 | return 0 |
|
1325 | 1470 | |
|
1326 | 1471 | opObj = puObj.addOperation(name=name_operation, optype=optype) |
@@ -1330,10 +1475,12 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
1330 | 1475 | name_operation = 'removeDC' |
|
1331 | 1476 | name_parameter = 'mode' |
|
1332 | 1477 | format = 'int' |
|
1478 | ||
|
1333 | 1479 | if self.specOpComRemoveDC.currentIndex() == 0: |
|
1334 | 1480 | value = 1 |
|
1335 | 1481 | else: |
|
1336 | 1482 | value = 2 |
|
1483 | ||
|
1337 | 1484 | opObj = puObj.addOperation(name=name_operation) |
|
1338 | 1485 | opObj.addParameter(name=name_parameter, value=value, format=format) |
|
1339 | 1486 | |
@@ -1414,20 +1561,21 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
1414 | 1561 | self.console.append("Get Noise Operation only accepts 4 parameters") |
|
1415 | 1562 | return 0 |
|
1416 | 1563 | |
|
1417 |
channelList = str(self.specGgraphChannelList.text()). |
|
|
1418 |
vel_range = str(self.specGgraphFreq.text()). |
|
|
1419 |
hei_range = str(self.specGgraphHeight.text()). |
|
|
1420 |
db_range = str(self.specGgraphDbsrange.text()). |
|
|
1421 | ||
|
1422 |
trange = str(self.specGgraphTminTmax.text()). |
|
|
1423 |
magrange = str(self.specGgraphmagnitud.text()). |
|
|
1424 |
phaserange = str(self.specGgraphPhase.text()). |
|
|
1425 |
# timerange = str(self.specGgraphTimeRange.text()). |
|
|
1426 | ||
|
1427 | figpath = str(self.specGraphPath.text()) | |
|
1428 |
figfile = str(self.specGraphPrefix.text()). |
|
|
1564 | channelList = str(self.specGgraphChannelList.text()).strip() | |
|
1565 | vel_range = str(self.specGgraphFreq.text()).strip() | |
|
1566 | hei_range = str(self.specGgraphHeight.text()).strip() | |
|
1567 | db_range = str(self.specGgraphDbsrange.text()).strip() | |
|
1568 | ||
|
1569 | trange = str(self.specGgraphTminTmax.text()).strip() | |
|
1570 | magrange = str(self.specGgraphmagnitud.text()).strip() | |
|
1571 | phaserange = str(self.specGgraphPhase.text()).strip() | |
|
1572 | # timerange = str(self.specGgraphTimeRange.text()).strip() | |
|
1573 | ||
|
1574 | figpath = str(self.specGraphPath.text()).strip() | |
|
1575 | figfile = str(self.specGraphPrefix.text()).strip() | |
|
1576 | ||
|
1429 | 1577 | try: |
|
1430 |
wrperiod = int(str(self.specGgraphftpratio.text()). |
|
|
1578 | wrperiod = int(str(self.specGgraphftpratio.text()).strip()) | |
|
1431 | 1579 | except: |
|
1432 | 1580 | wrperiod = None |
|
1433 | 1581 | |
@@ -1437,54 +1585,55 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
1437 | 1585 | opObj = puObj.addOperation(name='SpectraPlot', optype='other') |
|
1438 | 1586 | opObj.addParameter(name='id', value=opObj.id, format='int') |
|
1439 | 1587 | |
|
1440 |
if |
|
|
1588 | if channelList: | |
|
1441 | 1589 | |
|
1442 | 1590 | if not isList(channelList): |
|
1443 | self.console.append("Invalid channelList") | |
|
1591 | self.console.append("Invalid value [%s] for 'Graphic:ChannelList" %(channelList)) | |
|
1444 | 1592 | return 0 |
|
1445 | 1593 | |
|
1446 | 1594 | opObj.addParameter(name='channelList', value=channelList, format='intlist') |
|
1447 | 1595 | |
|
1448 |
if |
|
|
1449 | xvalueList = vel_range.split(',') | |
|
1450 | try: | |
|
1451 | value1 = float(xvalueList[0]) | |
|
1452 | value2 = float(xvalueList[1]) | |
|
1453 |
|
|
|
1454 |
|
|
|
1455 | self.console.append("Invalid velocity/frequency range") | |
|
1456 | return 0 | |
|
1457 | ||
|
1458 | opObj.addParameter(name='xmin', value=value1, format='float') | |
|
1459 | opObj.addParameter(name='xmax', value=value2, format='float') | |
|
1460 | ||
|
1461 |
if |
|
|
1462 | yvalueList = hei_range.split(",") | |
|
1463 | try: | |
|
1464 | value1 = float(yvalueList[0]) | |
|
1465 | value2 = float(yvalueList[1]) | |
|
1466 |
|
|
|
1467 | self.console.clear() | |
|
1468 | self.console.append("Invalid height range") | |
|
1469 | return 0 | |
|
1596 | if vel_range: | |
|
1597 | ||
|
1598 | if not isFloatRange(vel_range): | |
|
1599 | self.console.append("Invalid value [%s] for 'Graphic:Velocity-Range" %(vel_range)) | |
|
1600 | return 0 | |
|
1601 | ||
|
1602 | xvalueList = vel_range.split(',') | |
|
1603 | value1 = float(xvalueList[0]) | |
|
1604 | value2 = float(xvalueList[1]) | |
|
1605 | ||
|
1606 | opObj.addParameter(name='xmin', value=value1, format='float') | |
|
1607 | opObj.addParameter(name='xmax', value=value2, format='float') | |
|
1608 | ||
|
1609 | if hei_range: | |
|
1610 | ||
|
1611 | if not isFloatRange(hei_range): | |
|
1612 | self.console.append("Invalid value [%s] for 'Graphic:Height-Range" %(hei_range)) | |
|
1613 | return 0 | |
|
1614 | ||
|
1615 | yvalueList = hei_range.split(",") | |
|
1616 | value1 = float(yvalueList[0]) | |
|
1617 | value2 = float(yvalueList[1]) | |
|
1470 | 1618 | |
|
1471 | opObj.addParameter(name='ymin', value=value1, format='float') | |
|
1472 | opObj.addParameter(name='ymax', value=value2, format='float') | |
|
1473 | ||
|
1474 |
if |
|
|
1619 | opObj.addParameter(name='ymin', value=value1, format='float') | |
|
1620 | opObj.addParameter(name='ymax', value=value2, format='float') | |
|
1621 | ||
|
1622 | if db_range: | |
|
1623 | ||
|
1624 | if not isFloatRange(db_range): | |
|
1625 | self.console.append("Invalid value [%s] for 'Graphic:dB-Range" %(db_range)) | |
|
1626 | return 0 | |
|
1627 | ||
|
1475 | 1628 | zvalueList = db_range.split(",") |
|
1476 | try: | |
|
1477 |
|
|
|
1478 | value2 = float(zvalueList[1]) | |
|
1479 | except: | |
|
1480 | self.console.clear() | |
|
1481 | self.console.append("Invalid db range") | |
|
1482 | return 0 | |
|
1483 | ||
|
1629 | value1 = float(zvalueList[0]) | |
|
1630 | value2 = float(zvalueList[1]) | |
|
1631 | ||
|
1484 | 1632 | opObj.addParameter(name='zmin', value=value1, format='float') |
|
1485 | 1633 | opObj.addParameter(name='zmax', value=value2, format='float') |
|
1486 | 1634 | |
|
1487 | 1635 | if self.specGraphSaveSpectra.isChecked(): |
|
1636 | ||
|
1488 | 1637 | checkPath = True |
|
1489 | 1638 | opObj.addParameter(name='save', value=1 , format='bool') |
|
1490 | 1639 | opObj.addParameter(name='figpath', value=figpath, format='str') |
@@ -1494,80 +1643,78 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
1494 | 1643 | opObj.addParameter(name='wr_period', value=wrperiod,format='int') |
|
1495 | 1644 | |
|
1496 | 1645 | if self.specGraphftpSpectra.isChecked(): |
|
1497 | opObj.addParameter(name='ftp', value='1', format='int') | |
|
1498 | self.addFTPConf2Operation(puObj, opObj) | |
|
1499 | addFTP = True | |
|
1646 | ||
|
1647 | opObj.addParameter(name='ftp', value='1', format='int') | |
|
1648 | self.addFTPConf2Operation(puObj, opObj) | |
|
1649 | addFTP = True | |
|
1500 | 1650 | |
|
1501 | 1651 | if self.specGraphCebCrossSpectraplot.isChecked(): |
|
1502 | 1652 | |
|
1503 | 1653 | opObj = puObj.addOperation(name='CrossSpectraPlot', optype='other') |
|
1504 | # opObj.addParameter(name='power_cmap', value='jet', format='str') | |
|
1505 | # opObj.addParameter(name='coherence_cmap', value='jet', format='str') | |
|
1506 | # opObj.addParameter(name='phase_cmap', value='RdBu_r', format='str') | |
|
1507 | 1654 | opObj.addParameter(name='id', value=opObj.id, format='int') |
|
1508 | 1655 | |
|
1509 |
if |
|
|
1510 | xvalueList = vel_range.split(',') | |
|
1511 | try: | |
|
1512 | value1 = float(xvalueList[0]) | |
|
1513 | value2 = float(xvalueList[1]) | |
|
1514 | except: | |
|
1515 | self.console.clear() | |
|
1516 | self.console.append("Invalid velocity/frequency range") | |
|
1656 | if vel_range: | |
|
1657 | ||
|
1658 | if not isFloatRange(vel_range): | |
|
1659 | self.console.append("Invalid value [%s] for 'Graphic:Velocity-Range" %(vel_range)) | |
|
1517 | 1660 | return 0 |
|
1518 |
|
|
|
1661 | ||
|
1662 | xvalueList = vel_range.split(',') | |
|
1663 | value1 = float(xvalueList[0]) | |
|
1664 | value2 = float(xvalueList[1]) | |
|
1665 | ||
|
1519 | 1666 | opObj.addParameter(name='xmin', value=value1, format='float') |
|
1520 | 1667 | opObj.addParameter(name='xmax', value=value2, format='float') |
|
1521 | ||
|
1522 |
if |
|
|
1523 | yvalueList = hei_range.split(",") | |
|
1524 | try: | |
|
1525 | value1 = float(yvalueList[0]) | |
|
1526 | value2 = float(yvalueList[1]) | |
|
1527 | except: | |
|
1528 | self.console.clear() | |
|
1529 | self.console.append("Invalid height range") | |
|
1668 | ||
|
1669 | if hei_range: | |
|
1670 | ||
|
1671 | if not isFloatRange(hei_range): | |
|
1672 | self.console.append("Invalid value [%s] for 'Graphic:Height-Range" %(hei_range)) | |
|
1530 | 1673 | return 0 |
|
1531 |
|
|
|
1674 | ||
|
1675 | yvalueList = hei_range.split(",") | |
|
1676 | value1 = float(yvalueList[0]) | |
|
1677 | value2 = float(yvalueList[1]) | |
|
1678 | ||
|
1532 | 1679 | opObj.addParameter(name='ymin', value=value1, format='float') |
|
1533 | opObj.addParameter(name='ymax', value=value2, format='float') | |
|
1534 | ||
|
1535 |
if |
|
|
1536 | zvalueList = db_range.split(",") | |
|
1537 | try: | |
|
1538 | value1 = float(zvalueList[0]) | |
|
1539 | value2 = float(zvalueList[1]) | |
|
1540 | except: | |
|
1541 | self.console.clear() | |
|
1542 | self.console.append("Invalid db range") | |
|
1680 | opObj.addParameter(name='ymax', value=value2, format='float') | |
|
1681 | ||
|
1682 | if db_range: | |
|
1683 | ||
|
1684 | if not isFloatRange(db_range): | |
|
1685 | self.console.append("Invalid value [%s] for 'Graphic:dB-Range" %(db_range)) | |
|
1543 | 1686 | return 0 |
|
1544 | 1687 | |
|
1688 | zvalueList = db_range.split(",") | |
|
1689 | value1 = float(zvalueList[0]) | |
|
1690 | value2 = float(zvalueList[1]) | |
|
1691 | ||
|
1545 | 1692 | opObj.addParameter(name='zmin', value=value1, format='float') |
|
1546 | opObj.addParameter(name='zmax', value=value2, format='float') | |
|
1693 | opObj.addParameter(name='zmax', value=value2, format='float') | |
|
1547 | 1694 | |
|
1548 |
if |
|
|
1549 | zvalueList = magrange.split(",") | |
|
1550 | try: | |
|
1551 | value1 = float(zvalueList[0]) | |
|
1552 | value2 = float(zvalueList[1]) | |
|
1553 | except: | |
|
1554 | self.console.clear() | |
|
1555 | self.console.append("Invalid magnitude range") | |
|
1695 | if magrange: | |
|
1696 | ||
|
1697 | if not isFloatRange(magrange): | |
|
1698 | self.console.append("Invalid value [%s] for 'Graphic:Magnitud-Range" %(magrange)) | |
|
1556 | 1699 | return 0 |
|
1557 | 1700 | |
|
1701 | zvalueList = magrange.split(",") | |
|
1702 | value1 = float(zvalueList[0]) | |
|
1703 | value2 = float(zvalueList[1]) | |
|
1704 | ||
|
1558 | 1705 | opObj.addParameter(name='coh_min', value=value1, format='float') |
|
1559 | 1706 | opObj.addParameter(name='coh_max', value=value2, format='float') |
|
1560 | 1707 | |
|
1561 |
if |
|
|
1562 | zvalueList = phaserange.split(",") | |
|
1563 | try: | |
|
1564 | value1 = float(zvalueList[0]) | |
|
1565 | value2 = float(zvalueList[1]) | |
|
1566 | except: | |
|
1567 | self.console.clear() | |
|
1568 | self.console.append("Invalid phase range") | |
|
1708 | if phaserange: | |
|
1709 | ||
|
1710 | if not isFloatRange(phaserange): | |
|
1711 | self.console.append("Invalid value [%s] for 'Graphic:Phase-Range" %(phaserange)) | |
|
1569 | 1712 | return 0 |
|
1570 | 1713 | |
|
1714 | zvalueList = phaserange.split(",") | |
|
1715 | value1 = float(zvalueList[0]) | |
|
1716 | value2 = float(zvalueList[1]) | |
|
1717 | ||
|
1571 | 1718 | opObj.addParameter(name='phase_min', value=value1, format='float') |
|
1572 | 1719 | opObj.addParameter(name='phase_max', value=value2, format='float') |
|
1573 | 1720 | |
@@ -1590,60 +1737,52 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
1590 | 1737 | opObj = puObj.addOperation(name='RTIPlot', optype='other') |
|
1591 | 1738 | opObj.addParameter(name='id', value=opObj.id, format='int') |
|
1592 | 1739 | |
|
1593 |
if |
|
|
1594 | if not isList(channelList): | |
|
1595 |
|
|
|
1740 | if channelList: | |
|
1741 | ||
|
1742 | if not isIntList(channelList): | |
|
1743 | self.console.append("Invalid value [%s] for 'Graphic:ChannelList" %(channelList)) | |
|
1596 | 1744 | return 0 |
|
1745 | ||
|
1597 | 1746 | opObj.addParameter(name='channelList', value=channelList, format='intlist') |
|
1598 | 1747 | |
|
1599 |
if |
|
|
1600 | xvalueList = trange.split(',') | |
|
1601 |
|
|
|
1602 | value1 = float(xvalueList[0]) | |
|
1603 | value2 = float(xvalueList[1]) | |
|
1604 | except: | |
|
1605 | self.console.clear() | |
|
1606 | self.console.append("Invalid time range") | |
|
1748 | if trange: | |
|
1749 | ||
|
1750 | if not isFloatRange(trange): | |
|
1751 | self.console.append("Invalid value [%s] for 'Graphic:Time-Range" %(trange)) | |
|
1607 | 1752 | return 0 |
|
1608 |
|
|
|
1753 | ||
|
1754 | zvalueList = trange.split(",") | |
|
1755 | value1 = float(zvalueList[0]) | |
|
1756 | value2 = float(zvalueList[1]) | |
|
1757 | ||
|
1609 | 1758 | opObj.addParameter(name='xmin', value=value1, format='float') |
|
1610 | 1759 | opObj.addParameter(name='xmax', value=value2, format='float') |
|
1611 | ||
|
1612 |
|
|
|
1613 |
|
|
|
1614 |
|
|
|
1615 | # except: | |
|
1616 | # self.console.clear() | |
|
1617 | # self.console.append("Invalid time range") | |
|
1618 | # return 0 | |
|
1619 | # | |
|
1620 | # opObj.addParameter(name='timerange', value=timerange, format='float') | |
|
1621 | ||
|
1622 | if not hei_range == '': | |
|
1623 | yvalueList = hei_range.split(",") | |
|
1624 | try: | |
|
1625 | value1 = float(yvalueList[0]) | |
|
1626 | value2 = float(yvalueList[1]) | |
|
1627 | except: | |
|
1628 | self.console.clear() | |
|
1629 | self.console.append("Invalid height range") | |
|
1760 | ||
|
1761 | if hei_range: | |
|
1762 | ||
|
1763 | if not isFloatRange(hei_range): | |
|
1764 | self.console.append("Invalid value [%s] for 'Graphic:Height-Range" %(hei_range)) | |
|
1630 | 1765 | return 0 |
|
1631 |
|
|
|
1766 | ||
|
1767 | yvalueList = hei_range.split(",") | |
|
1768 | value1 = float(yvalueList[0]) | |
|
1769 | value2 = float(yvalueList[1]) | |
|
1770 | ||
|
1632 | 1771 | opObj.addParameter(name='ymin', value=value1, format='float') |
|
1633 |
opObj.addParameter(name='ymax', value=value2, format='float') |
|
|
1634 | ||
|
1635 |
if |
|
|
1636 | zvalueList = db_range.split(",") | |
|
1637 | try: | |
|
1638 | value1 = float(zvalueList[0]) | |
|
1639 | value2 = float(zvalueList[1]) | |
|
1640 | except: | |
|
1641 | self.console.clear() | |
|
1642 | self.console.append("Invalid db range") | |
|
1772 | opObj.addParameter(name='ymax', value=value2, format='float') | |
|
1773 | ||
|
1774 | if db_range: | |
|
1775 | ||
|
1776 | if not isFloatRange(db_range): | |
|
1777 | self.console.append("Invalid value [%s] for 'Graphic:dB-Range" %(db_range)) | |
|
1643 | 1778 | return 0 |
|
1644 | 1779 | |
|
1780 | zvalueList = db_range.split(",") | |
|
1781 | value1 = float(zvalueList[0]) | |
|
1782 | value2 = float(zvalueList[1]) | |
|
1783 | ||
|
1645 | 1784 | opObj.addParameter(name='zmin', value=value1, format='float') |
|
1646 |
opObj.addParameter(name='zmax', value=value2, format='float') |
|
|
1785 | opObj.addParameter(name='zmax', value=value2, format='float') | |
|
1647 | 1786 | |
|
1648 | 1787 | if self.specGraphSaveRTIplot.isChecked(): |
|
1649 | 1788 | checkPath = True |
@@ -1661,71 +1800,58 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
1661 | 1800 | |
|
1662 | 1801 | if self.specGraphCebCoherencmap.isChecked(): |
|
1663 | 1802 | |
|
1664 | opObj = puObj.addOperation(name='CoherenceMap', optype='other') | |
|
1665 | # opObj.addParameter(name=name_parameter, value=value, format=format) | |
|
1666 | # opObj.addParameter(name='coherence_cmap', value='jet', format='str') | |
|
1667 | # opObj.addParameter(name='phase_cmap', value='RdBu_r', format='str') | |
|
1803 | opObj = puObj.addOperation(name='CoherenceMap', optype='other') | |
|
1668 | 1804 | opObj.addParameter(name='id', value=opObj.id, format='int') |
|
1669 | ||
|
1670 |
|
|
|
1671 |
|
|
|
1672 |
|
|
|
1673 | # except: | |
|
1674 | # self.console.clear() | |
|
1675 | # self.console.append("Invalid time range") | |
|
1676 | # return 0 | |
|
1677 | # | |
|
1678 | # opObj.addParameter(name='timerange', value=timerange, format='int') | |
|
1679 | ||
|
1680 | if not trange == '': | |
|
1681 | xvalueList = trange.split(',') | |
|
1682 | try: | |
|
1683 | value1 = float(xvalueList[0]) | |
|
1684 | value2 = float(xvalueList[1]) | |
|
1685 | except: | |
|
1686 | self.console.clear() | |
|
1687 | self.console.append("Invalid time range") | |
|
1805 | ||
|
1806 | if trange: | |
|
1807 | ||
|
1808 | if not isFloatRange(trange): | |
|
1809 | self.console.append("Invalid value [%s] for 'Graphic:Time-Range" %(trange)) | |
|
1688 | 1810 | return 0 |
|
1689 | 1811 | |
|
1812 | zvalueList = trange.split(",") | |
|
1813 | value1 = float(zvalueList[0]) | |
|
1814 | value2 = float(zvalueList[1]) | |
|
1815 | ||
|
1690 | 1816 | opObj.addParameter(name='xmin', value=value1, format='float') |
|
1691 |
opObj.addParameter(name='xmax', value=value2, format='float') |
|
|
1692 | ||
|
1693 |
if |
|
|
1694 | yvalueList = hei_range.split(",") | |
|
1695 | try: | |
|
1696 | value1 = float(yvalueList[0]) | |
|
1697 | value2 = float(yvalueList[1]) | |
|
1698 | except: | |
|
1699 | self.console.clear() | |
|
1700 | self.console.append("Invalid height range") | |
|
1817 | opObj.addParameter(name='xmax', value=value2, format='float') | |
|
1818 | ||
|
1819 | if hei_range: | |
|
1820 | ||
|
1821 | if not isFloatRange(hei_range): | |
|
1822 | self.console.append("Invalid value [%s] for 'Graphic:Height-Range" %(hei_range)) | |
|
1701 | 1823 | return 0 |
|
1702 |
|
|
|
1824 | ||
|
1825 | yvalueList = hei_range.split(",") | |
|
1826 | value1 = float(yvalueList[0]) | |
|
1827 | value2 = float(yvalueList[1]) | |
|
1828 | ||
|
1703 | 1829 | opObj.addParameter(name='ymin', value=value1, format='float') |
|
1704 |
opObj.addParameter(name='ymax', value=value2, format='float') |
|
|
1830 | opObj.addParameter(name='ymax', value=value2, format='float') | |
|
1705 | 1831 | |
|
1706 |
if |
|
|
1707 | zvalueList = magrange.split(",") | |
|
1708 | try: | |
|
1709 | value1 = float(zvalueList[0]) | |
|
1710 | value2 = float(zvalueList[1]) | |
|
1711 | except: | |
|
1712 | self.console.clear() | |
|
1713 | self.console.append("Invalid magnitude range") | |
|
1832 | if magrange: | |
|
1833 | ||
|
1834 | if not isFloatRange(magrange): | |
|
1835 | self.console.append("Invalid value [%s] for 'Graphic:Magnitud-Range" %(magrange)) | |
|
1714 | 1836 | return 0 |
|
1715 | 1837 | |
|
1838 | zvalueList = magrange.split(",") | |
|
1839 | value1 = float(zvalueList[0]) | |
|
1840 | value2 = float(zvalueList[1]) | |
|
1841 | ||
|
1716 | 1842 | opObj.addParameter(name='zmin', value=value1, format='float') |
|
1717 | 1843 | opObj.addParameter(name='zmax', value=value2, format='float') |
|
1718 | ||
|
1719 |
if |
|
|
1720 | zvalueList = phaserange.split(",") | |
|
1721 | try: | |
|
1722 | value1 = float(zvalueList[0]) | |
|
1723 | value2 = float(zvalueList[1]) | |
|
1724 | except: | |
|
1725 | self.console.clear() | |
|
1726 | self.console.append("Invalid phase range") | |
|
1844 | ||
|
1845 | if phaserange: | |
|
1846 | ||
|
1847 | if not isFloatRange(phaserange): | |
|
1848 | self.console.append("Invalid value [%s] for 'Graphic:Phase-Range" %(phaserange)) | |
|
1727 | 1849 | return 0 |
|
1728 | 1850 | |
|
1851 | zvalueList = phaserange.split(",") | |
|
1852 | value1 = float(zvalueList[0]) | |
|
1853 | value2 = float(zvalueList[1]) | |
|
1854 | ||
|
1729 | 1855 | opObj.addParameter(name='phase_min', value=value1, format='float') |
|
1730 | 1856 | opObj.addParameter(name='phase_max', value=value2, format='float') |
|
1731 | 1857 | |
@@ -1745,55 +1871,56 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
1745 | 1871 | |
|
1746 | 1872 | if self.specGraphPowerprofile.isChecked(): |
|
1747 | 1873 | |
|
1748 | opObj = puObj.addOperation(name='PowerProfilePlot', optype='other') | |
|
1749 | opObj.addParameter(name='id', value=opObj.id, format='int') | |
|
1750 | ||
|
1751 |
if |
|
|
1752 | if not isList(channelList): | |
|
1753 |
|
|
|
1874 | opObj = puObj.addOperation(name='PowerProfilePlot', optype='other') | |
|
1875 | opObj.addParameter(name='id', value=opObj.id, format='int') | |
|
1876 | ||
|
1877 | if channelList: | |
|
1878 | ||
|
1879 | if not isList(channelList): | |
|
1880 | self.console.append("Invalid value [%s] for 'Graphic:ChannelList" %(channelList)) | |
|
1754 | 1881 | return 0 |
|
1755 | 1882 | |
|
1756 |
opObj.addParameter(name='channelList', value=channelList, format='intlist') |
|
|
1757 | ||
|
1758 |
if |
|
|
1759 | xvalueList = db_range.split(',') | |
|
1760 | try: | |
|
1761 | value1 = float(xvalueList[0]) | |
|
1762 | value2 = float(xvalueList[1]) | |
|
1763 | except: | |
|
1764 | self.console.clear() | |
|
1765 | self.console.append("Invalid db range") | |
|
1883 | opObj.addParameter(name='channelList', value=channelList, format='intlist') | |
|
1884 | ||
|
1885 | if hei_range: | |
|
1886 | ||
|
1887 | if not isFloatRange(hei_range): | |
|
1888 | self.console.append("Invalid value [%s] for 'Graphic:Height-Range" %(hei_range)) | |
|
1766 | 1889 | return 0 |
|
1767 | 1890 | |
|
1768 | opObj.addParameter(name='xmin', value=value1, format='float') | |
|
1769 | opObj.addParameter(name='xmax', value=value2, format='float') | |
|
1770 | ||
|
1771 | if not hei_range == '': | |
|
1772 | 1891 | yvalueList = hei_range.split(",") |
|
1773 | try: | |
|
1774 |
|
|
|
1775 | value2 = float(yvalueList[1]) | |
|
1776 | except: | |
|
1777 | self.console.clear() | |
|
1778 | self.console.append("Invalid height range") | |
|
1779 | return 0 | |
|
1780 | ||
|
1892 | value1 = float(yvalueList[0]) | |
|
1893 | value2 = float(yvalueList[1]) | |
|
1894 | ||
|
1781 | 1895 | opObj.addParameter(name='ymin', value=value1, format='float') |
|
1782 | opObj.addParameter(name='ymax', value=value2, format='float') | |
|
1783 |
|
|
|
1784 | if self.specGraphSavePowerprofile.isChecked(): | |
|
1785 |
|
|
|
1786 | opObj.addParameter(name='save', value='1', format='bool') | |
|
1787 | opObj.addParameter(name='figpath', value=figpath, format='str') | |
|
1788 |
|
|
|
1789 | opObj.addParameter(name='figfile', value=value, format='str') | |
|
1790 | if wrperiod: | |
|
1791 | opObj.addParameter(name='wr_period', value=wrperiod,format='int') | |
|
1896 | opObj.addParameter(name='ymax', value=value2, format='float') | |
|
1897 | ||
|
1898 | if db_range: | |
|
1899 | ||
|
1900 | if not isFloatRange(db_range): | |
|
1901 | self.console.append("Invalid value [%s] for 'Graphic:dB-Range" %(db_range)) | |
|
1902 | return 0 | |
|
1903 | ||
|
1904 | zvalueList = db_range.split(",") | |
|
1905 | value1 = float(zvalueList[0]) | |
|
1906 | value2 = float(zvalueList[1]) | |
|
1907 | ||
|
1908 | opObj.addParameter(name='xmin', value=value1, format='float') | |
|
1909 | opObj.addParameter(name='xmax', value=value2, format='float') | |
|
1792 | 1910 | |
|
1793 |
if self.specGraph |
|
|
1794 | opObj.addParameter(name='ftp', value='1', format='int') | |
|
1795 | self.addFTPConf2Operation(puObj, opObj) | |
|
1796 | addFTP = True | |
|
1911 | if self.specGraphSavePowerprofile.isChecked(): | |
|
1912 | checkPath = True | |
|
1913 | opObj.addParameter(name='save', value='1', format='bool') | |
|
1914 | opObj.addParameter(name='figpath', value=figpath, format='str') | |
|
1915 | if figfile: | |
|
1916 | opObj.addParameter(name='figfile', value=value, format='str') | |
|
1917 | if wrperiod: | |
|
1918 | opObj.addParameter(name='wr_period', value=wrperiod,format='int') | |
|
1919 | ||
|
1920 | if self.specGraphftpPowerprofile.isChecked(): | |
|
1921 | opObj.addParameter(name='ftp', value='1', format='int') | |
|
1922 | self.addFTPConf2Operation(puObj, opObj) | |
|
1923 | addFTP = True | |
|
1797 | 1924 | # rti noise |
|
1798 | 1925 | |
|
1799 | 1926 | if self.specGraphCebRTInoise.isChecked(): |
@@ -1801,47 +1928,39 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
1801 | 1928 | opObj = puObj.addOperation(name='Noise', optype='other') |
|
1802 | 1929 | opObj.addParameter(name='id', value=opObj.id, format='int') |
|
1803 | 1930 | |
|
1804 |
if |
|
|
1931 | if channelList: | |
|
1932 | ||
|
1805 | 1933 | if not isList(channelList): |
|
1806 | self.console.append("Invalid channelList") | |
|
1934 | self.console.append("Invalid value [%s] for 'Graphic:ChannelList" %(channelList)) | |
|
1807 | 1935 | return 0 |
|
1936 | ||
|
1808 | 1937 | opObj.addParameter(name='channelList', value=channelList, format='intlist') |
|
1809 | 1938 | |
|
1810 |
|
|
|
1811 |
|
|
|
1812 |
|
|
|
1813 | # except: | |
|
1814 | # self.console.clear() | |
|
1815 | # self.console.append("Invalid time range") | |
|
1816 | # return 0 | |
|
1817 | # | |
|
1818 | # opObj.addParameter(name='timerange', value=timerange, format='float') | |
|
1819 | ||
|
1820 | if not trange == '': | |
|
1821 | xvalueList = trange.split(',') | |
|
1822 | try: | |
|
1823 | value1 = float(xvalueList[0]) | |
|
1824 | value2 = float(xvalueList[1]) | |
|
1825 | except: | |
|
1826 | self.console.clear() | |
|
1827 | self.console.append("Invalid time range") | |
|
1939 | if trange: | |
|
1940 | ||
|
1941 | if not isFloatRange(trange): | |
|
1942 | self.console.append("Invalid value [%s] for 'Graphic:Time-Range" %(trange)) | |
|
1828 | 1943 | return 0 |
|
1829 |
|
|
|
1944 | ||
|
1945 | zvalueList = trange.split(",") | |
|
1946 | value1 = float(zvalueList[0]) | |
|
1947 | value2 = float(zvalueList[1]) | |
|
1948 | ||
|
1830 | 1949 | opObj.addParameter(name='xmin', value=value1, format='float') |
|
1831 | 1950 | opObj.addParameter(name='xmax', value=value2, format='float') |
|
1832 | ||
|
1833 |
if |
|
|
1834 | yvalueList = db_range.split(",") | |
|
1835 | try: | |
|
1836 | value1 = float(yvalueList[0]) | |
|
1837 | value2 = float(yvalueList[1]) | |
|
1838 | except: | |
|
1839 | self.console.clear() | |
|
1840 | self.console.append("Invalid db range") | |
|
1951 | ||
|
1952 | if db_range: | |
|
1953 | ||
|
1954 | if not isFloatRange(db_range): | |
|
1955 | self.console.append("Invalid value [%s] for 'Graphic:dB-Range" %(db_range)) | |
|
1841 | 1956 | return 0 |
|
1842 | 1957 | |
|
1958 | zvalueList = db_range.split(",") | |
|
1959 | value1 = float(zvalueList[0]) | |
|
1960 | value2 = float(zvalueList[1]) | |
|
1961 | ||
|
1843 | 1962 | opObj.addParameter(name='ymin', value=value1, format='float') |
|
1844 |
opObj.addParameter(name='ymax', value=value2, format='float') |
|
|
1963 | opObj.addParameter(name='ymax', value=value2, format='float') | |
|
1845 | 1964 | |
|
1846 | 1965 | if self.specGraphSaveRTInoise.isChecked(): |
|
1847 | 1966 | checkPath = True |
@@ -2536,9 +2655,15 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
2536 | 2655 | walk = int(self.proComWalk.currentIndex()) |
|
2537 | 2656 | expLabel = str(self.proExpLabel.text()) |
|
2538 | 2657 | |
|
2539 | startDate = str(self.proComStartDate.currentText()) | |
|
2540 | endDate = str(self.proComEndDate.currentText()) | |
|
2658 | startDate = str(self.proComStartDate.currentText()).strip() | |
|
2659 | endDate = str(self.proComEndDate.currentText()).strip() | |
|
2541 | 2660 | |
|
2661 | if not startDate: | |
|
2662 | parms_ok = False | |
|
2663 | ||
|
2664 | if not endDate: | |
|
2665 | parms_ok = False | |
|
2666 | ||
|
2542 | 2667 | # startDateList = startDate.split("/") |
|
2543 | 2668 | # endDateList = endDate.split("/") |
|
2544 | 2669 | # |
@@ -2677,13 +2802,16 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
2677 | 2802 | self.proComWalk.setCurrentIndex(projectParms.walk) |
|
2678 | 2803 | self.proExpLabel.setText(str(projectParms.expLabel).strip()) |
|
2679 | 2804 | |
|
2805 | self.on_proComReadMode_activated(projectParms.online) | |
|
2806 | self.on_proComWalk_activated(projectParms.walk) | |
|
2807 | ||
|
2680 | 2808 | dateList = self.loadDays(data_path = projectParms.dpath, |
|
2681 | 2809 | ext = projectParms.getExt(), |
|
2682 | 2810 | walk = projectParms.walk, |
|
2683 | 2811 | expLabel = projectParms.expLabel) |
|
2684 | 2812 | |
|
2685 | 2813 | if not dateList: |
|
2686 | return | |
|
2814 | return 0 | |
|
2687 | 2815 | |
|
2688 | 2816 | try: |
|
2689 | 2817 | startDateIndex = dateList.index(projectParms.startDate) |
@@ -2708,6 +2836,8 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
2708 | 2836 | self.proEndTime.setTime(self.time) |
|
2709 | 2837 | |
|
2710 | 2838 | self.proOk.setEnabled(True) |
|
2839 | ||
|
2840 | return 1 | |
|
2711 | 2841 | |
|
2712 | 2842 | def __refreshVoltageWindow(self, puObj): |
|
2713 | 2843 | |
@@ -4018,6 +4148,11 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
4018 | 4148 | |
|
4019 | 4149 | def on_click(self, index): |
|
4020 | 4150 | |
|
4151 | self._disable_save_button() | |
|
4152 | self._disable_play_button() | |
|
4153 | ||
|
4154 | self.console.clear() | |
|
4155 | ||
|
4021 | 4156 | self.selectedItemTree = self.projectExplorerModel.itemFromIndex(index) |
|
4022 | 4157 | |
|
4023 | 4158 | projectObjView = self.getSelectedProjectObj() |
@@ -4028,12 +4163,12 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
4028 | 4163 | self.create = False |
|
4029 | 4164 | selectedObjView = self.getSelectedItemObj() |
|
4030 | 4165 | |
|
4166 | self.refreshProjectWindow(projectObjView) | |
|
4167 | self.refreshProjectProperties(projectObjView) | |
|
4168 | ||
|
4031 | 4169 | #A project has been selected |
|
4032 | 4170 | if projectObjView == selectedObjView: |
|
4033 | 4171 | |
|
4034 | self.refreshProjectWindow(projectObjView) | |
|
4035 | self.refreshProjectProperties(projectObjView) | |
|
4036 | ||
|
4037 | 4172 | self.tabProject.setEnabled(True) |
|
4038 | 4173 | self.tabVoltage.setEnabled(False) |
|
4039 | 4174 | self.tabSpectra.setEnabled(False) |
@@ -4041,6 +4176,10 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
4041 | 4176 | self.tabSpectraHeis.setEnabled(False) |
|
4042 | 4177 | self.tabWidgetProject.setCurrentWidget(self.tabProject) |
|
4043 | 4178 | |
|
4179 | if self.dateList: | |
|
4180 | self._enable_save_button() | |
|
4181 | self._enable_play_button() | |
|
4182 | ||
|
4044 | 4183 | return |
|
4045 | 4184 | |
|
4046 | 4185 | #A processing unit has been selected |
@@ -4055,7 +4194,11 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
4055 | 4194 | self.refreshPUWindow(puObj) |
|
4056 | 4195 | self.refreshPUProperties(puObj) |
|
4057 | 4196 | self.showtabPUCreated(puObj.datatype) |
|
4058 |
|
|
|
4197 | ||
|
4198 | if self.dateList: | |
|
4199 | self._enable_save_button() | |
|
4200 | self._enable_play_button() | |
|
4201 | ||
|
4059 | 4202 | def on_right_click(self, pos): |
|
4060 | 4203 | |
|
4061 | 4204 | self.menu = QtGui.QMenu() |
@@ -4600,6 +4743,8 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
4600 | 4743 | self._disable_save_button() |
|
4601 | 4744 | self._disable_play_button() |
|
4602 | 4745 | |
|
4746 | self.console.clear() | |
|
4747 | ||
|
4603 | 4748 | self.frame_2.setEnabled(True) |
|
4604 | 4749 | |
|
4605 | 4750 | # print self.dir |
@@ -4608,7 +4753,6 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
4608 | 4753 | projectObjLoad = Project() |
|
4609 | 4754 | |
|
4610 | 4755 | if not projectObjLoad.readXml(filename): |
|
4611 | self.console.clear() | |
|
4612 | 4756 | self.console.append("The selected xml file could not be loaded ...") |
|
4613 | 4757 | return 0 |
|
4614 | 4758 | |
@@ -4620,15 +4764,10 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
4620 | 4764 | |
|
4621 | 4765 | if projectId in self.__projectObjDict.keys(): |
|
4622 | 4766 | |
|
4623 | # answer = self._WarningWindow("You already have a project loaded with the same Id", | |
|
4624 | # "Do you want to load the file anyway?") | |
|
4625 | # if not answer: | |
|
4626 | # return | |
|
4627 | ||
|
4628 | 4767 | projectId = self.__getNewProjectId() |
|
4629 | 4768 | |
|
4630 | 4769 | if not projectId: |
|
4631 | return | |
|
4770 | return 0 | |
|
4632 | 4771 | |
|
4633 | 4772 | projectObjLoad.updateId(projectId) |
|
4634 | 4773 | |
@@ -4664,12 +4803,13 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
4664 | 4803 | self.refreshPUWindow(puObj) |
|
4665 | 4804 | self.refreshPUProperties(puObj) |
|
4666 | 4805 | self.showtabPUCreated(datatype=puObj.datatype) |
|
4667 | ||
|
4668 | self.console.clear() | |
|
4669 | self.console.append("The selected xml file has been loaded successfully") | |
|
4670 | 4806 | |
|
4671 | self._disable_save_button() | |
|
4672 | self._enable_play_button() | |
|
4807 | # self.console.clear() | |
|
4808 | self.console.append("\nThe selected xml file has been loaded successfully") | |
|
4809 | ||
|
4810 | if self.dateList: | |
|
4811 | self._disable_save_button() | |
|
4812 | self._enable_play_button() | |
|
4673 | 4813 | |
|
4674 | 4814 | def create_updating_timer(self): |
|
4675 | 4815 | |
@@ -4682,7 +4822,7 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
4682 | 4822 | # Si el proceso se ha parado actualizar el GUI (stopProject) |
|
4683 | 4823 | if not self.threadStarted: |
|
4684 | 4824 | return |
|
4685 |
|
|
|
4825 | ||
|
4686 | 4826 | if self.controllerThread.isFinished(): |
|
4687 | 4827 | self.stopProject() |
|
4688 | 4828 | return |
@@ -4702,6 +4842,10 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
4702 | 4842 | |
|
4703 | 4843 | self.plotManager.run() |
|
4704 | 4844 | |
|
4845 | if self.plotManager.isErrorDetected(): | |
|
4846 | self.stopProject() | |
|
4847 | return | |
|
4848 | ||
|
4705 | 4849 | def playProject(self, ext=".xml", save=1): |
|
4706 | 4850 | |
|
4707 | 4851 | self._disable_play_button() |
@@ -4713,6 +4857,9 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
4713 | 4857 | self._enable_stop_button() |
|
4714 | 4858 | return |
|
4715 | 4859 | |
|
4860 | if not self.dateList: | |
|
4861 | self.console.append("No data found, check datapath") | |
|
4862 | ||
|
4716 | 4863 | projectObj = self.getSelectedProjectObj() |
|
4717 | 4864 | |
|
4718 | 4865 | if not projectObj: |
@@ -4736,10 +4883,13 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
4736 | 4883 | |
|
4737 | 4884 | self.use_plotmanager(self.controllerThread) |
|
4738 | 4885 | |
|
4886 | self.console.clear() | |
|
4887 | ||
|
4739 | 4888 | self.controllerThread.start() |
|
4740 | 4889 | |
|
4741 | 4890 | sleep(0.5) |
|
4742 | 4891 | |
|
4892 | ||
|
4743 | 4893 | self.threadStarted = True |
|
4744 | 4894 | |
|
4745 | 4895 | self._disable_play_button() |
@@ -5265,9 +5415,11 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
5265 | 5415 | self.dateList = [] |
|
5266 | 5416 | |
|
5267 | 5417 | if not data_path: |
|
5418 | self.console.append("Datapath has not been set") | |
|
5268 | 5419 | return [] |
|
5269 | 5420 | |
|
5270 | 5421 | if not os.path.isdir(data_path): |
|
5422 | self.console.append("Directory %s does not exist" %data_path) | |
|
5271 | 5423 | return [] |
|
5272 | 5424 | |
|
5273 | 5425 | self.dataPath = data_path |
@@ -5349,6 +5501,10 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
5349 | 5501 | |
|
5350 | 5502 | def _enable_play_button(self): |
|
5351 | 5503 | |
|
5504 | if self.controllerThread: | |
|
5505 | if self.controllerThread.isRunning(): | |
|
5506 | return | |
|
5507 | ||
|
5352 | 5508 | self.actionStart.setEnabled(True) |
|
5353 | 5509 | self.actionStarToolbar.setEnabled(True) |
|
5354 | 5510 | |
@@ -5416,13 +5572,11 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
5416 | 5572 | self.proName.clear() |
|
5417 | 5573 | self.proDataPath.setText('') |
|
5418 | 5574 | self.console.setReadOnly(True) |
|
5419 |
self.console.append("Welcome to Signal Chain\n |
|
|
5575 | self.console.append("Welcome to Signal Chain\n\n") | |
|
5576 | self.console.append("Open a project or Create a new one\n") | |
|
5420 | 5577 | self.proStartTime.setDisplayFormat("hh:mm:ss") |
|
5421 | 5578 | self.proDataType.setEnabled(False) |
|
5422 | 5579 | self.time = QtCore.QTime() |
|
5423 | self.hour = 0 | |
|
5424 | self.min = 0 | |
|
5425 | self.sec = 0 | |
|
5426 | 5580 | self.proEndTime.setDisplayFormat("hh:mm:ss") |
|
5427 | 5581 | startTime = "00:00:00" |
|
5428 | 5582 | endTime = "23:59:59" |
@@ -5453,11 +5607,13 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
5453 | 5607 | self.treeProjectProperties.resizeColumnToContents(1) |
|
5454 | 5608 | |
|
5455 | 5609 | # set Project |
|
5456 |
self.pro |
|
|
5457 |
self.pro |
|
|
5610 | self.pronTxs.setEnabled(False) | |
|
5611 | self.proComByBlock.setEnabled(False) | |
|
5612 | self.proExpLabel.setEnabled(False) | |
|
5613 | self.proDelay.setEnabled(False) | |
|
5458 | 5614 | self.proSet.setEnabled(True) |
|
5459 | 5615 | self.proDataType.setReadOnly(True) |
|
5460 |
|
|
|
5616 | ||
|
5461 | 5617 | # set Operation Voltage |
|
5462 | 5618 | self.volOpComChannels.setEnabled(False) |
|
5463 | 5619 | self.volOpComHeights.setEnabled(False) |
@@ -5473,6 +5629,12 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
5473 | 5629 | self.volOpProfile.setEnabled(False) |
|
5474 | 5630 | self.volOpComMode.setEnabled(False) |
|
5475 | 5631 | |
|
5632 | self.volOpReshaper.setEnabled(False) | |
|
5633 | self.volOpAdjustHei.setEnabled(False) | |
|
5634 | ||
|
5635 | self.volOpCebReshaper.setEnabled(False) | |
|
5636 | self.volOpCebAdjustHei.setEnabled(False) | |
|
5637 | ||
|
5476 | 5638 | self.volGraphPath.setEnabled(False) |
|
5477 | 5639 | self.volGraphPrefix.setEnabled(False) |
|
5478 | 5640 | self.volGraphToolPath.setEnabled(False) |
@@ -5487,6 +5649,8 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
5487 | 5649 | self.specOpProfiles.setEnabled(False) |
|
5488 | 5650 | self.specOpippFactor.setEnabled(False) |
|
5489 | 5651 | self.specOppairsList.setEnabled(False) |
|
5652 | ||
|
5653 | self.specOpComCrossSpectra.setEnabled(False) | |
|
5490 | 5654 | self.specOpComChannel.setEnabled(False) |
|
5491 | 5655 | self.specOpComHeights.setEnabled(False) |
|
5492 | 5656 | self.specOpIncoherent.setEnabled(False) |
@@ -5523,51 +5687,51 class BasicWindow(QMainWindow, Ui_BasicWindow): | |||
|
5523 | 5687 | self.specHeisGraphPrefix.setEnabled(False) |
|
5524 | 5688 | self.specHeisGraphToolPath.setEnabled(False) |
|
5525 | 5689 | |
|
5690 | self.proComWalk.setCurrentIndex(0) | |
|
5526 | 5691 | |
|
5527 | 5692 | # tool tip gui |
|
5528 | 5693 | QtGui.QToolTip.setFont(QtGui.QFont('SansSerif', 10)) |
|
5529 | 5694 | self.projectExplorerTree.setToolTip('Right clik to add Project or Unit Process') |
|
5530 | 5695 | # tool tip gui project |
|
5531 | self.proComWalk.setToolTip('<b>On Files</b>:<i>Search file in format .r or pdata</i> <b>On Folders</b>:<i>Search file in a directory DYYYYDOY</i>') | |
|
5532 | self.proComWalk.setCurrentIndex(0) | |
|
5696 | ||
|
5533 | 5697 | # tool tip gui volOp |
|
5534 | self.volOpChannel.setToolTip('Example: 1,2,3,4,5') | |
|
5535 | self.volOpHeights.setToolTip('Example: 90,180') | |
|
5536 | self.volOpFilter.setToolTip('Example: 2') | |
|
5537 | self.volOpProfile.setToolTip('Example:0,127') | |
|
5538 | self.volOpCohInt.setToolTip('Example: 128') | |
|
5539 | self.volOpFlip.setToolTip('ChannelList where flip will be applied. Example: 0,2,3') | |
|
5540 | self.volOpOk.setToolTip('If you have finished, please Ok ') | |
|
5541 | # tool tip gui volGraph | |
|
5542 | self.volGraphfreqrange.setToolTip('Height range. Example: 50,100') | |
|
5543 | self.volGraphHeightrange.setToolTip('Amplitude. Example: 0,10000') | |
|
5698 | # self.volOpChannel.setToolTip('Example: 1,2,3,4,5') | |
|
5699 | # self.volOpHeights.setToolTip('Example: 90,180') | |
|
5700 | # self.volOpFilter.setToolTip('Example: 2') | |
|
5701 | # self.volOpProfile.setToolTip('Example:0,127') | |
|
5702 | # self.volOpCohInt.setToolTip('Example: 128') | |
|
5703 | # self.volOpFlip.setToolTip('ChannelList where flip will be applied. Example: 0,2,3') | |
|
5704 | # self.volOpOk.setToolTip('If you have finished, please Ok ') | |
|
5705 | # # tool tip gui volGraph | |
|
5706 | # self.volGraphfreqrange.setToolTip('Height range. Example: 50,100') | |
|
5707 | # self.volGraphHeightrange.setToolTip('Amplitude. Example: 0,10000') | |
|
5544 | 5708 | # tool tip gui specOp |
|
5545 | self.specOpnFFTpoints.setToolTip('Example: 128') | |
|
5546 | self.specOpProfiles.setToolTip('Example: 128') | |
|
5547 | self.specOpippFactor.setToolTip('Example:1.0') | |
|
5548 | self.specOpIncoherent.setToolTip('Example: 10') | |
|
5549 | self.specOpgetNoise.setToolTip('Example:20,180,30,120 (minHei,maxHei,minVel,maxVel)') | |
|
5550 | ||
|
5551 | self.specOpChannel.setToolTip('Example: 0,1,2,3') | |
|
5552 | self.specOpHeights.setToolTip('Example: 90,180') | |
|
5553 | self.specOppairsList.setToolTip('Example: (0,1),(2,3)') | |
|
5554 | # tool tip gui specGraph | |
|
5555 | ||
|
5556 | self.specGgraphChannelList.setToolTip('Example: 0,3,4') | |
|
5557 | self.specGgraphFreq.setToolTip('Example: -20,20') | |
|
5558 | self.specGgraphHeight.setToolTip('Example: 100,400') | |
|
5559 | self.specGgraphDbsrange.setToolTip('Example: 30,170') | |
|
5560 | ||
|
5561 | self.specGraphPrefix.setToolTip('Example: EXPERIMENT_NAME') | |
|
5562 | ||
|
5563 | ||
|
5564 | self.specHeisOpIncoherent.setToolTip('Example: 10') | |
|
5565 | ||
|
5566 | self.specHeisGgraphChannelList.setToolTip('Example: 0,2,3') | |
|
5567 | self.specHeisGgraphXminXmax.setToolTip('Example (Hz): -1000, 1000') | |
|
5568 | self.specHeisGgraphYminYmax.setToolTip('Example (dB): 5, 35') | |
|
5569 | self.specHeisGgraphTminTmax.setToolTip('Example (hours): 0, 24') | |
|
5570 | self.specHeisGgraphTimeRange.setToolTip('Example (hours): 8') | |
|
5709 | # self.specOpnFFTpoints.setToolTip('Example: 128') | |
|
5710 | # self.specOpProfiles.setToolTip('Example: 128') | |
|
5711 | # self.specOpippFactor.setToolTip('Example:1.0') | |
|
5712 | # self.specOpIncoherent.setToolTip('Example: 10') | |
|
5713 | # self.specOpgetNoise.setToolTip('Example:20,180,30,120 (minHei,maxHei,minVel,maxVel)') | |
|
5714 | # | |
|
5715 | # self.specOpChannel.setToolTip('Example: 0,1,2,3') | |
|
5716 | # self.specOpHeights.setToolTip('Example: 90,180') | |
|
5717 | # self.specOppairsList.setToolTip('Example: (0,1),(2,3)') | |
|
5718 | # # tool tip gui specGraph | |
|
5719 | # | |
|
5720 | # self.specGgraphChannelList.setToolTip('Example: 0,3,4') | |
|
5721 | # self.specGgraphFreq.setToolTip('Example: -20,20') | |
|
5722 | # self.specGgraphHeight.setToolTip('Example: 100,400') | |
|
5723 | # self.specGgraphDbsrange.setToolTip('Example: 30,170') | |
|
5724 | # | |
|
5725 | # self.specGraphPrefix.setToolTip('Example: EXPERIMENT_NAME') | |
|
5726 | # | |
|
5727 | # | |
|
5728 | # self.specHeisOpIncoherent.setToolTip('Example: 10') | |
|
5729 | # | |
|
5730 | # self.specHeisGgraphChannelList.setToolTip('Example: 0,2,3') | |
|
5731 | # self.specHeisGgraphXminXmax.setToolTip('Example (Hz): -1000, 1000') | |
|
5732 | # self.specHeisGgraphYminYmax.setToolTip('Example (dB): 5, 35') | |
|
5733 | # self.specHeisGgraphTminTmax.setToolTip('Example (hours): 0, 24') | |
|
5734 | # self.specHeisGgraphTimeRange.setToolTip('Example (hours): 8') | |
|
5571 | 5735 | |
|
5572 | 5736 | self.labelSet.show() |
|
5573 | 5737 | self.proSet.show() |
@@ -23,98 +23,143 class Ui_ProjectTab(object): | |||
|
23 | 23 | self.tabProject.setObjectName(_fromUtf8("tabProject")) |
|
24 | 24 | self.gridLayout_15 = QtGui.QGridLayout(self.tabProject) |
|
25 | 25 | self.gridLayout_15.setObjectName(_fromUtf8("gridLayout_15")) |
|
26 | ||
|
26 | 27 | self.frame = QtGui.QFrame(self.tabProject) |
|
27 | 28 | self.frame.setFrameShape(QtGui.QFrame.StyledPanel) |
|
28 | 29 | self.frame.setFrameShadow(QtGui.QFrame.Raised) |
|
29 | 30 | self.frame.setObjectName(_fromUtf8("frame")) |
|
31 | ||
|
30 | 32 | self.gridLayout_2 = QtGui.QGridLayout(self.frame) |
|
31 | 33 | self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2")) |
|
34 | ||
|
32 | 35 | self.label = QtGui.QLabel(self.frame) |
|
33 | 36 | self.label.setObjectName(_fromUtf8("label")) |
|
34 | 37 | self.gridLayout_2.addWidget(self.label, 0, 0, 1, 1) |
|
38 | ||
|
35 | 39 | self.proName = QtGui.QLineEdit(self.frame) |
|
36 | 40 | self.proName.setObjectName(_fromUtf8("proName")) |
|
37 | 41 | self.gridLayout_2.addWidget(self.proName, 0, 1, 1, 8) |
|
38 | self.label_11 = QtGui.QLabel(self.frame) | |
|
39 | self.label_11.setObjectName(_fromUtf8("label_11")) | |
|
40 | self.gridLayout_2.addWidget(self.label_11, 1, 0, 1, 1) | |
|
42 | ||
|
43 | self.labDatatype = QtGui.QLabel(self.frame) | |
|
44 | self.labDatatype.setObjectName(_fromUtf8("labDatatype")) | |
|
45 | self.gridLayout_2.addWidget(self.labDatatype, 1, 0, 1, 1) | |
|
46 | ||
|
41 | 47 | self.proComDataType = QtGui.QComboBox(self.frame) |
|
42 | 48 | self.proComDataType.setObjectName(_fromUtf8("proComDataType")) |
|
43 | 49 | self.proComDataType.addItem(_fromUtf8("")) |
|
44 | 50 | self.proComDataType.addItem(_fromUtf8("")) |
|
45 | 51 | self.proComDataType.addItem(_fromUtf8("")) |
|
46 | 52 | self.proComDataType.addItem(_fromUtf8("")) |
|
47 |
self.gridLayout_2.addWidget(self.proComDataType, 1, 1, 1, |
|
|
53 | self.gridLayout_2.addWidget(self.proComDataType, 1, 1, 1, 6) | |
|
54 | ||
|
48 | 55 | self.proDataType = QtGui.QLineEdit(self.frame) |
|
49 | 56 | self.proDataType.setObjectName(_fromUtf8("proDataType")) |
|
50 |
self.gridLayout_2.addWidget(self.proDataType, 1, |
|
|
51 | self.label_15 = QtGui.QLabel(self.frame) | |
|
52 | self.label_15.setObjectName(_fromUtf8("label_15")) | |
|
53 | self.gridLayout_2.addWidget(self.label_15, 2, 0, 1, 1) | |
|
57 | self.gridLayout_2.addWidget(self.proDataType, 1, 7, 1, 2) | |
|
58 | ||
|
59 | self.labDatapath = QtGui.QLabel(self.frame) | |
|
60 | self.labDatapath.setObjectName(_fromUtf8("labDatapath")) | |
|
61 | self.gridLayout_2.addWidget(self.labDatapath, 2, 0, 1, 1) | |
|
62 | ||
|
54 | 63 | self.proToolPath = QtGui.QToolButton(self.frame) |
|
55 | 64 | self.proToolPath.setObjectName(_fromUtf8("proToolPath")) |
|
56 | 65 | self.gridLayout_2.addWidget(self.proToolPath, 2, 1, 1, 1) |
|
66 | ||
|
57 | 67 | self.proDataPath = QtGui.QLineEdit(self.frame) |
|
58 | 68 | self.proDataPath.setObjectName(_fromUtf8("proDataPath")) |
|
59 | 69 | self.gridLayout_2.addWidget(self.proDataPath, 2, 2, 1, 7) |
|
60 | self.label_23 = QtGui.QLabel(self.frame) | |
|
61 | self.label_23.setObjectName(_fromUtf8("label_23")) | |
|
62 | self.gridLayout_2.addWidget(self.label_23, 3, 0, 1, 1) | |
|
63 | self.proComReadMode = QtGui.QComboBox(self.frame) | |
|
64 | self.proComReadMode.setObjectName(_fromUtf8("proComReadMode")) | |
|
65 | self.proComReadMode.addItem(_fromUtf8("------")) | |
|
66 | self.proComReadMode.addItem(_fromUtf8("")) | |
|
67 | self.gridLayout_2.addWidget(self.proComReadMode, 3, 1, 1, 4) | |
|
68 | self.label_33 = QtGui.QLabel(self.frame) | |
|
69 | self.label_33.setObjectName(_fromUtf8("label_33")) | |
|
70 | self.gridLayout_2.addWidget(self.label_33, 3, 5, 1, 1) | |
|
71 | ||
|
72 | self.proDelay = QtGui.QLineEdit(self.frame) | |
|
73 | self.proDelay.setObjectName(_fromUtf8("proDelay")) | |
|
74 | self.gridLayout_2.addWidget(self.proDelay, 3, 6, 1, 1) | |
|
75 | ||
|
76 | self.label_32 = QtGui.QLabel(self.frame) | |
|
77 | self.label_32.setObjectName(_fromUtf8("label_32")) | |
|
78 | self.gridLayout_2.addWidget(self.label_32, 4, 0, 1, 1) | |
|
70 | ||
|
71 | self.labelWalk = QtGui.QLabel(self.frame) | |
|
72 | self.labelWalk.setObjectName(_fromUtf8("labelWalk")) | |
|
73 | self.gridLayout_2.addWidget(self.labelWalk, 3, 0, 1, 1) | |
|
79 | 74 | |
|
80 | 75 | self.proComWalk = QtGui.QComboBox(self.frame) |
|
81 | 76 | self.proComWalk.setObjectName(_fromUtf8("proComWalk")) |
|
82 | 77 | self.proComWalk.addItem(_fromUtf8("")) |
|
83 | 78 | self.proComWalk.addItem(_fromUtf8("")) |
|
84 |
self.gridLayout_2.addWidget(self.proComWalk, |
|
|
79 | self.gridLayout_2.addWidget(self.proComWalk, 3, 1, 1, 4) | |
|
85 | 80 | |
|
86 | 81 | self.labExpLabel = QtGui.QLabel(self.frame) |
|
87 | 82 | self.labExpLabel.setObjectName(_fromUtf8("labExpLabel")) |
|
88 |
self.gridLayout_2.addWidget(self.labExpLabel, |
|
|
83 | self.gridLayout_2.addWidget(self.labExpLabel, 3, 5, 1, 1) | |
|
89 | 84 | |
|
90 | 85 | self.proExpLabel = QtGui.QLineEdit(self.frame) |
|
91 | 86 | self.proExpLabel.setObjectName(_fromUtf8("proExpLabel")) |
|
92 |
self.gridLayout_2.addWidget(self.proExpLabel, |
|
|
87 | self.gridLayout_2.addWidget(self.proExpLabel, 3, 6, 1, 1) | |
|
88 | ||
|
89 | self.labReadMode = QtGui.QLabel(self.frame) | |
|
90 | self.labReadMode.setObjectName(_fromUtf8("labReadMode")) | |
|
91 | self.gridLayout_2.addWidget(self.labReadMode, 4, 0, 1, 1) | |
|
92 | ||
|
93 | self.proComReadMode = QtGui.QComboBox(self.frame) | |
|
94 | self.proComReadMode.setObjectName(_fromUtf8("proComReadMode")) | |
|
95 | self.proComReadMode.addItem(_fromUtf8("")) | |
|
96 | self.proComReadMode.addItem(_fromUtf8("")) | |
|
97 | self.gridLayout_2.addWidget(self.proComReadMode, 4, 1, 1, 4) | |
|
98 | ||
|
99 | self.labDelay = QtGui.QLabel(self.frame) | |
|
100 | self.labDelay.setObjectName(_fromUtf8("labDelay")) | |
|
101 | self.gridLayout_2.addWidget(self.labDelay, 4, 5, 1, 1) | |
|
102 | ||
|
103 | self.proDelay = QtGui.QLineEdit(self.frame) | |
|
104 | self.proDelay.setObjectName(_fromUtf8("proDelay")) | |
|
105 | self.gridLayout_2.addWidget(self.proDelay, 4, 6, 1, 1) | |
|
93 | 106 | |
|
94 | self.proLoadButton = QtGui.QPushButton(self.frame) | |
|
95 | self.proLoadButton.setObjectName(_fromUtf8("proLoadButton")) | |
|
96 | self.gridLayout_2.addWidget(self.proLoadButton, 5, 0, 1, 9) | |
|
97 | 107 | self.labelSet = QtGui.QLabel(self.frame) |
|
98 | 108 | self.labelSet.setObjectName(_fromUtf8("labelSet")) |
|
99 |
self.gridLayout_2.addWidget(self.labelSet, |
|
|
109 | self.gridLayout_2.addWidget(self.labelSet, 4, 7, 1, 1) | |
|
110 | ||
|
100 | 111 | self.proSet = QtGui.QLineEdit(self.frame) |
|
101 | 112 | self.proSet.setObjectName(_fromUtf8("proSet")) |
|
102 |
self.gridLayout_2.addWidget(self.proSet, |
|
|
103 | self.labelIPPKm = QtGui.QLabel(self.frame) | |
|
113 | self.gridLayout_2.addWidget(self.proSet, 4, 8, 1, 1) | |
|
114 | ||
|
115 | ||
|
116 | self.proLoadButton = QtGui.QPushButton(self.frame) | |
|
117 | self.proLoadButton.setObjectName(_fromUtf8("proLoadButton")) | |
|
118 | self.gridLayout_2.addWidget(self.proLoadButton, 5, 0, 1, 9) | |
|
119 | ||
|
120 | self.frame_data = QtGui.QFrame(self.tabProject) | |
|
121 | self.frame_data.setFrameShape(QtGui.QFrame.StyledPanel) | |
|
122 | self.frame_data.setFrameShadow(QtGui.QFrame.Raised) | |
|
123 | self.frame_data.setObjectName(_fromUtf8("frame_data")) | |
|
124 | ||
|
125 | self.gridLayout_data = QtGui.QGridLayout(self.frame_data) | |
|
126 | self.gridLayout_data.setObjectName(_fromUtf8("gridLayout_data")) | |
|
127 | ||
|
128 | self.labelIPPKm = QtGui.QLabel(self.frame_data) | |
|
104 | 129 | self.labelIPPKm.setObjectName(_fromUtf8("labelIPPKm")) |
|
105 |
self.gridLayout_ |
|
|
106 | self.proIPPKm = QtGui.QLineEdit(self.frame) | |
|
107 | self.proIPPKm.setObjectName(_fromUtf8("proIPPKm")) | |
|
108 | self.gridLayout_2.addWidget(self.proIPPKm, 3, 8, 1, 1) | |
|
130 | self.gridLayout_data.addWidget(self.labelIPPKm, 6, 0, 1, 1) | |
|
109 | 131 | |
|
132 | self.proIPPKm = QtGui.QLineEdit(self.frame_data) | |
|
133 | self.proIPPKm.setObjectName(_fromUtf8("proIPPKm")) | |
|
134 | self.gridLayout_data.addWidget(self.proIPPKm, 6, 1, 1, 6) | |
|
110 | 135 | |
|
111 | self.gridLayout_15.addWidget(self.frame, 0, 0, 1, 1) | |
|
136 | self.labnTxs = QtGui.QLabel(self.frame_data) | |
|
137 | self.labnTxs.setObjectName(_fromUtf8("labnTxs")) | |
|
138 | self.gridLayout_data.addWidget(self.labnTxs, 6, 0, 1, 1) | |
|
139 | ||
|
140 | self.pronTxs = QtGui.QLineEdit(self.frame_data) | |
|
141 | self.pronTxs.setObjectName(_fromUtf8("pronTxs")) | |
|
142 | self.gridLayout_data.addWidget(self.pronTxs, 6, 1, 1, 6) | |
|
143 | ||
|
144 | self.labByBlock = QtGui.QLabel(self.frame_data) | |
|
145 | self.labByBlock.setObjectName(_fromUtf8("labByBlock")) | |
|
146 | self.gridLayout_data.addWidget(self.labByBlock, 6, 7, 1, 1) | |
|
147 | ||
|
148 | self.proComByBlock = QtGui.QComboBox(self.frame_data) | |
|
149 | self.proComByBlock.setObjectName(_fromUtf8("proComByBlock")) | |
|
150 | self.proComByBlock.addItem(_fromUtf8("")) | |
|
151 | self.proComByBlock.addItem(_fromUtf8("")) | |
|
152 | self.gridLayout_data.addWidget(self.proComByBlock, 6, 8, 1, 1) | |
|
153 | ||
|
154 | ||
|
112 | 155 | self.frame_2 = QtGui.QFrame(self.tabProject) |
|
113 | 156 | self.frame_2.setFrameShape(QtGui.QFrame.StyledPanel) |
|
114 | 157 | self.frame_2.setFrameShadow(QtGui.QFrame.Raised) |
|
115 | 158 | self.frame_2.setObjectName(_fromUtf8("frame_2")) |
|
159 | ||
|
116 | 160 | self.gridLayout_10 = QtGui.QGridLayout(self.frame_2) |
|
117 | 161 | self.gridLayout_10.setObjectName(_fromUtf8("gridLayout_10")) |
|
162 | ||
|
118 | 163 | self.label_27 = QtGui.QLabel(self.frame_2) |
|
119 | 164 | self.label_27.setObjectName(_fromUtf8("label_27")) |
|
120 | 165 | self.gridLayout_10.addWidget(self.label_27, 0, 0, 1, 1) |
@@ -145,7 +190,7 class Ui_ProjectTab(object): | |||
|
145 | 190 | self.proDescription = QtGui.QTextEdit(self.frame_2) |
|
146 | 191 | self.proDescription.setObjectName(_fromUtf8("proDescription")) |
|
147 | 192 | self.gridLayout_10.addWidget(self.proDescription, 4, 1, 1, 1) |
|
148 | self.gridLayout_15.addWidget(self.frame_2, 1, 0, 1, 1) | |
|
193 | ||
|
149 | 194 | self.frame_3 = QtGui.QFrame(self.tabProject) |
|
150 | 195 | self.frame_3.setFrameShape(QtGui.QFrame.StyledPanel) |
|
151 | 196 | self.frame_3.setFrameShadow(QtGui.QFrame.Raised) |
@@ -158,31 +203,42 class Ui_ProjectTab(object): | |||
|
158 | 203 | self.proClear = QtGui.QPushButton(self.frame_3) |
|
159 | 204 | self.proClear.setObjectName(_fromUtf8("proClear")) |
|
160 | 205 | self.gridLayout_14.addWidget(self.proClear, 0, 1, 1, 1) |
|
161 | self.gridLayout_15.addWidget(self.frame_3, 2, 0, 1, 1) | |
|
206 | ||
|
207 | self.gridLayout_15.addWidget(self.frame, 0, 0, 8, 1) | |
|
208 | self.gridLayout_15.addWidget(self.frame_data, 8, 0, 2, 1) | |
|
209 | self.gridLayout_15.addWidget(self.frame_2, 10, 0, 7, 1) | |
|
210 | self.gridLayout_15.addWidget(self.frame_3, 17, 0, 2, 1) | |
|
162 | 211 | |
|
163 | 212 | self.tabWidgetProject.addTab(self.tabProject, _fromUtf8("")) |
|
164 | 213 | |
|
165 | 214 | def retranslateUi(self): |
|
166 | 215 | |
|
167 | 216 | self.label.setText(_translate("MainWindow", "Project Name :", None)) |
|
168 |
self.labe |
|
|
217 | self.labDatatype.setText(_translate("MainWindow", "Data type :", None)) | |
|
169 | 218 | self.proComDataType.setItemText(0, _translate("MainWindow", "Voltage", None)) |
|
170 | 219 | self.proComDataType.setItemText(1, _translate("MainWindow", "Spectra", None)) |
|
171 | 220 | self.proComDataType.setItemText(2, _translate("MainWindow", "Fits", None)) |
|
172 | 221 | self.proComDataType.setItemText(3, _translate("MainWindow", "USRP", None)) |
|
173 |
self.lab |
|
|
222 | self.labDatapath.setText(_translate("MainWindow", "Data path :", None)) | |
|
174 | 223 | self.proToolPath.setText(_translate("MainWindow", "...", None)) |
|
175 |
self.lab |
|
|
224 | self.labReadMode.setText(_translate("MainWindow", "Read mode:", None)) | |
|
176 | 225 | self.proComReadMode.setItemText(0, _translate("MainWindow", "Offline", None)) |
|
177 | 226 | self.proComReadMode.setItemText(1, _translate("MainWindow", "Online", None)) |
|
178 |
self.lab |
|
|
179 | self.labExpLabel.setText(_translate("MainWindow", "Exp Label:", None)) | |
|
180 |
self.label |
|
|
181 |
self.proComWalk.setItemText(0, _translate("MainWindow", "On |
|
|
182 |
self.proComWalk.setItemText(1, _translate("MainWindow", "On |
|
|
227 | self.labDelay.setText(_translate("MainWindow", "Delay:", None)) | |
|
228 | self.labExpLabel.setText(_translate("MainWindow", "Exp. Label:", None)) | |
|
229 | self.labelWalk.setText(_translate("MainWindow", "Search data :", None)) | |
|
230 | self.proComWalk.setItemText(0, _translate("MainWindow", "On files", None)) | |
|
231 | self.proComWalk.setItemText(1, _translate("MainWindow", "On sub-folders", None)) | |
|
232 | self.proComByBlock.setItemText(0, _translate("MainWindow", "By profile", None)) | |
|
233 | self.proComByBlock.setItemText(1, _translate("MainWindow", "By block", None)) | |
|
234 | self.labByBlock.setText(_translate("MainWindow", "Get data:", None)) | |
|
235 | ||
|
236 | ||
|
183 | 237 | self.proLoadButton.setText(_translate("MainWindow", "Load", None)) |
|
184 |
self.labelSet.setText(_translate("MainWindow", " |
|
|
238 | self.labelSet.setText(_translate("MainWindow", "File set:", None)) | |
|
185 | 239 | self.labelIPPKm.setText(_translate("MainWindow", "IPP (km):", None)) |
|
240 | self.labnTxs.setText(_translate("MainWindow", "Number of Txs:", None)) | |
|
241 | ||
|
186 | 242 | self.label_27.setText(_translate("MainWindow", "Star Date:", None)) |
|
187 | 243 | self.label_28.setText(_translate("MainWindow", "End Date:", None)) |
|
188 | 244 | self.label_2.setText(_translate("MainWindow", "Start Time:", None)) |
@@ -192,4 +248,10 class Ui_ProjectTab(object): | |||
|
192 | 248 | self.proClear.setText(_translate("MainWindow", "Clear", None)) |
|
193 | 249 | |
|
194 | 250 | self.tabWidgetProject.setTabText(self.tabWidgetProject.indexOf(self.tabProject), _translate("MainWindow", "Project", None)) |
|
195 |
|
|
|
251 | ||
|
252 | self.__setToolTip() | |
|
253 | ||
|
254 | def __setToolTip(self): | |
|
255 | ||
|
256 | self.proComWalk.setToolTip('<b>On Files</b>:<i>Search file in format .r or pdata</i> <b>On Folders</b>:<i>Search file in a directory DYYYYDOY</i>') | |
|
257 | No newline at end of file |
@@ -28,116 +28,163 class Ui_SpectraTab(object): | |||
|
28 | 28 | self.frame_5.setObjectName(_fromUtf8("frame_5")) |
|
29 | 29 | self.gridLayout_18 = QtGui.QGridLayout(self.frame_5) |
|
30 | 30 | self.gridLayout_18.setObjectName(_fromUtf8("gridLayout_18")) |
|
31 | ||
|
31 | 32 | self.specOpOk = QtGui.QPushButton(self.frame_5) |
|
32 | 33 | self.specOpOk.setObjectName(_fromUtf8("specOpOk")) |
|
33 | 34 | self.gridLayout_18.addWidget(self.specOpOk, 0, 0, 1, 1) |
|
35 | ||
|
34 | 36 | self.specGraphClear = QtGui.QPushButton(self.frame_5) |
|
35 | 37 | self.specGraphClear.setObjectName(_fromUtf8("specGraphClear")) |
|
36 | 38 | self.gridLayout_18.addWidget(self.specGraphClear, 0, 1, 1, 1) |
|
39 | ||
|
37 | 40 | self.gridLayout_7.addWidget(self.frame_5, 1, 1, 1, 1) |
|
41 | ||
|
38 | 42 | self.tabWidgetSpectra = QtGui.QTabWidget(self.tabSpectra) |
|
39 | 43 | self.tabWidgetSpectra.setObjectName(_fromUtf8("tabWidgetSpectra")) |
|
44 | ||
|
40 | 45 | self.tabopSpectra = QtGui.QWidget() |
|
41 | 46 | self.tabopSpectra.setObjectName(_fromUtf8("tabopSpectra")) |
|
47 | ||
|
42 | 48 | self.gridLayout_5 = QtGui.QGridLayout(self.tabopSpectra) |
|
43 | 49 | self.gridLayout_5.setObjectName(_fromUtf8("gridLayout_5")) |
|
44 | self.specOpCebCrossSpectra = QtGui.QCheckBox(self.tabopSpectra) | |
|
45 | self.specOpCebCrossSpectra.setObjectName(_fromUtf8("specOpCebCrossSpectra")) | |
|
46 | self.gridLayout_5.addWidget(self.specOpCebCrossSpectra, 4, 0, 1, 2) | |
|
50 | ||
|
51 | ||
|
52 | ||
|
53 | self.specOpCebRadarfrequency = QtGui.QCheckBox(self.tabopSpectra) | |
|
54 | self.specOpCebRadarfrequency.setObjectName(_fromUtf8("specOpCebRadarfrequency")) | |
|
55 | self.gridLayout_5.addWidget(self.specOpCebRadarfrequency, 0, 0, 1, 1) | |
|
56 | ||
|
57 | self.specOpRadarfrequency = QtGui.QLineEdit(self.tabopSpectra) | |
|
58 | self.specOpRadarfrequency.setObjectName(_fromUtf8("specOpRadarfrequency")) | |
|
59 | self.gridLayout_5.addWidget(self.specOpRadarfrequency, 0, 1, 1, 4) | |
|
60 | ||
|
61 | ||
|
62 | self.specLabProfiles = QtGui.QLabel(self.tabopSpectra) | |
|
63 | self.specLabProfiles.setObjectName(_fromUtf8("specLabProfiles")) | |
|
64 | self.gridLayout_5.addWidget(self.specLabProfiles, 1, 0, 1, 1) | |
|
65 | ||
|
66 | self.specOpProfiles = QtGui.QLineEdit(self.tabopSpectra) | |
|
67 | self.specOpProfiles.setObjectName(_fromUtf8("specOpProfiles")) | |
|
68 | self.gridLayout_5.addWidget(self.specOpProfiles, 1, 1, 1, 4) | |
|
69 | ||
|
70 | ||
|
71 | self.specLabnFFTPoints = QtGui.QLabel(self.tabopSpectra) | |
|
72 | self.specLabnFFTPoints.setObjectName(_fromUtf8("specLabnFFTPoints")) | |
|
73 | self.gridLayout_5.addWidget(self.specLabnFFTPoints, 2, 0, 1, 1) | |
|
74 | ||
|
75 | self.specOpnFFTpoints = QtGui.QLineEdit(self.tabopSpectra) | |
|
76 | self.specOpnFFTpoints.setObjectName(_fromUtf8("specOpnFFTpoints")) | |
|
77 | self.gridLayout_5.addWidget(self.specOpnFFTpoints, 2, 1, 1, 4) | |
|
78 | ||
|
79 | ||
|
80 | self.specLabippFactor = QtGui.QLabel(self.tabopSpectra) | |
|
81 | self.specLabippFactor.setObjectName(_fromUtf8("specLabippFactor")) | |
|
82 | self.gridLayout_5.addWidget(self.specLabippFactor, 3, 0, 1, 1) | |
|
83 | ||
|
84 | self.specOpippFactor = QtGui.QLineEdit(self.tabopSpectra) | |
|
85 | self.specOpippFactor.setObjectName(_fromUtf8("specOpippFactor")) | |
|
86 | self.gridLayout_5.addWidget(self.specOpippFactor, 3, 1, 1, 4) | |
|
87 | ||
|
88 | ||
|
89 | self.specOpCebChannel = QtGui.QCheckBox(self.tabopSpectra) | |
|
90 | self.specOpCebChannel.setObjectName(_fromUtf8("specOpCebChannel")) | |
|
91 | self.gridLayout_5.addWidget(self.specOpCebChannel, 4, 0, 1, 1) | |
|
92 | ||
|
47 | 93 | self.specOpComChannel = QtGui.QComboBox(self.tabopSpectra) |
|
48 | 94 | self.specOpComChannel.setObjectName(_fromUtf8("specOpComChannel")) |
|
49 | 95 | self.specOpComChannel.addItem(_fromUtf8("")) |
|
50 | 96 | self.specOpComChannel.addItem(_fromUtf8("")) |
|
51 |
self.gridLayout_5.addWidget(self.specOpComChannel, |
|
|
97 | self.gridLayout_5.addWidget(self.specOpComChannel, 4, 1, 1, 2) | |
|
98 | ||
|
52 | 99 | self.specOpChannel = QtGui.QLineEdit(self.tabopSpectra) |
|
53 | 100 | self.specOpChannel.setObjectName(_fromUtf8("specOpChannel")) |
|
54 |
self.gridLayout_5.addWidget(self.specOpChannel, |
|
|
101 | self.gridLayout_5.addWidget(self.specOpChannel, 4, 3, 1, 2) | |
|
102 | ||
|
103 | ||
|
104 | self.specOpCebCrossSpectra = QtGui.QCheckBox(self.tabopSpectra) | |
|
105 | self.specOpCebCrossSpectra.setObjectName(_fromUtf8("specOpCebCrossSpectra")) | |
|
106 | self.gridLayout_5.addWidget(self.specOpCebCrossSpectra, 5, 0, 1, 1) | |
|
107 | ||
|
108 | self.specOpComCrossSpectra = QtGui.QComboBox(self.tabopSpectra) | |
|
109 | self.specOpComCrossSpectra.setObjectName(_fromUtf8("specOpComCrossSpectra")) | |
|
110 | self.specOpComCrossSpectra.addItem(_fromUtf8("")) | |
|
111 | self.gridLayout_5.addWidget(self.specOpComCrossSpectra, 5, 1, 1, 2) | |
|
112 | ||
|
113 | self.specOppairsList = QtGui.QLineEdit(self.tabopSpectra) | |
|
114 | self.specOppairsList.setObjectName(_fromUtf8("specOppairsList")) | |
|
115 | self.gridLayout_5.addWidget(self.specOppairsList, 5, 3, 1, 2) | |
|
116 | ||
|
117 | ||
|
118 | self.specOpCebHeights = QtGui.QCheckBox(self.tabopSpectra) | |
|
119 | self.specOpCebHeights.setObjectName(_fromUtf8("specOpCebHeights")) | |
|
120 | self.gridLayout_5.addWidget(self.specOpCebHeights, 6, 0, 1, 1) | |
|
121 | ||
|
55 | 122 | self.specOpComHeights = QtGui.QComboBox(self.tabopSpectra) |
|
56 | 123 | self.specOpComHeights.setObjectName(_fromUtf8("specOpComHeights")) |
|
57 | 124 | self.specOpComHeights.addItem(_fromUtf8("")) |
|
58 | 125 | self.specOpComHeights.addItem(_fromUtf8("")) |
|
59 |
self.gridLayout_5.addWidget(self.specOpComHeights, |
|
|
126 | self.gridLayout_5.addWidget(self.specOpComHeights, 6, 1, 1, 2) | |
|
127 | ||
|
60 | 128 | self.specOpHeights = QtGui.QLineEdit(self.tabopSpectra) |
|
61 | 129 | self.specOpHeights.setObjectName(_fromUtf8("specOpHeights")) |
|
62 |
self.gridLayout_5.addWidget(self.specOpHeights, |
|
|
63 | self.specOpIncoherent = QtGui.QLineEdit(self.tabopSpectra) | |
|
64 | self.specOpIncoherent.setObjectName(_fromUtf8("specOpIncoherent")) | |
|
65 | self.gridLayout_5.addWidget(self.specOpIncoherent, 13, 3, 1, 2) | |
|
66 | self.specOpCebRemoveDC = QtGui.QCheckBox(self.tabopSpectra) | |
|
67 | self.specOpCebRemoveDC.setObjectName(_fromUtf8("specOpCebRemoveDC")) | |
|
68 | self.gridLayout_5.addWidget(self.specOpCebRemoveDC, 14, 0, 1, 2) | |
|
69 | self.specOpCebHeights = QtGui.QCheckBox(self.tabopSpectra) | |
|
70 | self.specOpCebHeights.setObjectName(_fromUtf8("specOpCebHeights")) | |
|
71 | self.gridLayout_5.addWidget(self.specOpCebHeights, 9, 0, 1, 1) | |
|
72 | self.specOpCebChannel = QtGui.QCheckBox(self.tabopSpectra) | |
|
73 | self.specOpCebChannel.setObjectName(_fromUtf8("specOpCebChannel")) | |
|
74 | self.gridLayout_5.addWidget(self.specOpCebChannel, 7, 0, 1, 1) | |
|
75 | self.specOppairsList = QtGui.QLineEdit(self.tabopSpectra) | |
|
76 | self.specOppairsList.setObjectName(_fromUtf8("specOppairsList")) | |
|
77 | self.gridLayout_5.addWidget(self.specOppairsList, 6, 3, 1, 2) | |
|
78 | self.specOpnFFTpoints = QtGui.QLineEdit(self.tabopSpectra) | |
|
79 | self.specOpnFFTpoints.setObjectName(_fromUtf8("specOpnFFTpoints")) | |
|
80 | self.gridLayout_5.addWidget(self.specOpnFFTpoints, 2, 3, 1, 2) | |
|
81 | self.label_31 = QtGui.QLabel(self.tabopSpectra) | |
|
82 | self.label_31.setObjectName(_fromUtf8("label_31")) | |
|
83 | self.gridLayout_5.addWidget(self.label_31, 6, 0, 1, 2) | |
|
84 | self.label_26 = QtGui.QLabel(self.tabopSpectra) | |
|
85 | self.label_26.setObjectName(_fromUtf8("label_26")) | |
|
86 | self.gridLayout_5.addWidget(self.label_26, 2, 0, 1, 2) | |
|
130 | self.gridLayout_5.addWidget(self.specOpHeights, 6, 3, 1, 2) | |
|
131 | ||
|
132 | ||
|
87 | 133 | self.specOpCebIncoherent = QtGui.QCheckBox(self.tabopSpectra) |
|
88 | 134 | self.specOpCebIncoherent.setObjectName(_fromUtf8("specOpCebIncoherent")) |
|
89 |
self.gridLayout_5.addWidget(self.specOpCebIncoherent, |
|
|
135 | self.gridLayout_5.addWidget(self.specOpCebIncoherent, 7, 0, 1, 1) | |
|
136 | ||
|
90 | 137 | self.specOpCobIncInt = QtGui.QComboBox(self.tabopSpectra) |
|
91 | 138 | self.specOpCobIncInt.setObjectName(_fromUtf8("specOpCobIncInt")) |
|
92 | 139 | self.specOpCobIncInt.addItem(_fromUtf8("")) |
|
93 | 140 | self.specOpCobIncInt.addItem(_fromUtf8("")) |
|
94 |
self.gridLayout_5.addWidget(self.specOpCobIncInt, |
|
|
95 | spacerItem9 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) | |
|
96 | self.gridLayout_5.addItem(spacerItem9, 12, 3, 1, 1) | |
|
97 | self.specOpCebRadarfrequency = QtGui.QCheckBox(self.tabopSpectra) | |
|
98 | self.specOpCebRadarfrequency.setObjectName(_fromUtf8("specOpCebRadarfrequency")) | |
|
99 | self.gridLayout_5.addWidget(self.specOpCebRadarfrequency, 0, 0, 1, 2) | |
|
100 | spacerItem10 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) | |
|
101 | self.gridLayout_5.addItem(spacerItem10, 9, 3, 1, 1) | |
|
102 | spacerItem11 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) | |
|
103 | self.gridLayout_5.addItem(spacerItem11, 7, 3, 1, 1) | |
|
104 | self.specOpRadarfrequency = QtGui.QLineEdit(self.tabopSpectra) | |
|
105 | self.specOpRadarfrequency.setObjectName(_fromUtf8("specOpRadarfrequency")) | |
|
106 | self.gridLayout_5.addWidget(self.specOpRadarfrequency, 0, 3, 1, 2) | |
|
141 | self.gridLayout_5.addWidget(self.specOpCobIncInt, 7, 1, 1, 2) | |
|
107 | 142 | |
|
108 | spacerItem12 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) | |
|
109 | self.gridLayout_5.addItem(spacerItem12, 4, 3, 1, 1) | |
|
143 | self.specOpIncoherent = QtGui.QLineEdit(self.tabopSpectra) | |
|
144 | self.specOpIncoherent.setObjectName(_fromUtf8("specOpIncoherent")) | |
|
145 | self.gridLayout_5.addWidget(self.specOpIncoherent, 7, 3, 1, 2) | |
|
110 | 146 | |
|
111 | self.label_21 = QtGui.QLabel(self.tabopSpectra) | |
|
112 | self.label_21.setObjectName(_fromUtf8("label_21")) | |
|
113 | self.gridLayout_5.addWidget(self.label_21, 1, 0, 1, 1) | |
|
114 | self.specOpProfiles = QtGui.QLineEdit(self.tabopSpectra) | |
|
115 | self.specOpProfiles.setObjectName(_fromUtf8("specOpProfiles")) | |
|
116 | self.gridLayout_5.addWidget(self.specOpProfiles, 1, 3, 1, 2) | |
|
117 | self.specOpCebRemoveInt = QtGui.QCheckBox(self.tabopSpectra) | |
|
118 | self.specOpCebRemoveInt.setObjectName(_fromUtf8("specOpCebRemoveInt")) | |
|
119 | self.gridLayout_5.addWidget(self.specOpCebRemoveInt, 15, 0, 1, 1) | |
|
120 | 147 | |
|
121 | spacerItem13 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) | |
|
122 | self.gridLayout_5.addItem(spacerItem13, 15, 3, 1, 1) | |
|
148 | self.specOpCebRemoveDC = QtGui.QCheckBox(self.tabopSpectra) | |
|
149 | self.specOpCebRemoveDC.setObjectName(_fromUtf8("specOpCebRemoveDC")) | |
|
150 | self.gridLayout_5.addWidget(self.specOpCebRemoveDC, 8, 0, 1, 1) | |
|
123 | 151 | |
|
124 | self.label_70 = QtGui.QLabel(self.tabopSpectra) | |
|
125 | self.label_70.setObjectName(_fromUtf8("label_70")) | |
|
126 | self.gridLayout_5.addWidget(self.label_70, 3, 0, 1, 1) | |
|
127 | self.specOpCebgetNoise = QtGui.QCheckBox(self.tabopSpectra) | |
|
128 | self.specOpCebgetNoise.setObjectName(_fromUtf8("specOpCebgetNoise")) | |
|
129 | self.gridLayout_5.addWidget(self.specOpCebgetNoise, 16, 0, 1, 1) | |
|
130 | self.specOpippFactor = QtGui.QLineEdit(self.tabopSpectra) | |
|
131 | self.specOpippFactor.setObjectName(_fromUtf8("specOpippFactor")) | |
|
132 | self.gridLayout_5.addWidget(self.specOpippFactor, 3, 3, 1, 2) | |
|
133 | 152 | self.specOpComRemoveDC = QtGui.QComboBox(self.tabopSpectra) |
|
134 | 153 | self.specOpComRemoveDC.setObjectName(_fromUtf8("specOpComRemoveDC")) |
|
135 | 154 | self.specOpComRemoveDC.addItem(_fromUtf8("")) |
|
136 | 155 | self.specOpComRemoveDC.addItem(_fromUtf8("")) |
|
137 |
self.gridLayout_5.addWidget(self.specOpComRemoveDC, |
|
|
156 | self.gridLayout_5.addWidget(self.specOpComRemoveDC, 8, 1, 1, 2) | |
|
157 | ||
|
158 | ||
|
159 | self.specOpCebRemoveInt = QtGui.QCheckBox(self.tabopSpectra) | |
|
160 | self.specOpCebRemoveInt.setObjectName(_fromUtf8("specOpCebRemoveInt")) | |
|
161 | self.gridLayout_5.addWidget(self.specOpCebRemoveInt, 9, 0, 1, 1) | |
|
162 | ||
|
163 | ||
|
164 | self.specOpCebgetNoise = QtGui.QCheckBox(self.tabopSpectra) | |
|
165 | self.specOpCebgetNoise.setObjectName(_fromUtf8("specOpCebgetNoise")) | |
|
166 | self.gridLayout_5.addWidget(self.specOpCebgetNoise, 10, 0, 1, 1) | |
|
167 | ||
|
138 | 168 | self.specOpgetNoise = QtGui.QLineEdit(self.tabopSpectra) |
|
139 | 169 | self.specOpgetNoise.setObjectName(_fromUtf8("specOpgetNoise")) |
|
140 |
self.gridLayout_5.addWidget(self.specOpgetNoise, 1 |
|
|
170 | self.gridLayout_5.addWidget(self.specOpgetNoise, 10, 1, 1, 4) | |
|
171 | ||
|
172 | # spacerItem9 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) | |
|
173 | # self.gridLayout_5.addItem(spacerItem9, 12, 3, 1, 1) | |
|
174 | # | |
|
175 | # spacerItem10 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) | |
|
176 | # self.gridLayout_5.addItem(spacerItem10, 9, 3, 1, 1) | |
|
177 | # | |
|
178 | # spacerItem11 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) | |
|
179 | # self.gridLayout_5.addItem(spacerItem11, 7, 3, 1, 1) | |
|
180 | # | |
|
181 | # spacerItem12 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) | |
|
182 | # self.gridLayout_5.addItem(spacerItem12, 4, 3, 1, 1) | |
|
183 | # | |
|
184 | # spacerItem13 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) | |
|
185 | # self.gridLayout_5.addItem(spacerItem13, 15, 3, 1, 1) | |
|
186 | ||
|
187 | ||
|
141 | 188 | self.tabWidgetSpectra.addTab(self.tabopSpectra, _fromUtf8("")) |
|
142 | 189 | |
|
143 | 190 | ################################################################ |
@@ -397,47 +444,49 class Ui_SpectraTab(object): | |||
|
397 | 444 | |
|
398 | 445 | self.specOpOk.setText(_translate("MainWindow", "Ok", None)) |
|
399 | 446 | self.specGraphClear.setText(_translate("MainWindow", "Clear", None)) |
|
400 | self.specOpCebCrossSpectra.setText(_translate("MainWindow", "Select Cross Spectra", None)) | |
|
447 | self.specOpCebCrossSpectra.setText(_translate("MainWindow", "Select Cross Spectra:", None)) | |
|
401 | 448 | self.specOpComChannel.setItemText(0, _translate("MainWindow", "Value", None)) |
|
402 | 449 | self.specOpComChannel.setItemText(1, _translate("MainWindow", "Index", None)) |
|
403 | 450 | self.specOpComHeights.setItemText(0, _translate("MainWindow", "Value", None)) |
|
404 | 451 | self.specOpComHeights.setItemText(1, _translate("MainWindow", "Index", None)) |
|
405 | self.specOpCebRemoveDC.setText(_translate("MainWindow", "Remove DC", None)) | |
|
406 | self.specOpCebHeights.setText(_translate("MainWindow", "Select Heights", None)) | |
|
407 | self.specOpCebChannel.setText(_translate("MainWindow", "Select Channel", None)) | |
|
408 | self.label_31.setText(_translate("MainWindow", "x-y pairs", None)) | |
|
409 |
self. |
|
|
410 | self.specOpCebIncoherent.setText(_translate("MainWindow", "Incoherent Integration", None)) | |
|
452 | self.specOpCebRemoveDC.setText(_translate("MainWindow", "Remove DC:", None)) | |
|
453 | self.specOpCebHeights.setText(_translate("MainWindow", "Select Heights:", None)) | |
|
454 | self.specOpCebChannel.setText(_translate("MainWindow", "Select Channel:", None)) | |
|
455 | ||
|
456 | self.specOpComCrossSpectra.setItemText(0, _translate("MainWindow", "x-y pairs", None)) | |
|
457 | ||
|
458 | self.specLabnFFTPoints.setText(_translate("MainWindow", "Number of FFT points:", None)) | |
|
459 | self.specOpCebIncoherent.setText(_translate("MainWindow", "Incoherent Integration:", None)) | |
|
411 | 460 | self.specOpCobIncInt.setItemText(0, _translate("MainWindow", "Time Interval", None)) |
|
412 | self.specOpCobIncInt.setItemText(1, _translate("MainWindow", "Profiles", None)) | |
|
413 | self.specOpCebRadarfrequency.setText(_translate("MainWindow", "Radar frequency (MHz)", None)) | |
|
414 |
self. |
|
|
415 | self.specOpCebRemoveInt.setText(_translate("MainWindow", "Remove Interference", None)) | |
|
416 |
self. |
|
|
417 |
self.specOpCebgetNoise.setText(_translate("MainWindow", " |
|
|
461 | self.specOpCobIncInt.setItemText(1, _translate("MainWindow", "Number of Profiles", None)) | |
|
462 | self.specOpCebRadarfrequency.setText(_translate("MainWindow", "Radar frequency (MHz):", None)) | |
|
463 | self.specLabProfiles.setText(_translate("MainWindow", "Number of Profiles", None)) | |
|
464 | self.specOpCebRemoveInt.setText(_translate("MainWindow", "Remove Interference:", None)) | |
|
465 | self.specLabippFactor.setText(_translate("MainWindow", "Ipp Factor:", None)) | |
|
466 | self.specOpCebgetNoise.setText(_translate("MainWindow", "Set Noise area:", None)) | |
|
418 | 467 | self.specOpComRemoveDC.setItemText(0, _translate("MainWindow", "Mode 1", None)) |
|
419 | 468 | self.specOpComRemoveDC.setItemText(1, _translate("MainWindow", "Mode 2", None)) |
|
420 | 469 | self.tabWidgetSpectra.setTabText(self.tabWidgetSpectra.indexOf(self.tabopSpectra), _translate("MainWindow", "Operation", None)) |
|
421 | 470 | |
|
422 | self.label_44.setText(_translate("MainWindow", "Coherence Map", None)) | |
|
471 | self.label_44.setText(_translate("MainWindow", "Coherence Map:", None)) | |
|
423 | 472 | self.specGraphTminTmaxLabel.setText(_translate("MainWindow", "Time range:", None)) |
|
424 | self.label_25.setText(_translate("MainWindow", "Prefix", None)) | |
|
425 | self.label_42.setText(_translate("MainWindow", "RTI Plot", None)) | |
|
426 | self.label_16.setText(_translate("MainWindow", "Height range", None)) | |
|
427 | self.label_17.setText(_translate("MainWindow", "dB range", None)) | |
|
428 |
self.specGraphMagLabel.setText(_translate("MainWindow", "Coh. Magnitud |
|
|
429 | self.label_24.setText(_translate("MainWindow", "Path", None)) | |
|
430 | self.label_46.setText(_translate("MainWindow", "Power Profile", None)) | |
|
473 | self.label_25.setText(_translate("MainWindow", "Prefix:", None)) | |
|
474 | self.label_42.setText(_translate("MainWindow", "RTI Plot:", None)) | |
|
475 | self.label_16.setText(_translate("MainWindow", "Height range:", None)) | |
|
476 | self.label_17.setText(_translate("MainWindow", "dB range:", None)) | |
|
477 | self.specGraphMagLabel.setText(_translate("MainWindow", "Coh. Magnitud:", None)) | |
|
478 | self.label_24.setText(_translate("MainWindow", "Path:", None)) | |
|
479 | self.label_46.setText(_translate("MainWindow", "Power Profile:", None)) | |
|
431 | 480 | self.label_22.setText(_translate("MainWindow", "Freq/Vel range:", None)) |
|
432 | self.label_41.setText(_translate("MainWindow", "Cross Spectra Plot", None)) | |
|
481 | self.label_41.setText(_translate("MainWindow", "Cross Spectra Plot:", None)) | |
|
433 | 482 | self.specGraphToolPath.setText(_translate("MainWindow", "...", None)) |
|
434 | 483 | self.label_6.setText(_translate("MainWindow", "Channel List:", None)) |
|
435 | self.label_40.setText(_translate("MainWindow", "Spectra Plot", None)) | |
|
436 | self.label_43.setText(_translate("MainWindow", "Show", None)) | |
|
484 | self.label_40.setText(_translate("MainWindow", "Spectra Plot:", None)) | |
|
485 | self.label_43.setText(_translate("MainWindow", "Show:", None)) | |
|
437 | 486 | self.label_29.setText(_translate("MainWindow", "Writing Period:", None)) |
|
438 | self.label_47.setText(_translate("MainWindow", "Save", None)) | |
|
439 | self.label_19.setText(_translate("MainWindow", "Ftp", None)) | |
|
440 | self.label_45.setText(_translate("MainWindow", "Noise", None)) | |
|
487 | self.label_47.setText(_translate("MainWindow", "Save:", None)) | |
|
488 | self.label_19.setText(_translate("MainWindow", "Ftp:", None)) | |
|
489 | self.label_45.setText(_translate("MainWindow", "Noise:", None)) | |
|
441 | 490 | self.label_48.setText(_translate("MainWindow", "Time Range:", None)) |
|
442 | 491 | self.specGraphPhaseLabel.setText(_translate("MainWindow", "Coh. Phase:", None)) |
|
443 | 492 | self.label_48.hide() |
@@ -453,4 +502,27 class Ui_SpectraTab(object): | |||
|
453 | 502 | self.tabWidgetSpectra.setTabText(self.tabWidgetSpectra.indexOf(self.taboutputSpectra), _translate("MainWindow", "Output", None)) |
|
454 | 503 | |
|
455 | 504 | self.tabWidgetProject.setTabText(self.tabWidgetProject.indexOf(self.tabSpectra), _translate("MainWindow", "Spectra", None)) |
|
505 | ||
|
506 | self.__setToolTip() | |
|
507 | ||
|
508 | def __setToolTip(self): | |
|
509 | ||
|
510 | self.specOpnFFTpoints.setToolTip('Number of FFT points used in FFT function. Example: 128') | |
|
511 | self.specOpProfiles.setToolTip('Number of data points used in FFT function. Example: 128') | |
|
512 | self.specOpippFactor.setToolTip('This factor is multiplied to IPP value to get velocity and frequency range. Example: 4') | |
|
513 | self.specOpIncoherent.setToolTip('Example: 10') | |
|
514 | self.specOpgetNoise.setToolTip('Example:20,180,30,120 (minHei,maxHei,minVel,maxVel)') | |
|
515 | ||
|
516 | self.specOpChannel.setToolTip('Example: 0,1,2,3') | |
|
517 | self.specOpHeights.setToolTip('Example: 90,180') | |
|
518 | self.specOppairsList.setToolTip('Example: (0,1),(2,3)') | |
|
519 | # tool tip gui specGraph | |
|
520 | ||
|
521 | self.specGgraphChannelList.setToolTip('Example: 0,3,4') | |
|
522 | self.specGgraphFreq.setToolTip('Example: -20,20') | |
|
523 | self.specGgraphHeight.setToolTip('Example: 100,400') | |
|
524 | self.specGgraphDbsrange.setToolTip('Example: 30,170') | |
|
525 | ||
|
526 | self.specGraphPrefix.setToolTip('Example: EXPERIMENT_NAME') | |
|
527 | ||
|
456 | 528 | No newline at end of file |
@@ -238,3 +238,15 class Ui_SpectraHeisTab(object): | |||
|
238 | 238 | self.specHeisOutputMetadaToolPath.setText(_translate("MainWindow", "...", None)) |
|
239 | 239 | |
|
240 | 240 | self.tabWidgetProject.setTabText(self.tabWidgetProject.indexOf(self.tabSpectraHeis), _translate("MainWindow", "SpectraHeis", None)) |
|
241 | ||
|
242 | self.__setToolTip() | |
|
243 | ||
|
244 | def __setToolTip(self): | |
|
245 | ||
|
246 | self.specHeisOpIncoherent.setToolTip('Example: 10') | |
|
247 | ||
|
248 | self.specHeisGgraphChannelList.setToolTip('Example: 0,2,3') | |
|
249 | self.specHeisGgraphXminXmax.setToolTip('Example (Hz): -1000, 1000') | |
|
250 | self.specHeisGgraphYminYmax.setToolTip('Example (dB): 5, 35') | |
|
251 | self.specHeisGgraphTminTmax.setToolTip('Example (hours): 0, 24') | |
|
252 | self.specHeisGgraphTimeRange.setToolTip('Example (hours): 8') No newline at end of file |
@@ -47,91 +47,108 class Ui_VoltageTab(object): | |||
|
47 | 47 | self.tabopVoltage.setObjectName(_fromUtf8("tabopVoltage")) |
|
48 | 48 | self.gridLayout = QtGui.QGridLayout(self.tabopVoltage) |
|
49 | 49 | self.gridLayout.setObjectName(_fromUtf8("gridLayout")) |
|
50 | self.volOpHeights = QtGui.QLineEdit(self.tabopVoltage) | |
|
51 | self.volOpHeights.setObjectName(_fromUtf8("volOpHeights")) | |
|
52 | self.gridLayout.addWidget(self.volOpHeights, 4, 4, 1, 1) | |
|
53 | self.volOpComHeights = QtGui.QComboBox(self.tabopVoltage) | |
|
54 | self.volOpComHeights.setObjectName(_fromUtf8("volOpComHeights")) | |
|
55 | self.volOpComHeights.addItem(_fromUtf8("")) | |
|
56 | self.volOpComHeights.addItem(_fromUtf8("")) | |
|
57 |
self.gridLayout.addWidget(self.volOp |
|
|
50 | ||
|
51 | self.volOpCebRadarfrequency = QtGui.QCheckBox(self.tabopVoltage) | |
|
52 | self.volOpCebRadarfrequency.setObjectName(_fromUtf8("volOpCebRadarfrequency")) | |
|
53 | self.gridLayout.addWidget(self.volOpCebRadarfrequency, 0, 0, 1, 1) | |
|
54 | ||
|
55 | self.volOpRadarfrequency = QtGui.QLineEdit(self.tabopVoltage) | |
|
56 | self.volOpRadarfrequency.setObjectName(_fromUtf8("volOpRadarfrequency")) | |
|
57 | self.gridLayout.addWidget(self.volOpRadarfrequency, 0, 1, 1, 4) | |
|
58 | ||
|
59 | self.volOpCebChannels = QtGui.QCheckBox(self.tabopVoltage) | |
|
60 | self.volOpCebChannels.setObjectName(_fromUtf8("volOpCebChannels")) | |
|
61 | self.gridLayout.addWidget(self.volOpCebChannels, 1, 0, 1, 1) | |
|
62 | ||
|
58 | 63 | self.volOpComChannels = QtGui.QComboBox(self.tabopVoltage) |
|
59 | 64 | self.volOpComChannels.setObjectName(_fromUtf8("volOpComChannels")) |
|
60 | 65 | self.volOpComChannels.addItem(_fromUtf8("")) |
|
61 | 66 | self.volOpComChannels.addItem(_fromUtf8("")) |
|
62 |
self.gridLayout.addWidget(self.volOpComChannels, |
|
|
67 | self.gridLayout.addWidget(self.volOpComChannels, 1, 1, 1, 2) | |
|
68 | ||
|
69 | self.volOpChannel = QtGui.QLineEdit(self.tabopVoltage) | |
|
70 | self.volOpChannel.setObjectName(_fromUtf8("volOpChannel")) | |
|
71 | self.gridLayout.addWidget(self.volOpChannel, 1, 3, 1, 2) | |
|
72 | ||
|
73 | ||
|
74 | self.volOpCebHeights = QtGui.QCheckBox(self.tabopVoltage) | |
|
75 | self.volOpCebHeights.setObjectName(_fromUtf8("volOpCebHeights")) | |
|
76 | self.gridLayout.addWidget(self.volOpCebHeights, 3, 0, 1, 1) | |
|
77 | ||
|
78 | self.volOpComHeights = QtGui.QComboBox(self.tabopVoltage) | |
|
79 | self.volOpComHeights.setObjectName(_fromUtf8("volOpComHeights")) | |
|
80 | self.volOpComHeights.addItem(_fromUtf8("")) | |
|
81 | self.volOpComHeights.addItem(_fromUtf8("")) | |
|
82 | self.gridLayout.addWidget(self.volOpComHeights, 3, 1, 1, 2) | |
|
83 | ||
|
84 | self.volOpHeights = QtGui.QLineEdit(self.tabopVoltage) | |
|
85 | self.volOpHeights.setObjectName(_fromUtf8("volOpHeights")) | |
|
86 | self.gridLayout.addWidget(self.volOpHeights, 3, 3, 1, 2) | |
|
87 | ||
|
88 | ||
|
89 | ||
|
63 | 90 | self.volOpCebProfile = QtGui.QCheckBox(self.tabopVoltage) |
|
64 | 91 | self.volOpCebProfile.setObjectName(_fromUtf8("volOpCebProfile")) |
|
65 |
self.gridLayout.addWidget(self.volOpCebProfile, |
|
|
92 | self.gridLayout.addWidget(self.volOpCebProfile, 5, 0, 1, 1) | |
|
93 | ||
|
66 | 94 | self.volOpComProfile = QtGui.QComboBox(self.tabopVoltage) |
|
67 | 95 | self.volOpComProfile.setObjectName(_fromUtf8("volOpComProfile")) |
|
68 | 96 | self.volOpComProfile.addItem(_fromUtf8("")) |
|
69 | 97 | self.volOpComProfile.addItem(_fromUtf8("")) |
|
70 | 98 | self.volOpComProfile.addItem(_fromUtf8("")) |
|
71 |
self.gridLayout.addWidget(self.volOpComProfile, |
|
|
72 | self.volOpCebDecodification = QtGui.QCheckBox(self.tabopVoltage) | |
|
73 | self.volOpCebDecodification.setObjectName(_fromUtf8("volOpCebDecodification")) | |
|
74 | self.gridLayout.addWidget(self.volOpCebDecodification, 8, 0, 1, 3) | |
|
99 | self.gridLayout.addWidget(self.volOpComProfile, 5, 1, 1, 2) | |
|
100 | ||
|
75 | 101 | self.volOpProfile = QtGui.QLineEdit(self.tabopVoltage) |
|
76 | 102 | self.volOpProfile.setObjectName(_fromUtf8("volOpProfile")) |
|
77 |
self.gridLayout.addWidget(self.volOpProfile, |
|
|
78 | self.volOpFilter = QtGui.QLineEdit(self.tabopVoltage) | |
|
79 | self.volOpFilter.setObjectName(_fromUtf8("volOpFilter")) | |
|
80 | self.gridLayout.addWidget(self.volOpFilter, 5, 4, 1, 1) | |
|
81 | spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) | |
|
82 | self.gridLayout.addItem(spacerItem, 6, 4, 1, 1) | |
|
83 | spacerItem1 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) | |
|
84 | self.gridLayout.addItem(spacerItem1, 8, 4, 1, 1) | |
|
85 | spacerItem2 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) | |
|
86 | self.gridLayout.addItem(spacerItem2, 3, 4, 1, 1) | |
|
87 | self.volOpChannel = QtGui.QLineEdit(self.tabopVoltage) | |
|
88 | self.volOpChannel.setObjectName(_fromUtf8("volOpChannel")) | |
|
89 | self.gridLayout.addWidget(self.volOpChannel, 2, 4, 1, 1) | |
|
90 | self.volOpCebChannels = QtGui.QCheckBox(self.tabopVoltage) | |
|
91 | self.volOpCebChannels.setObjectName(_fromUtf8("volOpCebChannels")) | |
|
92 | self.gridLayout.addWidget(self.volOpCebChannels, 1, 0, 1, 3) | |
|
93 | self.volOpCebHeights = QtGui.QCheckBox(self.tabopVoltage) | |
|
94 | self.volOpCebHeights.setObjectName(_fromUtf8("volOpCebHeights")) | |
|
95 | self.gridLayout.addWidget(self.volOpCebHeights, 3, 0, 1, 3) | |
|
103 | self.gridLayout.addWidget(self.volOpProfile, 5, 3, 1, 2) | |
|
104 | ||
|
105 | self.volOpCebReshaper = QtGui.QCheckBox(self.tabopVoltage) | |
|
106 | self.volOpCebReshaper.setObjectName(_fromUtf8("volOpCebReshaper")) | |
|
107 | self.gridLayout.addWidget(self.volOpCebReshaper, 6, 0, 1, 1) | |
|
108 | ||
|
109 | self.volOpReshaper = QtGui.QLineEdit(self.tabopVoltage) | |
|
110 | self.volOpReshaper.setObjectName(_fromUtf8("volOpReshaper")) | |
|
111 | self.gridLayout.addWidget(self.volOpReshaper, 6, 1, 1, 4) | |
|
112 | ||
|
96 | 113 | self.volOpCebFilter = QtGui.QCheckBox(self.tabopVoltage) |
|
97 | 114 | self.volOpCebFilter.setObjectName(_fromUtf8("volOpCebFilter")) |
|
98 |
self.gridLayout.addWidget(self.volOpCebFilter, |
|
|
99 | self.volOpRadarfrequency = QtGui.QLineEdit(self.tabopVoltage) | |
|
100 | self.volOpRadarfrequency.setObjectName(_fromUtf8("volOpRadarfrequency")) | |
|
101 | self.gridLayout.addWidget(self.volOpRadarfrequency, 0, 4, 1, 1) | |
|
102 | self.volOpCebRadarfrequency = QtGui.QCheckBox(self.tabopVoltage) | |
|
103 | self.volOpCebRadarfrequency.setObjectName(_fromUtf8("volOpCebRadarfrequency")) | |
|
104 | self.gridLayout.addWidget(self.volOpCebRadarfrequency, 0, 0, 1, 3) | |
|
105 | spacerItem3 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) | |
|
106 | self.gridLayout.addItem(spacerItem3, 1, 4, 1, 1) | |
|
107 | self.volOpCebFlip = QtGui.QCheckBox(self.tabopVoltage) | |
|
108 | self.volOpCebFlip.setObjectName(_fromUtf8("volOpCebFlip")) | |
|
109 |
self.gridLayout.add |
|
|
110 | self.volOpFlip = QtGui.QLineEdit(self.tabopVoltage) | |
|
111 | self.volOpFlip.setObjectName(_fromUtf8("volOpFlip")) | |
|
112 | self.gridLayout.addWidget(self.volOpFlip, 11, 4, 1, 1) | |
|
115 | self.gridLayout.addWidget(self.volOpCebFilter, 7, 0, 1, 1) | |
|
116 | ||
|
117 | self.volOpFilter = QtGui.QLineEdit(self.tabopVoltage) | |
|
118 | self.volOpFilter.setObjectName(_fromUtf8("volOpFilter")) | |
|
119 | self.gridLayout.addWidget(self.volOpFilter, 7, 1, 1, 4) | |
|
120 | ||
|
121 | # spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) | |
|
122 | # self.gridLayout.addItem(spacerItem, 6, 4, 1, 1) | |
|
123 | # spacerItem1 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) | |
|
124 | # self.gridLayout.addItem(spacerItem1, 8, 4, 1, 1) | |
|
125 | # spacerItem2 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) | |
|
126 | # self.gridLayout.addItem(spacerItem2, 3, 4, 1, 1) | |
|
127 | ||
|
128 | ||
|
129 | ||
|
130 | # spacerItem3 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) | |
|
131 | # self.gridLayout.addItem(spacerItem3, 1, 4, 1, 1) | |
|
132 | ||
|
133 | ||
|
134 | self.volOpCebDecodification = QtGui.QCheckBox(self.tabopVoltage) | |
|
135 | self.volOpCebDecodification.setObjectName(_fromUtf8("volOpCebDecodification")) | |
|
136 | self.gridLayout.addWidget(self.volOpCebDecodification, 8, 0, 1, 1) | |
|
113 | 137 | |
|
114 | self.volOpCebCohInt = QtGui.QCheckBox(self.tabopVoltage) | |
|
115 | self.volOpCebCohInt.setObjectName(_fromUtf8("volOpCebCohInt")) | |
|
116 | self.gridLayout.addWidget(self.volOpCebCohInt, 12, 0, 1, 3) | |
|
117 | self.volOpCohInt = QtGui.QLineEdit(self.tabopVoltage) | |
|
118 | self.volOpCohInt.setObjectName(_fromUtf8("volOpCohInt")) | |
|
119 | self.gridLayout.addWidget(self.volOpCohInt, 12, 4, 1, 1) | |
|
120 | ||
|
121 | 138 | self.volLabCodeMode = QtGui.QLabel(self.tabopVoltage) |
|
122 | 139 | self.volLabCodeMode.setObjectName(_fromUtf8("volLabCodeMode")) |
|
123 |
self.gridLayout.addWidget(self.volLabCodeMode, 8, |
|
|
124 | self.volLabCodeType = QtGui.QLabel(self.tabopVoltage) | |
|
125 | self.volLabCodeType.setObjectName(_fromUtf8("volLabCodeType")) | |
|
126 | self.gridLayout.addWidget(self.volLabCodeType, 9, 2, 1, 1) | |
|
127 | self.volLabCode = QtGui.QLabel(self.tabopVoltage) | |
|
128 | self.volLabCode.setObjectName(_fromUtf8("volLabCode")) | |
|
129 | self.gridLayout.addWidget(self.volLabCode, 10, 2, 1, 1) | |
|
140 | self.gridLayout.addWidget(self.volLabCodeMode, 8, 1, 1, 1) | |
|
141 | ||
|
130 | 142 | self.volOpComMode = QtGui.QComboBox(self.tabopVoltage) |
|
131 | 143 | self.volOpComMode.setObjectName(_fromUtf8("volOpComMode")) |
|
132 | 144 | self.volOpComMode.addItem(_fromUtf8("")) |
|
133 | 145 | self.volOpComMode.addItem(_fromUtf8("")) |
|
134 |
self.gridLayout.addWidget(self.volOpComMode, 8, |
|
|
146 | self.gridLayout.addWidget(self.volOpComMode, 8, 2, 1, 3) | |
|
147 | ||
|
148 | self.volLabCodeType = QtGui.QLabel(self.tabopVoltage) | |
|
149 | self.volLabCodeType.setObjectName(_fromUtf8("volLabCodeType")) | |
|
150 | self.gridLayout.addWidget(self.volLabCodeType, 9, 1, 1, 1) | |
|
151 | ||
|
135 | 152 | self.volOpComCode = QtGui.QComboBox(self.tabopVoltage) |
|
136 | 153 | self.volOpComCode.setObjectName(_fromUtf8("volOpComCode")) |
|
137 | 154 | self.volOpComCode.addItem(_fromUtf8("")) |
@@ -148,11 +165,41 class Ui_VoltageTab(object): | |||
|
148 | 165 | self.volOpComCode.addItem(_fromUtf8("")) |
|
149 | 166 | self.volOpComCode.addItem(_fromUtf8("")) |
|
150 | 167 | self.volOpComCode.addItem(_fromUtf8("")) |
|
151 |
self.gridLayout.addWidget(self.volOpComCode, 9, |
|
|
152 | self.tabWidgetVoltage.addTab(self.tabopVoltage, _fromUtf8("")) | |
|
168 | self.gridLayout.addWidget(self.volOpComCode, 9, 2, 1, 3) | |
|
169 | ||
|
170 | self.volLabCode = QtGui.QLabel(self.tabopVoltage) | |
|
171 | self.volLabCode.setObjectName(_fromUtf8("volLabCode")) | |
|
172 | self.gridLayout.addWidget(self.volLabCode, 10, 1, 1, 1) | |
|
173 | ||
|
153 | 174 | self.volOpCode = QtGui.QLineEdit(self.tabopVoltage) |
|
154 | 175 | self.volOpCode.setObjectName(_fromUtf8("volOpCode")) |
|
155 |
self.gridLayout.addWidget(self.volOpCode, 10, |
|
|
176 | self.gridLayout.addWidget(self.volOpCode, 10, 2, 1, 3) | |
|
177 | ||
|
178 | self.volOpCebFlip = QtGui.QCheckBox(self.tabopVoltage) | |
|
179 | self.volOpCebFlip.setObjectName(_fromUtf8("volOpCebFlip")) | |
|
180 | self.gridLayout.addWidget(self.volOpCebFlip, 11, 0, 1, 1) | |
|
181 | ||
|
182 | self.volOpFlip = QtGui.QLineEdit(self.tabopVoltage) | |
|
183 | self.volOpFlip.setObjectName(_fromUtf8("volOpFlip")) | |
|
184 | self.gridLayout.addWidget(self.volOpFlip, 11, 1, 1, 4) | |
|
185 | ||
|
186 | self.volOpCebCohInt = QtGui.QCheckBox(self.tabopVoltage) | |
|
187 | self.volOpCebCohInt.setObjectName(_fromUtf8("volOpCebCohInt")) | |
|
188 | self.gridLayout.addWidget(self.volOpCebCohInt, 12, 0, 1, 1) | |
|
189 | ||
|
190 | self.volOpCohInt = QtGui.QLineEdit(self.tabopVoltage) | |
|
191 | self.volOpCohInt.setObjectName(_fromUtf8("volOpCohInt")) | |
|
192 | self.gridLayout.addWidget(self.volOpCohInt, 12, 1, 1, 4) | |
|
193 | ||
|
194 | self.volOpCebAdjustHei = QtGui.QCheckBox(self.tabopVoltage) | |
|
195 | self.volOpCebAdjustHei.setObjectName(_fromUtf8("volOpCebAdjustHei")) | |
|
196 | self.gridLayout.addWidget(self.volOpCebAdjustHei, 13, 0, 1, 1) | |
|
197 | ||
|
198 | self.volOpAdjustHei = QtGui.QLineEdit(self.tabopVoltage) | |
|
199 | self.volOpAdjustHei.setObjectName(_fromUtf8("volOpAdjustHei")) | |
|
200 | self.gridLayout.addWidget(self.volOpAdjustHei, 13, 1, 1, 4) | |
|
201 | ||
|
202 | self.tabWidgetVoltage.addTab(self.tabopVoltage, _fromUtf8("")) | |
|
156 | 203 | |
|
157 | 204 | self.tabgraphVoltage = QtGui.QWidget() |
|
158 | 205 | self.tabgraphVoltage.setObjectName(_fromUtf8("tabgraphVoltage")) |
@@ -267,18 +314,19 class Ui_VoltageTab(object): | |||
|
267 | 314 | self.volOpComHeights.setItemText(1, _translate("MainWindow", "Index", None)) |
|
268 | 315 | self.volOpComChannels.setItemText(0, _translate("MainWindow", "Value", None)) |
|
269 | 316 | self.volOpComChannels.setItemText(1, _translate("MainWindow", "Index", None)) |
|
270 |
self.volOpCebProfile.setText(_translate("MainWindow", "Profile |
|
|
317 | self.volOpCebProfile.setText(_translate("MainWindow", "Select Profiles", None)) | |
|
271 | 318 | self.volOpComProfile.setItemText(0, _translate("MainWindow", "Profile List", None)) |
|
272 | 319 | self.volOpComProfile.setItemText(1, _translate("MainWindow", "Profile Range", None)) |
|
273 | 320 | self.volOpComProfile.setItemText(2, _translate("MainWindow", "List of Profile Ranges", None)) |
|
274 | self.volOpCebDecodification.setText(_translate("MainWindow", "Decoder", None)) | |
|
275 | self.volOpCebCohInt.setText(_translate("MainWindow", "Coherent Integration", None)) | |
|
276 | self.volOpCebFlip.setText(_translate("MainWindow", "Flip", None)) | |
|
321 | self.volOpCebDecodification.setText(_translate("MainWindow", "Decoder:", None)) | |
|
322 | self.volOpCebCohInt.setText(_translate("MainWindow", "Coherent Integration:", None)) | |
|
323 | self.volOpCebFlip.setText(_translate("MainWindow", "Flip:", None)) | |
|
277 | 324 | self.volLabCodeType.setText(_translate("MainWindow", "Code type:", None)) |
|
278 | self.volOpCebChannels.setText(_translate("MainWindow", "Select Channels", None)) | |
|
279 | self.volOpCebHeights.setText(_translate("MainWindow", "Select Heights", None)) | |
|
280 | self.volOpCebFilter.setText(_translate("MainWindow", "Filter", None)) | |
|
281 |
self.volOpCebR |
|
|
325 | self.volOpCebChannels.setText(_translate("MainWindow", "Select Channels:", None)) | |
|
326 | self.volOpCebHeights.setText(_translate("MainWindow", "Select Heights:", None)) | |
|
327 | self.volOpCebFilter.setText(_translate("MainWindow", "Filter:", None)) | |
|
328 | self.volOpCebReshaper.setText(_translate("MainWindow", "Reshape data: ", None)) | |
|
329 | self.volOpCebRadarfrequency.setText(_translate("MainWindow", "Radar frequency (MHz):", None)) | |
|
282 | 330 | self.volLabCodeMode.setText(_translate("MainWindow", "Mode:", None)) |
|
283 | 331 | self.volLabCode.setText(_translate("MainWindow", "Code:", None)) |
|
284 | 332 | self.volOpComCode.setItemText(0, _translate("MainWindow", "Read from header", None)) |
@@ -297,28 +345,44 class Ui_VoltageTab(object): | |||
|
297 | 345 | self.volOpComCode.setItemText(13, _translate("MainWindow", "User defined", None)) |
|
298 | 346 | self.volOpComMode.setItemText(0, _translate("MainWindow", "Time", None)) |
|
299 | 347 | self.volOpComMode.setItemText(1, _translate("MainWindow", "Frequency", None)) |
|
348 | self.volOpCebAdjustHei.setText(_translate("MainWindow", "Calibrate H0:", None)) | |
|
349 | ||
|
300 | 350 | self.tabWidgetVoltage.setTabText(self.tabWidgetVoltage.indexOf(self.tabopVoltage), _translate("MainWindow", "Operation", None)) |
|
301 | 351 | |
|
302 | 352 | self.volGraphToolPath.setText(_translate("MainWindow", "...", None)) |
|
303 | self.label_14.setText(_translate("MainWindow", "Scope", None)) | |
|
304 | self.label_8.setText(_translate("MainWindow", "Channel List", None)) | |
|
305 | self.label_49.setText(_translate("MainWindow", "Show", None)) | |
|
306 | self.label_51.setText(_translate("MainWindow", "Height range", None)) | |
|
353 | self.label_14.setText(_translate("MainWindow", "Scope:", None)) | |
|
354 | self.label_8.setText(_translate("MainWindow", "Channel List:", None)) | |
|
355 | self.label_49.setText(_translate("MainWindow", "Show:", None)) | |
|
356 | self.label_51.setText(_translate("MainWindow", "Height range:", None)) | |
|
307 | 357 | self.label_12.setText(_translate("MainWindow", "Path :", None)) |
|
308 | 358 | self.label_13.setText(_translate("MainWindow", "Figure name:", None)) |
|
309 | self.label_52.setText(_translate("MainWindow", "Amplitude", None)) | |
|
310 | self.label_50.setText(_translate("MainWindow", "Save", None)) | |
|
359 | self.label_52.setText(_translate("MainWindow", "Amplitude:", None)) | |
|
360 | self.label_50.setText(_translate("MainWindow", "Save:", None)) | |
|
311 | 361 | self.tabWidgetVoltage.setTabText(self.tabWidgetVoltage.indexOf(self.tabgraphVoltage), _translate("MainWindow", "Graphics", None)) |
|
312 | 362 | |
|
313 | 363 | self.label_36.setText(_translate("MainWindow", "Type:", None)) |
|
314 | 364 | self.label_37.setText(_translate("MainWindow", "Path:", None)) |
|
315 | 365 | self.volOutputToolPath.setText(_translate("MainWindow", "...", None)) |
|
316 | 366 | self.volOutputComData.setItemText(0, _translate("MainWindow", ".rawdata", None)) |
|
317 |
self.label_7.setText(_translate("MainWindow", "Blocks per File |
|
|
367 | self.label_7.setText(_translate("MainWindow", "Blocks per File: ", None)) | |
|
318 | 368 | self.label_35.setText(_translate("MainWindow", "Profiles per Block: ", None)) |
|
319 | 369 | self.tabWidgetVoltage.setTabText(self.tabWidgetVoltage.indexOf(self.taboutputVoltage), _translate("MainWindow", "Output", None)) |
|
320 | 370 | |
|
321 | 371 | self.tabWidgetProject.setTabText(self.tabWidgetProject.indexOf(self.tabVoltage), _translate("MainWindow", "Voltage", None)) |
|
372 | ||
|
373 | self.__setToolTip() | |
|
374 | ||
|
375 | def __setToolTip(self): | |
|
322 | 376 | |
|
377 | self.volOpChannel.setToolTip('Example: 1,2,3,4,5') | |
|
378 | self.volOpHeights.setToolTip('Example: 90,180') | |
|
379 | self.volOpFilter.setToolTip('Example: 2') | |
|
380 | self.volOpProfile.setToolTip('Example:0,127') | |
|
381 | self.volOpCohInt.setToolTip('Example: 128') | |
|
382 | self.volOpFlip.setToolTip('ChannelList where flip will be applied. Example: 0,2,3') | |
|
383 | self.volOpOk.setToolTip('If you have finished, please Ok ') | |
|
384 | # tool tip gui volGraph | |
|
385 | self.volGraphfreqrange.setToolTip('Height range. Example: 50,100') | |
|
386 | self.volGraphHeightrange.setToolTip('Amplitude. Example: 0,10000') | |
|
323 | 387 | |
|
324 | 388 | No newline at end of file |
General Comments 0
You need to be logged in to leave comments.
Login now