##// END OF EJS Templates
Version: 2.1.3.3:...
Miguel Valdez -
r679:fe3d383c1e7d
parent child
Show More
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
@@ -1,23 +1,26
1 VERSIONS:
1 VERSIONS:
2
2
3 2.1.2:
3 2.1.2:
4 -jroutils_ftp.py: Bug fixed, Any error sending file stopped the Server Thread
4 -jroutils_ftp.py: Bug fixed, Any error sending file stopped the Server Thread
5 Server thread opens and closes remote server each time file list is sent
5 Server thread opens and closes remote server each time file list is sent
6 -jroplot_spectra.py: Noise path was not being created saving noise data.
6 -jroplot_spectra.py: Noise path was not being created saving noise data.
7 -jroIO_base.py: startTime can be greater than endTime
7 -jroIO_base.py: startTime can be greater than endTime
8
8
9 2.1.3:
9 2.1.3:
10 -jroplot_heispectra.py: SpectraHeisScope was not showing the right channels
10 -jroplot_heispectra.py: SpectraHeisScope was not showing the right channels
11 -jroproc_voltage.py: Bug fixed selecting profiles (self.nProfiles took a wrong value),
11 -jroproc_voltage.py: Bug fixed selecting profiles (self.nProfiles took a wrong value),
12 Bug fixed selecting heights by block (selecting profiles instead heights)
12 Bug fixed selecting heights by block (selecting profiles instead heights)
13 -jroproc_voltage.py: New feature added: decoding data by block using FFT.
13 -jroproc_voltage.py: New feature added: decoding data by block using FFT.
14 -jroIO_heispectra.py: Bug fixed in FitsReader. Using local Fits object instead schainpy.mode.data.jrodata.Fits object.
14 -jroIO_heispectra.py: Bug fixed in FitsReader. Using local Fits object instead schainpy.mode.data.jrodata.Fits object.
15 -jroIO_heispectra.py: Channel index list does not exist.
15 -jroIO_heispectra.py: Channel index list does not exist.
16
16
17 2.1.3.1:
17 2.1.3.1:
18 -GUI: every icon were resized
18 -GUI: every icon were resized
19 -jroproc_voltage.py: Print a message when "Read from code" option is selected and the code is not defined inside data file
19 -jroproc_voltage.py: Print a message when "Read from code" option is selected and the code is not defined inside data file
20
20
21 2.1.3.2:
21 2.1.3.2:
22 -GUI: user interaction enhanced
22 -GUI: user interaction enhanced
23 -controller_api.py: Safe access to ControllerThead No newline at end of file
23 -controller_api.py: Safe access to ControllerThead
24
25 2.1.3.3:
26 -Colored Button Icons were added to GUI No newline at end of file
@@ -1,7 +1,7
1 '''
1 '''
2 Created on Feb 7, 2012
2 Created on Feb 7, 2012
3
3
4 @author $Author$
4 @author $Author$
5 @version $Id$
5 @version $Id$
6 '''
6 '''
7 __version__ = "2.1.3.2" No newline at end of file
7 __version__ = "2.1.3.3" No newline at end of file
@@ -1,5899 +1,5898
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2 """
2 """
3 Module implementing MainWindow.
3 Module implementing MainWindow.
4 #+++++++++++++GUI V1++++++++++++++#
4 #+++++++++++++GUI V1++++++++++++++#
5 @author: AlexanderValdezPortocarrero ñ_ñ
5 @author: AlexanderValdezPortocarrero ñ_ñ
6 """
6 """
7 import os, sys, time
7 import os, sys, time
8 import datetime
8 import datetime
9 import numpy
9 import numpy
10 import Queue
10 import Queue
11
11
12 from collections import OrderedDict
12 from collections import OrderedDict
13 from os.path import expanduser
13 from os.path import expanduser
14 from time import sleep
14 from time import sleep
15 # from gevent import sleep
15 # from gevent import sleep
16
16
17 import ast
17 import ast
18
18
19 from PyQt4.QtGui import QMainWindow
19 from PyQt4.QtGui import QMainWindow
20 from PyQt4.QtCore import pyqtSignature
20 from PyQt4.QtCore import pyqtSignature
21 from PyQt4.QtCore import pyqtSignal
21 from PyQt4.QtCore import pyqtSignal
22 from PyQt4 import QtCore
22 from PyQt4 import QtCore
23 from PyQt4 import QtGui
23 from PyQt4 import QtGui
24 # from PyQt4.QtCore import QThread
24 # from PyQt4.QtCore import QThread
25 # from PyQt4.QtCore import QObject, SIGNAL
25 # from PyQt4.QtCore import QObject, SIGNAL
26
26
27 from schainpy.gui.viewer.ui_unitprocess import Ui_UnitProcess
27 from schainpy.gui.viewer.ui_unitprocess import Ui_UnitProcess
28 from schainpy.gui.viewer.ui_ftp import Ui_Ftp
28 from schainpy.gui.viewer.ui_ftp import Ui_Ftp
29 from schainpy.gui.viewer.ui_mainwindow import Ui_BasicWindow
29 from schainpy.gui.viewer.ui_mainwindow import Ui_BasicWindow
30 from schainpy.controller_api import ControllerThread
30 from schainpy.controller_api import ControllerThread
31 from schainpy.controller import Project
31 from schainpy.controller import Project
32
32
33 from propertiesViewModel import TreeModel, PropertyBuffer
33 from propertiesViewModel import TreeModel, PropertyBuffer
34 from parametersModel import ProjectParms
34 from parametersModel import ProjectParms
35
35
36 from schainpy.gui.figures import tools
36 from schainpy.gui.figures import tools
37
37
38 FIGURES_PATH = tools.get_path()
38 FIGURES_PATH = tools.get_path()
39 TEMPORAL_FILE = ".temp.xml"
39 TEMPORAL_FILE = ".temp.xml"
40
40
41 def isRadarFile(file):
41 def isRadarFile(file):
42 try:
42 try:
43 year = int(file[1:5])
43 year = int(file[1:5])
44 doy = int(file[5:8])
44 doy = int(file[5:8])
45 set = int(file[8:11])
45 set = int(file[8:11])
46 except:
46 except:
47 return 0
47 return 0
48
48
49 return 1
49 return 1
50
50
51 def isRadarPath(path):
51 def isRadarPath(path):
52 try:
52 try:
53 year = int(path[1:5])
53 year = int(path[1:5])
54 doy = int(path[5:8])
54 doy = int(path[5:8])
55 except:
55 except:
56 return 0
56 return 0
57
57
58 return 1
58 return 1
59
59
60 def isInt(value):
60 def isInt(value):
61
61
62 try:
62 try:
63 int(value)
63 int(value)
64 except:
64 except:
65 return 0
65 return 0
66
66
67 return 1
67 return 1
68
68
69 def isFloat(value):
69 def isFloat(value):
70
70
71 try:
71 try:
72 float(value)
72 float(value)
73 except:
73 except:
74 return 0
74 return 0
75
75
76 return 1
76 return 1
77
77
78 def isList(value):
78 def isList(value):
79
79
80 x = ast.literal_eval(value)
80 x = ast.literal_eval(value)
81
81
82 if type(x) in (tuple, list):
82 if type(x) in (tuple, list):
83 return 1
83 return 1
84
84
85 return 0
85 return 0
86
86
87 class BasicWindow(QMainWindow, Ui_BasicWindow):
87 class BasicWindow(QMainWindow, Ui_BasicWindow):
88 """
88 """
89 """
89 """
90 def __init__(self, parent=None):
90 def __init__(self, parent=None):
91 """
91 """
92
92
93 """
93 """
94 QMainWindow.__init__(self, parent)
94 QMainWindow.__init__(self, parent)
95 self.setupUi(self)
95 self.setupUi(self)
96 self.__puObjDict = {}
96 self.__puObjDict = {}
97 self.__itemTreeDict = {}
97 self.__itemTreeDict = {}
98 self.readUnitConfObjList = []
98 self.readUnitConfObjList = []
99 self.operObjList = []
99 self.operObjList = []
100 self.projecObjView = None
100 self.projecObjView = None
101 self.idProject = 0
101 self.idProject = 0
102 # self.idImag = 0
102 # self.idImag = 0
103
103
104 self.idImagscope = 0
104 self.idImagscope = 0
105 self.idImagspectra = 0
105 self.idImagspectra = 0
106 self.idImagcross = 0
106 self.idImagcross = 0
107 self.idImagrti = 0
107 self.idImagrti = 0
108 self.idImagcoherence = 0
108 self.idImagcoherence = 0
109 self.idImagpower = 0
109 self.idImagpower = 0
110 self.idImagrtinoise = 0
110 self.idImagrtinoise = 0
111 self.idImagspectraHeis = 0
111 self.idImagspectraHeis = 0
112 self.idImagrtiHeis = 0
112 self.idImagrtiHeis = 0
113
113
114 self.dataPath = None
114 self.dataPath = None
115 self.online = 0
115 self.online = 0
116 self.walk = 0
116 self.walk = 0
117 self.create = False
117 self.create = False
118 self.selectedItemTree = None
118 self.selectedItemTree = None
119 self.controllerThread = None
119 self.controllerThread = None
120 # self.commCtrlPThread = None
120 # self.commCtrlPThread = None
121 # self.create_figure()
121 # self.create_figure()
122 self.temporalFTP = ftpBuffer()
122 self.temporalFTP = ftpBuffer()
123 self.projectProperCaracteristica = []
123 self.projectProperCaracteristica = []
124 self.projectProperPrincipal = []
124 self.projectProperPrincipal = []
125 self.projectProperDescripcion = []
125 self.projectProperDescripcion = []
126 self.volProperCaracteristica = []
126 self.volProperCaracteristica = []
127 self.volProperPrincipal = []
127 self.volProperPrincipal = []
128 self.volProperDescripcion = []
128 self.volProperDescripcion = []
129 self.specProperCaracteristica = []
129 self.specProperCaracteristica = []
130 self.specProperPrincipal = []
130 self.specProperPrincipal = []
131 self.specProperDescripcion = []
131 self.specProperDescripcion = []
132
132
133 self.specHeisProperCaracteristica = []
133 self.specHeisProperCaracteristica = []
134 self.specHeisProperPrincipal = []
134 self.specHeisProperPrincipal = []
135 self.specHeisProperDescripcion = []
135 self.specHeisProperDescripcion = []
136
136
137 # self.pathWorkSpace = './'
137 # self.pathWorkSpace = './'
138
138
139 self.__projectObjDict = {}
139 self.__projectObjDict = {}
140 self.__operationObjDict = {}
140 self.__operationObjDict = {}
141
141
142 self.__puLocalFolder2FTP = {}
142 self.__puLocalFolder2FTP = {}
143 self.threadStarted = False
143 self.threadStarted = False
144
144
145 # self.create_comm()
145 # self.create_comm()
146 self.create_updating_timer()
146 self.create_updating_timer()
147 self.setGUIStatus()
147 self.setGUIStatus()
148
148
149 @pyqtSignature("")
149 @pyqtSignature("")
150 def on_actionOpen_triggered(self):
150 def on_actionOpen_triggered(self):
151 """
151 """
152 Slot documentation goes here.
152 Slot documentation goes here.
153 """
153 """
154 self.openProject()
154 self.openProject()
155
155
156 @pyqtSignature("")
156 @pyqtSignature("")
157 def on_actionCreate_triggered(self):
157 def on_actionCreate_triggered(self):
158 """
158 """
159 Slot documentation goes here.
159 Slot documentation goes here.
160 """
160 """
161 self.setInputsProject_View()
161 self.setInputsProject_View()
162 self.create = True
162 self.create = True
163
163
164 @pyqtSignature("")
164 @pyqtSignature("")
165 def on_actionSave_triggered(self):
165 def on_actionSave_triggered(self):
166 """
166 """
167 Slot documentation goes here.
167 Slot documentation goes here.
168 """
168 """
169 self.saveProject()
169 self.saveProject()
170
170
171 @pyqtSignature("")
171 @pyqtSignature("")
172 def on_actionClose_triggered(self):
172 def on_actionClose_triggered(self):
173 """
173 """
174 Slot documentation goes here.
174 Slot documentation goes here.
175 """
175 """
176 self.close()
176 self.close()
177
177
178 @pyqtSignature("")
178 @pyqtSignature("")
179 def on_actionStart_triggered(self):
179 def on_actionStart_triggered(self):
180 """
180 """
181 """
181 """
182 self.playProject()
182 self.playProject()
183
183
184 @pyqtSignature("")
184 @pyqtSignature("")
185 def on_actionPause_triggered(self):
185 def on_actionPause_triggered(self):
186 """
186 """
187 """
187 """
188 self.pauseProject()
188 self.pauseProject()
189
189
190 @pyqtSignature("")
190 @pyqtSignature("")
191 def on_actionStop_triggered(self):
191 def on_actionStop_triggered(self):
192 """
192 """
193 """
193 """
194 self.stopProject()
194 self.stopProject()
195
195
196 @pyqtSignature("")
196 @pyqtSignature("")
197 def on_actionAbout_triggered(self):
197 def on_actionAbout_triggered(self):
198 """
198 """
199 """
199 """
200 self.aboutEvent()
200 self.aboutEvent()
201
201
202 @pyqtSignature("")
202 @pyqtSignature("")
203 def on_actionFTP_triggered(self):
203 def on_actionFTP_triggered(self):
204 """
204 """
205 """
205 """
206 self.configFTPWindowObj = Ftp(self)
206 self.configFTPWindowObj = Ftp(self)
207
207
208 if not self.temporalFTP.create:
208 if not self.temporalFTP.create:
209 self.temporalFTP.setwithoutconfiguration()
209 self.temporalFTP.setwithoutconfiguration()
210
210
211 self.configFTPWindowObj.setParmsfromTemporal(self.temporalFTP.server,
211 self.configFTPWindowObj.setParmsfromTemporal(self.temporalFTP.server,
212 self.temporalFTP.remotefolder,
212 self.temporalFTP.remotefolder,
213 self.temporalFTP.username,
213 self.temporalFTP.username,
214 self.temporalFTP.password,
214 self.temporalFTP.password,
215 self.temporalFTP.ftp_wei,
215 self.temporalFTP.ftp_wei,
216 self.temporalFTP.exp_code,
216 self.temporalFTP.exp_code,
217 self.temporalFTP.sub_exp_code,
217 self.temporalFTP.sub_exp_code,
218 self.temporalFTP.plot_pos)
218 self.temporalFTP.plot_pos)
219
219
220 self.configFTPWindowObj.show()
220 self.configFTPWindowObj.show()
221 self.configFTPWindowObj.closed.connect(self.createFTPConfig)
221 self.configFTPWindowObj.closed.connect(self.createFTPConfig)
222
222
223 def createFTPConfig(self):
223 def createFTPConfig(self):
224
224
225 if not self.configFTPWindowObj.create:
225 if not self.configFTPWindowObj.create:
226 self.console.clear()
226 self.console.clear()
227 self.console.append("There is no FTP configuration")
227 self.console.append("There is no FTP configuration")
228 return
228 return
229
229
230 self.console.append("Push Ok in Spectra view to Add FTP Configuration")
230 self.console.append("Push Ok in Spectra view to Add FTP Configuration")
231
231
232 server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.configFTPWindowObj.getParmsFromFtpWindow()
232 server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.configFTPWindowObj.getParmsFromFtpWindow()
233 self.temporalFTP.save(server=server,
233 self.temporalFTP.save(server=server,
234 remotefolder=remotefolder,
234 remotefolder=remotefolder,
235 username=username,
235 username=username,
236 password=password,
236 password=password,
237 ftp_wei=ftp_wei,
237 ftp_wei=ftp_wei,
238 exp_code=exp_code,
238 exp_code=exp_code,
239 sub_exp_code=sub_exp_code,
239 sub_exp_code=sub_exp_code,
240 plot_pos=plot_pos)
240 plot_pos=plot_pos)
241
241
242 @pyqtSignature("")
242 @pyqtSignature("")
243 def on_actionOpenToolbar_triggered(self):
243 def on_actionOpenToolbar_triggered(self):
244 """
244 """
245 Slot documentation goes here.
245 Slot documentation goes here.
246 """
246 """
247 self.openProject()
247 self.openProject()
248
248
249 @pyqtSignature("")
249 @pyqtSignature("")
250 def on_actionCreateToolbar_triggered(self):
250 def on_actionCreateToolbar_triggered(self):
251 """
251 """
252 Slot documentation goes here.
252 Slot documentation goes here.
253 """
253 """
254 self.setInputsProject_View()
254 self.setInputsProject_View()
255 self.create = True
255 self.create = True
256
256
257 @pyqtSignature("")
257 @pyqtSignature("")
258 def on_actionAddPU_triggered(self):
258 def on_actionAddPU_triggered(self):
259 if len(self.__projectObjDict) == 0:
259 if len(self.__projectObjDict) == 0:
260 outputstr = "First Create a Project then add Processing Unit"
260 outputstr = "First Create a Project then add Processing Unit"
261 self.console.clear()
261 self.console.clear()
262 self.console.append(outputstr)
262 self.console.append(outputstr)
263 return 0
263 return 0
264 else:
264 else:
265 self.addPUWindow()
265 self.addPUWindow()
266 self.console.clear()
266 self.console.clear()
267 self.console.append("Please, Choose the type of Processing Unit")
267 self.console.append("Please, Choose the type of Processing Unit")
268 self.console.append("If your Datatype is rawdata, you will start with processing unit Type Voltage")
268 self.console.append("If your Datatype is rawdata, you will start with processing unit Type Voltage")
269 self.console.append("If your Datatype is pdata, you will choose between processing unit Type Spectra or Correlation")
269 self.console.append("If your Datatype is pdata, you will choose between processing unit Type Spectra or Correlation")
270 self.console.append("If your Datatype is fits, you will start with processing unit Type SpectraHeis")
270 self.console.append("If your Datatype is fits, you will start with processing unit Type SpectraHeis")
271
271
272
272
273 @pyqtSignature("")
273 @pyqtSignature("")
274 def on_actionSaveToolbar_triggered(self):
274 def on_actionSaveToolbar_triggered(self):
275 """
275 """
276 Slot documentation goes here.
276 Slot documentation goes here.
277 """
277 """
278 self.saveProject()
278 self.saveProject()
279
279
280 @pyqtSignature("")
280 @pyqtSignature("")
281 def on_actionStarToolbar_triggered(self):
281 def on_actionStarToolbar_triggered(self):
282 """
282 """
283 Slot documentation goes here.
283 Slot documentation goes here.
284 """
284 """
285 self.playProject()
285 self.playProject()
286
286
287 @pyqtSignature("")
287 @pyqtSignature("")
288 def on_actionPauseToolbar_triggered(self):
288 def on_actionPauseToolbar_triggered(self):
289
289
290 self.pauseProject()
290 self.pauseProject()
291
291
292 @pyqtSignature("")
292 @pyqtSignature("")
293 def on_actionStopToolbar_triggered(self):
293 def on_actionStopToolbar_triggered(self):
294 """
294 """
295 Slot documentation goes here.
295 Slot documentation goes here.
296 """
296 """
297 self.stopProject()
297 self.stopProject()
298
298
299 @pyqtSignature("int")
299 @pyqtSignature("int")
300 def on_proComReadMode_activated(self, index):
300 def on_proComReadMode_activated(self, index):
301 """
301 """
302 SELECCION DEL MODO DE LECTURA ON=1, OFF=0
302 SELECCION DEL MODO DE LECTURA ON=1, OFF=0
303 """
303 """
304 if index == 0:
304 if index == 0:
305 self.online = 0
305 self.online = 0
306 self.proDelay.setText("0")
306 self.proDelay.setText("0")
307 self.proSet.setText("")
307 self.proSet.setText("")
308 self.proSet.setEnabled(False)
308 self.proSet.setEnabled(False)
309 self.proDelay.setEnabled(False)
309 self.proDelay.setEnabled(False)
310 elif index == 1:
310 elif index == 1:
311 self.online = 1
311 self.online = 1
312 self.proSet.setText("")
312 self.proSet.setText("")
313 self.proDelay.setText("5")
313 self.proDelay.setText("5")
314 self.proSet.setEnabled(True)
314 self.proSet.setEnabled(True)
315 self.proDelay.setEnabled(True)
315 self.proDelay.setEnabled(True)
316
316
317 @pyqtSignature("int")
317 @pyqtSignature("int")
318 def on_proComDataType_activated(self, index):
318 def on_proComDataType_activated(self, index):
319 """
319 """
320 Voltage or Spectra
320 Voltage or Spectra
321 """
321 """
322 self.labelSet.show()
322 self.labelSet.show()
323 self.proSet.show()
323 self.proSet.show()
324
324
325 self.labExpLabel.show()
325 self.labExpLabel.show()
326 self.proExpLabel.show()
326 self.proExpLabel.show()
327
327
328 self.labelIPPKm.hide()
328 self.labelIPPKm.hide()
329 self.proIPPKm.hide()
329 self.proIPPKm.hide()
330
330
331 if index == 0:
331 if index == 0:
332 extension = '.r'
332 extension = '.r'
333 elif index == 1:
333 elif index == 1:
334 extension = '.pdata'
334 extension = '.pdata'
335 elif index == 2:
335 elif index == 2:
336 extension = '.fits'
336 extension = '.fits'
337 elif index == 3:
337 elif index == 3:
338 extension = '.hdf5'
338 extension = '.hdf5'
339
339
340 self.labelIPPKm.show()
340 self.labelIPPKm.show()
341 self.proIPPKm.show()
341 self.proIPPKm.show()
342
342
343 self.labelSet.hide()
343 self.labelSet.hide()
344 self.proSet.hide()
344 self.proSet.hide()
345
345
346 self.labExpLabel.hide()
346 self.labExpLabel.hide()
347 self.proExpLabel.hide()
347 self.proExpLabel.hide()
348
348
349 self.proDataType.setText(extension)
349 self.proDataType.setText(extension)
350
350
351 @pyqtSignature("int")
351 @pyqtSignature("int")
352 def on_proComWalk_activated(self, index):
352 def on_proComWalk_activated(self, index):
353 """
353 """
354
354
355 """
355 """
356 if index == 0:
356 if index == 0:
357 self.walk = 0
357 self.walk = 0
358 elif index == 1:
358 elif index == 1:
359 self.walk = 1
359 self.walk = 1
360
360
361 @pyqtSignature("")
361 @pyqtSignature("")
362 def on_proToolPath_clicked(self):
362 def on_proToolPath_clicked(self):
363 """
363 """
364 Choose your path
364 Choose your path
365 """
365 """
366
366
367 current_dpath = './'
367 current_dpath = './'
368 if self.dataPath:
368 if self.dataPath:
369 current_dpath = self.dataPath
369 current_dpath = self.dataPath
370
370
371 datapath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', current_dpath, QtGui.QFileDialog.ShowDirsOnly))
371 datapath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', current_dpath, QtGui.QFileDialog.ShowDirsOnly))
372
372
373 #If it was canceled
373 #If it was canceled
374 if not datapath:
374 if not datapath:
375 return
375 return
376
376
377 #If any change was done
377 #If any change was done
378 if datapath == self.dataPath:
378 if datapath == self.dataPath:
379 return
379 return
380
380
381 self.proDataPath.setText(datapath)
381 self.proDataPath.setText(datapath)
382
382
383 self.actionStart.setEnabled(False)
383 self._disable_play_button()
384 self.actionStarToolbar.setEnabled(False)
384 self._disable_save_button()
385 self.proOk.setEnabled(False)
385 self.proOk.setEnabled(False)
386
386
387 self.proComStartDate.clear()
387 self.proComStartDate.clear()
388 self.proComEndDate.clear()
388 self.proComEndDate.clear()
389
389
390 if not os.path.exists(datapath):
390 if not os.path.exists(datapath):
391
391
392 self.console.clear()
392 self.console.clear()
393 self.console.append("Write a valid path")
393 self.console.append("Write a valid path")
394 return
394 return
395
395
396 self.dataPath = datapath
396 self.dataPath = datapath
397
397
398 self.console.clear()
398 self.console.clear()
399 self.console.append("Select the read mode and press 'load button'")
399 self.console.append("Select the read mode and press 'load button'")
400
400
401
401
402 @pyqtSignature("")
402 @pyqtSignature("")
403 def on_proLoadButton_clicked(self):
403 def on_proLoadButton_clicked(self):
404
404
405 self.console.clear()
405 self.console.clear()
406
406
407 # if not self.getSelectedProjectObj():
407 # if not self.getSelectedProjectObj():
408 # self.console.append("Please select a project before load files")
408 # self.console.append("Please select a project before load files")
409 # return
409 # return
410
410
411 parameter_list = self.checkInputsProject()
411 parameter_list = self.checkInputsProject()
412
412
413 # if not parameter_list[0]:
413 # if not parameter_list[0]:
414 # return
414 # return
415
415
416 parms_ok, project_name, datatype, ext, data_path, read_mode, delay, walk, set, expLabel = parameter_list
416 parms_ok, project_name, datatype, ext, data_path, read_mode, delay, walk, set, expLabel = parameter_list
417
417
418 if read_mode == "Offline":
418 if read_mode == "Offline":
419 self.proComStartDate.clear()
419 self.proComStartDate.clear()
420 self.proComEndDate.clear()
420 self.proComEndDate.clear()
421 self.proComStartDate.setEnabled(True)
421 self.proComStartDate.setEnabled(True)
422 self.proComEndDate.setEnabled(True)
422 self.proComEndDate.setEnabled(True)
423 self.proStartTime.setEnabled(True)
423 self.proStartTime.setEnabled(True)
424 self.proEndTime.setEnabled(True)
424 self.proEndTime.setEnabled(True)
425 self.frame_2.setEnabled(True)
425 self.frame_2.setEnabled(True)
426
426
427 if read_mode == "Online":
427 if read_mode == "Online":
428 self.proComStartDate.addItem("1960/01/30")
428 self.proComStartDate.addItem("1960/01/30")
429 self.proComEndDate.addItem("2018/12/31")
429 self.proComEndDate.addItem("2018/12/31")
430 self.proComStartDate.setEnabled(False)
430 self.proComStartDate.setEnabled(False)
431 self.proComEndDate.setEnabled(False)
431 self.proComEndDate.setEnabled(False)
432 self.proStartTime.setEnabled(False)
432 self.proStartTime.setEnabled(False)
433 self.proEndTime.setEnabled(False)
433 self.proEndTime.setEnabled(False)
434 self.frame_2.setEnabled(True)
434 self.frame_2.setEnabled(True)
435
435
436 self.loadDays(data_path, ext, walk, expLabel)
436 self.loadDays(data_path, ext, walk, expLabel)
437
437
438 @pyqtSignature("int")
438 @pyqtSignature("int")
439 def on_proComStartDate_activated(self, index):
439 def on_proComStartDate_activated(self, index):
440 """
440 """
441 SELECCION DEL RANGO DE FECHAS -START DATE
441 SELECCION DEL RANGO DE FECHAS -START DATE
442 """
442 """
443 stopIndex = self.proComEndDate.count() - self.proComEndDate.currentIndex() - 1
443 stopIndex = self.proComEndDate.count() - self.proComEndDate.currentIndex() - 1
444
444
445 self.proComEndDate.clear()
445 self.proComEndDate.clear()
446 for i in self.dateList[index:]:
446 for i in self.dateList[index:]:
447 self.proComEndDate.addItem(i)
447 self.proComEndDate.addItem(i)
448
448
449 if self.proComEndDate.count() - stopIndex - 1 >= 0:
449 if self.proComEndDate.count() - stopIndex - 1 >= 0:
450 self.proComEndDate.setCurrentIndex(self.proComEndDate.count() - stopIndex - 1)
450 self.proComEndDate.setCurrentIndex(self.proComEndDate.count() - stopIndex - 1)
451 else:
451 else:
452 self.proComEndDate.setCurrentIndex(self.proComEndDate.count() - 1)
452 self.proComEndDate.setCurrentIndex(self.proComEndDate.count() - 1)
453
453
454 @pyqtSignature("int")
454 @pyqtSignature("int")
455 def on_proComEndDate_activated(self, index):
455 def on_proComEndDate_activated(self, index):
456 """
456 """
457 SELECCION DEL RANGO DE FECHAS-END DATE
457 SELECCION DEL RANGO DE FECHAS-END DATE
458 """
458 """
459 pass
459 pass
460
460
461 @pyqtSignature("")
461 @pyqtSignature("")
462 def on_proOk_clicked(self):
462 def on_proOk_clicked(self):
463 """
463 """
464 Añade al Obj XML de Projecto, name,datatype,date,time,readmode,wait,etc, crea el readUnitProcess del archivo xml.
464 Añade al Obj XML de Projecto, name,datatype,date,time,readmode,wait,etc, crea el readUnitProcess del archivo xml.
465 Prepara la configuración del diágrama del Arbol del treeView numero 2
465 Prepara la configuración del diágrama del Arbol del treeView numero 2
466 """
466 """
467
467
468 self.actionSaveToolbar.setEnabled(False)
468 self._disable_play_button()
469 self.actionStarToolbar.setEnabled(False)
469 self._disable_save_button()
470
471 self.actionSave.setEnabled(False)
472 self.actionStart.setEnabled(False)
473
470
474 self.console.clear()
471 self.console.clear()
475
472
476 if self.create:
473 if self.create:
477
474
478 projectId = self.__getNewProjectId()
475 projectId = self.__getNewProjectId()
479
476
480 if not projectId:
477 if not projectId:
481 return 0
478 return 0
482
479
483 projectObjView = self.createProjectView(projectId)
480 projectObjView = self.createProjectView(projectId)
484
481
485 if not projectObjView:
482 if not projectObjView:
486 return 0
483 return 0
487
484
488 self.create = False
485 self.create = False
489
486
490 readUnitObj = self.createReadUnitView(projectObjView)
487 readUnitObj = self.createReadUnitView(projectObjView)
491
488
492 if not readUnitObj:
489 if not readUnitObj:
493 return 0
490 return 0
494
491
495 else:
492 else:
496 projectObjView = self.updateProjectView()
493 projectObjView = self.updateProjectView()
497
494
498 if not projectObjView:
495 if not projectObjView:
499 return 0
496 return 0
500
497
501 projectId = projectObjView.getId()
498 projectId = projectObjView.getId()
502 idReadUnit = projectObjView.getReadUnitId()
499 idReadUnit = projectObjView.getReadUnitId()
503 readUnitObj = self.updateReadUnitView(projectObjView, idReadUnit)
500 readUnitObj = self.updateReadUnitView(projectObjView, idReadUnit)
504
501
505 if not readUnitObj:
502 if not readUnitObj:
506 return 0
503 return 0
507
504
508 self.__itemTreeDict[projectId].setText(projectObjView.name)
505 self.__itemTreeDict[projectId].setText(projectObjView.name)
509 # Project Properties
506 # Project Properties
510 self.refreshProjectProperties(projectObjView)
507 self.refreshProjectProperties(projectObjView)
511 # Disable tabProject after finish the creation
508 # Disable tabProject after finish the creation
512
509
513 self.actionSaveToolbar.setEnabled(True)
510 self._enable_play_button()
514 self.actionStarToolbar.setEnabled(True)
511 self._enable_save_button()
515
516 self.actionSave.setEnabled(True)
517 self.actionStart.setEnabled(True)
518
512
519 self.console.clear()
513 self.console.clear()
520 self.console.append("The project parameters were validated")
514 self.console.append("The project parameters were validated")
521
515
522 return 1
516 return 1
523
517
524 @pyqtSignature("")
518 @pyqtSignature("")
525 def on_proClear_clicked(self):
519 def on_proClear_clicked(self):
526
520
527 self.console.clear()
521 self.console.clear()
528
522
529 @pyqtSignature("int")
523 @pyqtSignature("int")
530 def on_volOpCebChannels_stateChanged(self, p0):
524 def on_volOpCebChannels_stateChanged(self, p0):
531 """
525 """
532 Check Box habilita operaciones de Seleccin de Canales
526 Check Box habilita operaciones de Seleccin de Canales
533 """
527 """
534 if p0 == 2:
528 if p0 == 2:
535 self.volOpComChannels.setEnabled(True)
529 self.volOpComChannels.setEnabled(True)
536 self.volOpChannel.setEnabled(True)
530 self.volOpChannel.setEnabled(True)
537
531
538 if p0 == 0:
532 if p0 == 0:
539 self.volOpComChannels.setEnabled(False)
533 self.volOpComChannels.setEnabled(False)
540 self.volOpChannel.setEnabled(False)
534 self.volOpChannel.setEnabled(False)
541 self.volOpChannel.clear()
535 self.volOpChannel.clear()
542
536
543 @pyqtSignature("int")
537 @pyqtSignature("int")
544 def on_volOpCebHeights_stateChanged(self, p0):
538 def on_volOpCebHeights_stateChanged(self, p0):
545 """
539 """
546 Check Box habilita operaciones de Seleccin de Alturas
540 Check Box habilita operaciones de Seleccin de Alturas
547 """
541 """
548 if p0 == 2:
542 if p0 == 2:
549 self.volOpHeights.setEnabled(True)
543 self.volOpHeights.setEnabled(True)
550 self.volOpComHeights.setEnabled(True)
544 self.volOpComHeights.setEnabled(True)
551
545
552 if p0 == 0:
546 if p0 == 0:
553 self.volOpHeights.setEnabled(False)
547 self.volOpHeights.setEnabled(False)
554 self.volOpHeights.clear()
548 self.volOpHeights.clear()
555 self.volOpComHeights.setEnabled(False)
549 self.volOpComHeights.setEnabled(False)
556
550
557 @pyqtSignature("int")
551 @pyqtSignature("int")
558 def on_volOpCebFilter_stateChanged(self, p0):
552 def on_volOpCebFilter_stateChanged(self, p0):
559 """
553 """
560 Name='Decoder', optype='other'
554 Name='Decoder', optype='other'
561 """
555 """
562 if p0 == 2:
556 if p0 == 2:
563 self.volOpFilter.setEnabled(True)
557 self.volOpFilter.setEnabled(True)
564
558
565 if p0 == 0:
559 if p0 == 0:
566 self.volOpFilter.setEnabled(False)
560 self.volOpFilter.setEnabled(False)
567 self.volOpFilter.clear()
561 self.volOpFilter.clear()
568
562
569 @pyqtSignature("int")
563 @pyqtSignature("int")
570 def on_volOpCebProfile_stateChanged(self, p0):
564 def on_volOpCebProfile_stateChanged(self, p0):
571 """
565 """
572 Check Box habilita ingreso del rango de Perfiles
566 Check Box habilita ingreso del rango de Perfiles
573 """
567 """
574 if p0 == 2:
568 if p0 == 2:
575 self.volOpComProfile.setEnabled(True)
569 self.volOpComProfile.setEnabled(True)
576 self.volOpProfile.setEnabled(True)
570 self.volOpProfile.setEnabled(True)
577
571
578 if p0 == 0:
572 if p0 == 0:
579 self.volOpComProfile.setEnabled(False)
573 self.volOpComProfile.setEnabled(False)
580 self.volOpProfile.setEnabled(False)
574 self.volOpProfile.setEnabled(False)
581 self.volOpProfile.clear()
575 self.volOpProfile.clear()
582
576
583 @pyqtSignature("int")
577 @pyqtSignature("int")
584 def on_volOpComProfile_activated(self, index):
578 def on_volOpComProfile_activated(self, index):
585 """
579 """
586 Check Box habilita ingreso del rango de Perfiles
580 Check Box habilita ingreso del rango de Perfiles
587 """
581 """
588 #Profile List
582 #Profile List
589 if index == 0:
583 if index == 0:
590 self.volOpProfile.setToolTip('List of selected profiles. Example: 0, 1, 2, 3, 4, 5, 6, 7')
584 self.volOpProfile.setToolTip('List of selected profiles. Example: 0, 1, 2, 3, 4, 5, 6, 7')
591
585
592 #Profile Range
586 #Profile Range
593 if index == 1:
587 if index == 1:
594 self.volOpProfile.setToolTip('Minimum and maximum profile index. Example: 0, 7')
588 self.volOpProfile.setToolTip('Minimum and maximum profile index. Example: 0, 7')
595
589
596 #Profile Range List
590 #Profile Range List
597 if index == 2:
591 if index == 2:
598 self.volOpProfile.setToolTip('List of profile ranges. Example: (0, 7), (12, 19), (100, 200)')
592 self.volOpProfile.setToolTip('List of profile ranges. Example: (0, 7), (12, 19), (100, 200)')
599
593
600 @pyqtSignature("int")
594 @pyqtSignature("int")
601 def on_volOpCebDecodification_stateChanged(self, p0):
595 def on_volOpCebDecodification_stateChanged(self, p0):
602 """
596 """
603 Check Box habilita
597 Check Box habilita
604 """
598 """
605 if p0 == 2:
599 if p0 == 2:
606 self.volOpComCode.setEnabled(True)
600 self.volOpComCode.setEnabled(True)
607 self.volOpComMode.setEnabled(True)
601 self.volOpComMode.setEnabled(True)
608 if p0 == 0:
602 if p0 == 0:
609 self.volOpComCode.setEnabled(False)
603 self.volOpComCode.setEnabled(False)
610 self.volOpComMode.setEnabled(False)
604 self.volOpComMode.setEnabled(False)
611
605
612 @pyqtSignature("int")
606 @pyqtSignature("int")
613 def on_volOpComCode_activated(self, index):
607 def on_volOpComCode_activated(self, index):
614 """
608 """
615 Check Box habilita ingreso
609 Check Box habilita ingreso
616 """
610 """
617 if index == 13:
611 if index == 13:
618 self.volOpCode.setEnabled(True)
612 self.volOpCode.setEnabled(True)
619 else:
613 else:
620 self.volOpCode.setEnabled(False)
614 self.volOpCode.setEnabled(False)
621
615
622 if index == 0:
616 if index == 0:
623 code = ''
617 code = ''
624 self.volOpCode.setText(str(code))
618 self.volOpCode.setText(str(code))
625 return
619 return
626
620
627 if index == 1:
621 if index == 1:
628 code = '(1,1,-1)'
622 code = '(1,1,-1)'
629 nCode = '1'
623 nCode = '1'
630 nBaud = '3'
624 nBaud = '3'
631 if index == 2:
625 if index == 2:
632 code = '(1,1,-1,1)'
626 code = '(1,1,-1,1)'
633 nCode = '1'
627 nCode = '1'
634 nBaud = '4'
628 nBaud = '4'
635 if index == 3:
629 if index == 3:
636 code = '(1,1,1,-1,1)'
630 code = '(1,1,1,-1,1)'
637 nCode = '1'
631 nCode = '1'
638 nBaud = '5'
632 nBaud = '5'
639 if index == 4:
633 if index == 4:
640 code = '(1,1,1,-1,-1,1,-1)'
634 code = '(1,1,1,-1,-1,1,-1)'
641 nCode = '1'
635 nCode = '1'
642 nBaud = '7'
636 nBaud = '7'
643 if index == 5:
637 if index == 5:
644 code = '(1,1,1,-1,-1,-1,1,-1,-1,1,-1)'
638 code = '(1,1,1,-1,-1,-1,1,-1,-1,1,-1)'
645 nCode = '1'
639 nCode = '1'
646 nBaud = '11'
640 nBaud = '11'
647 if index == 6:
641 if index == 6:
648 code = '(1,1,1,1,1,-1,-1,1,1,-1,1,-1,1)'
642 code = '(1,1,1,1,1,-1,-1,1,1,-1,1,-1,1)'
649 nCode = '1'
643 nCode = '1'
650 nBaud = '13'
644 nBaud = '13'
651 if index == 7:
645 if index == 7:
652 code = '(1,1,-1,-1,-1,1)'
646 code = '(1,1,-1,-1,-1,1)'
653 nCode = '2'
647 nCode = '2'
654 nBaud = '3'
648 nBaud = '3'
655 if index == 8:
649 if index == 8:
656 code = '(1,1,-1,1,-1,-1,1,-1)'
650 code = '(1,1,-1,1,-1,-1,1,-1)'
657 nCode = '2'
651 nCode = '2'
658 nBaud = '4'
652 nBaud = '4'
659 if index == 9:
653 if index == 9:
660 code = '(1,1,1,-1,1,-1,-1,-1,1,-1)'
654 code = '(1,1,1,-1,1,-1,-1,-1,1,-1)'
661 nCode = '2'
655 nCode = '2'
662 nBaud = '5'
656 nBaud = '5'
663 if index == 10:
657 if index == 10:
664 code = '(1,1,1,-1,-1,1,-1,-1,-1,-1,1,1,-1,1)'
658 code = '(1,1,1,-1,-1,1,-1,-1,-1,-1,1,1,-1,1)'
665 nCode = '2'
659 nCode = '2'
666 nBaud = '7'
660 nBaud = '7'
667 if index == 11:
661 if index == 11:
668 code = '(1,1,1,-1,-1,-1,1,-1,-1,1,-1,-1 ,-1 ,-1 ,1 ,1,1,-1 ,1 ,1 ,-1 ,1)'
662 code = '(1,1,1,-1,-1,-1,1,-1,-1,1,-1,-1 ,-1 ,-1 ,1 ,1,1,-1 ,1 ,1 ,-1 ,1)'
669 nCode = '2'
663 nCode = '2'
670 nBaud = '11'
664 nBaud = '11'
671 if index == 12:
665 if index == 12:
672 code = '(1,1,1,1,1,-1,-1,1,1,-1,1,-1,1,-1,-1,-1,-1,-1,1,1,-1,-1,1,-1,1,-1)'
666 code = '(1,1,1,1,1,-1,-1,1,1,-1,1,-1,1,-1,-1,-1,-1,-1,1,1,-1,-1,1,-1,1,-1)'
673 nCode = '2'
667 nCode = '2'
674 nBaud = '13'
668 nBaud = '13'
675
669
676 code = ast.literal_eval(code)
670 code = ast.literal_eval(code)
677 nCode = int(nCode)
671 nCode = int(nCode)
678 nBaud = int(nBaud)
672 nBaud = int(nBaud)
679
673
680 code = numpy.asarray(code).reshape((nCode, nBaud)).tolist()
674 code = numpy.asarray(code).reshape((nCode, nBaud)).tolist()
681
675
682 self.volOpCode.setText(str(code))
676 self.volOpCode.setText(str(code))
683
677
684 @pyqtSignature("int")
678 @pyqtSignature("int")
685 def on_volOpCebFlip_stateChanged(self, p0):
679 def on_volOpCebFlip_stateChanged(self, p0):
686 """
680 """
687 Check Box habilita ingresode del numero de Integraciones a realizar
681 Check Box habilita ingresode del numero de Integraciones a realizar
688 """
682 """
689 if p0 == 2:
683 if p0 == 2:
690 self.volOpFlip.setEnabled(True)
684 self.volOpFlip.setEnabled(True)
691 if p0 == 0:
685 if p0 == 0:
692 self.volOpFlip.setEnabled(False)
686 self.volOpFlip.setEnabled(False)
693 self.volOpFlip.clear()
687 self.volOpFlip.clear()
694
688
695 @pyqtSignature("int")
689 @pyqtSignature("int")
696 def on_volOpCebCohInt_stateChanged(self, p0):
690 def on_volOpCebCohInt_stateChanged(self, p0):
697 """
691 """
698 Check Box habilita ingresode del numero de Integraciones a realizar
692 Check Box habilita ingresode del numero de Integraciones a realizar
699 """
693 """
700 if p0 == 2:
694 if p0 == 2:
701 self.volOpCohInt.setEnabled(True)
695 self.volOpCohInt.setEnabled(True)
702 if p0 == 0:
696 if p0 == 0:
703 self.volOpCohInt.setEnabled(False)
697 self.volOpCohInt.setEnabled(False)
704 self.volOpCohInt.clear()
698 self.volOpCohInt.clear()
705
699
706 @pyqtSignature("int")
700 @pyqtSignature("int")
707 def on_volOpCebRadarfrequency_stateChanged(self, p0):
701 def on_volOpCebRadarfrequency_stateChanged(self, p0):
708 """
702 """
709 Check Box habilita ingresode del numero de Integraciones a realizar
703 Check Box habilita ingresode del numero de Integraciones a realizar
710 """
704 """
711 if p0 == 2:
705 if p0 == 2:
712 self.volOpRadarfrequency.setEnabled(True)
706 self.volOpRadarfrequency.setEnabled(True)
713 if p0 == 0:
707 if p0 == 0:
714 self.volOpRadarfrequency.clear()
708 self.volOpRadarfrequency.clear()
715 self.volOpRadarfrequency.setEnabled(False)
709 self.volOpRadarfrequency.setEnabled(False)
716
710
717 @pyqtSignature("")
711 @pyqtSignature("")
718 def on_volOutputToolPath_clicked(self):
712 def on_volOutputToolPath_clicked(self):
719 dirOutPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
713 dirOutPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
720 self.volOutputPath.setText(dirOutPath)
714 self.volOutputPath.setText(dirOutPath)
721
715
722 @pyqtSignature("")
716 @pyqtSignature("")
723 def on_specOutputToolPath_clicked(self):
717 def on_specOutputToolPath_clicked(self):
724 dirOutPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
718 dirOutPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
725 self.specOutputPath.setText(dirOutPath)
719 self.specOutputPath.setText(dirOutPath)
726
720
727 @pyqtSignature("")
721 @pyqtSignature("")
728 def on_specHeisOutputToolPath_clicked(self):
722 def on_specHeisOutputToolPath_clicked(self):
729 dirOutPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
723 dirOutPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
730 self.specHeisOutputPath.setText(dirOutPath)
724 self.specHeisOutputPath.setText(dirOutPath)
731
725
732 @pyqtSignature("")
726 @pyqtSignature("")
733 def on_specHeisOutputMetadaToolPath_clicked(self):
727 def on_specHeisOutputMetadaToolPath_clicked(self):
734
728
735 filename = str(QtGui.QFileDialog.getOpenFileName(self, "Open text file", self.pathWorkSpace, self.tr("Text Files (*.xml)")))
729 filename = str(QtGui.QFileDialog.getOpenFileName(self, "Open text file", self.pathWorkSpace, self.tr("Text Files (*.xml)")))
736 self.specHeisOutputMetada.setText(filename)
730 self.specHeisOutputMetada.setText(filename)
737
731
738 @pyqtSignature("")
732 @pyqtSignature("")
739 def on_volOpOk_clicked(self):
733 def on_volOpOk_clicked(self):
740 """
734 """
741 BUSCA EN LA LISTA DE OPERACIONES DEL TIPO VOLTAJE Y LES AADE EL PARAMETRO ADECUADO ESPERANDO LA ACEPTACION DEL USUARIO
735 BUSCA EN LA LISTA DE OPERACIONES DEL TIPO VOLTAJE Y LES AADE EL PARAMETRO ADECUADO ESPERANDO LA ACEPTACION DEL USUARIO
742 PARA AGREGARLO AL ARCHIVO DE CONFIGURACION XML
736 PARA AGREGARLO AL ARCHIVO DE CONFIGURACION XML
743 """
737 """
744
738
745 checkPath = False
739 checkPath = False
746
740
747 self.actionSaveToolbar.setEnabled(False)
741 self._disable_play_button()
748 self.actionStarToolbar.setEnabled(False)
742 self._disable_save_button()
749
750 self.actionSave.setEnabled(False)
751 self.actionStart.setEnabled(False)
752
743
753 self.console.clear()
744 self.console.clear()
754 self.console.append("Checking input parameters ...")
745 self.console.append("Checking input parameters ...")
755
746
756 puObj = self.getSelectedItemObj()
747 puObj = self.getSelectedItemObj()
757 puObj.removeOperations()
748 puObj.removeOperations()
758
749
759 if self.volOpCebRadarfrequency.isChecked():
750 if self.volOpCebRadarfrequency.isChecked():
760 value = str(self.volOpRadarfrequency.text())
751 value = str(self.volOpRadarfrequency.text())
761 format = 'float'
752 format = 'float'
762 name_operation = 'setRadarFrequency'
753 name_operation = 'setRadarFrequency'
763 name_parameter = 'frequency'
754 name_parameter = 'frequency'
764 if not value == "":
755 if not value == "":
765 try:
756 try:
766 radarfreq = float(self.volOpRadarfrequency.text())*1e6
757 radarfreq = float(self.volOpRadarfrequency.text())*1e6
767 except:
758 except:
768 self.console.clear()
759 self.console.clear()
769 self.console.append("Invalid value '%s' for Radar Frequency" %value)
760 self.console.append("Invalid value '%s' for Radar Frequency" %value)
770 return 0
761 return 0
771
762
772 opObj = puObj.addOperation(name=name_operation)
763 opObj = puObj.addOperation(name=name_operation)
773 if not opObj.addParameter(name=name_parameter, value=radarfreq, format=format):
764 if not opObj.addParameter(name=name_parameter, value=radarfreq, format=format):
774 self.console.append("Invalid value '%s' for %s" %(value,name_parameter))
765 self.console.append("Invalid value '%s' for %s" %(value,name_parameter))
775 return 0
766 return 0
776
767
777 if self.volOpCebChannels.isChecked():
768 if self.volOpCebChannels.isChecked():
778 value = str(self.volOpChannel.text())
769 value = str(self.volOpChannel.text())
779
770
780 if value == "":
771 if value == "":
781 print "Please fill channel list"
772 print "Please fill channel list"
782 return 0
773 return 0
783
774
784 format = 'intlist'
775 format = 'intlist'
785 if self.volOpComChannels.currentIndex() == 0:
776 if self.volOpComChannels.currentIndex() == 0:
786 name_operation = "selectChannels"
777 name_operation = "selectChannels"
787 name_parameter = 'channelList'
778 name_parameter = 'channelList'
788 else:
779 else:
789 name_operation = "selectChannelsByIndex"
780 name_operation = "selectChannelsByIndex"
790 name_parameter = 'channelIndexList'
781 name_parameter = 'channelIndexList'
791
782
792 opObj = puObj.addOperation(name=name_operation)
783 opObj = puObj.addOperation(name=name_operation)
793 if not opObj.addParameter(name=name_parameter, value=value, format=format):
784 if not opObj.addParameter(name=name_parameter, value=value, format=format):
794 self.console.append("Invalid value '%s' for %s" %(value,name_parameter))
785 self.console.append("Invalid value '%s' for %s" %(value,name_parameter))
795 return 0
786 return 0
796
787
797 if self.volOpCebHeights.isChecked():
788 if self.volOpCebHeights.isChecked():
798 value = str(self.volOpHeights.text())
789 value = str(self.volOpHeights.text())
799
790
800 if value == "":
791 if value == "":
801 print "Please fill height range"
792 print "Please fill height range"
802 return 0
793 return 0
803
794
804 valueList = value.split(',')
795 valueList = value.split(',')
805
796
806 if self.volOpComHeights.currentIndex() == 0:
797 if self.volOpComHeights.currentIndex() == 0:
807 format = 'float'
798 format = 'float'
808 name_operation = 'selectHeights'
799 name_operation = 'selectHeights'
809 name_parameter1 = 'minHei'
800 name_parameter1 = 'minHei'
810 name_parameter2 = 'maxHei'
801 name_parameter2 = 'maxHei'
811 else:
802 else:
812 format = 'int'
803 format = 'int'
813 name_operation = 'selectHeightsByIndex'
804 name_operation = 'selectHeightsByIndex'
814 name_parameter1 = 'minIndex'
805 name_parameter1 = 'minIndex'
815 name_parameter2 = 'maxIndex'
806 name_parameter2 = 'maxIndex'
816
807
817 opObj = puObj.addOperation(name=name_operation)
808 opObj = puObj.addOperation(name=name_operation)
818 opObj.addParameter(name=name_parameter1, value=valueList[0], format=format)
809 opObj.addParameter(name=name_parameter1, value=valueList[0], format=format)
819 opObj.addParameter(name=name_parameter2, value=valueList[1], format=format)
810 opObj.addParameter(name=name_parameter2, value=valueList[1], format=format)
820
811
821 if self.volOpCebFilter.isChecked():
812 if self.volOpCebFilter.isChecked():
822 value = str(self.volOpFilter.text())
813 value = str(self.volOpFilter.text())
823 if value == "":
814 if value == "":
824 print "Please fill filter value"
815 print "Please fill filter value"
825 return 0
816 return 0
826
817
827 format = 'int'
818 format = 'int'
828 name_operation = 'filterByHeights'
819 name_operation = 'filterByHeights'
829 name_parameter = 'window'
820 name_parameter = 'window'
830 opObj = puObj.addOperation(name=name_operation)
821 opObj = puObj.addOperation(name=name_operation)
831 if not opObj.addParameter(name=name_parameter, value=value, format=format):
822 if not opObj.addParameter(name=name_parameter, value=value, format=format):
832 self.console.append("Invalid value '%s' for %s" %(value,name_parameter))
823 self.console.append("Invalid value '%s' for %s" %(value,name_parameter))
833 return 0
824 return 0
834
825
835 if self.volOpCebProfile.isChecked():
826 if self.volOpCebProfile.isChecked():
836 value = str(self.volOpProfile.text())
827 value = str(self.volOpProfile.text())
837
828
838 if value == "":
829 if value == "":
839 print "Please fill profile value"
830 print "Please fill profile value"
840 return 0
831 return 0
841
832
842 format = 'intlist'
833 format = 'intlist'
843 optype = 'other'
834 optype = 'other'
844 name_operation = 'ProfileSelector'
835 name_operation = 'ProfileSelector'
845 if self.volOpComProfile.currentIndex() == 0:
836 if self.volOpComProfile.currentIndex() == 0:
846 name_parameter = 'profileList'
837 name_parameter = 'profileList'
847 if self.volOpComProfile.currentIndex() == 1:
838 if self.volOpComProfile.currentIndex() == 1:
848 name_parameter = 'profileRangeList'
839 name_parameter = 'profileRangeList'
849 if self.volOpComProfile.currentIndex() == 2:
840 if self.volOpComProfile.currentIndex() == 2:
850 name_parameter = 'rangeList'
841 name_parameter = 'rangeList'
851
842
852 opObj = puObj.addOperation(name='ProfileSelector', optype='other')
843 opObj = puObj.addOperation(name='ProfileSelector', optype='other')
853 if not opObj.addParameter(name=name_parameter, value=value, format=format):
844 if not opObj.addParameter(name=name_parameter, value=value, format=format):
854 self.console.append("Invalid value '%s' for %s" %(value,name_parameter))
845 self.console.append("Invalid value '%s' for %s" %(value,name_parameter))
855 return 0
846 return 0
856
847
857 if self.volOpCebDecodification.isChecked():
848 if self.volOpCebDecodification.isChecked():
858 name_operation = 'Decoder'
849 name_operation = 'Decoder'
859 opObj = puObj.addOperation(name=name_operation, optype='other')
850 opObj = puObj.addOperation(name=name_operation, optype='other')
860
851
861 #User defined
852 #User defined
862 nBaud = None
853 nBaud = None
863 nCode = None
854 nCode = None
864
855
865 code = str(self.volOpCode.text())
856 code = str(self.volOpCode.text())
866 try:
857 try:
867 code_tmp = ast.literal_eval(code)
858 code_tmp = ast.literal_eval(code)
868 except:
859 except:
869 code_tmp = []
860 code_tmp = []
870
861
871 if len(code_tmp) > 0:
862 if len(code_tmp) > 0:
872
863
873 if type(code_tmp) not in (tuple, list):
864 if type(code_tmp) not in (tuple, list):
874 self.console.append("Please write a right value for Code (Exmaple: [1,1,-1], [1,-1,1])")
865 self.console.append("Please write a right value for Code (Exmaple: [1,1,-1], [1,-1,1])")
875 return 0
866 return 0
876
867
877 if len(code_tmp) > 1 and type(code_tmp[0]) in (tuple, list): #[ [1,-1,1], [1,1,-1] ]
868 if len(code_tmp) > 1 and type(code_tmp[0]) in (tuple, list): #[ [1,-1,1], [1,1,-1] ]
878 nBaud = len(code_tmp[0])
869 nBaud = len(code_tmp[0])
879 nCode = len(code_tmp)
870 nCode = len(code_tmp)
880 elif len(code_tmp) == 1 and type(code_tmp[0]) in (tuple, list): #[ [1,-1,1] ]
871 elif len(code_tmp) == 1 and type(code_tmp[0]) in (tuple, list): #[ [1,-1,1] ]
881 nBaud = len(code_tmp[0])
872 nBaud = len(code_tmp[0])
882 nCode = 1
873 nCode = 1
883 elif type(code_tmp[0]) in (int, float): #[1,-1,1] or (1,-1,1)
874 elif type(code_tmp[0]) in (int, float): #[1,-1,1] or (1,-1,1)
884 nBaud = len(code_tmp)
875 nBaud = len(code_tmp)
885 nCode = 1
876 nCode = 1
886 else:
877 else:
887 self.console.append("Please write a right value for Code (Exmaple: [1,1,-1], [1,-1,1])")
878 self.console.append("Please write a right value for Code (Exmaple: [1,1,-1], [1,-1,1])")
888 return 0
879 return 0
889
880
890 if not nBaud or not nCode:
881 if not nBaud or not nCode:
891 self.console.append("Please write a right value for Code")
882 self.console.append("Please write a right value for Code")
892 return 0
883 return 0
893
884
894 code = code.replace("(", "")
885 code = code.replace("(", "")
895 code = code.replace(")", "")
886 code = code.replace(")", "")
896 code = code.replace("[", "")
887 code = code.replace("[", "")
897 code = code.replace("]", "")
888 code = code.replace("]", "")
898
889
899 if not opObj.addParameter(name='code', value=code, format='intlist'):
890 if not opObj.addParameter(name='code', value=code, format='intlist'):
900 self.console.append("Please write a right value for Code")
891 self.console.append("Please write a right value for Code")
901 return 0
892 return 0
902 if not opObj.addParameter(name='nCode', value=nCode, format='int'):
893 if not opObj.addParameter(name='nCode', value=nCode, format='int'):
903 self.console.append("Please write a right value for Code")
894 self.console.append("Please write a right value for Code")
904 return 0
895 return 0
905 if not opObj.addParameter(name='nBaud', value=nBaud, format='int'):
896 if not opObj.addParameter(name='nBaud', value=nBaud, format='int'):
906 self.console.append("Please write a right value for Code")
897 self.console.append("Please write a right value for Code")
907 return 0
898 return 0
908
899
909 name_parameter = 'mode'
900 name_parameter = 'mode'
910 format = 'int'
901 format = 'int'
911
902
912 value = str(self.volOpComMode.currentIndex())
903 value = str(self.volOpComMode.currentIndex())
913
904
914 if not opObj.addParameter(name=name_parameter, value=value, format=format):
905 if not opObj.addParameter(name=name_parameter, value=value, format=format):
915 self.console.append("Invalid value '%s' for '%s'" %(value,name_parameter))
906 self.console.append("Invalid value '%s' for '%s'" %(value,name_parameter))
916 return 0
907 return 0
917
908
918
909
919 if self.volOpCebFlip.isChecked():
910 if self.volOpCebFlip.isChecked():
920 name_operation = 'deFlip'
911 name_operation = 'deFlip'
921 optype = 'self'
912 optype = 'self'
922
913
923 opObj = puObj.addOperation(name=name_operation, optype=optype)
914 opObj = puObj.addOperation(name=name_operation, optype=optype)
924
915
925 name_parameter = 'channelList'
916 name_parameter = 'channelList'
926 format = 'intlist'
917 format = 'intlist'
927 value = str(self.volOpFlip.text())
918 value = str(self.volOpFlip.text())
928
919
929 if value != "":
920 if value != "":
930 if not opObj.addParameter(name=name_parameter, value=value, format=format):
921 if not opObj.addParameter(name=name_parameter, value=value, format=format):
931 self.console.append("Invalid value '%s' for '%s'" %(value,name_parameter))
922 self.console.append("Invalid value '%s' for '%s'" %(value,name_parameter))
932 return 0
923 return 0
933
924
934 if self.volOpCebCohInt.isChecked():
925 if self.volOpCebCohInt.isChecked():
935 name_operation = 'CohInt'
926 name_operation = 'CohInt'
936 optype = 'other'
927 optype = 'other'
937 value = str(self.volOpCohInt.text())
928 value = str(self.volOpCohInt.text())
938
929
939 if value == "":
930 if value == "":
940 print "Please fill number of coherent integrations"
931 print "Please fill number of coherent integrations"
941 return 0
932 return 0
942
933
943 name_parameter = 'n'
934 name_parameter = 'n'
944 format = 'int'
935 format = 'int'
945
936
946 opObj = puObj.addOperation(name=name_operation, optype=optype)
937 opObj = puObj.addOperation(name=name_operation, optype=optype)
947
938
948 if not opObj.addParameter(name=name_parameter, value=value, format=format):
939 if not opObj.addParameter(name=name_parameter, value=value, format=format):
949 self.console.append("Invalid value '%s' for '%s'" %(value,name_parameter))
940 self.console.append("Invalid value '%s' for '%s'" %(value,name_parameter))
950 return 0
941 return 0
951
942
952 if self.volGraphCebshow.isChecked():
943 if self.volGraphCebshow.isChecked():
953 name_operation = 'Scope'
944 name_operation = 'Scope'
954 optype = 'other'
945 optype = 'other'
955 name_parameter = 'type'
946 name_parameter = 'type'
956 value = 'Scope'
947 value = 'Scope'
957 if self.idImagscope == 0:
948 if self.idImagscope == 0:
958 self.idImagscope = 100
949 self.idImagscope = 100
959 else:
950 else:
960 self.idImagscope = self.idImagscope + 1
951 self.idImagscope = self.idImagscope + 1
961
952
962 name_parameter1 = 'id'
953 name_parameter1 = 'id'
963 value1 = int(self.idImagscope)
954 value1 = int(self.idImagscope)
964 format1 = 'int'
955 format1 = 'int'
965 format = 'str'
956 format = 'str'
966
957
967 opObj = puObj.addOperation(name=name_operation, optype=optype)
958 opObj = puObj.addOperation(name=name_operation, optype=optype)
968 # opObj.addParameter(name=name_parameter, value=value, format=format)
959 # opObj.addParameter(name=name_parameter, value=value, format=format)
969 opObj.addParameter(name=name_parameter1, value=opObj.id, format=format1)
960 opObj.addParameter(name=name_parameter1, value=opObj.id, format=format1)
970
961
971 channelList = str(self.volGraphChannelList.text()).replace(" ","")
962 channelList = str(self.volGraphChannelList.text()).replace(" ","")
972 xvalue = str(self.volGraphfreqrange.text()).replace(" ","")
963 xvalue = str(self.volGraphfreqrange.text()).replace(" ","")
973 yvalue = str(self.volGraphHeightrange.text()).replace(" ","")
964 yvalue = str(self.volGraphHeightrange.text()).replace(" ","")
974
965
975 if channelList:
966 if channelList:
976 opObj.addParameter(name='channelList', value=channelList, format='intlist')
967 opObj.addParameter(name='channelList', value=channelList, format='intlist')
977
968
978 if xvalue:
969 if xvalue:
979 xvalueList = xvalue.split(',')
970 xvalueList = xvalue.split(',')
980 try:
971 try:
981 value0 = float(xvalueList[0])
972 value0 = float(xvalueList[0])
982 value1 = float(xvalueList[1])
973 value1 = float(xvalueList[1])
983 except:
974 except:
984 return 0
975 return 0
985 opObj.addParameter(name='xmin', value=value0, format='float')
976 opObj.addParameter(name='xmin', value=value0, format='float')
986 opObj.addParameter(name='xmax', value=value1, format='float')
977 opObj.addParameter(name='xmax', value=value1, format='float')
987
978
988
979
989 if not yvalue == "":
980 if not yvalue == "":
990 yvalueList = yvalue.split(",")
981 yvalueList = yvalue.split(",")
991 try:
982 try:
992 value0 = int(yvalueList[0])
983 value0 = int(yvalueList[0])
993 value1 = int(yvalueList[1])
984 value1 = int(yvalueList[1])
994 except:
985 except:
995 return 0
986 return 0
996
987
997 opObj.addParameter(name='ymin', value=value0, format='int')
988 opObj.addParameter(name='ymin', value=value0, format='int')
998 opObj.addParameter(name='ymax', value=value1, format='int')
989 opObj.addParameter(name='ymax', value=value1, format='int')
999
990
1000 if self.volGraphCebSave.isChecked():
991 if self.volGraphCebSave.isChecked():
1001 checkPath = True
992 checkPath = True
1002 opObj.addParameter(name='save', value='1', format='int')
993 opObj.addParameter(name='save', value='1', format='int')
1003 opObj.addParameter(name='figpath', value=str(self.volGraphPath.text()), format='str')
994 opObj.addParameter(name='figpath', value=str(self.volGraphPath.text()), format='str')
1004 value = str(self.volGraphPrefix.text()).replace(" ","")
995 value = str(self.volGraphPrefix.text()).replace(" ","")
1005 if value:
996 if value:
1006 opObj.addParameter(name='figfile', value=value, format='str')
997 opObj.addParameter(name='figfile', value=value, format='str')
1007
998
1008 localfolder = None
999 localfolder = None
1009 if checkPath:
1000 if checkPath:
1010 localfolder = str(self.volGraphPath.text())
1001 localfolder = str(self.volGraphPath.text())
1011 if localfolder == '':
1002 if localfolder == '':
1012 self.console.clear()
1003 self.console.clear()
1013 self.console.append("Graphic path should be defined")
1004 self.console.append("Graphic path should be defined")
1014 return 0
1005 return 0
1015
1006
1016 # if something happend
1007 # if something happend
1017 parms_ok, output_path, blocksperfile, profilesperblock = self.checkInputsPUSave(datatype='Voltage')
1008 parms_ok, output_path, blocksperfile, profilesperblock = self.checkInputsPUSave(datatype='Voltage')
1018 if parms_ok:
1009 if parms_ok:
1019 name_operation = 'VoltageWriter'
1010 name_operation = 'VoltageWriter'
1020 optype = 'other'
1011 optype = 'other'
1021 name_parameter1 = 'path'
1012 name_parameter1 = 'path'
1022 name_parameter2 = 'blocksPerFile'
1013 name_parameter2 = 'blocksPerFile'
1023 name_parameter3 = 'profilesPerBlock'
1014 name_parameter3 = 'profilesPerBlock'
1024 value1 = output_path
1015 value1 = output_path
1025 value2 = blocksperfile
1016 value2 = blocksperfile
1026 value3 = profilesperblock
1017 value3 = profilesperblock
1027 format = "int"
1018 format = "int"
1028 opObj = puObj.addOperation(name=name_operation, optype=optype)
1019 opObj = puObj.addOperation(name=name_operation, optype=optype)
1029 opObj.addParameter(name=name_parameter1, value=value1)
1020 opObj.addParameter(name=name_parameter1, value=value1)
1030 opObj.addParameter(name=name_parameter2, value=value2, format=format)
1021 opObj.addParameter(name=name_parameter2, value=value2, format=format)
1031 opObj.addParameter(name=name_parameter3, value=value3, format=format)
1022 opObj.addParameter(name=name_parameter3, value=value3, format=format)
1032
1023
1033 self.console.clear()
1024 self.console.clear()
1034 try:
1025 try:
1035 self.refreshPUProperties(puObj)
1026 self.refreshPUProperties(puObj)
1036 except:
1027 except:
1037 self.console.append("An error reading input parameters was found ...Check them!")
1028 self.console.append("An error reading input parameters was found ...Check them!")
1038 return 0
1029 return 0
1039
1030
1040 self.console.append("Save your project and press Play button to start signal processing")
1031 self.console.append("Save your project and press Play button to start signal processing")
1041
1032
1042 self.actionSaveToolbar.setEnabled(True)
1033 self._enable_play_button()
1043 self.actionStarToolbar.setEnabled(True)
1034 self._enable_save_button()
1044
1045 self.actionSave.setEnabled(True)
1046 self.actionStart.setEnabled(True)
1047
1035
1048 return 1
1036 return 1
1049
1037
1050 """
1038 """
1051 Voltage Graph
1039 Voltage Graph
1052 """
1040 """
1053 @pyqtSignature("int")
1041 @pyqtSignature("int")
1054 def on_volGraphCebSave_stateChanged(self, p0):
1042 def on_volGraphCebSave_stateChanged(self, p0):
1055 """
1043 """
1056 Check Box habilita ingresode del numero de Integraciones a realizar
1044 Check Box habilita ingresode del numero de Integraciones a realizar
1057 """
1045 """
1058 if p0 == 2:
1046 if p0 == 2:
1059 self.volGraphPath.setEnabled(True)
1047 self.volGraphPath.setEnabled(True)
1060 self.volGraphPrefix.setEnabled(True)
1048 self.volGraphPrefix.setEnabled(True)
1061 self.volGraphToolPath.setEnabled(True)
1049 self.volGraphToolPath.setEnabled(True)
1062
1050
1063 if p0 == 0:
1051 if p0 == 0:
1064 self.volGraphPath.setEnabled(False)
1052 self.volGraphPath.setEnabled(False)
1065 self.volGraphPrefix.setEnabled(False)
1053 self.volGraphPrefix.setEnabled(False)
1066 self.volGraphToolPath.setEnabled(False)
1054 self.volGraphToolPath.setEnabled(False)
1067
1055
1068 @pyqtSignature("")
1056 @pyqtSignature("")
1069 def on_volGraphToolPath_clicked(self):
1057 def on_volGraphToolPath_clicked(self):
1070 """
1058 """
1071 Donde se guardan los DATOS
1059 Donde se guardan los DATOS
1072 """
1060 """
1073 save_path = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
1061 save_path = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
1074 self.volGraphPath.setText(save_path)
1062 self.volGraphPath.setText(save_path)
1075
1063
1076 if not os.path.exists(save_path):
1064 if not os.path.exists(save_path):
1077 self.console.clear()
1065 self.console.clear()
1078 self.console.append("Set a valid path")
1066 self.console.append("Set a valid path")
1079 self.volGraphOk.setEnabled(False)
1067 self.volGraphOk.setEnabled(False)
1080 return
1068 return
1081
1069
1082 @pyqtSignature("int")
1070 @pyqtSignature("int")
1083 def on_volGraphCebshow_stateChanged(self, p0):
1071 def on_volGraphCebshow_stateChanged(self, p0):
1084 """
1072 """
1085 Check Box habilita ingresode del numero de Integraciones a realizar
1073 Check Box habilita ingresode del numero de Integraciones a realizar
1086 """
1074 """
1087 if p0 == 0:
1075 if p0 == 0:
1088
1076
1089 self.volGraphChannelList.setEnabled(False)
1077 self.volGraphChannelList.setEnabled(False)
1090 self.volGraphfreqrange.setEnabled(False)
1078 self.volGraphfreqrange.setEnabled(False)
1091 self.volGraphHeightrange.setEnabled(False)
1079 self.volGraphHeightrange.setEnabled(False)
1092 if p0 == 2:
1080 if p0 == 2:
1093
1081
1094 self.volGraphChannelList.setEnabled(True)
1082 self.volGraphChannelList.setEnabled(True)
1095 self.volGraphfreqrange.setEnabled(True)
1083 self.volGraphfreqrange.setEnabled(True)
1096 self.volGraphHeightrange.setEnabled(True)
1084 self.volGraphHeightrange.setEnabled(True)
1097
1085
1098 """
1086 """
1099 Spectra operation
1087 Spectra operation
1100 """
1088 """
1101 @pyqtSignature("int")
1089 @pyqtSignature("int")
1102 def on_specOpCebRadarfrequency_stateChanged(self, p0):
1090 def on_specOpCebRadarfrequency_stateChanged(self, p0):
1103 """
1091 """
1104 Check Box habilita ingresode del numero de Integraciones a realizar
1092 Check Box habilita ingresode del numero de Integraciones a realizar
1105 """
1093 """
1106 if p0 == 2:
1094 if p0 == 2:
1107 self.specOpRadarfrequency.setEnabled(True)
1095 self.specOpRadarfrequency.setEnabled(True)
1108 if p0 == 0:
1096 if p0 == 0:
1109 self.specOpRadarfrequency.clear()
1097 self.specOpRadarfrequency.clear()
1110 self.specOpRadarfrequency.setEnabled(False)
1098 self.specOpRadarfrequency.setEnabled(False)
1111
1099
1112
1100
1113 @pyqtSignature("int")
1101 @pyqtSignature("int")
1114 def on_specOpCebCrossSpectra_stateChanged(self, p0):
1102 def on_specOpCebCrossSpectra_stateChanged(self, p0):
1115 """
1103 """
1116 Habilita la opcion de aadir el parmetro CrossSpectra a la Unidad de Procesamiento .
1104 Habilita la opcion de aadir el parmetro CrossSpectra a la Unidad de Procesamiento .
1117 """
1105 """
1118 if p0 == 2:
1106 if p0 == 2:
1119 # self.specOpnFFTpoints.setEnabled(True)
1107 # self.specOpnFFTpoints.setEnabled(True)
1120 self.specOppairsList.setEnabled(True)
1108 self.specOppairsList.setEnabled(True)
1121 if p0 == 0:
1109 if p0 == 0:
1122 # self.specOpnFFTpoints.setEnabled(False)
1110 # self.specOpnFFTpoints.setEnabled(False)
1123 self.specOppairsList.setEnabled(False)
1111 self.specOppairsList.setEnabled(False)
1124
1112
1125 @pyqtSignature("int")
1113 @pyqtSignature("int")
1126 def on_specOpCebChannel_stateChanged(self, p0):
1114 def on_specOpCebChannel_stateChanged(self, p0):
1127 """
1115 """
1128 Habilita la opcion de aadir el parmetro numero de Canales a la Unidad de Procesamiento .
1116 Habilita la opcion de aadir el parmetro numero de Canales a la Unidad de Procesamiento .
1129 """
1117 """
1130 if p0 == 2:
1118 if p0 == 2:
1131 self.specOpChannel.setEnabled(True)
1119 self.specOpChannel.setEnabled(True)
1132 self.specOpComChannel.setEnabled(True)
1120 self.specOpComChannel.setEnabled(True)
1133 if p0 == 0:
1121 if p0 == 0:
1134 self.specOpChannel.setEnabled(False)
1122 self.specOpChannel.setEnabled(False)
1135 self.specOpComChannel.setEnabled(False)
1123 self.specOpComChannel.setEnabled(False)
1136
1124
1137 @pyqtSignature("int")
1125 @pyqtSignature("int")
1138 def on_specOpCebHeights_stateChanged(self, p0):
1126 def on_specOpCebHeights_stateChanged(self, p0):
1139 """
1127 """
1140 Habilita la opcion de aadir el parmetro de alturas a la Unidad de Procesamiento .
1128 Habilita la opcion de aadir el parmetro de alturas a la Unidad de Procesamiento .
1141 """
1129 """
1142 if p0 == 2:
1130 if p0 == 2:
1143 self.specOpComHeights.setEnabled(True)
1131 self.specOpComHeights.setEnabled(True)
1144 self.specOpHeights.setEnabled(True)
1132 self.specOpHeights.setEnabled(True)
1145 if p0 == 0:
1133 if p0 == 0:
1146 self.specOpComHeights.setEnabled(False)
1134 self.specOpComHeights.setEnabled(False)
1147 self.specOpHeights.setEnabled(False)
1135 self.specOpHeights.setEnabled(False)
1148
1136
1149
1137
1150 @pyqtSignature("int")
1138 @pyqtSignature("int")
1151 def on_specOpCebIncoherent_stateChanged(self, p0):
1139 def on_specOpCebIncoherent_stateChanged(self, p0):
1152 """
1140 """
1153 Habilita la opcion de aadir el parmetro integraciones incoherentes a la Unidad de Procesamiento .
1141 Habilita la opcion de aadir el parmetro integraciones incoherentes a la Unidad de Procesamiento .
1154 """
1142 """
1155 if p0 == 2:
1143 if p0 == 2:
1156 self.specOpIncoherent.setEnabled(True)
1144 self.specOpIncoherent.setEnabled(True)
1157 if p0 == 0:
1145 if p0 == 0:
1158 self.specOpIncoherent.setEnabled(False)
1146 self.specOpIncoherent.setEnabled(False)
1159
1147
1160 @pyqtSignature("int")
1148 @pyqtSignature("int")
1161 def on_specOpCebRemoveDC_stateChanged(self, p0):
1149 def on_specOpCebRemoveDC_stateChanged(self, p0):
1162 """
1150 """
1163 Habilita la opcion de aadir el parmetro remover DC a la Unidad de Procesamiento .
1151 Habilita la opcion de aadir el parmetro remover DC a la Unidad de Procesamiento .
1164 """
1152 """
1165 if p0 == 2:
1153 if p0 == 2:
1166 self.specOpComRemoveDC.setEnabled(True)
1154 self.specOpComRemoveDC.setEnabled(True)
1167 if p0 == 0:
1155 if p0 == 0:
1168 self.specOpComRemoveDC.setEnabled(False)
1156 self.specOpComRemoveDC.setEnabled(False)
1169
1157
1170 @pyqtSignature("int")
1158 @pyqtSignature("int")
1171 def on_specOpCebgetNoise_stateChanged(self, p0):
1159 def on_specOpCebgetNoise_stateChanged(self, p0):
1172 """
1160 """
1173 Habilita la opcion de aadir la estimacion de ruido a la Unidad de Procesamiento .
1161 Habilita la opcion de aadir la estimacion de ruido a la Unidad de Procesamiento .
1174 """
1162 """
1175 if p0 == 2:
1163 if p0 == 2:
1176 self.specOpgetNoise.setEnabled(True)
1164 self.specOpgetNoise.setEnabled(True)
1177
1165
1178 if p0 == 0:
1166 if p0 == 0:
1179 self.specOpgetNoise.setEnabled(False)
1167 self.specOpgetNoise.setEnabled(False)
1180
1168
1181 @pyqtSignature("")
1169 @pyqtSignature("")
1182 def on_specOpOk_clicked(self):
1170 def on_specOpOk_clicked(self):
1183 """
1171 """
1184 AÑADE OPERACION SPECTRA
1172 AÑADE OPERACION SPECTRA
1185 """
1173 """
1186
1174
1187 addFTP = False
1175 addFTP = False
1188 checkPath = False
1176 checkPath = False
1189
1177
1190 self.actionSaveToolbar.setEnabled(False)
1178 self._disable_play_button()
1191 self.actionStarToolbar.setEnabled(False)
1179 self._disable_save_button()
1192
1193 self.actionSave.setEnabled(False)
1194 self.actionStart.setEnabled(False)
1195
1180
1196 self.console.clear()
1181 self.console.clear()
1197 self.console.append("Checking input parameters ...")
1182 self.console.append("Checking input parameters ...")
1198
1183
1199 projectObj = self.getSelectedProjectObj()
1184 projectObj = self.getSelectedProjectObj()
1200
1185
1201 if not projectObj:
1186 if not projectObj:
1202 self.console.append("Please select a project before update it")
1187 self.console.append("Please select a project before update it")
1203 return
1188 return
1204
1189
1205 puObj = self.getSelectedItemObj()
1190 puObj = self.getSelectedItemObj()
1206
1191
1207 puObj.removeOperations()
1192 puObj.removeOperations()
1208
1193
1209 if self.specOpCebRadarfrequency.isChecked():
1194 if self.specOpCebRadarfrequency.isChecked():
1210 value = str(self.specOpRadarfrequency.text())
1195 value = str(self.specOpRadarfrequency.text())
1211 format = 'float'
1196 format = 'float'
1212 name_operation = 'setRadarFrequency'
1197 name_operation = 'setRadarFrequency'
1213 name_parameter = 'frequency'
1198 name_parameter = 'frequency'
1214
1199
1215 if not isFloat(value):
1200 if not isFloat(value):
1216 self.console.clear()
1201 self.console.clear()
1217 self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter))
1202 self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter))
1218 return 0
1203 return 0
1219
1204
1220 radarfreq = float(value)*1e6
1205 radarfreq = float(value)*1e6
1221 opObj = puObj.addOperation(name=name_operation)
1206 opObj = puObj.addOperation(name=name_operation)
1222 opObj.addParameter(name=name_parameter, value=radarfreq, format=format)
1207 opObj.addParameter(name=name_parameter, value=radarfreq, format=format)
1223
1208
1224 inputId = puObj.getInputId()
1209 inputId = puObj.getInputId()
1225 inputPuObj = projectObj.getProcUnitObj(inputId)
1210 inputPuObj = projectObj.getProcUnitObj(inputId)
1226
1211
1227 if inputPuObj.datatype == 'Voltage' or inputPuObj.datatype == 'USRP':
1212 if inputPuObj.datatype == 'Voltage' or inputPuObj.datatype == 'USRP':
1228
1213
1229 value = str(self.specOpnFFTpoints.text())
1214 value = str(self.specOpnFFTpoints.text())
1230
1215
1231 if not isInt(value):
1216 if not isInt(value):
1232 self.console.append("Invalid value '%s' for '%s'" %(value, 'nFFTPoints'))
1217 self.console.append("Invalid value '%s' for '%s'" %(value, 'nFFTPoints'))
1233 return 0
1218 return 0
1234
1219
1235 puObj.addParameter(name='nFFTPoints', value=value, format='int')
1220 puObj.addParameter(name='nFFTPoints', value=value, format='int')
1236
1221
1237 value = str(self.specOpProfiles.text())
1222 value = str(self.specOpProfiles.text())
1238 if not isInt(value):
1223 if not isInt(value):
1239 self.console.append("Please write a value on Profiles field")
1224 self.console.append("Please write a value on Profiles field")
1240 else:
1225 else:
1241 puObj.addParameter(name='nProfiles', value=value, format='int')
1226 puObj.addParameter(name='nProfiles', value=value, format='int')
1242
1227
1243 value = str(self.specOpippFactor.text())
1228 value = str(self.specOpippFactor.text())
1244 if not isInt(value):
1229 if not isInt(value):
1245 self.console.append("Please write a value on IppFactor field")
1230 self.console.append("Please write a value on IppFactor field")
1246 else:
1231 else:
1247 puObj.addParameter(name='ippFactor' , value=value , format='int')
1232 puObj.addParameter(name='ippFactor' , value=value , format='int')
1248
1233
1249 if self.specOpCebCrossSpectra.isChecked():
1234 if self.specOpCebCrossSpectra.isChecked():
1250 name_parameter = 'pairsList'
1235 name_parameter = 'pairsList'
1251 format = 'pairslist'
1236 format = 'pairslist'
1252 value = str(self.specOppairsList.text())
1237 value = str(self.specOppairsList.text())
1253
1238
1254 if value == "":
1239 if value == "":
1255 print "Please fill the pairs list field"
1240 print "Please fill the pairs list field"
1256 return 0
1241 return 0
1257
1242
1258 if not opObj.addParameter(name=name_parameter, value=value, format=format):
1243 if not opObj.addParameter(name=name_parameter, value=value, format=format):
1259 self.console.append("Invalid value '%s' for '%s'" %(value,name_parameter))
1244 self.console.append("Invalid value '%s' for '%s'" %(value,name_parameter))
1260 return 0
1245 return 0
1261
1246
1262 if self.specOpCebHeights.isChecked():
1247 if self.specOpCebHeights.isChecked():
1263 value = str(self.specOpHeights.text())
1248 value = str(self.specOpHeights.text())
1264
1249
1265 if value == "":
1250 if value == "":
1266 self.console.append("Empty value for '%s'" %(value, "Height range"))
1251 self.console.append("Empty value for '%s'" %(value, "Height range"))
1267 return 0
1252 return 0
1268
1253
1269 valueList = value.split(',')
1254 valueList = value.split(',')
1270 format = 'float'
1255 format = 'float'
1271 value0 = valueList[0]
1256 value0 = valueList[0]
1272 value1 = valueList[1]
1257 value1 = valueList[1]
1273
1258
1274 if not isFloat(value0) or not isFloat(value1):
1259 if not isFloat(value0) or not isFloat(value1):
1275 self.console.append("Invalid value '%s' for '%s'" %(value, "Height range"))
1260 self.console.append("Invalid value '%s' for '%s'" %(value, "Height range"))
1276 return 0
1261 return 0
1277
1262
1278 if self.specOpComHeights.currentIndex() == 0:
1263 if self.specOpComHeights.currentIndex() == 0:
1279 name_operation = 'selectHeights'
1264 name_operation = 'selectHeights'
1280 name_parameter1 = 'minHei'
1265 name_parameter1 = 'minHei'
1281 name_parameter2 = 'maxHei'
1266 name_parameter2 = 'maxHei'
1282 else:
1267 else:
1283 name_operation = 'selectHeightsByIndex'
1268 name_operation = 'selectHeightsByIndex'
1284 name_parameter1 = 'minIndex'
1269 name_parameter1 = 'minIndex'
1285 name_parameter2 = 'maxIndex'
1270 name_parameter2 = 'maxIndex'
1286
1271
1287 opObj = puObj.addOperation(name=name_operation)
1272 opObj = puObj.addOperation(name=name_operation)
1288 opObj.addParameter(name=name_parameter1, value=value0, format=format)
1273 opObj.addParameter(name=name_parameter1, value=value0, format=format)
1289 opObj.addParameter(name=name_parameter2, value=value1, format=format)
1274 opObj.addParameter(name=name_parameter2, value=value1, format=format)
1290
1275
1291 if self.specOpCebChannel.isChecked():
1276 if self.specOpCebChannel.isChecked():
1292
1277
1293 if self.specOpComChannel.currentIndex() == 0:
1278 if self.specOpComChannel.currentIndex() == 0:
1294 name_operation = "selectChannels"
1279 name_operation = "selectChannels"
1295 name_parameter = 'channelList'
1280 name_parameter = 'channelList'
1296 else:
1281 else:
1297 name_operation = "selectChannelsByIndex"
1282 name_operation = "selectChannelsByIndex"
1298 name_parameter = 'channelIndexList'
1283 name_parameter = 'channelIndexList'
1299
1284
1300 format = 'intlist'
1285 format = 'intlist'
1301 value = str(self.specOpChannel.text())
1286 value = str(self.specOpChannel.text())
1302
1287
1303 if value == "":
1288 if value == "":
1304 print "Please fill channel list"
1289 print "Please fill channel list"
1305 return 0
1290 return 0
1306
1291
1307 if not isList(value):
1292 if not isList(value):
1308 self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter))
1293 self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter))
1309 return 0
1294 return 0
1310
1295
1311 opObj = puObj.addOperation(name=name_operation)
1296 opObj = puObj.addOperation(name=name_operation)
1312 opObj.addParameter(name=name_parameter, value=value, format=format)
1297 opObj.addParameter(name=name_parameter, value=value, format=format)
1313
1298
1314 if self.specOpCebIncoherent.isChecked():
1299 if self.specOpCebIncoherent.isChecked():
1315
1300
1316 name_operation = 'IncohInt'
1301 name_operation = 'IncohInt'
1317 optype = 'other'
1302 optype = 'other'
1318
1303
1319 if self.specOpCobIncInt.currentIndex() == 0:
1304 if self.specOpCobIncInt.currentIndex() == 0:
1320 name_parameter = 'timeInterval'
1305 name_parameter = 'timeInterval'
1321 format = 'float'
1306 format = 'float'
1322 else:
1307 else:
1323 name_parameter = 'n'
1308 name_parameter = 'n'
1324 format = 'int'
1309 format = 'int'
1325
1310
1326 value = str(self.specOpIncoherent.text())
1311 value = str(self.specOpIncoherent.text())
1327
1312
1328 if value == "":
1313 if value == "":
1329 print "Please fill Incoherent integration value"
1314 print "Please fill Incoherent integration value"
1330 return 0
1315 return 0
1331
1316
1332 if not isFloat(value):
1317 if not isFloat(value):
1333 self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter))
1318 self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter))
1334 return 0
1319 return 0
1335
1320
1336 opObj = puObj.addOperation(name=name_operation, optype=optype)
1321 opObj = puObj.addOperation(name=name_operation, optype=optype)
1337 opObj.addParameter(name=name_parameter, value=value, format=format)
1322 opObj.addParameter(name=name_parameter, value=value, format=format)
1338
1323
1339 if self.specOpCebRemoveDC.isChecked():
1324 if self.specOpCebRemoveDC.isChecked():
1340 name_operation = 'removeDC'
1325 name_operation = 'removeDC'
1341 name_parameter = 'mode'
1326 name_parameter = 'mode'
1342 format = 'int'
1327 format = 'int'
1343 if self.specOpComRemoveDC.currentIndex() == 0:
1328 if self.specOpComRemoveDC.currentIndex() == 0:
1344 value = 1
1329 value = 1
1345 else:
1330 else:
1346 value = 2
1331 value = 2
1347 opObj = puObj.addOperation(name=name_operation)
1332 opObj = puObj.addOperation(name=name_operation)
1348 opObj.addParameter(name=name_parameter, value=value, format=format)
1333 opObj.addParameter(name=name_parameter, value=value, format=format)
1349
1334
1350 if self.specOpCebRemoveInt.isChecked():
1335 if self.specOpCebRemoveInt.isChecked():
1351 name_operation = 'removeInterference'
1336 name_operation = 'removeInterference'
1352 opObj = puObj.addOperation(name=name_operation)
1337 opObj = puObj.addOperation(name=name_operation)
1353
1338
1354
1339
1355 if self.specOpCebgetNoise.isChecked():
1340 if self.specOpCebgetNoise.isChecked():
1356 value = str(self.specOpgetNoise.text())
1341 value = str(self.specOpgetNoise.text())
1357 valueList = value.split(',')
1342 valueList = value.split(',')
1358 format = 'float'
1343 format = 'float'
1359 name_operation = "getNoise"
1344 name_operation = "getNoise"
1360 opObj = puObj.addOperation(name=name_operation)
1345 opObj = puObj.addOperation(name=name_operation)
1361
1346
1362 if not value == '':
1347 if not value == '':
1363 valueList = value.split(',')
1348 valueList = value.split(',')
1364 length = len(valueList)
1349 length = len(valueList)
1365 if length == 1:
1350 if length == 1:
1366 try:
1351 try:
1367 value1 = float(valueList[0])
1352 value1 = float(valueList[0])
1368 except:
1353 except:
1369 self.console.clear()
1354 self.console.clear()
1370 self.console.append("Please Write correct parameter Get Noise")
1355 self.console.append("Please Write correct parameter Get Noise")
1371 return 0
1356 return 0
1372 name1 = 'minHei'
1357 name1 = 'minHei'
1373 opObj.addParameter(name=name1, value=value1, format=format)
1358 opObj.addParameter(name=name1, value=value1, format=format)
1374 elif length == 2:
1359 elif length == 2:
1375 try:
1360 try:
1376 value1 = float(valueList[0])
1361 value1 = float(valueList[0])
1377 value2 = float(valueList[1])
1362 value2 = float(valueList[1])
1378 except:
1363 except:
1379 self.console.clear()
1364 self.console.clear()
1380 self.console.append("Please Write corrects parameter Get Noise")
1365 self.console.append("Please Write corrects parameter Get Noise")
1381 return 0
1366 return 0
1382 name1 = 'minHei'
1367 name1 = 'minHei'
1383 name2 = 'maxHei'
1368 name2 = 'maxHei'
1384 opObj.addParameter(name=name1, value=value1, format=format)
1369 opObj.addParameter(name=name1, value=value1, format=format)
1385 opObj.addParameter(name=name2, value=value2, format=format)
1370 opObj.addParameter(name=name2, value=value2, format=format)
1386
1371
1387 elif length == 3:
1372 elif length == 3:
1388 try:
1373 try:
1389 value1 = float(valueList[0])
1374 value1 = float(valueList[0])
1390 value2 = float(valueList[1])
1375 value2 = float(valueList[1])
1391 value3 = float(valueList[2])
1376 value3 = float(valueList[2])
1392 except:
1377 except:
1393 self.console.clear()
1378 self.console.clear()
1394 self.console.append("Please Write corrects parameter Get Noise")
1379 self.console.append("Please Write corrects parameter Get Noise")
1395 return 0
1380 return 0
1396 name1 = 'minHei'
1381 name1 = 'minHei'
1397 name2 = 'maxHei'
1382 name2 = 'maxHei'
1398 name3 = 'minVel'
1383 name3 = 'minVel'
1399 opObj.addParameter(name=name1, value=value1, format=format)
1384 opObj.addParameter(name=name1, value=value1, format=format)
1400 opObj.addParameter(name=name2, value=value2, format=format)
1385 opObj.addParameter(name=name2, value=value2, format=format)
1401 opObj.addParameter(name=name3, value=value3, format=format)
1386 opObj.addParameter(name=name3, value=value3, format=format)
1402
1387
1403 elif length == 4:
1388 elif length == 4:
1404 try:
1389 try:
1405 value1 = float(valueList[0])
1390 value1 = float(valueList[0])
1406 value2 = float(valueList[1])
1391 value2 = float(valueList[1])
1407 value3 = float(valueList[2])
1392 value3 = float(valueList[2])
1408 value4 = float(valueList[3])
1393 value4 = float(valueList[3])
1409 except:
1394 except:
1410 self.console.clear()
1395 self.console.clear()
1411 self.console.append("Please Write corrects parameter Get Noise")
1396 self.console.append("Please Write corrects parameter Get Noise")
1412 return 0
1397 return 0
1413 name1 = 'minHei'
1398 name1 = 'minHei'
1414 name2 = 'maxHei'
1399 name2 = 'maxHei'
1415 name3 = 'minVel'
1400 name3 = 'minVel'
1416 name4 = 'maxVel'
1401 name4 = 'maxVel'
1417 opObj.addParameter(name=name1, value=value1, format=format)
1402 opObj.addParameter(name=name1, value=value1, format=format)
1418 opObj.addParameter(name=name2, value=value2, format=format)
1403 opObj.addParameter(name=name2, value=value2, format=format)
1419 opObj.addParameter(name=name3, value=value3, format=format)
1404 opObj.addParameter(name=name3, value=value3, format=format)
1420 opObj.addParameter(name=name4, value=value4, format=format)
1405 opObj.addParameter(name=name4, value=value4, format=format)
1421
1406
1422 elif length > 4:
1407 elif length > 4:
1423 self.console.clear()
1408 self.console.clear()
1424 self.console.append("Get Noise Operation only accepts 4 parameters")
1409 self.console.append("Get Noise Operation only accepts 4 parameters")
1425 return 0
1410 return 0
1426
1411
1427 channelList = str(self.specGgraphChannelList.text()).replace(" ","")
1412 channelList = str(self.specGgraphChannelList.text()).replace(" ","")
1428 vel_range = str(self.specGgraphFreq.text()).replace(" ","")
1413 vel_range = str(self.specGgraphFreq.text()).replace(" ","")
1429 hei_range = str(self.specGgraphHeight.text()).replace(" ","")
1414 hei_range = str(self.specGgraphHeight.text()).replace(" ","")
1430 db_range = str(self.specGgraphDbsrange.text()).replace(" ","")
1415 db_range = str(self.specGgraphDbsrange.text()).replace(" ","")
1431
1416
1432 trange = str(self.specGgraphTminTmax.text()).replace(" ","")
1417 trange = str(self.specGgraphTminTmax.text()).replace(" ","")
1433 magrange = str(self.specGgraphmagnitud.text()).replace(" ","")
1418 magrange = str(self.specGgraphmagnitud.text()).replace(" ","")
1434 phaserange = str(self.specGgraphPhase.text()).replace(" ","")
1419 phaserange = str(self.specGgraphPhase.text()).replace(" ","")
1435 # timerange = str(self.specGgraphTimeRange.text()).replace(" ","")
1420 # timerange = str(self.specGgraphTimeRange.text()).replace(" ","")
1436
1421
1437 figpath = str(self.specGraphPath.text())
1422 figpath = str(self.specGraphPath.text())
1438 figfile = str(self.specGraphPrefix.text()).replace(" ","")
1423 figfile = str(self.specGraphPrefix.text()).replace(" ","")
1439 try:
1424 try:
1440 wrperiod = int(str(self.specGgraphftpratio.text()).replace(" ",""))
1425 wrperiod = int(str(self.specGgraphftpratio.text()).replace(" ",""))
1441 except:
1426 except:
1442 wrperiod = None
1427 wrperiod = None
1443
1428
1444 #-----Spectra Plot-----
1429 #-----Spectra Plot-----
1445 if self.specGraphCebSpectraplot.isChecked():
1430 if self.specGraphCebSpectraplot.isChecked():
1446
1431
1447 opObj = puObj.addOperation(name='SpectraPlot', optype='other')
1432 opObj = puObj.addOperation(name='SpectraPlot', optype='other')
1448 opObj.addParameter(name='id', value=opObj.id, format='int')
1433 opObj.addParameter(name='id', value=opObj.id, format='int')
1449
1434
1450 if not channelList == '':
1435 if not channelList == '':
1451
1436
1452 if not isList(channelList):
1437 if not isList(channelList):
1453 self.console.append("Invalid channelList")
1438 self.console.append("Invalid channelList")
1454 return 0
1439 return 0
1455
1440
1456 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1441 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1457
1442
1458 if not vel_range == '':
1443 if not vel_range == '':
1459 xvalueList = vel_range.split(',')
1444 xvalueList = vel_range.split(',')
1460 try:
1445 try:
1461 value1 = float(xvalueList[0])
1446 value1 = float(xvalueList[0])
1462 value2 = float(xvalueList[1])
1447 value2 = float(xvalueList[1])
1463 except:
1448 except:
1464 self.console.clear()
1449 self.console.clear()
1465 self.console.append("Invalid velocity/frequency range")
1450 self.console.append("Invalid velocity/frequency range")
1466 return 0
1451 return 0
1467
1452
1468 opObj.addParameter(name='xmin', value=value1, format='float')
1453 opObj.addParameter(name='xmin', value=value1, format='float')
1469 opObj.addParameter(name='xmax', value=value2, format='float')
1454 opObj.addParameter(name='xmax', value=value2, format='float')
1470
1455
1471 if not hei_range == '':
1456 if not hei_range == '':
1472 yvalueList = hei_range.split(",")
1457 yvalueList = hei_range.split(",")
1473 try:
1458 try:
1474 value1 = float(yvalueList[0])
1459 value1 = float(yvalueList[0])
1475 value2 = float(yvalueList[1])
1460 value2 = float(yvalueList[1])
1476 except:
1461 except:
1477 self.console.clear()
1462 self.console.clear()
1478 self.console.append("Invalid height range")
1463 self.console.append("Invalid height range")
1479 return 0
1464 return 0
1480
1465
1481 opObj.addParameter(name='ymin', value=value1, format='float')
1466 opObj.addParameter(name='ymin', value=value1, format='float')
1482 opObj.addParameter(name='ymax', value=value2, format='float')
1467 opObj.addParameter(name='ymax', value=value2, format='float')
1483
1468
1484 if not db_range == '':
1469 if not db_range == '':
1485 zvalueList = db_range.split(",")
1470 zvalueList = db_range.split(",")
1486 try:
1471 try:
1487 value1 = float(zvalueList[0])
1472 value1 = float(zvalueList[0])
1488 value2 = float(zvalueList[1])
1473 value2 = float(zvalueList[1])
1489 except:
1474 except:
1490 self.console.clear()
1475 self.console.clear()
1491 self.console.append("Invalid db range")
1476 self.console.append("Invalid db range")
1492 return 0
1477 return 0
1493
1478
1494 opObj.addParameter(name='zmin', value=value1, format='float')
1479 opObj.addParameter(name='zmin', value=value1, format='float')
1495 opObj.addParameter(name='zmax', value=value2, format='float')
1480 opObj.addParameter(name='zmax', value=value2, format='float')
1496
1481
1497 if self.specGraphSaveSpectra.isChecked():
1482 if self.specGraphSaveSpectra.isChecked():
1498 checkPath = True
1483 checkPath = True
1499 opObj.addParameter(name='save', value=1 , format='bool')
1484 opObj.addParameter(name='save', value=1 , format='bool')
1500 opObj.addParameter(name='figpath', value=figpath, format='str')
1485 opObj.addParameter(name='figpath', value=figpath, format='str')
1501 if figfile:
1486 if figfile:
1502 opObj.addParameter(name='figfile', value=figfile, format='str')
1487 opObj.addParameter(name='figfile', value=figfile, format='str')
1503 if wrperiod:
1488 if wrperiod:
1504 opObj.addParameter(name='wr_period', value=wrperiod,format='int')
1489 opObj.addParameter(name='wr_period', value=wrperiod,format='int')
1505
1490
1506 if self.specGraphftpSpectra.isChecked():
1491 if self.specGraphftpSpectra.isChecked():
1507 opObj.addParameter(name='ftp', value='1', format='int')
1492 opObj.addParameter(name='ftp', value='1', format='int')
1508 self.addFTPConf2Operation(puObj, opObj)
1493 self.addFTPConf2Operation(puObj, opObj)
1509 addFTP = True
1494 addFTP = True
1510
1495
1511 if self.specGraphCebCrossSpectraplot.isChecked():
1496 if self.specGraphCebCrossSpectraplot.isChecked():
1512
1497
1513 opObj = puObj.addOperation(name='CrossSpectraPlot', optype='other')
1498 opObj = puObj.addOperation(name='CrossSpectraPlot', optype='other')
1514 # opObj.addParameter(name='power_cmap', value='jet', format='str')
1499 # opObj.addParameter(name='power_cmap', value='jet', format='str')
1515 # opObj.addParameter(name='coherence_cmap', value='jet', format='str')
1500 # opObj.addParameter(name='coherence_cmap', value='jet', format='str')
1516 # opObj.addParameter(name='phase_cmap', value='RdBu_r', format='str')
1501 # opObj.addParameter(name='phase_cmap', value='RdBu_r', format='str')
1517 opObj.addParameter(name='id', value=opObj.id, format='int')
1502 opObj.addParameter(name='id', value=opObj.id, format='int')
1518
1503
1519 if not vel_range == '':
1504 if not vel_range == '':
1520 xvalueList = vel_range.split(',')
1505 xvalueList = vel_range.split(',')
1521 try:
1506 try:
1522 value1 = float(xvalueList[0])
1507 value1 = float(xvalueList[0])
1523 value2 = float(xvalueList[1])
1508 value2 = float(xvalueList[1])
1524 except:
1509 except:
1525 self.console.clear()
1510 self.console.clear()
1526 self.console.append("Invalid velocity/frequency range")
1511 self.console.append("Invalid velocity/frequency range")
1527 return 0
1512 return 0
1528
1513
1529 opObj.addParameter(name='xmin', value=value1, format='float')
1514 opObj.addParameter(name='xmin', value=value1, format='float')
1530 opObj.addParameter(name='xmax', value=value2, format='float')
1515 opObj.addParameter(name='xmax', value=value2, format='float')
1531
1516
1532 if not hei_range == '':
1517 if not hei_range == '':
1533 yvalueList = hei_range.split(",")
1518 yvalueList = hei_range.split(",")
1534 try:
1519 try:
1535 value1 = float(yvalueList[0])
1520 value1 = float(yvalueList[0])
1536 value2 = float(yvalueList[1])
1521 value2 = float(yvalueList[1])
1537 except:
1522 except:
1538 self.console.clear()
1523 self.console.clear()
1539 self.console.append("Invalid height range")
1524 self.console.append("Invalid height range")
1540 return 0
1525 return 0
1541
1526
1542 opObj.addParameter(name='ymin', value=value1, format='float')
1527 opObj.addParameter(name='ymin', value=value1, format='float')
1543 opObj.addParameter(name='ymax', value=value2, format='float')
1528 opObj.addParameter(name='ymax', value=value2, format='float')
1544
1529
1545 if not db_range == '':
1530 if not db_range == '':
1546 zvalueList = db_range.split(",")
1531 zvalueList = db_range.split(",")
1547 try:
1532 try:
1548 value1 = float(zvalueList[0])
1533 value1 = float(zvalueList[0])
1549 value2 = float(zvalueList[1])
1534 value2 = float(zvalueList[1])
1550 except:
1535 except:
1551 self.console.clear()
1536 self.console.clear()
1552 self.console.append("Invalid db range")
1537 self.console.append("Invalid db range")
1553 return 0
1538 return 0
1554
1539
1555 opObj.addParameter(name='zmin', value=value1, format='float')
1540 opObj.addParameter(name='zmin', value=value1, format='float')
1556 opObj.addParameter(name='zmax', value=value2, format='float')
1541 opObj.addParameter(name='zmax', value=value2, format='float')
1557
1542
1558 if not magrange == '':
1543 if not magrange == '':
1559 zvalueList = magrange.split(",")
1544 zvalueList = magrange.split(",")
1560 try:
1545 try:
1561 value1 = float(zvalueList[0])
1546 value1 = float(zvalueList[0])
1562 value2 = float(zvalueList[1])
1547 value2 = float(zvalueList[1])
1563 except:
1548 except:
1564 self.console.clear()
1549 self.console.clear()
1565 self.console.append("Invalid magnitude range")
1550 self.console.append("Invalid magnitude range")
1566 return 0
1551 return 0
1567
1552
1568 opObj.addParameter(name='coh_min', value=value1, format='float')
1553 opObj.addParameter(name='coh_min', value=value1, format='float')
1569 opObj.addParameter(name='coh_max', value=value2, format='float')
1554 opObj.addParameter(name='coh_max', value=value2, format='float')
1570
1555
1571 if not phaserange == '':
1556 if not phaserange == '':
1572 zvalueList = phaserange.split(",")
1557 zvalueList = phaserange.split(",")
1573 try:
1558 try:
1574 value1 = float(zvalueList[0])
1559 value1 = float(zvalueList[0])
1575 value2 = float(zvalueList[1])
1560 value2 = float(zvalueList[1])
1576 except:
1561 except:
1577 self.console.clear()
1562 self.console.clear()
1578 self.console.append("Invalid phase range")
1563 self.console.append("Invalid phase range")
1579 return 0
1564 return 0
1580
1565
1581 opObj.addParameter(name='phase_min', value=value1, format='float')
1566 opObj.addParameter(name='phase_min', value=value1, format='float')
1582 opObj.addParameter(name='phase_max', value=value2, format='float')
1567 opObj.addParameter(name='phase_max', value=value2, format='float')
1583
1568
1584 if self.specGraphSaveCross.isChecked():
1569 if self.specGraphSaveCross.isChecked():
1585 checkPath = True
1570 checkPath = True
1586 opObj.addParameter(name='save', value='1', format='bool')
1571 opObj.addParameter(name='save', value='1', format='bool')
1587 opObj.addParameter(name='figpath', value=figpath, format='str')
1572 opObj.addParameter(name='figpath', value=figpath, format='str')
1588 if figfile:
1573 if figfile:
1589 opObj.addParameter(name='figfile', value=figfile, format='str')
1574 opObj.addParameter(name='figfile', value=figfile, format='str')
1590 if wrperiod:
1575 if wrperiod:
1591 opObj.addParameter(name='wr_period', value=wrperiod,format='int')
1576 opObj.addParameter(name='wr_period', value=wrperiod,format='int')
1592
1577
1593 if self.specGraphftpCross.isChecked():
1578 if self.specGraphftpCross.isChecked():
1594 opObj.addParameter(name='ftp', value='1', format='int')
1579 opObj.addParameter(name='ftp', value='1', format='int')
1595 self.addFTPConf2Operation(puObj, opObj)
1580 self.addFTPConf2Operation(puObj, opObj)
1596 addFTP = True
1581 addFTP = True
1597
1582
1598 if self.specGraphCebRTIplot.isChecked():
1583 if self.specGraphCebRTIplot.isChecked():
1599
1584
1600 opObj = puObj.addOperation(name='RTIPlot', optype='other')
1585 opObj = puObj.addOperation(name='RTIPlot', optype='other')
1601 opObj.addParameter(name='id', value=opObj.id, format='int')
1586 opObj.addParameter(name='id', value=opObj.id, format='int')
1602
1587
1603 if not channelList == '':
1588 if not channelList == '':
1604 if not isList(channelList):
1589 if not isList(channelList):
1605 self.console.append("Invalid channelList")
1590 self.console.append("Invalid channelList")
1606 return 0
1591 return 0
1607 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1592 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1608
1593
1609 if not trange == '':
1594 if not trange == '':
1610 xvalueList = trange.split(',')
1595 xvalueList = trange.split(',')
1611 try:
1596 try:
1612 value1 = float(xvalueList[0])
1597 value1 = float(xvalueList[0])
1613 value2 = float(xvalueList[1])
1598 value2 = float(xvalueList[1])
1614 except:
1599 except:
1615 self.console.clear()
1600 self.console.clear()
1616 self.console.append("Invalid time range")
1601 self.console.append("Invalid time range")
1617 return 0
1602 return 0
1618
1603
1619 opObj.addParameter(name='xmin', value=value1, format='float')
1604 opObj.addParameter(name='xmin', value=value1, format='float')
1620 opObj.addParameter(name='xmax', value=value2, format='float')
1605 opObj.addParameter(name='xmax', value=value2, format='float')
1621
1606
1622 # if not timerange == '':
1607 # if not timerange == '':
1623 # try:
1608 # try:
1624 # timerange = float(timerange)
1609 # timerange = float(timerange)
1625 # except:
1610 # except:
1626 # self.console.clear()
1611 # self.console.clear()
1627 # self.console.append("Invalid time range")
1612 # self.console.append("Invalid time range")
1628 # return 0
1613 # return 0
1629 #
1614 #
1630 # opObj.addParameter(name='timerange', value=timerange, format='float')
1615 # opObj.addParameter(name='timerange', value=timerange, format='float')
1631
1616
1632 if not hei_range == '':
1617 if not hei_range == '':
1633 yvalueList = hei_range.split(",")
1618 yvalueList = hei_range.split(",")
1634 try:
1619 try:
1635 value1 = float(yvalueList[0])
1620 value1 = float(yvalueList[0])
1636 value2 = float(yvalueList[1])
1621 value2 = float(yvalueList[1])
1637 except:
1622 except:
1638 self.console.clear()
1623 self.console.clear()
1639 self.console.append("Invalid height range")
1624 self.console.append("Invalid height range")
1640 return 0
1625 return 0
1641
1626
1642 opObj.addParameter(name='ymin', value=value1, format='float')
1627 opObj.addParameter(name='ymin', value=value1, format='float')
1643 opObj.addParameter(name='ymax', value=value2, format='float')
1628 opObj.addParameter(name='ymax', value=value2, format='float')
1644
1629
1645 if not db_range == '':
1630 if not db_range == '':
1646 zvalueList = db_range.split(",")
1631 zvalueList = db_range.split(",")
1647 try:
1632 try:
1648 value1 = float(zvalueList[0])
1633 value1 = float(zvalueList[0])
1649 value2 = float(zvalueList[1])
1634 value2 = float(zvalueList[1])
1650 except:
1635 except:
1651 self.console.clear()
1636 self.console.clear()
1652 self.console.append("Invalid db range")
1637 self.console.append("Invalid db range")
1653 return 0
1638 return 0
1654
1639
1655 opObj.addParameter(name='zmin', value=value1, format='float')
1640 opObj.addParameter(name='zmin', value=value1, format='float')
1656 opObj.addParameter(name='zmax', value=value2, format='float')
1641 opObj.addParameter(name='zmax', value=value2, format='float')
1657
1642
1658 if self.specGraphSaveRTIplot.isChecked():
1643 if self.specGraphSaveRTIplot.isChecked():
1659 checkPath = True
1644 checkPath = True
1660 opObj.addParameter(name='save', value='1', format='bool')
1645 opObj.addParameter(name='save', value='1', format='bool')
1661 opObj.addParameter(name='figpath', value=figpath, format='str')
1646 opObj.addParameter(name='figpath', value=figpath, format='str')
1662 if figfile:
1647 if figfile:
1663 opObj.addParameter(name='figfile', value=value, format='str')
1648 opObj.addParameter(name='figfile', value=value, format='str')
1664 if wrperiod:
1649 if wrperiod:
1665 opObj.addParameter(name='wr_period', value=wrperiod,format='int')
1650 opObj.addParameter(name='wr_period', value=wrperiod,format='int')
1666
1651
1667 if self.specGraphftpRTIplot.isChecked():
1652 if self.specGraphftpRTIplot.isChecked():
1668 opObj.addParameter(name='ftp', value='1', format='int')
1653 opObj.addParameter(name='ftp', value='1', format='int')
1669 self.addFTPConf2Operation(puObj, opObj)
1654 self.addFTPConf2Operation(puObj, opObj)
1670 addFTP = True
1655 addFTP = True
1671
1656
1672 if self.specGraphCebCoherencmap.isChecked():
1657 if self.specGraphCebCoherencmap.isChecked():
1673
1658
1674 opObj = puObj.addOperation(name='CoherenceMap', optype='other')
1659 opObj = puObj.addOperation(name='CoherenceMap', optype='other')
1675 # opObj.addParameter(name=name_parameter, value=value, format=format)
1660 # opObj.addParameter(name=name_parameter, value=value, format=format)
1676 # opObj.addParameter(name='coherence_cmap', value='jet', format='str')
1661 # opObj.addParameter(name='coherence_cmap', value='jet', format='str')
1677 # opObj.addParameter(name='phase_cmap', value='RdBu_r', format='str')
1662 # opObj.addParameter(name='phase_cmap', value='RdBu_r', format='str')
1678 opObj.addParameter(name='id', value=opObj.id, format='int')
1663 opObj.addParameter(name='id', value=opObj.id, format='int')
1679
1664
1680 # if not timerange == '':
1665 # if not timerange == '':
1681 # try:
1666 # try:
1682 # timerange = int(timerange)
1667 # timerange = int(timerange)
1683 # except:
1668 # except:
1684 # self.console.clear()
1669 # self.console.clear()
1685 # self.console.append("Invalid time range")
1670 # self.console.append("Invalid time range")
1686 # return 0
1671 # return 0
1687 #
1672 #
1688 # opObj.addParameter(name='timerange', value=timerange, format='int')
1673 # opObj.addParameter(name='timerange', value=timerange, format='int')
1689
1674
1690 if not trange == '':
1675 if not trange == '':
1691 xvalueList = trange.split(',')
1676 xvalueList = trange.split(',')
1692 try:
1677 try:
1693 value1 = float(xvalueList[0])
1678 value1 = float(xvalueList[0])
1694 value2 = float(xvalueList[1])
1679 value2 = float(xvalueList[1])
1695 except:
1680 except:
1696 self.console.clear()
1681 self.console.clear()
1697 self.console.append("Invalid time range")
1682 self.console.append("Invalid time range")
1698 return 0
1683 return 0
1699
1684
1700 opObj.addParameter(name='xmin', value=value1, format='float')
1685 opObj.addParameter(name='xmin', value=value1, format='float')
1701 opObj.addParameter(name='xmax', value=value2, format='float')
1686 opObj.addParameter(name='xmax', value=value2, format='float')
1702
1687
1703 if not hei_range == '':
1688 if not hei_range == '':
1704 yvalueList = hei_range.split(",")
1689 yvalueList = hei_range.split(",")
1705 try:
1690 try:
1706 value1 = float(yvalueList[0])
1691 value1 = float(yvalueList[0])
1707 value2 = float(yvalueList[1])
1692 value2 = float(yvalueList[1])
1708 except:
1693 except:
1709 self.console.clear()
1694 self.console.clear()
1710 self.console.append("Invalid height range")
1695 self.console.append("Invalid height range")
1711 return 0
1696 return 0
1712
1697
1713 opObj.addParameter(name='ymin', value=value1, format='float')
1698 opObj.addParameter(name='ymin', value=value1, format='float')
1714 opObj.addParameter(name='ymax', value=value2, format='float')
1699 opObj.addParameter(name='ymax', value=value2, format='float')
1715
1700
1716 if not magrange == '':
1701 if not magrange == '':
1717 zvalueList = magrange.split(",")
1702 zvalueList = magrange.split(",")
1718 try:
1703 try:
1719 value1 = float(zvalueList[0])
1704 value1 = float(zvalueList[0])
1720 value2 = float(zvalueList[1])
1705 value2 = float(zvalueList[1])
1721 except:
1706 except:
1722 self.console.clear()
1707 self.console.clear()
1723 self.console.append("Invalid magnitude range")
1708 self.console.append("Invalid magnitude range")
1724 return 0
1709 return 0
1725
1710
1726 opObj.addParameter(name='zmin', value=value1, format='float')
1711 opObj.addParameter(name='zmin', value=value1, format='float')
1727 opObj.addParameter(name='zmax', value=value2, format='float')
1712 opObj.addParameter(name='zmax', value=value2, format='float')
1728
1713
1729 if not phaserange == '':
1714 if not phaserange == '':
1730 zvalueList = phaserange.split(",")
1715 zvalueList = phaserange.split(",")
1731 try:
1716 try:
1732 value1 = float(zvalueList[0])
1717 value1 = float(zvalueList[0])
1733 value2 = float(zvalueList[1])
1718 value2 = float(zvalueList[1])
1734 except:
1719 except:
1735 self.console.clear()
1720 self.console.clear()
1736 self.console.append("Invalid phase range")
1721 self.console.append("Invalid phase range")
1737 return 0
1722 return 0
1738
1723
1739 opObj.addParameter(name='phase_min', value=value1, format='float')
1724 opObj.addParameter(name='phase_min', value=value1, format='float')
1740 opObj.addParameter(name='phase_max', value=value2, format='float')
1725 opObj.addParameter(name='phase_max', value=value2, format='float')
1741
1726
1742 if self.specGraphSaveCoherencemap.isChecked():
1727 if self.specGraphSaveCoherencemap.isChecked():
1743 checkPath = True
1728 checkPath = True
1744 opObj.addParameter(name='save', value='1', format='bool')
1729 opObj.addParameter(name='save', value='1', format='bool')
1745 opObj.addParameter(name='figpath', value=figpath, format='str')
1730 opObj.addParameter(name='figpath', value=figpath, format='str')
1746 if figfile:
1731 if figfile:
1747 opObj.addParameter(name='figfile', value=value, format='str')
1732 opObj.addParameter(name='figfile', value=value, format='str')
1748 if wrperiod:
1733 if wrperiod:
1749 opObj.addParameter(name='wr_period', value=wrperiod,format='int')
1734 opObj.addParameter(name='wr_period', value=wrperiod,format='int')
1750
1735
1751 if self.specGraphftpCoherencemap.isChecked():
1736 if self.specGraphftpCoherencemap.isChecked():
1752 opObj.addParameter(name='ftp', value='1', format='int')
1737 opObj.addParameter(name='ftp', value='1', format='int')
1753 self.addFTPConf2Operation(puObj, opObj)
1738 self.addFTPConf2Operation(puObj, opObj)
1754 addFTP = True
1739 addFTP = True
1755
1740
1756 if self.specGraphPowerprofile.isChecked():
1741 if self.specGraphPowerprofile.isChecked():
1757
1742
1758 opObj = puObj.addOperation(name='PowerProfilePlot', optype='other')
1743 opObj = puObj.addOperation(name='PowerProfilePlot', optype='other')
1759 opObj.addParameter(name='id', value=opObj.id, format='int')
1744 opObj.addParameter(name='id', value=opObj.id, format='int')
1760
1745
1761 if not channelList == '':
1746 if not channelList == '':
1762 if not isList(channelList):
1747 if not isList(channelList):
1763 self.console.append("Invalid channelList")
1748 self.console.append("Invalid channelList")
1764 return 0
1749 return 0
1765
1750
1766 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1751 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1767
1752
1768 if not db_range == '':
1753 if not db_range == '':
1769 xvalueList = db_range.split(',')
1754 xvalueList = db_range.split(',')
1770 try:
1755 try:
1771 value1 = float(xvalueList[0])
1756 value1 = float(xvalueList[0])
1772 value2 = float(xvalueList[1])
1757 value2 = float(xvalueList[1])
1773 except:
1758 except:
1774 self.console.clear()
1759 self.console.clear()
1775 self.console.append("Invalid db range")
1760 self.console.append("Invalid db range")
1776 return 0
1761 return 0
1777
1762
1778 opObj.addParameter(name='xmin', value=value1, format='float')
1763 opObj.addParameter(name='xmin', value=value1, format='float')
1779 opObj.addParameter(name='xmax', value=value2, format='float')
1764 opObj.addParameter(name='xmax', value=value2, format='float')
1780
1765
1781 if not hei_range == '':
1766 if not hei_range == '':
1782 yvalueList = hei_range.split(",")
1767 yvalueList = hei_range.split(",")
1783 try:
1768 try:
1784 value1 = float(yvalueList[0])
1769 value1 = float(yvalueList[0])
1785 value2 = float(yvalueList[1])
1770 value2 = float(yvalueList[1])
1786 except:
1771 except:
1787 self.console.clear()
1772 self.console.clear()
1788 self.console.append("Invalid height range")
1773 self.console.append("Invalid height range")
1789 return 0
1774 return 0
1790
1775
1791 opObj.addParameter(name='ymin', value=value1, format='float')
1776 opObj.addParameter(name='ymin', value=value1, format='float')
1792 opObj.addParameter(name='ymax', value=value2, format='float')
1777 opObj.addParameter(name='ymax', value=value2, format='float')
1793
1778
1794 if self.specGraphSavePowerprofile.isChecked():
1779 if self.specGraphSavePowerprofile.isChecked():
1795 checkPath = True
1780 checkPath = True
1796 opObj.addParameter(name='save', value='1', format='bool')
1781 opObj.addParameter(name='save', value='1', format='bool')
1797 opObj.addParameter(name='figpath', value=figpath, format='str')
1782 opObj.addParameter(name='figpath', value=figpath, format='str')
1798 if figfile:
1783 if figfile:
1799 opObj.addParameter(name='figfile', value=value, format='str')
1784 opObj.addParameter(name='figfile', value=value, format='str')
1800 if wrperiod:
1785 if wrperiod:
1801 opObj.addParameter(name='wr_period', value=wrperiod,format='int')
1786 opObj.addParameter(name='wr_period', value=wrperiod,format='int')
1802
1787
1803 if self.specGraphftpPowerprofile.isChecked():
1788 if self.specGraphftpPowerprofile.isChecked():
1804 opObj.addParameter(name='ftp', value='1', format='int')
1789 opObj.addParameter(name='ftp', value='1', format='int')
1805 self.addFTPConf2Operation(puObj, opObj)
1790 self.addFTPConf2Operation(puObj, opObj)
1806 addFTP = True
1791 addFTP = True
1807 # rti noise
1792 # rti noise
1808
1793
1809 if self.specGraphCebRTInoise.isChecked():
1794 if self.specGraphCebRTInoise.isChecked():
1810
1795
1811 opObj = puObj.addOperation(name='Noise', optype='other')
1796 opObj = puObj.addOperation(name='Noise', optype='other')
1812 opObj.addParameter(name='id', value=opObj.id, format='int')
1797 opObj.addParameter(name='id', value=opObj.id, format='int')
1813
1798
1814 if not channelList == '':
1799 if not channelList == '':
1815 if not isList(channelList):
1800 if not isList(channelList):
1816 self.console.append("Invalid channelList")
1801 self.console.append("Invalid channelList")
1817 return 0
1802 return 0
1818 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1803 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1819
1804
1820 # if not timerange == '':
1805 # if not timerange == '':
1821 # try:
1806 # try:
1822 # timerange = float(timerange)
1807 # timerange = float(timerange)
1823 # except:
1808 # except:
1824 # self.console.clear()
1809 # self.console.clear()
1825 # self.console.append("Invalid time range")
1810 # self.console.append("Invalid time range")
1826 # return 0
1811 # return 0
1827 #
1812 #
1828 # opObj.addParameter(name='timerange', value=timerange, format='float')
1813 # opObj.addParameter(name='timerange', value=timerange, format='float')
1829
1814
1830 if not trange == '':
1815 if not trange == '':
1831 xvalueList = trange.split(',')
1816 xvalueList = trange.split(',')
1832 try:
1817 try:
1833 value1 = float(xvalueList[0])
1818 value1 = float(xvalueList[0])
1834 value2 = float(xvalueList[1])
1819 value2 = float(xvalueList[1])
1835 except:
1820 except:
1836 self.console.clear()
1821 self.console.clear()
1837 self.console.append("Invalid time range")
1822 self.console.append("Invalid time range")
1838 return 0
1823 return 0
1839
1824
1840 opObj.addParameter(name='xmin', value=value1, format='float')
1825 opObj.addParameter(name='xmin', value=value1, format='float')
1841 opObj.addParameter(name='xmax', value=value2, format='float')
1826 opObj.addParameter(name='xmax', value=value2, format='float')
1842
1827
1843 if not db_range == '':
1828 if not db_range == '':
1844 yvalueList = db_range.split(",")
1829 yvalueList = db_range.split(",")
1845 try:
1830 try:
1846 value1 = float(yvalueList[0])
1831 value1 = float(yvalueList[0])
1847 value2 = float(yvalueList[1])
1832 value2 = float(yvalueList[1])
1848 except:
1833 except:
1849 self.console.clear()
1834 self.console.clear()
1850 self.console.append("Invalid db range")
1835 self.console.append("Invalid db range")
1851 return 0
1836 return 0
1852
1837
1853 opObj.addParameter(name='ymin', value=value1, format='float')
1838 opObj.addParameter(name='ymin', value=value1, format='float')
1854 opObj.addParameter(name='ymax', value=value2, format='float')
1839 opObj.addParameter(name='ymax', value=value2, format='float')
1855
1840
1856 if self.specGraphSaveRTInoise.isChecked():
1841 if self.specGraphSaveRTInoise.isChecked():
1857 checkPath = True
1842 checkPath = True
1858 opObj.addParameter(name='save', value='1', format='bool')
1843 opObj.addParameter(name='save', value='1', format='bool')
1859 opObj.addParameter(name='figpath', value=figpath, format='str')
1844 opObj.addParameter(name='figpath', value=figpath, format='str')
1860 if figfile:
1845 if figfile:
1861 opObj.addParameter(name='figfile', value=value, format='str')
1846 opObj.addParameter(name='figfile', value=value, format='str')
1862 if wrperiod:
1847 if wrperiod:
1863 opObj.addParameter(name='wr_period', value=wrperiod,format='int')
1848 opObj.addParameter(name='wr_period', value=wrperiod,format='int')
1864
1849
1865 # test_ftp
1850 # test_ftp
1866 if self.specGraphftpRTInoise.isChecked():
1851 if self.specGraphftpRTInoise.isChecked():
1867 opObj.addParameter(name='ftp', value='1', format='int')
1852 opObj.addParameter(name='ftp', value='1', format='int')
1868 self.addFTPConf2Operation(puObj, opObj)
1853 self.addFTPConf2Operation(puObj, opObj)
1869 addFTP = True
1854 addFTP = True
1870
1855
1871 if checkPath:
1856 if checkPath:
1872 if not figpath:
1857 if not figpath:
1873 self.console.clear()
1858 self.console.clear()
1874 self.console.append("Graphic path should be defined")
1859 self.console.append("Graphic path should be defined")
1875 return 0
1860 return 0
1876
1861
1877 if addFTP and not figpath:
1862 if addFTP and not figpath:
1878 self.console.clear()
1863 self.console.clear()
1879 self.console.append("You have to save the plots before sending them to FTP Server")
1864 self.console.append("You have to save the plots before sending them to FTP Server")
1880 return 0
1865 return 0
1881
1866
1882 # if something happend
1867 # if something happend
1883 parms_ok, output_path, blocksperfile, profilesperblock = self.checkInputsPUSave(datatype='Spectra')
1868 parms_ok, output_path, blocksperfile, profilesperblock = self.checkInputsPUSave(datatype='Spectra')
1884 if parms_ok:
1869 if parms_ok:
1885 opObj = puObj.addOperation(name='SpectraWriter', optype='other')
1870 opObj = puObj.addOperation(name='SpectraWriter', optype='other')
1886 opObj.addParameter(name='path', value=output_path)
1871 opObj.addParameter(name='path', value=output_path)
1887 opObj.addParameter(name='blocksPerFile', value=blocksperfile, format='int')
1872 opObj.addParameter(name='blocksPerFile', value=blocksperfile, format='int')
1888
1873
1889 self.console.clear()
1874 self.console.clear()
1890 try:
1875 try:
1891 self.refreshPUProperties(puObj)
1876 self.refreshPUProperties(puObj)
1892 except:
1877 except:
1893 self.console.append("An error reading input parameters was found ... Check them!")
1878 self.console.append("An error reading input parameters was found ... Check them!")
1894 return 0
1879 return 0
1895
1880
1896 self.console.append("Save your project and press Play button to start signal processing")
1881 self.console.append("Save your project and press Play button to start signal processing")
1897
1882
1898 self.actionSaveToolbar.setEnabled(True)
1883 self._enable_play_button()
1899 self.actionStarToolbar.setEnabled(True)
1884 self._enable_save_button()
1900
1901 self.actionSave.setEnabled(True)
1902 self.actionStart.setEnabled(True)
1903
1885
1904 return 1
1886 return 1
1905
1887
1906 """
1888 """
1907 Spectra Graph
1889 Spectra Graph
1908 """
1890 """
1909 @pyqtSignature("int")
1891 @pyqtSignature("int")
1910 def on_specGraphCebSpectraplot_stateChanged(self, p0):
1892 def on_specGraphCebSpectraplot_stateChanged(self, p0):
1911
1893
1912 self.__checkSpecGraphFilters()
1894 self.__checkSpecGraphFilters()
1913
1895
1914
1896
1915 @pyqtSignature("int")
1897 @pyqtSignature("int")
1916 def on_specGraphCebCrossSpectraplot_stateChanged(self, p0):
1898 def on_specGraphCebCrossSpectraplot_stateChanged(self, p0):
1917
1899
1918 self.__checkSpecGraphFilters()
1900 self.__checkSpecGraphFilters()
1919
1901
1920 @pyqtSignature("int")
1902 @pyqtSignature("int")
1921 def on_specGraphCebRTIplot_stateChanged(self, p0):
1903 def on_specGraphCebRTIplot_stateChanged(self, p0):
1922
1904
1923 self.__checkSpecGraphFilters()
1905 self.__checkSpecGraphFilters()
1924
1906
1925
1907
1926 @pyqtSignature("int")
1908 @pyqtSignature("int")
1927 def on_specGraphCebRTInoise_stateChanged(self, p0):
1909 def on_specGraphCebRTInoise_stateChanged(self, p0):
1928
1910
1929 self.__checkSpecGraphFilters()
1911 self.__checkSpecGraphFilters()
1930
1912
1931
1913
1932 @pyqtSignature("int")
1914 @pyqtSignature("int")
1933 def on_specGraphCebCoherencmap_stateChanged(self, p0):
1915 def on_specGraphCebCoherencmap_stateChanged(self, p0):
1934
1916
1935 self.__checkSpecGraphFilters()
1917 self.__checkSpecGraphFilters()
1936
1918
1937 @pyqtSignature("int")
1919 @pyqtSignature("int")
1938 def on_specGraphPowerprofile_stateChanged(self, p0):
1920 def on_specGraphPowerprofile_stateChanged(self, p0):
1939
1921
1940 self.__checkSpecGraphFilters()
1922 self.__checkSpecGraphFilters()
1941
1923
1942 @pyqtSignature("int")
1924 @pyqtSignature("int")
1943 def on_specGraphPhase_stateChanged(self, p0):
1925 def on_specGraphPhase_stateChanged(self, p0):
1944
1926
1945 self.__checkSpecGraphFilters()
1927 self.__checkSpecGraphFilters()
1946
1928
1947 @pyqtSignature("int")
1929 @pyqtSignature("int")
1948 def on_specGraphSaveSpectra_stateChanged(self, p0):
1930 def on_specGraphSaveSpectra_stateChanged(self, p0):
1949 """
1931 """
1950 """
1932 """
1951 self.__checkSpecGraphSaving()
1933 self.__checkSpecGraphSaving()
1952
1934
1953 @pyqtSignature("int")
1935 @pyqtSignature("int")
1954 def on_specGraphSaveCross_stateChanged(self, p0):
1936 def on_specGraphSaveCross_stateChanged(self, p0):
1955
1937
1956 self.__checkSpecGraphSaving()
1938 self.__checkSpecGraphSaving()
1957
1939
1958 @pyqtSignature("int")
1940 @pyqtSignature("int")
1959 def on_specGraphSaveRTIplot_stateChanged(self, p0):
1941 def on_specGraphSaveRTIplot_stateChanged(self, p0):
1960
1942
1961 self.__checkSpecGraphSaving()
1943 self.__checkSpecGraphSaving()
1962
1944
1963 @pyqtSignature("int")
1945 @pyqtSignature("int")
1964 def on_specGraphSaveRTInoise_stateChanged(self, p0):
1946 def on_specGraphSaveRTInoise_stateChanged(self, p0):
1965
1947
1966 self.__checkSpecGraphSaving()
1948 self.__checkSpecGraphSaving()
1967
1949
1968 @pyqtSignature("int")
1950 @pyqtSignature("int")
1969 def on_specGraphSaveCoherencemap_stateChanged(self, p0):
1951 def on_specGraphSaveCoherencemap_stateChanged(self, p0):
1970
1952
1971 self.__checkSpecGraphSaving()
1953 self.__checkSpecGraphSaving()
1972
1954
1973 @pyqtSignature("int")
1955 @pyqtSignature("int")
1974 def on_specGraphSavePowerprofile_stateChanged(self, p0):
1956 def on_specGraphSavePowerprofile_stateChanged(self, p0):
1975
1957
1976 self.__checkSpecGraphSaving()
1958 self.__checkSpecGraphSaving()
1977
1959
1978 @pyqtSignature("int")
1960 @pyqtSignature("int")
1979 def on_specGraphftpSpectra_stateChanged(self, p0):
1961 def on_specGraphftpSpectra_stateChanged(self, p0):
1980 """
1962 """
1981 """
1963 """
1982 self.__checkSpecGraphFTP()
1964 self.__checkSpecGraphFTP()
1983
1965
1984
1966
1985 @pyqtSignature("int")
1967 @pyqtSignature("int")
1986 def on_specGraphftpCross_stateChanged(self, p0):
1968 def on_specGraphftpCross_stateChanged(self, p0):
1987
1969
1988 self.__checkSpecGraphFTP()
1970 self.__checkSpecGraphFTP()
1989
1971
1990 @pyqtSignature("int")
1972 @pyqtSignature("int")
1991 def on_specGraphftpRTIplot_stateChanged(self, p0):
1973 def on_specGraphftpRTIplot_stateChanged(self, p0):
1992
1974
1993 self.__checkSpecGraphFTP()
1975 self.__checkSpecGraphFTP()
1994
1976
1995 @pyqtSignature("int")
1977 @pyqtSignature("int")
1996 def on_specGraphftpRTInoise_stateChanged(self, p0):
1978 def on_specGraphftpRTInoise_stateChanged(self, p0):
1997
1979
1998 self.__checkSpecGraphFTP()
1980 self.__checkSpecGraphFTP()
1999
1981
2000 @pyqtSignature("int")
1982 @pyqtSignature("int")
2001 def on_specGraphftpCoherencemap_stateChanged(self, p0):
1983 def on_specGraphftpCoherencemap_stateChanged(self, p0):
2002
1984
2003 self.__checkSpecGraphFTP()
1985 self.__checkSpecGraphFTP()
2004
1986
2005 @pyqtSignature("int")
1987 @pyqtSignature("int")
2006 def on_specGraphftpPowerprofile_stateChanged(self, p0):
1988 def on_specGraphftpPowerprofile_stateChanged(self, p0):
2007
1989
2008 self.__checkSpecGraphFTP()
1990 self.__checkSpecGraphFTP()
2009
1991
2010 @pyqtSignature("")
1992 @pyqtSignature("")
2011 def on_specGraphToolPath_clicked(self):
1993 def on_specGraphToolPath_clicked(self):
2012 """
1994 """
2013 """
1995 """
2014 save_path = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
1996 save_path = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
2015 self.specGraphPath.setText(save_path)
1997 self.specGraphPath.setText(save_path)
2016 if not os.path.exists(save_path):
1998 if not os.path.exists(save_path):
2017 self.console.clear()
1999 self.console.clear()
2018 self.console.append("Write a valid path")
2000 self.console.append("Write a valid path")
2019 return
2001 return
2020
2002
2021 @pyqtSignature("")
2003 @pyqtSignature("")
2022 def on_specGraphClear_clicked(self):
2004 def on_specGraphClear_clicked(self):
2023 return
2005 return
2024
2006
2025 @pyqtSignature("")
2007 @pyqtSignature("")
2026 def on_specHeisGraphToolPath_clicked(self):
2008 def on_specHeisGraphToolPath_clicked(self):
2027 """
2009 """
2028 """
2010 """
2029 save_path = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
2011 save_path = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
2030 self.specHeisGraphPath.setText(save_path)
2012 self.specHeisGraphPath.setText(save_path)
2031 if not os.path.exists(save_path):
2013 if not os.path.exists(save_path):
2032 self.console.clear()
2014 self.console.clear()
2033 self.console.append("Write a valid path")
2015 self.console.append("Write a valid path")
2034 return
2016 return
2035
2017
2036 @pyqtSignature("int")
2018 @pyqtSignature("int")
2037 def on_specHeisOpCebIncoherent_stateChanged(self, p0):
2019 def on_specHeisOpCebIncoherent_stateChanged(self, p0):
2038 """
2020 """
2039 Habilita la opcion de aadir el parmetro integraciones incoherentes a la Unidad de Procesamiento .
2021 Habilita la opcion de aadir el parmetro integraciones incoherentes a la Unidad de Procesamiento .
2040 """
2022 """
2041 if p0 == 2:
2023 if p0 == 2:
2042 self.specHeisOpIncoherent.setEnabled(True)
2024 self.specHeisOpIncoherent.setEnabled(True)
2043 self.specHeisOpCobIncInt.setEnabled(True)
2025 self.specHeisOpCobIncInt.setEnabled(True)
2044 if p0 == 0:
2026 if p0 == 0:
2045 self.specHeisOpIncoherent.setEnabled(False)
2027 self.specHeisOpIncoherent.setEnabled(False)
2046 self.specHeisOpCobIncInt.setEnabled(False)
2028 self.specHeisOpCobIncInt.setEnabled(False)
2047
2029
2048 @pyqtSignature("")
2030 @pyqtSignature("")
2049 def on_specHeisOpOk_clicked(self):
2031 def on_specHeisOpOk_clicked(self):
2050 """
2032 """
2051 AÑADE OPERACION SPECTRAHEIS
2033 AÑADE OPERACION SPECTRAHEIS
2052 """
2034 """
2053 addFTP = False
2035 addFTP = False
2054 checkPath = False
2036 checkPath = False
2055
2037
2056 self.actionSaveToolbar.setEnabled(False)
2038 self._disable_play_button()
2057 self.actionStarToolbar.setEnabled(False)
2039 self._disable_save_button()
2058
2059 self.actionSave.setEnabled(False)
2060 self.actionStart.setEnabled(False)
2061
2040
2062 self.console.clear()
2041 self.console.clear()
2063 self.console.append("Checking input parameters ...")
2042 self.console.append("Checking input parameters ...")
2064
2043
2065 puObj = self.getSelectedItemObj()
2044 puObj = self.getSelectedItemObj()
2066 puObj.removeOperations()
2045 puObj.removeOperations()
2067
2046
2068 if self.specHeisOpCebIncoherent.isChecked():
2047 if self.specHeisOpCebIncoherent.isChecked():
2069 value = str(self.specHeisOpIncoherent.text())
2048 value = str(self.specHeisOpIncoherent.text())
2070 name_operation = 'IncohInt4SpectraHeis'
2049 name_operation = 'IncohInt4SpectraHeis'
2071 optype = 'other'
2050 optype = 'other'
2072
2051
2073 name_parameter = 'timeInterval'
2052 name_parameter = 'timeInterval'
2074 format = 'float'
2053 format = 'float'
2075
2054
2076 if self.specOpCobIncInt.currentIndex() == 0:
2055 if self.specOpCobIncInt.currentIndex() == 0:
2077 name_parameter = 'timeInterval'
2056 name_parameter = 'timeInterval'
2078 format = 'float'
2057 format = 'float'
2079
2058
2080 if not isFloat(value):
2059 if not isFloat(value):
2081 self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter))
2060 self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter))
2082 return 0
2061 return 0
2083
2062
2084 opObj = puObj.addOperation(name=name_operation, optype=optype)
2063 opObj = puObj.addOperation(name=name_operation, optype=optype)
2085
2064
2086 if not opObj.addParameter(name=name_parameter, value=value, format=format):
2065 if not opObj.addParameter(name=name_parameter, value=value, format=format):
2087 self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter))
2066 self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter))
2088 return 0
2067 return 0
2089
2068
2090 channelList = str(self.specHeisGgraphChannelList.text())
2069 channelList = str(self.specHeisGgraphChannelList.text())
2091 freq_range = str(self.specHeisGgraphXminXmax.text())
2070 freq_range = str(self.specHeisGgraphXminXmax.text())
2092 power_range = str(self.specHeisGgraphYminYmax.text())
2071 power_range = str(self.specHeisGgraphYminYmax.text())
2093 time_range = str(self.specHeisGgraphTminTmax.text())
2072 time_range = str(self.specHeisGgraphTminTmax.text())
2094 timerange = str(self.specHeisGgraphTimeRange.text())
2073 timerange = str(self.specHeisGgraphTimeRange.text())
2095
2074
2096 # ---- Spectra Plot-----
2075 # ---- Spectra Plot-----
2097 if self.specHeisGraphCebSpectraplot.isChecked():
2076 if self.specHeisGraphCebSpectraplot.isChecked():
2098
2077
2099 name_operation = 'SpectraHeisScope'
2078 name_operation = 'SpectraHeisScope'
2100 optype = 'other'
2079 optype = 'other'
2101 opObj = puObj.addOperation(name=name_operation, optype=optype)
2080 opObj = puObj.addOperation(name=name_operation, optype=optype)
2102
2081
2103 name_parameter = 'id'
2082 name_parameter = 'id'
2104 format = 'int'
2083 format = 'int'
2105 value = opObj.id
2084 value = opObj.id
2106
2085
2107 if not opObj.addParameter(name=name_parameter, value=value, format=format):
2086 if not opObj.addParameter(name=name_parameter, value=value, format=format):
2108 self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter))
2087 self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter))
2109 return 0
2088 return 0
2110
2089
2111 if not (channelList == ''):
2090 if not (channelList == ''):
2112 name_parameter = 'channelList'
2091 name_parameter = 'channelList'
2113 format = 'intlist'
2092 format = 'intlist'
2114
2093
2115 if not isList(channelList):
2094 if not isList(channelList):
2116 self.console.append("Invalid value '%s' for '%s'" %(channelList, name_parameter))
2095 self.console.append("Invalid value '%s' for '%s'" %(channelList, name_parameter))
2117 return 0
2096 return 0
2118
2097
2119 opObj.addParameter(name=name_parameter, value=channelList, format=format)
2098 opObj.addParameter(name=name_parameter, value=channelList, format=format)
2120
2099
2121 if not freq_range == '':
2100 if not freq_range == '':
2122 xvalueList = freq_range.split(',')
2101 xvalueList = freq_range.split(',')
2123
2102
2124 if len(xvalueList) != 2:
2103 if len(xvalueList) != 2:
2125 self.console.append("Invalid value '%s' for '%s'" %(freq_range, "xrange"))
2104 self.console.append("Invalid value '%s' for '%s'" %(freq_range, "xrange"))
2126 return 0
2105 return 0
2127
2106
2128 value1 = xvalueList[0]
2107 value1 = xvalueList[0]
2129 value2 = xvalueList[1]
2108 value2 = xvalueList[1]
2130
2109
2131 if not isFloat(value1) or not isFloat(value2):
2110 if not isFloat(value1) or not isFloat(value2):
2132 self.console.append("Invalid value '%s' for '%s'" %(freq_range, "xrange"))
2111 self.console.append("Invalid value '%s' for '%s'" %(freq_range, "xrange"))
2133 return 0
2112 return 0
2134
2113
2135 name1 = 'xmin'
2114 name1 = 'xmin'
2136 name2 = 'xmax'
2115 name2 = 'xmax'
2137 format = 'float'
2116 format = 'float'
2138
2117
2139 opObj.addParameter(name=name1, value=value1, format=format)
2118 opObj.addParameter(name=name1, value=value1, format=format)
2140 opObj.addParameter(name=name2, value=value2, format=format)
2119 opObj.addParameter(name=name2, value=value2, format=format)
2141
2120
2142 #------specHeisGgraphYmin-Ymax---
2121 #------specHeisGgraphYmin-Ymax---
2143 if not power_range == '':
2122 if not power_range == '':
2144 yvalueList = power_range.split(",")
2123 yvalueList = power_range.split(",")
2145
2124
2146 if len(yvalueList) != 2:
2125 if len(yvalueList) != 2:
2147 self.console.append("Invalid value '%s' for '%s'" %(power_range, "xrange"))
2126 self.console.append("Invalid value '%s' for '%s'" %(power_range, "xrange"))
2148 return 0
2127 return 0
2149
2128
2150 value1 = yvalueList[0]
2129 value1 = yvalueList[0]
2151 value2 = yvalueList[1]
2130 value2 = yvalueList[1]
2152
2131
2153 if not isFloat(value1) or not isFloat(value2):
2132 if not isFloat(value1) or not isFloat(value2):
2154 self.console.append("Invalid value '%s' for '%s'" %(power_range, "yrange"))
2133 self.console.append("Invalid value '%s' for '%s'" %(power_range, "yrange"))
2155 return 0
2134 return 0
2156
2135
2157 name1 = 'ymin'
2136 name1 = 'ymin'
2158 name2 = 'ymax'
2137 name2 = 'ymax'
2159 format = 'float'
2138 format = 'float'
2160 opObj.addParameter(name=name1, value=value1, format=format)
2139 opObj.addParameter(name=name1, value=value1, format=format)
2161 opObj.addParameter(name=name2, value=value2, format=format)
2140 opObj.addParameter(name=name2, value=value2, format=format)
2162
2141
2163 if self.specHeisGraphSaveSpectra.isChecked():
2142 if self.specHeisGraphSaveSpectra.isChecked():
2164 checkPath = True
2143 checkPath = True
2165 name_parameter1 = 'save'
2144 name_parameter1 = 'save'
2166 name_parameter2 = 'figpath'
2145 name_parameter2 = 'figpath'
2167 name_parameter3 = 'figfile'
2146 name_parameter3 = 'figfile'
2168 value1 = '1'
2147 value1 = '1'
2169 value2 = str(self.specHeisGraphPath.text())
2148 value2 = str(self.specHeisGraphPath.text())
2170 value3 = str(self.specHeisGraphPrefix.text())
2149 value3 = str(self.specHeisGraphPrefix.text())
2171 format1 = 'bool'
2150 format1 = 'bool'
2172 format2 = 'str'
2151 format2 = 'str'
2173 opObj.addParameter(name=name_parameter1, value=value1 , format=format1)
2152 opObj.addParameter(name=name_parameter1, value=value1 , format=format1)
2174 opObj.addParameter(name=name_parameter2, value=value2, format=format2)
2153 opObj.addParameter(name=name_parameter2, value=value2, format=format2)
2175 if not value3 == "":
2154 if not value3 == "":
2176 try:
2155 try:
2177 value3 = str(self.specHeisGraphPrefix.text())
2156 value3 = str(self.specHeisGraphPrefix.text())
2178 except:
2157 except:
2179 self.console.clear()
2158 self.console.clear()
2180 self.console.append("Please Write prefix")
2159 self.console.append("Please Write prefix")
2181 return 0
2160 return 0
2182 opObj.addParameter(name='figfile', value=str(self.specHeisGraphPrefix.text()), format='str')
2161 opObj.addParameter(name='figfile', value=str(self.specHeisGraphPrefix.text()), format='str')
2183
2162
2184 # opObj.addParameter(name=name_parameter3, value=value3, format=format2)
2163 # opObj.addParameter(name=name_parameter3, value=value3, format=format2)
2185 # opObj.addParameter(name='wr_period', value='5',format='int')
2164 # opObj.addParameter(name='wr_period', value='5',format='int')
2186
2165
2187 if self.specHeisGraphftpSpectra.isChecked():
2166 if self.specHeisGraphftpSpectra.isChecked():
2188 opObj.addParameter(name='ftp', value='1', format='int')
2167 opObj.addParameter(name='ftp', value='1', format='int')
2189 self.addFTPConf2Operation(puObj, opObj)
2168 self.addFTPConf2Operation(puObj, opObj)
2190 addFTP = True
2169 addFTP = True
2191
2170
2192 if self.specHeisGraphCebRTIplot.isChecked():
2171 if self.specHeisGraphCebRTIplot.isChecked():
2193 name_operation = 'RTIfromSpectraHeis'
2172 name_operation = 'RTIfromSpectraHeis'
2194 optype = 'other'
2173 optype = 'other'
2195
2174
2196 name_parameter = 'id'
2175 name_parameter = 'id'
2197 format = 'int'
2176 format = 'int'
2198
2177
2199 opObj = puObj.addOperation(name=name_operation, optype=optype)
2178 opObj = puObj.addOperation(name=name_operation, optype=optype)
2200 value = opObj.id
2179 value = opObj.id
2201 opObj.addParameter(name=name_parameter, value=value, format=format)
2180 opObj.addParameter(name=name_parameter, value=value, format=format)
2202
2181
2203 if not channelList == '':
2182 if not channelList == '':
2204 opObj.addParameter(name='channelList', value=channelList, format='intlist')
2183 opObj.addParameter(name='channelList', value=channelList, format='intlist')
2205
2184
2206 if not time_range == '':
2185 if not time_range == '':
2207 xvalueList = time_range.split(',')
2186 xvalueList = time_range.split(',')
2208 try:
2187 try:
2209 value = float(xvalueList[0])
2188 value = float(xvalueList[0])
2210 value = float(xvalueList[1])
2189 value = float(xvalueList[1])
2211 except:
2190 except:
2212 return 0
2191 return 0
2213 format = 'float'
2192 format = 'float'
2214 opObj.addParameter(name='xmin', value=xvalueList[0], format=format)
2193 opObj.addParameter(name='xmin', value=xvalueList[0], format=format)
2215 opObj.addParameter(name='xmax', value=xvalueList[1], format=format)
2194 opObj.addParameter(name='xmax', value=xvalueList[1], format=format)
2216
2195
2217 if not timerange == '':
2196 if not timerange == '':
2218 format = 'int'
2197 format = 'int'
2219 try:
2198 try:
2220 timerange = int(timerange)
2199 timerange = int(timerange)
2221 except:
2200 except:
2222 return 0
2201 return 0
2223 opObj.addParameter(name='timerange', value=timerange, format=format)
2202 opObj.addParameter(name='timerange', value=timerange, format=format)
2224
2203
2225
2204
2226 if not power_range == '':
2205 if not power_range == '':
2227 yvalueList = power_range.split(",")
2206 yvalueList = power_range.split(",")
2228 try:
2207 try:
2229 value = float(yvalueList[0])
2208 value = float(yvalueList[0])
2230 value = float(yvalueList[1])
2209 value = float(yvalueList[1])
2231 except:
2210 except:
2232 return 0
2211 return 0
2233
2212
2234 format = 'float'
2213 format = 'float'
2235 opObj.addParameter(name='ymin', value=yvalueList[0], format=format)
2214 opObj.addParameter(name='ymin', value=yvalueList[0], format=format)
2236 opObj.addParameter(name='ymax', value=yvalueList[1], format=format)
2215 opObj.addParameter(name='ymax', value=yvalueList[1], format=format)
2237
2216
2238 if self.specHeisGraphSaveRTIplot.isChecked():
2217 if self.specHeisGraphSaveRTIplot.isChecked():
2239 checkPath = True
2218 checkPath = True
2240 opObj.addParameter(name='save', value='1', format='bool')
2219 opObj.addParameter(name='save', value='1', format='bool')
2241 opObj.addParameter(name='figpath', value=str(self.specHeisGraphPath.text()), format='str')
2220 opObj.addParameter(name='figpath', value=str(self.specHeisGraphPath.text()), format='str')
2242 value = str(self.specHeisGraphPrefix.text())
2221 value = str(self.specHeisGraphPrefix.text())
2243 if not value == "":
2222 if not value == "":
2244 try:
2223 try:
2245 value = str(self.specHeisGraphPrefix.text())
2224 value = str(self.specHeisGraphPrefix.text())
2246 except:
2225 except:
2247 self.console.clear()
2226 self.console.clear()
2248 self.console.append("Please Write prefix")
2227 self.console.append("Please Write prefix")
2249 return 0
2228 return 0
2250 opObj.addParameter(name='figfile', value=value, format='str')
2229 opObj.addParameter(name='figfile', value=value, format='str')
2251
2230
2252 # test_ftp
2231 # test_ftp
2253 if self.specHeisGraphftpRTIplot.isChecked():
2232 if self.specHeisGraphftpRTIplot.isChecked():
2254 opObj.addParameter(name='ftp', value='1', format='int')
2233 opObj.addParameter(name='ftp', value='1', format='int')
2255 self.addFTPConf2Operation(puObj, opObj)
2234 self.addFTPConf2Operation(puObj, opObj)
2256 addFTP = True
2235 addFTP = True
2257
2236
2258 localfolder = None
2237 localfolder = None
2259 if checkPath:
2238 if checkPath:
2260 localfolder = str(self.specHeisGraphPath.text())
2239 localfolder = str(self.specHeisGraphPath.text())
2261 if localfolder == '':
2240 if localfolder == '':
2262 self.console.clear()
2241 self.console.clear()
2263 self.console.append("Graphic path should be defined")
2242 self.console.append("Graphic path should be defined")
2264 return 0
2243 return 0
2265
2244
2266 if addFTP and not localfolder:
2245 if addFTP and not localfolder:
2267 self.console.clear()
2246 self.console.clear()
2268 self.console.append("You should save plots before send them to FTP Server")
2247 self.console.append("You should save plots before send them to FTP Server")
2269 return 0
2248 return 0
2270
2249
2271 # if something happened
2250 # if something happened
2272 parms_ok, output_path, blocksperfile, metadata_file = self.checkInputsPUSave(datatype='SpectraHeis')
2251 parms_ok, output_path, blocksperfile, metadata_file = self.checkInputsPUSave(datatype='SpectraHeis')
2273 if parms_ok:
2252 if parms_ok:
2274 name_operation = 'FitsWriter'
2253 name_operation = 'FitsWriter'
2275 optype = 'other'
2254 optype = 'other'
2276 name_parameter1 = 'path'
2255 name_parameter1 = 'path'
2277 name_parameter2 = 'dataBlocksPerFile'
2256 name_parameter2 = 'dataBlocksPerFile'
2278 name_parameter3 = 'metadatafile'
2257 name_parameter3 = 'metadatafile'
2279 value1 = output_path
2258 value1 = output_path
2280 value2 = blocksperfile
2259 value2 = blocksperfile
2281 value3 = metadata_file
2260 value3 = metadata_file
2282 format2 = "int"
2261 format2 = "int"
2283 format3 = "str"
2262 format3 = "str"
2284 opObj = puObj.addOperation(name=name_operation, optype=optype)
2263 opObj = puObj.addOperation(name=name_operation, optype=optype)
2285
2264
2286 opObj.addParameter(name=name_parameter1, value=value1)
2265 opObj.addParameter(name=name_parameter1, value=value1)
2287
2266
2288 if blocksperfile:
2267 if blocksperfile:
2289 opObj.addParameter(name=name_parameter2, value=value2, format=format2)
2268 opObj.addParameter(name=name_parameter2, value=value2, format=format2)
2290
2269
2291 if metadata_file:
2270 if metadata_file:
2292 opObj.addParameter(name=name_parameter3, value=value3, format=format3)
2271 opObj.addParameter(name=name_parameter3, value=value3, format=format3)
2293
2272
2294 self.console.clear()
2273 self.console.clear()
2295 try:
2274 try:
2296 self.refreshPUProperties(puObj)
2275 self.refreshPUProperties(puObj)
2297 except:
2276 except:
2298 self.console.append("An error reading input parameters was found ... Check them!")
2277 self.console.append("An error reading input parameters was found ... Check them!")
2299 return 0
2278 return 0
2300
2279
2301 self.console.append("Save your project and press Play button to start signal processing")
2280 self.console.append("Save your project and press Play button to start signal processing")
2302
2281
2303 self.actionSaveToolbar.setEnabled(True)
2282 self._enable_save_button()
2304 self.actionStarToolbar.setEnabled(True)
2283 self._enable_play_button()
2305
2306 self.actionSave.setEnabled(True)
2307 self.actionStart.setEnabled(True)
2308
2284
2309 return 1
2285 return 1
2310 @pyqtSignature("int")
2286 @pyqtSignature("int")
2311 def on_specHeisGraphCebSpectraplot_stateChanged(self, p0):
2287 def on_specHeisGraphCebSpectraplot_stateChanged(self, p0):
2312
2288
2313 if p0 == 2:
2289 if p0 == 2:
2314 self.specHeisGgraphChannelList.setEnabled(True)
2290 self.specHeisGgraphChannelList.setEnabled(True)
2315 self.specHeisGgraphXminXmax.setEnabled(True)
2291 self.specHeisGgraphXminXmax.setEnabled(True)
2316 self.specHeisGgraphYminYmax.setEnabled(True)
2292 self.specHeisGgraphYminYmax.setEnabled(True)
2317 if p0 == 0:
2293 if p0 == 0:
2318 self.specHeisGgraphXminXmax.setEnabled(False)
2294 self.specHeisGgraphXminXmax.setEnabled(False)
2319 self.specHeisGgraphYminYmax.setEnabled(False)
2295 self.specHeisGgraphYminYmax.setEnabled(False)
2320
2296
2321 @pyqtSignature("int")
2297 @pyqtSignature("int")
2322 def on_specHeisGraphCebRTIplot_stateChanged(self, p0):
2298 def on_specHeisGraphCebRTIplot_stateChanged(self, p0):
2323
2299
2324 if p0 == 2:
2300 if p0 == 2:
2325 self.specHeisGgraphChannelList.setEnabled(True)
2301 self.specHeisGgraphChannelList.setEnabled(True)
2326 self.specHeisGgraphTminTmax.setEnabled(True)
2302 self.specHeisGgraphTminTmax.setEnabled(True)
2327 self.specHeisGgraphYminYmax.setEnabled(True)
2303 self.specHeisGgraphYminYmax.setEnabled(True)
2328 self.specHeisGgraphTimeRange.setEnabled(True)
2304 self.specHeisGgraphTimeRange.setEnabled(True)
2329
2305
2330 if p0 == 0:
2306 if p0 == 0:
2331 self.specHeisGgraphTminTmax.setEnabled(False)
2307 self.specHeisGgraphTminTmax.setEnabled(False)
2332 self.specHeisGgraphYminYmax.setEnabled(False)
2308 self.specHeisGgraphYminYmax.setEnabled(False)
2333 self.specHeisGgraphTimeRange.setEnabled(False)
2309 self.specHeisGgraphTimeRange.setEnabled(False)
2334
2310
2335 @pyqtSignature("int")
2311 @pyqtSignature("int")
2336 def on_specHeisGraphSaveSpectra_stateChanged(self, p0):
2312 def on_specHeisGraphSaveSpectra_stateChanged(self, p0):
2337 """
2313 """
2338 """
2314 """
2339 if p0 == 2:
2315 if p0 == 2:
2340 self.specHeisGraphPath.setEnabled(True)
2316 self.specHeisGraphPath.setEnabled(True)
2341 self.specHeisGraphPrefix.setEnabled(True)
2317 self.specHeisGraphPrefix.setEnabled(True)
2342 self.specHeisGraphToolPath.setEnabled(True)
2318 self.specHeisGraphToolPath.setEnabled(True)
2343 if p0 == 0:
2319 if p0 == 0:
2344 self.specHeisGraphPath.setEnabled(False)
2320 self.specHeisGraphPath.setEnabled(False)
2345 self.specHeisGraphPrefix.setEnabled(False)
2321 self.specHeisGraphPrefix.setEnabled(False)
2346 self.specHeisGraphToolPath.setEnabled(False)
2322 self.specHeisGraphToolPath.setEnabled(False)
2347
2323
2348 @pyqtSignature("int")
2324 @pyqtSignature("int")
2349 def on_specHeisGraphSaveRTIplot_stateChanged(self, p0):
2325 def on_specHeisGraphSaveRTIplot_stateChanged(self, p0):
2350 if p0 == 2:
2326 if p0 == 2:
2351 self.specHeisGraphPath.setEnabled(True)
2327 self.specHeisGraphPath.setEnabled(True)
2352 self.specHeisGraphPrefix.setEnabled(True)
2328 self.specHeisGraphPrefix.setEnabled(True)
2353 self.specHeisGraphToolPath.setEnabled(True)
2329 self.specHeisGraphToolPath.setEnabled(True)
2354
2330
2355 @pyqtSignature("int")
2331 @pyqtSignature("int")
2356 def on_specHeisGraphftpSpectra_stateChanged(self, p0):
2332 def on_specHeisGraphftpSpectra_stateChanged(self, p0):
2357 """
2333 """
2358 """
2334 """
2359 if p0 == 2:
2335 if p0 == 2:
2360 self.specHeisGgraphftpratio.setEnabled(True)
2336 self.specHeisGgraphftpratio.setEnabled(True)
2361
2337
2362 if p0 == 0:
2338 if p0 == 0:
2363 self.specHeisGgraphftpratio.setEnabled(False)
2339 self.specHeisGgraphftpratio.setEnabled(False)
2364
2340
2365 @pyqtSignature("int")
2341 @pyqtSignature("int")
2366 def on_specHeisGraphftpRTIplot_stateChanged(self, p0):
2342 def on_specHeisGraphftpRTIplot_stateChanged(self, p0):
2367 if p0 == 2:
2343 if p0 == 2:
2368 self.specHeisGgraphftpratio.setEnabled(True)
2344 self.specHeisGgraphftpratio.setEnabled(True)
2369
2345
2370 @pyqtSignature("")
2346 @pyqtSignature("")
2371 def on_specHeisGraphClear_clicked(self):
2347 def on_specHeisGraphClear_clicked(self):
2372 pass
2348 pass
2373
2349
2374 def __checkSpecGraphSaving(self):
2350 def __checkSpecGraphSaving(self):
2375
2351
2376 enable = False
2352 enable = False
2377
2353
2378 if self.specGraphSaveSpectra.checkState():
2354 if self.specGraphSaveSpectra.checkState():
2379 enable = True
2355 enable = True
2380
2356
2381 if self.specGraphSaveCross.checkState():
2357 if self.specGraphSaveCross.checkState():
2382 enable = True
2358 enable = True
2383
2359
2384 if self.specGraphSaveRTIplot.checkState():
2360 if self.specGraphSaveRTIplot.checkState():
2385 enable = True
2361 enable = True
2386
2362
2387 if self.specGraphSaveCoherencemap.checkState():
2363 if self.specGraphSaveCoherencemap.checkState():
2388 enable = True
2364 enable = True
2389
2365
2390 if self.specGraphSavePowerprofile.checkState():
2366 if self.specGraphSavePowerprofile.checkState():
2391 enable = True
2367 enable = True
2392
2368
2393 if self.specGraphSaveRTInoise.checkState():
2369 if self.specGraphSaveRTInoise.checkState():
2394 enable = True
2370 enable = True
2395
2371
2396 self.specGraphPath.setEnabled(enable)
2372 self.specGraphPath.setEnabled(enable)
2397 self.specGraphPrefix.setEnabled(enable)
2373 self.specGraphPrefix.setEnabled(enable)
2398 self.specGraphToolPath.setEnabled(enable)
2374 self.specGraphToolPath.setEnabled(enable)
2399
2375
2400 self.specGgraphftpratio.setEnabled(enable)
2376 self.specGgraphftpratio.setEnabled(enable)
2401
2377
2402 def __checkSpecGraphFTP(self):
2378 def __checkSpecGraphFTP(self):
2403
2379
2404 enable = False
2380 enable = False
2405
2381
2406 if self.specGraphftpSpectra.checkState():
2382 if self.specGraphftpSpectra.checkState():
2407 enable = True
2383 enable = True
2408
2384
2409 if self.specGraphftpCross.checkState():
2385 if self.specGraphftpCross.checkState():
2410 enable = True
2386 enable = True
2411
2387
2412 if self.specGraphftpRTIplot.checkState():
2388 if self.specGraphftpRTIplot.checkState():
2413 enable = True
2389 enable = True
2414
2390
2415 if self.specGraphftpCoherencemap.checkState():
2391 if self.specGraphftpCoherencemap.checkState():
2416 enable = True
2392 enable = True
2417
2393
2418 if self.specGraphftpPowerprofile.checkState():
2394 if self.specGraphftpPowerprofile.checkState():
2419 enable = True
2395 enable = True
2420
2396
2421 if self.specGraphftpRTInoise.checkState():
2397 if self.specGraphftpRTInoise.checkState():
2422 enable = True
2398 enable = True
2423
2399
2424 # self.specGgraphftpratio.setEnabled(enable)
2400 # self.specGgraphftpratio.setEnabled(enable)
2425
2401
2426 def __checkSpecGraphFilters(self):
2402 def __checkSpecGraphFilters(self):
2427
2403
2428 freq = False
2404 freq = False
2429 height = False
2405 height = False
2430 db = False
2406 db = False
2431 time = False
2407 time = False
2432 magnitud = False
2408 magnitud = False
2433 phase = False
2409 phase = False
2434 channelList = False
2410 channelList = False
2435
2411
2436 if self.specGraphCebSpectraplot.checkState():
2412 if self.specGraphCebSpectraplot.checkState():
2437 freq = True
2413 freq = True
2438 height = True
2414 height = True
2439 db = True
2415 db = True
2440 channelList = True
2416 channelList = True
2441
2417
2442 if self.specGraphCebCrossSpectraplot.checkState():
2418 if self.specGraphCebCrossSpectraplot.checkState():
2443 freq = True
2419 freq = True
2444 height = True
2420 height = True
2445 db = True
2421 db = True
2446 magnitud = True
2422 magnitud = True
2447 phase = True
2423 phase = True
2448
2424
2449 if self.specGraphCebRTIplot.checkState():
2425 if self.specGraphCebRTIplot.checkState():
2450 height = True
2426 height = True
2451 db = True
2427 db = True
2452 time = True
2428 time = True
2453 channelList = True
2429 channelList = True
2454
2430
2455 if self.specGraphCebCoherencmap.checkState():
2431 if self.specGraphCebCoherencmap.checkState():
2456 height = True
2432 height = True
2457 time = True
2433 time = True
2458 magnitud = True
2434 magnitud = True
2459 phase = True
2435 phase = True
2460
2436
2461 if self.specGraphPowerprofile.checkState():
2437 if self.specGraphPowerprofile.checkState():
2462 height = True
2438 height = True
2463 db = True
2439 db = True
2464 channelList = True
2440 channelList = True
2465
2441
2466 if self.specGraphCebRTInoise.checkState():
2442 if self.specGraphCebRTInoise.checkState():
2467 db = True
2443 db = True
2468 time = True
2444 time = True
2469 channelList = True
2445 channelList = True
2470
2446
2471
2447
2472 self.specGgraphFreq.setEnabled(freq)
2448 self.specGgraphFreq.setEnabled(freq)
2473 self.specGgraphHeight.setEnabled(height)
2449 self.specGgraphHeight.setEnabled(height)
2474 self.specGgraphDbsrange.setEnabled(db)
2450 self.specGgraphDbsrange.setEnabled(db)
2475 self.specGgraphTminTmax.setEnabled(time)
2451 self.specGgraphTminTmax.setEnabled(time)
2476
2452
2477 self.specGgraphmagnitud.setEnabled(magnitud)
2453 self.specGgraphmagnitud.setEnabled(magnitud)
2478 self.specGgraphPhase.setEnabled(phase)
2454 self.specGgraphPhase.setEnabled(phase)
2479 self.specGgraphChannelList.setEnabled(channelList)
2455 self.specGgraphChannelList.setEnabled(channelList)
2480
2456
2481 def __getParmsFromProjectWindow(self):
2457 def __getParmsFromProjectWindow(self):
2482 """
2458 """
2483 Check Inputs Project:
2459 Check Inputs Project:
2484 - project_name
2460 - project_name
2485 - datatype
2461 - datatype
2486 - ext
2462 - ext
2487 - data_path
2463 - data_path
2488 - readmode
2464 - readmode
2489 - delay
2465 - delay
2490 - set
2466 - set
2491 - walk
2467 - walk
2492 """
2468 """
2493 parms_ok = True
2469 parms_ok = True
2494
2470
2495 project_name = str(self.proName.text())
2471 project_name = str(self.proName.text())
2496
2472
2497 if project_name == '' or project_name == None:
2473 if project_name == '' or project_name == None:
2498 outputstr = "Enter a project Name"
2474 outputstr = "Enter a project Name"
2499 self.console.append(outputstr)
2475 self.console.append(outputstr)
2500 parms_ok = False
2476 parms_ok = False
2501 project_name = None
2477 project_name = None
2502
2478
2503 description = str(self.proDescription.toPlainText())
2479 description = str(self.proDescription.toPlainText())
2504
2480
2505 datatype = str(self.proComDataType.currentText())
2481 datatype = str(self.proComDataType.currentText())
2506
2482
2507 ext = str(self.proDataType.text())
2483 ext = str(self.proDataType.text())
2508
2484
2509 dpath = str(self.proDataPath.text())
2485 dpath = str(self.proDataPath.text())
2510
2486
2511 if dpath == '':
2487 if dpath == '':
2512 outputstr = 'Datapath is empty'
2488 outputstr = 'Datapath is empty'
2513 self.console.append(outputstr)
2489 self.console.append(outputstr)
2514 parms_ok = False
2490 parms_ok = False
2515 dpath = None
2491 dpath = None
2516
2492
2517 if dpath != None:
2493 if dpath != None:
2518 if not os.path.isdir(dpath):
2494 if not os.path.isdir(dpath):
2519 outputstr = 'Datapath (%s) does not exist' % dpath
2495 outputstr = 'Datapath (%s) does not exist' % dpath
2520 self.console.append(outputstr)
2496 self.console.append(outputstr)
2521 parms_ok = False
2497 parms_ok = False
2522 dpath = None
2498 dpath = None
2523
2499
2524 online = int(self.proComReadMode.currentIndex())
2500 online = int(self.proComReadMode.currentIndex())
2525
2501
2526 delay = None
2502 delay = None
2527 if online==1:
2503 if online==1:
2528 try:
2504 try:
2529 delay = int(str(self.proDelay.text()))
2505 delay = int(str(self.proDelay.text()))
2530 except:
2506 except:
2531 outputstr = 'Delay value (%s) must be a integer number' %str(self.proDelay.text())
2507 outputstr = 'Delay value (%s) must be a integer number' %str(self.proDelay.text())
2532 self.console.append(outputstr)
2508 self.console.append(outputstr)
2533 parms_ok = False
2509 parms_ok = False
2534
2510
2535
2511
2536 set = None
2512 set = None
2537 value = str(self.proSet.text())
2513 value = str(self.proSet.text())
2538 try:
2514 try:
2539 set = int(value)
2515 set = int(value)
2540 except:
2516 except:
2541 pass
2517 pass
2542
2518
2543 ippKm = None
2519 ippKm = None
2544
2520
2545 value = str(self.proIPPKm.text())
2521 value = str(self.proIPPKm.text())
2546
2522
2547 try:
2523 try:
2548 ippKm = float(value)
2524 ippKm = float(value)
2549 except:
2525 except:
2550 if datatype=="USRP":
2526 if datatype=="USRP":
2551 outputstr = 'IPP value "%s" must be a float number' % str(self.proIPPKm.text())
2527 outputstr = 'IPP value "%s" must be a float number' % str(self.proIPPKm.text())
2552 self.console.append(outputstr)
2528 self.console.append(outputstr)
2553 parms_ok = False
2529 parms_ok = False
2554
2530
2555 walk = int(self.proComWalk.currentIndex())
2531 walk = int(self.proComWalk.currentIndex())
2556 expLabel = str(self.proExpLabel.text())
2532 expLabel = str(self.proExpLabel.text())
2557
2533
2558 startDate = str(self.proComStartDate.currentText())
2534 startDate = str(self.proComStartDate.currentText())
2559 endDate = str(self.proComEndDate.currentText())
2535 endDate = str(self.proComEndDate.currentText())
2560
2536
2561 # startDateList = startDate.split("/")
2537 # startDateList = startDate.split("/")
2562 # endDateList = endDate.split("/")
2538 # endDateList = endDate.split("/")
2563 #
2539 #
2564 # startDate = datetime.date(int(startDateList[0]), int(startDateList[1]), int(startDateList[2]))
2540 # startDate = datetime.date(int(startDateList[0]), int(startDateList[1]), int(startDateList[2]))
2565 # endDate = datetime.date(int(endDateList[0]), int(endDateList[1]), int(endDateList[2]))
2541 # endDate = datetime.date(int(endDateList[0]), int(endDateList[1]), int(endDateList[2]))
2566
2542
2567 startTime = self.proStartTime.time()
2543 startTime = self.proStartTime.time()
2568 endTime = self.proEndTime.time()
2544 endTime = self.proEndTime.time()
2569
2545
2570 startTime = str(startTime.toString("H:m:s"))
2546 startTime = str(startTime.toString("H:m:s"))
2571 endTime = str(endTime.toString("H:m:s"))
2547 endTime = str(endTime.toString("H:m:s"))
2572
2548
2573 projectParms = ProjectParms()
2549 projectParms = ProjectParms()
2574
2550
2575 projectParms.name = project_name
2551 projectParms.name = project_name
2576 projectParms.description = description
2552 projectParms.description = description
2577 projectParms.datatype = datatype
2553 projectParms.datatype = datatype
2578 projectParms.ext = ext
2554 projectParms.ext = ext
2579 projectParms.dpath = dpath
2555 projectParms.dpath = dpath
2580 projectParms.online = online
2556 projectParms.online = online
2581 projectParms.startDate = startDate
2557 projectParms.startDate = startDate
2582 projectParms.endDate = endDate
2558 projectParms.endDate = endDate
2583 projectParms.startTime = startTime
2559 projectParms.startTime = startTime
2584 projectParms.endTime = endTime
2560 projectParms.endTime = endTime
2585 projectParms.delay = delay
2561 projectParms.delay = delay
2586 projectParms.walk = walk
2562 projectParms.walk = walk
2587 projectParms.expLabel = expLabel
2563 projectParms.expLabel = expLabel
2588 projectParms.set = set
2564 projectParms.set = set
2589 projectParms.ippKm = ippKm
2565 projectParms.ippKm = ippKm
2590 projectParms.parmsOk = parms_ok
2566 projectParms.parmsOk = parms_ok
2591
2567
2592 return projectParms
2568 return projectParms
2593
2569
2594
2570
2595 def __getParmsFromProjectObj(self, projectObjView):
2571 def __getParmsFromProjectObj(self, projectObjView):
2596
2572
2597 parms_ok = True
2573 parms_ok = True
2598
2574
2599 project_name, description = projectObjView.name, projectObjView.description
2575 project_name, description = projectObjView.name, projectObjView.description
2600
2576
2601 readUnitObj = projectObjView.getReadUnitObj()
2577 readUnitObj = projectObjView.getReadUnitObj()
2602 datatype = readUnitObj.datatype
2578 datatype = readUnitObj.datatype
2603
2579
2604 operationObj = readUnitObj.getOperationObj(name='run')
2580 operationObj = readUnitObj.getOperationObj(name='run')
2605
2581
2606 dpath = operationObj.getParameterValue(parameterName='path')
2582 dpath = operationObj.getParameterValue(parameterName='path')
2607 startDate = operationObj.getParameterValue(parameterName='startDate')
2583 startDate = operationObj.getParameterValue(parameterName='startDate')
2608 endDate = operationObj.getParameterValue(parameterName='endDate')
2584 endDate = operationObj.getParameterValue(parameterName='endDate')
2609
2585
2610 startDate = startDate.strftime("%Y/%m/%d")
2586 startDate = startDate.strftime("%Y/%m/%d")
2611 endDate = endDate.strftime("%Y/%m/%d")
2587 endDate = endDate.strftime("%Y/%m/%d")
2612
2588
2613 startTime = operationObj.getParameterValue(parameterName='startTime')
2589 startTime = operationObj.getParameterValue(parameterName='startTime')
2614 endTime = operationObj.getParameterValue(parameterName='endTime')
2590 endTime = operationObj.getParameterValue(parameterName='endTime')
2615
2591
2616 startTime = startTime.strftime("%H:%M:%S")
2592 startTime = startTime.strftime("%H:%M:%S")
2617 endTime = endTime.strftime("%H:%M:%S")
2593 endTime = endTime.strftime("%H:%M:%S")
2618
2594
2619 online = 0
2595 online = 0
2620 try:
2596 try:
2621 online = operationObj.getParameterValue(parameterName='online')
2597 online = operationObj.getParameterValue(parameterName='online')
2622 except:
2598 except:
2623 pass
2599 pass
2624
2600
2625 delay = ''
2601 delay = ''
2626 try:
2602 try:
2627 delay = operationObj.getParameterValue(parameterName='delay')
2603 delay = operationObj.getParameterValue(parameterName='delay')
2628 except:
2604 except:
2629 pass
2605 pass
2630
2606
2631 walk = 0
2607 walk = 0
2632 try:
2608 try:
2633 walk = operationObj.getParameterValue(parameterName='walk')
2609 walk = operationObj.getParameterValue(parameterName='walk')
2634 except:
2610 except:
2635 pass
2611 pass
2636
2612
2637 set = ''
2613 set = ''
2638 try:
2614 try:
2639 set = operationObj.getParameterValue(parameterName='set')
2615 set = operationObj.getParameterValue(parameterName='set')
2640 except:
2616 except:
2641 pass
2617 pass
2642
2618
2643 expLabel = ''
2619 expLabel = ''
2644 try:
2620 try:
2645 expLabel = operationObj.getParameterValue(parameterName='expLabel')
2621 expLabel = operationObj.getParameterValue(parameterName='expLabel')
2646 except:
2622 except:
2647 pass
2623 pass
2648
2624
2649 ippKm = ''
2625 ippKm = ''
2650 if datatype.lower() == 'usrp':
2626 if datatype.lower() == 'usrp':
2651 try:
2627 try:
2652 ippKm = operationObj.getParameterValue(parameterName='ippKm')
2628 ippKm = operationObj.getParameterValue(parameterName='ippKm')
2653 except:
2629 except:
2654 pass
2630 pass
2655
2631
2656 projectParms = ProjectParms()
2632 projectParms = ProjectParms()
2657
2633
2658 projectParms.name = project_name
2634 projectParms.name = project_name
2659 projectParms.description = description
2635 projectParms.description = description
2660 projectParms.datatype = datatype
2636 projectParms.datatype = datatype
2661 projectParms.ext = None
2637 projectParms.ext = None
2662 projectParms.dpath = dpath
2638 projectParms.dpath = dpath
2663 projectParms.online = online
2639 projectParms.online = online
2664 projectParms.startDate = startDate
2640 projectParms.startDate = startDate
2665 projectParms.endDate = endDate
2641 projectParms.endDate = endDate
2666 projectParms.startTime = startTime
2642 projectParms.startTime = startTime
2667 projectParms.endTime = endTime
2643 projectParms.endTime = endTime
2668 projectParms.delay=delay
2644 projectParms.delay=delay
2669 projectParms.walk=walk
2645 projectParms.walk=walk
2670 projectParms.set=set
2646 projectParms.set=set
2671 projectParms.ippKm=ippKm
2647 projectParms.ippKm=ippKm
2672 projectParms.expLabel = expLabel
2648 projectParms.expLabel = expLabel
2673 projectParms.parmsOk=parms_ok
2649 projectParms.parmsOk=parms_ok
2674
2650
2675 return projectParms
2651 return projectParms
2676
2652
2677 def refreshProjectWindow(self, projectObjView):
2653 def refreshProjectWindow(self, projectObjView):
2678
2654
2679 projectParms = self.__getParmsFromProjectObj(projectObjView)
2655 projectParms = self.__getParmsFromProjectObj(projectObjView)
2680
2656
2681 index = projectParms.getDatatypeIndex()
2657 index = projectParms.getDatatypeIndex()
2682
2658
2683 self.proName.setText(projectParms.name)
2659 self.proName.setText(projectParms.name)
2684 self.proDescription.clear()
2660 self.proDescription.clear()
2685 self.proDescription.append(projectParms.description)
2661 self.proDescription.append(projectParms.description)
2686
2662
2687 self.on_proComDataType_activated(index=index)
2663 self.on_proComDataType_activated(index=index)
2688 self.proDataPath.setText(projectParms.dpath)
2664 self.proDataPath.setText(projectParms.dpath)
2689 self.proComDataType.setCurrentIndex(index)
2665 self.proComDataType.setCurrentIndex(index)
2690 self.proComReadMode.setCurrentIndex(projectParms.online)
2666 self.proComReadMode.setCurrentIndex(projectParms.online)
2691 self.proDelay.setText(str(projectParms.delay))
2667 self.proDelay.setText(str(projectParms.delay))
2692 self.proSet.setText(str(projectParms.set))
2668 self.proSet.setText(str(projectParms.set))
2693 self.proIPPKm.setText(str(projectParms.ippKm))
2669 self.proIPPKm.setText(str(projectParms.ippKm))
2694 self.proComWalk.setCurrentIndex(projectParms.walk)
2670 self.proComWalk.setCurrentIndex(projectParms.walk)
2695 self.proExpLabel.setText(str(projectParms.expLabel).strip())
2671 self.proExpLabel.setText(str(projectParms.expLabel).strip())
2696
2672
2697 dateList = self.loadDays(data_path = projectParms.dpath,
2673 dateList = self.loadDays(data_path = projectParms.dpath,
2698 ext = projectParms.getExt(),
2674 ext = projectParms.getExt(),
2699 walk = projectParms.walk,
2675 walk = projectParms.walk,
2700 expLabel = projectParms.expLabel)
2676 expLabel = projectParms.expLabel)
2701
2677
2702 try:
2678 try:
2703 startDateIndex = dateList.index(projectParms.startDate)
2679 startDateIndex = dateList.index(projectParms.startDate)
2704 except:
2680 except:
2705 startDateIndex = 0
2681 startDateIndex = 0
2706
2682
2707 try:
2683 try:
2708 endDateIndex = dateList.index(projectParms.endDate)
2684 endDateIndex = dateList.index(projectParms.endDate)
2709 except:
2685 except:
2710 endDateIndex = int(self.proComEndDate.count()-1)
2686 endDateIndex = int(self.proComEndDate.count()-1)
2711
2687
2712 self.proComStartDate.setCurrentIndex(startDateIndex)
2688 self.proComStartDate.setCurrentIndex(startDateIndex)
2713 self.proComEndDate.setCurrentIndex(endDateIndex)
2689 self.proComEndDate.setCurrentIndex(endDateIndex)
2714
2690
2715 startlist = projectParms.startTime.split(":")
2691 startlist = projectParms.startTime.split(":")
2716 endlist = projectParms.endTime.split(":")
2692 endlist = projectParms.endTime.split(":")
2717
2693
2718 self.time.setHMS(int(startlist[0]), int(startlist[1]), int(startlist[2]))
2694 self.time.setHMS(int(startlist[0]), int(startlist[1]), int(startlist[2]))
2719 self.proStartTime.setTime(self.time)
2695 self.proStartTime.setTime(self.time)
2720
2696
2721 self.time.setHMS(int(endlist[0]), int(endlist[1]), int(endlist[2]))
2697 self.time.setHMS(int(endlist[0]), int(endlist[1]), int(endlist[2]))
2722 self.proEndTime.setTime(self.time)
2698 self.proEndTime.setTime(self.time)
2723
2699
2724
2700
2725 def __refreshVoltageWindow(self, puObj):
2701 def __refreshVoltageWindow(self, puObj):
2726
2702
2727 opObj = puObj.getOperationObj(name='setRadarFrequency')
2703 opObj = puObj.getOperationObj(name='setRadarFrequency')
2728 if opObj == None:
2704 if opObj == None:
2729 self.volOpRadarfrequency.clear()
2705 self.volOpRadarfrequency.clear()
2730 self.volOpCebRadarfrequency.setCheckState(0)
2706 self.volOpCebRadarfrequency.setCheckState(0)
2731 else:
2707 else:
2732 value = opObj.getParameterValue(parameterName='frequency')
2708 value = opObj.getParameterValue(parameterName='frequency')
2733 value = str(float(value)/1e6)
2709 value = str(float(value)/1e6)
2734 self.volOpRadarfrequency.setText(value)
2710 self.volOpRadarfrequency.setText(value)
2735 self.volOpRadarfrequency.setEnabled(True)
2711 self.volOpRadarfrequency.setEnabled(True)
2736 self.volOpCebRadarfrequency.setCheckState(QtCore.Qt.Checked)
2712 self.volOpCebRadarfrequency.setCheckState(QtCore.Qt.Checked)
2737
2713
2738 opObj = puObj.getOperationObj(name="selectChannels")
2714 opObj = puObj.getOperationObj(name="selectChannels")
2739
2715
2740 if opObj == None:
2716 if opObj == None:
2741 opObj = puObj.getOperationObj(name="selectChannelsByIndex")
2717 opObj = puObj.getOperationObj(name="selectChannelsByIndex")
2742
2718
2743 if opObj == None:
2719 if opObj == None:
2744 self.volOpChannel.clear()
2720 self.volOpChannel.clear()
2745 self.volOpCebChannels.setCheckState(0)
2721 self.volOpCebChannels.setCheckState(0)
2746 else:
2722 else:
2747 channelEnabled = False
2723 channelEnabled = False
2748 try:
2724 try:
2749 value = opObj.getParameterValue(parameterName='channelList')
2725 value = opObj.getParameterValue(parameterName='channelList')
2750 value = str(value)[1:-1]
2726 value = str(value)[1:-1]
2751 channelEnabled = True
2727 channelEnabled = True
2752 channelMode = 0
2728 channelMode = 0
2753 except:
2729 except:
2754 pass
2730 pass
2755 try:
2731 try:
2756 value = opObj.getParameterValue(parameterName='channelIndexList')
2732 value = opObj.getParameterValue(parameterName='channelIndexList')
2757 value = str(value)[1:-1]
2733 value = str(value)[1:-1]
2758 channelEnabled = True
2734 channelEnabled = True
2759 channelMode = 1
2735 channelMode = 1
2760 except:
2736 except:
2761 pass
2737 pass
2762
2738
2763 if channelEnabled:
2739 if channelEnabled:
2764 self.volOpChannel.setText(value)
2740 self.volOpChannel.setText(value)
2765 self.volOpChannel.setEnabled(True)
2741 self.volOpChannel.setEnabled(True)
2766 self.volOpCebChannels.setCheckState(QtCore.Qt.Checked)
2742 self.volOpCebChannels.setCheckState(QtCore.Qt.Checked)
2767 self.volOpComChannels.setCurrentIndex(channelMode)
2743 self.volOpComChannels.setCurrentIndex(channelMode)
2768
2744
2769 opObj = puObj.getOperationObj(name="selectHeights")
2745 opObj = puObj.getOperationObj(name="selectHeights")
2770 if opObj == None:
2746 if opObj == None:
2771 self.volOpHeights.clear()
2747 self.volOpHeights.clear()
2772 self.volOpCebHeights.setCheckState(0)
2748 self.volOpCebHeights.setCheckState(0)
2773 else:
2749 else:
2774 value1 = str(opObj.getParameterValue(parameterName='minHei'))
2750 value1 = str(opObj.getParameterValue(parameterName='minHei'))
2775 value2 = str(opObj.getParameterValue(parameterName='maxHei'))
2751 value2 = str(opObj.getParameterValue(parameterName='maxHei'))
2776 value = value1 + "," + value2
2752 value = value1 + "," + value2
2777 self.volOpHeights.setText(value)
2753 self.volOpHeights.setText(value)
2778 self.volOpHeights.setEnabled(True)
2754 self.volOpHeights.setEnabled(True)
2779 self.volOpCebHeights.setCheckState(QtCore.Qt.Checked)
2755 self.volOpCebHeights.setCheckState(QtCore.Qt.Checked)
2780
2756
2781 opObj = puObj.getOperationObj(name="filterByHeights")
2757 opObj = puObj.getOperationObj(name="filterByHeights")
2782 if opObj == None:
2758 if opObj == None:
2783 self.volOpFilter.clear()
2759 self.volOpFilter.clear()
2784 self.volOpCebFilter.setCheckState(0)
2760 self.volOpCebFilter.setCheckState(0)
2785 else:
2761 else:
2786 value = opObj.getParameterValue(parameterName='window')
2762 value = opObj.getParameterValue(parameterName='window')
2787 value = str(value)
2763 value = str(value)
2788 self.volOpFilter.setText(value)
2764 self.volOpFilter.setText(value)
2789 self.volOpFilter.setEnabled(True)
2765 self.volOpFilter.setEnabled(True)
2790 self.volOpCebFilter.setCheckState(QtCore.Qt.Checked)
2766 self.volOpCebFilter.setCheckState(QtCore.Qt.Checked)
2791
2767
2792 opObj = puObj.getOperationObj(name="ProfileSelector")
2768 opObj = puObj.getOperationObj(name="ProfileSelector")
2793 if opObj == None:
2769 if opObj == None:
2794 self.volOpProfile.clear()
2770 self.volOpProfile.clear()
2795 self.volOpCebProfile.setCheckState(0)
2771 self.volOpCebProfile.setCheckState(0)
2796 else:
2772 else:
2797 for parmObj in opObj.getParameterObjList():
2773 for parmObj in opObj.getParameterObjList():
2798
2774
2799 if parmObj.name == "profileList":
2775 if parmObj.name == "profileList":
2800 value = parmObj.getValue()
2776 value = parmObj.getValue()
2801 value = str(value)[1:-1]
2777 value = str(value)[1:-1]
2802 self.volOpProfile.setText(value)
2778 self.volOpProfile.setText(value)
2803 self.volOpProfile.setEnabled(True)
2779 self.volOpProfile.setEnabled(True)
2804 self.volOpCebProfile.setCheckState(QtCore.Qt.Checked)
2780 self.volOpCebProfile.setCheckState(QtCore.Qt.Checked)
2805 self.volOpComProfile.setCurrentIndex(0)
2781 self.volOpComProfile.setCurrentIndex(0)
2806
2782
2807 if parmObj.name == "profileRangeList":
2783 if parmObj.name == "profileRangeList":
2808 value = parmObj.getValue()
2784 value = parmObj.getValue()
2809 value = str(value)[1:-1]
2785 value = str(value)[1:-1]
2810 self.volOpProfile.setText(value)
2786 self.volOpProfile.setText(value)
2811 self.volOpProfile.setEnabled(True)
2787 self.volOpProfile.setEnabled(True)
2812 self.volOpCebProfile.setCheckState(QtCore.Qt.Checked)
2788 self.volOpCebProfile.setCheckState(QtCore.Qt.Checked)
2813 self.volOpComProfile.setCurrentIndex(1)
2789 self.volOpComProfile.setCurrentIndex(1)
2814
2790
2815 if parmObj.name == "rangeList":
2791 if parmObj.name == "rangeList":
2816 value = parmObj.getValue()
2792 value = parmObj.getValue()
2817 value = str(value)[1:-1]
2793 value = str(value)[1:-1]
2818 self.volOpProfile.setText(value)
2794 self.volOpProfile.setText(value)
2819 self.volOpProfile.setEnabled(True)
2795 self.volOpProfile.setEnabled(True)
2820 self.volOpCebProfile.setCheckState(QtCore.Qt.Checked)
2796 self.volOpCebProfile.setCheckState(QtCore.Qt.Checked)
2821 self.volOpComProfile.setCurrentIndex(2)
2797 self.volOpComProfile.setCurrentIndex(2)
2822
2798
2823 opObj = puObj.getOperationObj(name="Decoder")
2799 opObj = puObj.getOperationObj(name="Decoder")
2824 self.volOpCode.setText("")
2800 self.volOpCode.setText("")
2825 if opObj == None:
2801 if opObj == None:
2826 self.volOpCebDecodification.setCheckState(0)
2802 self.volOpCebDecodification.setCheckState(0)
2827 else:
2803 else:
2828 self.volOpCebDecodification.setCheckState(QtCore.Qt.Checked)
2804 self.volOpCebDecodification.setCheckState(QtCore.Qt.Checked)
2829
2805
2830 parmObj = opObj.getParameterObj('code')
2806 parmObj = opObj.getParameterObj('code')
2831
2807
2832 if parmObj == None:
2808 if parmObj == None:
2833 self.volOpComCode.setCurrentIndex(0)
2809 self.volOpComCode.setCurrentIndex(0)
2834 else:
2810 else:
2835
2811
2836 parmObj1 = opObj.getParameterObj('nCode')
2812 parmObj1 = opObj.getParameterObj('nCode')
2837 parmObj2 = opObj.getParameterObj('nBaud')
2813 parmObj2 = opObj.getParameterObj('nBaud')
2838
2814
2839 if parmObj1 == None or parmObj2 == None:
2815 if parmObj1 == None or parmObj2 == None:
2840 self.volOpComCode.setCurrentIndex(0)
2816 self.volOpComCode.setCurrentIndex(0)
2841 else:
2817 else:
2842 code = ast.literal_eval(str(parmObj.getValue()))
2818 code = ast.literal_eval(str(parmObj.getValue()))
2843 nCode = parmObj1.getValue()
2819 nCode = parmObj1.getValue()
2844 nBaud = parmObj2.getValue()
2820 nBaud = parmObj2.getValue()
2845
2821
2846 code = numpy.asarray(code).reshape((nCode, nBaud)).tolist()
2822 code = numpy.asarray(code).reshape((nCode, nBaud)).tolist()
2847
2823
2848 #User defined by default
2824 #User defined by default
2849 self.volOpComCode.setCurrentIndex(13)
2825 self.volOpComCode.setCurrentIndex(13)
2850 self.volOpCode.setText(str(code))
2826 self.volOpCode.setText(str(code))
2851
2827
2852 if nCode == 1:
2828 if nCode == 1:
2853 if nBaud == 3:
2829 if nBaud == 3:
2854 self.volOpComCode.setCurrentIndex(1)
2830 self.volOpComCode.setCurrentIndex(1)
2855 if nBaud == 4:
2831 if nBaud == 4:
2856 self.volOpComCode.setCurrentIndex(2)
2832 self.volOpComCode.setCurrentIndex(2)
2857 if nBaud == 5:
2833 if nBaud == 5:
2858 self.volOpComCode.setCurrentIndex(3)
2834 self.volOpComCode.setCurrentIndex(3)
2859 if nBaud == 7:
2835 if nBaud == 7:
2860 self.volOpComCode.setCurrentIndex(4)
2836 self.volOpComCode.setCurrentIndex(4)
2861 if nBaud == 11:
2837 if nBaud == 11:
2862 self.volOpComCode.setCurrentIndex(5)
2838 self.volOpComCode.setCurrentIndex(5)
2863 if nBaud == 13:
2839 if nBaud == 13:
2864 self.volOpComCode.setCurrentIndex(6)
2840 self.volOpComCode.setCurrentIndex(6)
2865
2841
2866 if nCode == 2:
2842 if nCode == 2:
2867 if nBaud == 3:
2843 if nBaud == 3:
2868 self.volOpComCode.setCurrentIndex(7)
2844 self.volOpComCode.setCurrentIndex(7)
2869 if nBaud == 4:
2845 if nBaud == 4:
2870 self.volOpComCode.setCurrentIndex(8)
2846 self.volOpComCode.setCurrentIndex(8)
2871 if nBaud == 5:
2847 if nBaud == 5:
2872 self.volOpComCode.setCurrentIndex(9)
2848 self.volOpComCode.setCurrentIndex(9)
2873 if nBaud == 7:
2849 if nBaud == 7:
2874 self.volOpComCode.setCurrentIndex(10)
2850 self.volOpComCode.setCurrentIndex(10)
2875 if nBaud == 11:
2851 if nBaud == 11:
2876 self.volOpComCode.setCurrentIndex(11)
2852 self.volOpComCode.setCurrentIndex(11)
2877 if nBaud == 13:
2853 if nBaud == 13:
2878 self.volOpComCode.setCurrentIndex(12)
2854 self.volOpComCode.setCurrentIndex(12)
2879
2855
2880
2856
2881 opObj = puObj.getOperationObj(name="deFlip")
2857 opObj = puObj.getOperationObj(name="deFlip")
2882 if opObj == None:
2858 if opObj == None:
2883 self.volOpFlip.clear()
2859 self.volOpFlip.clear()
2884 self.volOpFlip.setEnabled(False)
2860 self.volOpFlip.setEnabled(False)
2885 self.volOpCebFlip.setCheckState(0)
2861 self.volOpCebFlip.setCheckState(0)
2886 else:
2862 else:
2887 try:
2863 try:
2888 value = opObj.getParameterValue(parameterName='channelList')
2864 value = opObj.getParameterValue(parameterName='channelList')
2889 value = str(value)[1:-1]
2865 value = str(value)[1:-1]
2890 except:
2866 except:
2891 value = ""
2867 value = ""
2892
2868
2893 self.volOpFlip.setText(value)
2869 self.volOpFlip.setText(value)
2894 self.volOpFlip.setEnabled(True)
2870 self.volOpFlip.setEnabled(True)
2895 self.volOpCebFlip.setCheckState(QtCore.Qt.Checked)
2871 self.volOpCebFlip.setCheckState(QtCore.Qt.Checked)
2896
2872
2897 opObj = puObj.getOperationObj(name="CohInt")
2873 opObj = puObj.getOperationObj(name="CohInt")
2898 if opObj == None:
2874 if opObj == None:
2899 self.volOpCohInt.clear()
2875 self.volOpCohInt.clear()
2900 self.volOpCebCohInt.setCheckState(0)
2876 self.volOpCebCohInt.setCheckState(0)
2901 else:
2877 else:
2902 value = opObj.getParameterValue(parameterName='n')
2878 value = opObj.getParameterValue(parameterName='n')
2903 self.volOpCohInt.setText(str(value))
2879 self.volOpCohInt.setText(str(value))
2904 self.volOpCohInt.setEnabled(True)
2880 self.volOpCohInt.setEnabled(True)
2905 self.volOpCebCohInt.setCheckState(QtCore.Qt.Checked)
2881 self.volOpCebCohInt.setCheckState(QtCore.Qt.Checked)
2906
2882
2907 opObj = puObj.getOperationObj(name='Scope')
2883 opObj = puObj.getOperationObj(name='Scope')
2908 if opObj == None:
2884 if opObj == None:
2909 self.volGraphCebshow.setCheckState(0)
2885 self.volGraphCebshow.setCheckState(0)
2910 else:
2886 else:
2911 self.volGraphCebshow.setCheckState(QtCore.Qt.Checked)
2887 self.volGraphCebshow.setCheckState(QtCore.Qt.Checked)
2912
2888
2913 parmObj = opObj.getParameterObj(parameterName='channelList')
2889 parmObj = opObj.getParameterObj(parameterName='channelList')
2914
2890
2915 if parmObj == None:
2891 if parmObj == None:
2916 self.volGraphChannelList.clear()
2892 self.volGraphChannelList.clear()
2917 else:
2893 else:
2918 value = parmObj.getValue()
2894 value = parmObj.getValue()
2919 value = str(value)
2895 value = str(value)
2920 self.volGraphChannelList.setText(value)
2896 self.volGraphChannelList.setText(value)
2921 self.volOpProfile.setEnabled(True)
2897 self.volOpProfile.setEnabled(True)
2922
2898
2923 parmObj1 = opObj.getParameterObj(parameterName='xmin')
2899 parmObj1 = opObj.getParameterObj(parameterName='xmin')
2924 parmObj2 = opObj.getParameterObj(parameterName='xmax')
2900 parmObj2 = opObj.getParameterObj(parameterName='xmax')
2925
2901
2926 if parmObj1 == None or parmObj2 ==None:
2902 if parmObj1 == None or parmObj2 ==None:
2927 self.volGraphfreqrange.clear()
2903 self.volGraphfreqrange.clear()
2928 else:
2904 else:
2929 value1 = parmObj1.getValue()
2905 value1 = parmObj1.getValue()
2930 value1 = str(value1)
2906 value1 = str(value1)
2931 value2 = parmObj2.getValue()
2907 value2 = parmObj2.getValue()
2932 value2 = str(value2)
2908 value2 = str(value2)
2933 value = value1 + "," + value2
2909 value = value1 + "," + value2
2934 self.volGraphfreqrange.setText(value)
2910 self.volGraphfreqrange.setText(value)
2935
2911
2936 parmObj1 = opObj.getParameterObj(parameterName='ymin')
2912 parmObj1 = opObj.getParameterObj(parameterName='ymin')
2937 parmObj2 = opObj.getParameterObj(parameterName='ymax')
2913 parmObj2 = opObj.getParameterObj(parameterName='ymax')
2938
2914
2939 if parmObj1 == None or parmObj2 ==None:
2915 if parmObj1 == None or parmObj2 ==None:
2940 self.volGraphHeightrange.clear()
2916 self.volGraphHeightrange.clear()
2941 else:
2917 else:
2942 value1 = parmObj1.getValue()
2918 value1 = parmObj1.getValue()
2943 value1 = str(value1)
2919 value1 = str(value1)
2944 value2 = parmObj2.getValue()
2920 value2 = parmObj2.getValue()
2945 value2 = str(value2)
2921 value2 = str(value2)
2946 value = value1 + "," + value2
2922 value = value1 + "," + value2
2947 value2 = str(value2)
2923 value2 = str(value2)
2948 self.volGraphHeightrange.setText(value)
2924 self.volGraphHeightrange.setText(value)
2949
2925
2950 parmObj = opObj.getParameterObj(parameterName='save')
2926 parmObj = opObj.getParameterObj(parameterName='save')
2951
2927
2952 if parmObj == None:
2928 if parmObj == None:
2953 self.volGraphCebSave.setCheckState(QtCore.Qt.Unchecked)
2929 self.volGraphCebSave.setCheckState(QtCore.Qt.Unchecked)
2954 else:
2930 else:
2955 value = parmObj.getValue()
2931 value = parmObj.getValue()
2956 if value:
2932 if value:
2957 self.volGraphCebSave.setCheckState(QtCore.Qt.Checked)
2933 self.volGraphCebSave.setCheckState(QtCore.Qt.Checked)
2958 else:
2934 else:
2959 self.volGraphCebSave.setCheckState(QtCore.Qt.Unchecked)
2935 self.volGraphCebSave.setCheckState(QtCore.Qt.Unchecked)
2960
2936
2961 parmObj = opObj.getParameterObj(parameterName='figpath')
2937 parmObj = opObj.getParameterObj(parameterName='figpath')
2962 if parmObj == None:
2938 if parmObj == None:
2963 self.volGraphPath.clear()
2939 self.volGraphPath.clear()
2964 else:
2940 else:
2965 value = parmObj.getValue()
2941 value = parmObj.getValue()
2966 path = str(value)
2942 path = str(value)
2967 self.volGraphPath.setText(path)
2943 self.volGraphPath.setText(path)
2968
2944
2969 parmObj = opObj.getParameterObj(parameterName='figfile')
2945 parmObj = opObj.getParameterObj(parameterName='figfile')
2970 if parmObj == None:
2946 if parmObj == None:
2971 self.volGraphPrefix.clear()
2947 self.volGraphPrefix.clear()
2972 else:
2948 else:
2973 value = parmObj.getValue()
2949 value = parmObj.getValue()
2974 figfile = str(value)
2950 figfile = str(value)
2975 self.volGraphPrefix.setText(figfile)
2951 self.volGraphPrefix.setText(figfile)
2976
2952
2977 # outputVoltageWrite
2953 # outputVoltageWrite
2978 opObj = puObj.getOperationObj(name='VoltageWriter')
2954 opObj = puObj.getOperationObj(name='VoltageWriter')
2979
2955
2980 if opObj == None:
2956 if opObj == None:
2981 self.volOutputPath.clear()
2957 self.volOutputPath.clear()
2982 self.volOutputblocksperfile.clear()
2958 self.volOutputblocksperfile.clear()
2983 self.volOutputprofilesperblock.clear()
2959 self.volOutputprofilesperblock.clear()
2984 else:
2960 else:
2985 parmObj = opObj.getParameterObj(parameterName='path')
2961 parmObj = opObj.getParameterObj(parameterName='path')
2986 if parmObj == None:
2962 if parmObj == None:
2987 self.volOutputPath.clear()
2963 self.volOutputPath.clear()
2988 else:
2964 else:
2989 value = parmObj.getValue()
2965 value = parmObj.getValue()
2990 path = str(value)
2966 path = str(value)
2991 self.volOutputPath.setText(path)
2967 self.volOutputPath.setText(path)
2992
2968
2993 parmObj = opObj.getParameterObj(parameterName='blocksPerFile')
2969 parmObj = opObj.getParameterObj(parameterName='blocksPerFile')
2994 if parmObj == None:
2970 if parmObj == None:
2995 self.volOutputblocksperfile.clear()
2971 self.volOutputblocksperfile.clear()
2996 else:
2972 else:
2997 value = parmObj.getValue()
2973 value = parmObj.getValue()
2998 blocksperfile = str(value)
2974 blocksperfile = str(value)
2999 self.volOutputblocksperfile.setText(blocksperfile)
2975 self.volOutputblocksperfile.setText(blocksperfile)
3000
2976
3001 parmObj = opObj.getParameterObj(parameterName='profilesPerBlock')
2977 parmObj = opObj.getParameterObj(parameterName='profilesPerBlock')
3002 if parmObj == None:
2978 if parmObj == None:
3003 self.volOutputprofilesperblock.clear()
2979 self.volOutputprofilesperblock.clear()
3004 else:
2980 else:
3005 value = parmObj.getValue()
2981 value = parmObj.getValue()
3006 profilesPerBlock = str(value)
2982 profilesPerBlock = str(value)
3007 self.volOutputprofilesperblock.setText(profilesPerBlock)
2983 self.volOutputprofilesperblock.setText(profilesPerBlock)
3008
2984
3009 return
2985 return
3010
2986
3011 def __refreshSpectraWindow(self, puObj):
2987 def __refreshSpectraWindow(self, puObj):
3012
2988
3013 inputId = puObj.getInputId()
2989 inputId = puObj.getInputId()
3014 inputPUObj = self.__puObjDict[inputId]
2990 inputPUObj = self.__puObjDict[inputId]
3015
2991
3016 if inputPUObj.datatype == 'Voltage':
2992 if inputPUObj.datatype == 'Voltage':
3017 self.specOpnFFTpoints.setEnabled(True)
2993 self.specOpnFFTpoints.setEnabled(True)
3018 self.specOpProfiles.setEnabled(True)
2994 self.specOpProfiles.setEnabled(True)
3019 self.specOpippFactor.setEnabled(True)
2995 self.specOpippFactor.setEnabled(True)
3020 else:
2996 else:
3021 self.specOpnFFTpoints.setEnabled(False)
2997 self.specOpnFFTpoints.setEnabled(False)
3022 self.specOpProfiles.setEnabled(False)
2998 self.specOpProfiles.setEnabled(False)
3023 self.specOpippFactor.setEnabled(False)
2999 self.specOpippFactor.setEnabled(False)
3024
3000
3025 opObj = puObj.getOperationObj(name='setRadarFrequency')
3001 opObj = puObj.getOperationObj(name='setRadarFrequency')
3026 if opObj == None:
3002 if opObj == None:
3027 self.specOpRadarfrequency.clear()
3003 self.specOpRadarfrequency.clear()
3028 self.specOpCebRadarfrequency.setCheckState(0)
3004 self.specOpCebRadarfrequency.setCheckState(0)
3029 else:
3005 else:
3030 value = opObj.getParameterValue(parameterName='frequency')
3006 value = opObj.getParameterValue(parameterName='frequency')
3031 value = str(float(value)/1e6)
3007 value = str(float(value)/1e6)
3032 self.specOpRadarfrequency.setText(value)
3008 self.specOpRadarfrequency.setText(value)
3033 self.specOpRadarfrequency.setEnabled(True)
3009 self.specOpRadarfrequency.setEnabled(True)
3034 self.specOpCebRadarfrequency.setCheckState(QtCore.Qt.Checked)
3010 self.specOpCebRadarfrequency.setCheckState(QtCore.Qt.Checked)
3035
3011
3036 opObj = puObj.getOperationObj(name="run")
3012 opObj = puObj.getOperationObj(name="run")
3037 if opObj == None:
3013 if opObj == None:
3038 self.specOpnFFTpoints.clear()
3014 self.specOpnFFTpoints.clear()
3039 self.specOpProfiles.clear()
3015 self.specOpProfiles.clear()
3040 self.specOpippFactor.clear()
3016 self.specOpippFactor.clear()
3041 else:
3017 else:
3042 parmObj = opObj.getParameterObj(parameterName='nFFTPoints')
3018 parmObj = opObj.getParameterObj(parameterName='nFFTPoints')
3043 if parmObj == None:
3019 if parmObj == None:
3044 self.specOpnFFTpoints.clear()
3020 self.specOpnFFTpoints.clear()
3045 else:
3021 else:
3046 self.specOpnFFTpoints.setEnabled(True)
3022 self.specOpnFFTpoints.setEnabled(True)
3047 value = opObj.getParameterValue(parameterName='nFFTPoints')
3023 value = opObj.getParameterValue(parameterName='nFFTPoints')
3048 self.specOpnFFTpoints.setText(str(value))
3024 self.specOpnFFTpoints.setText(str(value))
3049
3025
3050 parmObj = opObj.getParameterObj(parameterName='nProfiles')
3026 parmObj = opObj.getParameterObj(parameterName='nProfiles')
3051 if parmObj == None:
3027 if parmObj == None:
3052 self.specOpProfiles.clear()
3028 self.specOpProfiles.clear()
3053 else:
3029 else:
3054 self.specOpProfiles.setEnabled(True)
3030 self.specOpProfiles.setEnabled(True)
3055 value = opObj.getParameterValue(parameterName='nProfiles')
3031 value = opObj.getParameterValue(parameterName='nProfiles')
3056 self.specOpProfiles.setText(str(value))
3032 self.specOpProfiles.setText(str(value))
3057
3033
3058 parmObj = opObj.getParameterObj(parameterName='ippFactor')
3034 parmObj = opObj.getParameterObj(parameterName='ippFactor')
3059 if parmObj == None:
3035 if parmObj == None:
3060 self.specOpippFactor.clear()
3036 self.specOpippFactor.clear()
3061 else:
3037 else:
3062 self.specOpippFactor.setEnabled(True)
3038 self.specOpippFactor.setEnabled(True)
3063 value = opObj.getParameterValue(parameterName='ippFactor')
3039 value = opObj.getParameterValue(parameterName='ippFactor')
3064 self.specOpippFactor.setText(str(value))
3040 self.specOpippFactor.setText(str(value))
3065
3041
3066 opObj = puObj.getOperationObj(name="run")
3042 opObj = puObj.getOperationObj(name="run")
3067 if opObj == None:
3043 if opObj == None:
3068 self.specOppairsList.clear()
3044 self.specOppairsList.clear()
3069 self.specOpCebCrossSpectra.setCheckState(0)
3045 self.specOpCebCrossSpectra.setCheckState(0)
3070 else:
3046 else:
3071 parmObj = opObj.getParameterObj(parameterName='pairsList')
3047 parmObj = opObj.getParameterObj(parameterName='pairsList')
3072 if parmObj == None:
3048 if parmObj == None:
3073 self.specOppairsList.clear()
3049 self.specOppairsList.clear()
3074 self.specOpCebCrossSpectra.setCheckState(0)
3050 self.specOpCebCrossSpectra.setCheckState(0)
3075 else:
3051 else:
3076 value = opObj.getParameterValue(parameterName='pairsList')
3052 value = opObj.getParameterValue(parameterName='pairsList')
3077 value = str(value)[1:-1]
3053 value = str(value)[1:-1]
3078 self.specOppairsList.setText(str(value))
3054 self.specOppairsList.setText(str(value))
3079 self.specOppairsList.setEnabled(True)
3055 self.specOppairsList.setEnabled(True)
3080 self.specOpCebCrossSpectra.setCheckState(QtCore.Qt.Checked)
3056 self.specOpCebCrossSpectra.setCheckState(QtCore.Qt.Checked)
3081
3057
3082 opObj = puObj.getOperationObj(name="selectChannels")
3058 opObj = puObj.getOperationObj(name="selectChannels")
3083
3059
3084 if opObj == None:
3060 if opObj == None:
3085 opObj = puObj.getOperationObj(name="selectChannelsByIndex")
3061 opObj = puObj.getOperationObj(name="selectChannelsByIndex")
3086
3062
3087 if opObj == None:
3063 if opObj == None:
3088 self.specOpChannel.clear()
3064 self.specOpChannel.clear()
3089 self.specOpCebChannel.setCheckState(0)
3065 self.specOpCebChannel.setCheckState(0)
3090 else:
3066 else:
3091 channelEnabled = False
3067 channelEnabled = False
3092 try:
3068 try:
3093 value = opObj.getParameterValue(parameterName='channelList')
3069 value = opObj.getParameterValue(parameterName='channelList')
3094 value = str(value)[1:-1]
3070 value = str(value)[1:-1]
3095 channelEnabled = True
3071 channelEnabled = True
3096 channelMode = 0
3072 channelMode = 0
3097 except:
3073 except:
3098 pass
3074 pass
3099 try:
3075 try:
3100 value = opObj.getParameterValue(parameterName='channelIndexList')
3076 value = opObj.getParameterValue(parameterName='channelIndexList')
3101 value = str(value)[1:-1]
3077 value = str(value)[1:-1]
3102 channelEnabled = True
3078 channelEnabled = True
3103 channelMode = 1
3079 channelMode = 1
3104 except:
3080 except:
3105 pass
3081 pass
3106
3082
3107 if channelEnabled:
3083 if channelEnabled:
3108 self.specOpChannel.setText(value)
3084 self.specOpChannel.setText(value)
3109 self.specOpChannel.setEnabled(True)
3085 self.specOpChannel.setEnabled(True)
3110 self.specOpCebChannel.setCheckState(QtCore.Qt.Checked)
3086 self.specOpCebChannel.setCheckState(QtCore.Qt.Checked)
3111 self.specOpComChannel.setCurrentIndex(channelMode)
3087 self.specOpComChannel.setCurrentIndex(channelMode)
3112
3088
3113 opObj = puObj.getOperationObj(name="selectHeights")
3089 opObj = puObj.getOperationObj(name="selectHeights")
3114 if opObj == None:
3090 if opObj == None:
3115 self.specOpHeights.clear()
3091 self.specOpHeights.clear()
3116 self.specOpCebHeights.setCheckState(0)
3092 self.specOpCebHeights.setCheckState(0)
3117 else:
3093 else:
3118 value1 = int(opObj.getParameterValue(parameterName='minHei'))
3094 value1 = int(opObj.getParameterValue(parameterName='minHei'))
3119 value1 = str(value1)
3095 value1 = str(value1)
3120 value2 = int(opObj.getParameterValue(parameterName='maxHei'))
3096 value2 = int(opObj.getParameterValue(parameterName='maxHei'))
3121 value2 = str(value2)
3097 value2 = str(value2)
3122 value = value1 + "," + value2
3098 value = value1 + "," + value2
3123 self.specOpHeights.setText(value)
3099 self.specOpHeights.setText(value)
3124 self.specOpHeights.setEnabled(True)
3100 self.specOpHeights.setEnabled(True)
3125 self.specOpCebHeights.setCheckState(QtCore.Qt.Checked)
3101 self.specOpCebHeights.setCheckState(QtCore.Qt.Checked)
3126
3102
3127 opObj = puObj.getOperationObj(name="IncohInt")
3103 opObj = puObj.getOperationObj(name="IncohInt")
3128 if opObj == None:
3104 if opObj == None:
3129 self.specOpIncoherent.clear()
3105 self.specOpIncoherent.clear()
3130 self.specOpCebIncoherent.setCheckState(0)
3106 self.specOpCebIncoherent.setCheckState(0)
3131 else:
3107 else:
3132 for parmObj in opObj.getParameterObjList():
3108 for parmObj in opObj.getParameterObjList():
3133 if parmObj.name == 'timeInterval':
3109 if parmObj.name == 'timeInterval':
3134 value = opObj.getParameterValue(parameterName='timeInterval')
3110 value = opObj.getParameterValue(parameterName='timeInterval')
3135 self.specOpIncoherent.setText(str(value))
3111 self.specOpIncoherent.setText(str(value))
3136 self.specOpIncoherent.setEnabled(True)
3112 self.specOpIncoherent.setEnabled(True)
3137 self.specOpCebIncoherent.setCheckState(QtCore.Qt.Checked)
3113 self.specOpCebIncoherent.setCheckState(QtCore.Qt.Checked)
3138 self.specOpCobIncInt.setCurrentIndex(0)
3114 self.specOpCobIncInt.setCurrentIndex(0)
3139
3115
3140 if parmObj.name == 'n':
3116 if parmObj.name == 'n':
3141 value = opObj.getParameterValue(parameterName='n')
3117 value = opObj.getParameterValue(parameterName='n')
3142 self.specOpIncoherent.setText(str(value))
3118 self.specOpIncoherent.setText(str(value))
3143 self.specOpIncoherent.setEnabled(True)
3119 self.specOpIncoherent.setEnabled(True)
3144 self.specOpCebIncoherent.setCheckState(QtCore.Qt.Checked)
3120 self.specOpCebIncoherent.setCheckState(QtCore.Qt.Checked)
3145 self.specOpCobIncInt.setCurrentIndex(1)
3121 self.specOpCobIncInt.setCurrentIndex(1)
3146
3122
3147 opObj = puObj.getOperationObj(name="removeDC")
3123 opObj = puObj.getOperationObj(name="removeDC")
3148 if opObj == None:
3124 if opObj == None:
3149 self.specOpCebRemoveDC.setCheckState(0)
3125 self.specOpCebRemoveDC.setCheckState(0)
3150 else:
3126 else:
3151 self.specOpCebRemoveDC.setCheckState(QtCore.Qt.Checked)
3127 self.specOpCebRemoveDC.setCheckState(QtCore.Qt.Checked)
3152 value = opObj.getParameterValue(parameterName='mode')
3128 value = opObj.getParameterValue(parameterName='mode')
3153 if value == 1:
3129 if value == 1:
3154 self.specOpComRemoveDC.setCurrentIndex(0)
3130 self.specOpComRemoveDC.setCurrentIndex(0)
3155 elif value == 2:
3131 elif value == 2:
3156 self.specOpComRemoveDC.setCurrentIndex(1)
3132 self.specOpComRemoveDC.setCurrentIndex(1)
3157
3133
3158 opObj = puObj.getOperationObj(name="removeInterference")
3134 opObj = puObj.getOperationObj(name="removeInterference")
3159 if opObj == None:
3135 if opObj == None:
3160 self.specOpCebRemoveInt.setCheckState(0)
3136 self.specOpCebRemoveInt.setCheckState(0)
3161 else:
3137 else:
3162 self.specOpCebRemoveInt.setCheckState(QtCore.Qt.Checked)
3138 self.specOpCebRemoveInt.setCheckState(QtCore.Qt.Checked)
3163
3139
3164 opObj = puObj.getOperationObj(name='getNoise')
3140 opObj = puObj.getOperationObj(name='getNoise')
3165 if opObj == None:
3141 if opObj == None:
3166 self.specOpCebgetNoise.setCheckState(0)
3142 self.specOpCebgetNoise.setCheckState(0)
3167 self.specOpgetNoise.clear()
3143 self.specOpgetNoise.clear()
3168 else:
3144 else:
3169 self.specOpCebgetNoise.setCheckState(QtCore.Qt.Checked)
3145 self.specOpCebgetNoise.setCheckState(QtCore.Qt.Checked)
3170 parmObj = opObj.getParameterObj(parameterName='minHei')
3146 parmObj = opObj.getParameterObj(parameterName='minHei')
3171 if parmObj == None:
3147 if parmObj == None:
3172 self.specOpgetNoise.clear()
3148 self.specOpgetNoise.clear()
3173 value1 = None
3149 value1 = None
3174 else:
3150 else:
3175 value1 = opObj.getParameterValue(parameterName='minHei')
3151 value1 = opObj.getParameterValue(parameterName='minHei')
3176 value1 = str(value1)
3152 value1 = str(value1)
3177 parmObj = opObj.getParameterObj(parameterName='maxHei')
3153 parmObj = opObj.getParameterObj(parameterName='maxHei')
3178 if parmObj == None:
3154 if parmObj == None:
3179 value2 = None
3155 value2 = None
3180 value = value1
3156 value = value1
3181 self.specOpgetNoise.setText(value)
3157 self.specOpgetNoise.setText(value)
3182 self.specOpgetNoise.setEnabled(True)
3158 self.specOpgetNoise.setEnabled(True)
3183 else:
3159 else:
3184 value2 = opObj.getParameterValue(parameterName='maxHei')
3160 value2 = opObj.getParameterValue(parameterName='maxHei')
3185 value2 = str(value2)
3161 value2 = str(value2)
3186 parmObj = opObj.getParameterObj(parameterName='minVel')
3162 parmObj = opObj.getParameterObj(parameterName='minVel')
3187 if parmObj == None:
3163 if parmObj == None:
3188 value3 = None
3164 value3 = None
3189 value = value1 + "," + value2
3165 value = value1 + "," + value2
3190 self.specOpgetNoise.setText(value)
3166 self.specOpgetNoise.setText(value)
3191 self.specOpgetNoise.setEnabled(True)
3167 self.specOpgetNoise.setEnabled(True)
3192 else:
3168 else:
3193 value3 = opObj.getParameterValue(parameterName='minVel')
3169 value3 = opObj.getParameterValue(parameterName='minVel')
3194 value3 = str(value3)
3170 value3 = str(value3)
3195 parmObj = opObj.getParameterObj(parameterName='maxVel')
3171 parmObj = opObj.getParameterObj(parameterName='maxVel')
3196 if parmObj == None:
3172 if parmObj == None:
3197 value4 = None
3173 value4 = None
3198 value = value1 + "," + value2 + "," + value3
3174 value = value1 + "," + value2 + "," + value3
3199 self.specOpgetNoise.setText(value)
3175 self.specOpgetNoise.setText(value)
3200 self.specOpgetNoise.setEnabled(True)
3176 self.specOpgetNoise.setEnabled(True)
3201 else:
3177 else:
3202 value4 = opObj.getParameterValue(parameterName='maxVel')
3178 value4 = opObj.getParameterValue(parameterName='maxVel')
3203 value4 = str(value4)
3179 value4 = str(value4)
3204 value = value1 + "," + value2 + "," + value3 + ',' + value4
3180 value = value1 + "," + value2 + "," + value3 + ',' + value4
3205 self.specOpgetNoise.setText(value)
3181 self.specOpgetNoise.setText(value)
3206 self.specOpgetNoise.setEnabled(True)
3182 self.specOpgetNoise.setEnabled(True)
3207
3183
3208 self.specGraphPath.clear()
3184 self.specGraphPath.clear()
3209 self.specGraphPrefix.clear()
3185 self.specGraphPrefix.clear()
3210 self.specGgraphFreq.clear()
3186 self.specGgraphFreq.clear()
3211 self.specGgraphHeight.clear()
3187 self.specGgraphHeight.clear()
3212 self.specGgraphDbsrange.clear()
3188 self.specGgraphDbsrange.clear()
3213 self.specGgraphmagnitud.clear()
3189 self.specGgraphmagnitud.clear()
3214 self.specGgraphPhase.clear()
3190 self.specGgraphPhase.clear()
3215 self.specGgraphChannelList.clear()
3191 self.specGgraphChannelList.clear()
3216 self.specGgraphTminTmax.clear()
3192 self.specGgraphTminTmax.clear()
3217 self.specGgraphTimeRange.clear()
3193 self.specGgraphTimeRange.clear()
3218 self.specGgraphftpratio.clear()
3194 self.specGgraphftpratio.clear()
3219
3195
3220 opObj = puObj.getOperationObj(name='SpectraPlot')
3196 opObj = puObj.getOperationObj(name='SpectraPlot')
3221
3197
3222 if opObj == None:
3198 if opObj == None:
3223 self.specGraphCebSpectraplot.setCheckState(0)
3199 self.specGraphCebSpectraplot.setCheckState(0)
3224 self.specGraphSaveSpectra.setCheckState(0)
3200 self.specGraphSaveSpectra.setCheckState(0)
3225 self.specGraphftpSpectra.setCheckState(0)
3201 self.specGraphftpSpectra.setCheckState(0)
3226 else:
3202 else:
3227 operationSpectraPlot = "Enable"
3203 operationSpectraPlot = "Enable"
3228 self.specGraphCebSpectraplot.setCheckState(QtCore.Qt.Checked)
3204 self.specGraphCebSpectraplot.setCheckState(QtCore.Qt.Checked)
3229 parmObj = opObj.getParameterObj(parameterName='channelList')
3205 parmObj = opObj.getParameterObj(parameterName='channelList')
3230 if parmObj == None:
3206 if parmObj == None:
3231 self.specGgraphChannelList.clear()
3207 self.specGgraphChannelList.clear()
3232 else:
3208 else:
3233 value = opObj.getParameterValue(parameterName='channelList')
3209 value = opObj.getParameterValue(parameterName='channelList')
3234 channelListSpectraPlot = str(value)[1:-1]
3210 channelListSpectraPlot = str(value)[1:-1]
3235 self.specGgraphChannelList.setText(channelListSpectraPlot)
3211 self.specGgraphChannelList.setText(channelListSpectraPlot)
3236 self.specGgraphChannelList.setEnabled(True)
3212 self.specGgraphChannelList.setEnabled(True)
3237
3213
3238 parmObj = opObj.getParameterObj(parameterName='xmin')
3214 parmObj = opObj.getParameterObj(parameterName='xmin')
3239 if parmObj == None:
3215 if parmObj == None:
3240 self.specGgraphFreq.clear()
3216 self.specGgraphFreq.clear()
3241 else:
3217 else:
3242 value1 = opObj.getParameterValue(parameterName='xmin')
3218 value1 = opObj.getParameterValue(parameterName='xmin')
3243 value1 = str(value1)
3219 value1 = str(value1)
3244 value2 = opObj.getParameterValue(parameterName='xmax')
3220 value2 = opObj.getParameterValue(parameterName='xmax')
3245 value2 = str(value2)
3221 value2 = str(value2)
3246 value = value1 + "," + value2
3222 value = value1 + "," + value2
3247 self.specGgraphFreq.setText(value)
3223 self.specGgraphFreq.setText(value)
3248 self.specGgraphFreq.setEnabled(True)
3224 self.specGgraphFreq.setEnabled(True)
3249
3225
3250 parmObj = opObj.getParameterObj(parameterName='ymin')
3226 parmObj = opObj.getParameterObj(parameterName='ymin')
3251 if parmObj == None:
3227 if parmObj == None:
3252 self.specGgraphHeight.clear()
3228 self.specGgraphHeight.clear()
3253 else:
3229 else:
3254 value1 = opObj.getParameterValue(parameterName='ymin')
3230 value1 = opObj.getParameterValue(parameterName='ymin')
3255 value1 = str(value1)
3231 value1 = str(value1)
3256 value2 = opObj.getParameterValue(parameterName='ymax')
3232 value2 = opObj.getParameterValue(parameterName='ymax')
3257 value2 = str(value2)
3233 value2 = str(value2)
3258 value = value1 + "," + value2
3234 value = value1 + "," + value2
3259 self.specGgraphHeight.setText(value)
3235 self.specGgraphHeight.setText(value)
3260 self.specGgraphHeight.setEnabled(True)
3236 self.specGgraphHeight.setEnabled(True)
3261
3237
3262 parmObj = opObj.getParameterObj(parameterName='zmin')
3238 parmObj = opObj.getParameterObj(parameterName='zmin')
3263 if parmObj == None:
3239 if parmObj == None:
3264 self.specGgraphDbsrange.clear()
3240 self.specGgraphDbsrange.clear()
3265 else:
3241 else:
3266 value1 = opObj.getParameterValue(parameterName='zmin')
3242 value1 = opObj.getParameterValue(parameterName='zmin')
3267 value1 = str(value1)
3243 value1 = str(value1)
3268 value2 = opObj.getParameterValue(parameterName='zmax')
3244 value2 = opObj.getParameterValue(parameterName='zmax')
3269 value2 = str(value2)
3245 value2 = str(value2)
3270 value = value1 + "," + value2
3246 value = value1 + "," + value2
3271 self.specGgraphDbsrange.setText(value)
3247 self.specGgraphDbsrange.setText(value)
3272 self.specGgraphDbsrange.setEnabled(True)
3248 self.specGgraphDbsrange.setEnabled(True)
3273
3249
3274 parmObj = opObj.getParameterObj(parameterName="save")
3250 parmObj = opObj.getParameterObj(parameterName="save")
3275 if parmObj == None:
3251 if parmObj == None:
3276 self.specGraphSaveSpectra.setCheckState(0)
3252 self.specGraphSaveSpectra.setCheckState(0)
3277 else:
3253 else:
3278 self.specGraphSaveSpectra.setCheckState(QtCore.Qt.Checked)
3254 self.specGraphSaveSpectra.setCheckState(QtCore.Qt.Checked)
3279
3255
3280 parmObj = opObj.getParameterObj(parameterName="ftp")
3256 parmObj = opObj.getParameterObj(parameterName="ftp")
3281 if parmObj == None:
3257 if parmObj == None:
3282 self.specGraphftpSpectra.setCheckState(0)
3258 self.specGraphftpSpectra.setCheckState(0)
3283 else:
3259 else:
3284 self.specGraphftpSpectra.setCheckState(QtCore.Qt.Checked)
3260 self.specGraphftpSpectra.setCheckState(QtCore.Qt.Checked)
3285
3261
3286 parmObj = opObj.getParameterObj(parameterName="figpath")
3262 parmObj = opObj.getParameterObj(parameterName="figpath")
3287 if parmObj:
3263 if parmObj:
3288 value = parmObj.getValue()
3264 value = parmObj.getValue()
3289 self.specGraphPath.setText(value)
3265 self.specGraphPath.setText(value)
3290
3266
3291 parmObj = opObj.getParameterObj(parameterName="wr_period")
3267 parmObj = opObj.getParameterObj(parameterName="wr_period")
3292 if parmObj:
3268 if parmObj:
3293 value = parmObj.getValue()
3269 value = parmObj.getValue()
3294 self.specGgraphftpratio.setText(str(value))
3270 self.specGgraphftpratio.setText(str(value))
3295
3271
3296 opObj = puObj.getOperationObj(name='CrossSpectraPlot')
3272 opObj = puObj.getOperationObj(name='CrossSpectraPlot')
3297
3273
3298 if opObj == None:
3274 if opObj == None:
3299 self.specGraphCebCrossSpectraplot.setCheckState(0)
3275 self.specGraphCebCrossSpectraplot.setCheckState(0)
3300 self.specGraphSaveCross.setCheckState(0)
3276 self.specGraphSaveCross.setCheckState(0)
3301 self.specGraphftpCross.setCheckState(0)
3277 self.specGraphftpCross.setCheckState(0)
3302 else:
3278 else:
3303 operationCrossSpectraPlot = "Enable"
3279 operationCrossSpectraPlot = "Enable"
3304 self.specGraphCebCrossSpectraplot.setCheckState(QtCore.Qt.Checked)
3280 self.specGraphCebCrossSpectraplot.setCheckState(QtCore.Qt.Checked)
3305 parmObj = opObj.getParameterObj(parameterName='xmin')
3281 parmObj = opObj.getParameterObj(parameterName='xmin')
3306 if parmObj == None:
3282 if parmObj == None:
3307 self.specGgraphFreq.clear()
3283 self.specGgraphFreq.clear()
3308 else:
3284 else:
3309 value1 = opObj.getParameterValue(parameterName='xmin')
3285 value1 = opObj.getParameterValue(parameterName='xmin')
3310 value1 = str(value1)
3286 value1 = str(value1)
3311 value2 = opObj.getParameterValue(parameterName='xmax')
3287 value2 = opObj.getParameterValue(parameterName='xmax')
3312 value2 = str(value2)
3288 value2 = str(value2)
3313 value = value1 + "," + value2
3289 value = value1 + "," + value2
3314 self.specGgraphFreq.setText(value)
3290 self.specGgraphFreq.setText(value)
3315 self.specGgraphFreq.setEnabled(True)
3291 self.specGgraphFreq.setEnabled(True)
3316
3292
3317 parmObj = opObj.getParameterObj(parameterName='ymin')
3293 parmObj = opObj.getParameterObj(parameterName='ymin')
3318 if parmObj == None:
3294 if parmObj == None:
3319 self.specGgraphHeight.clear()
3295 self.specGgraphHeight.clear()
3320 else:
3296 else:
3321 value1 = opObj.getParameterValue(parameterName='ymin')
3297 value1 = opObj.getParameterValue(parameterName='ymin')
3322 value1 = str(value1)
3298 value1 = str(value1)
3323 value2 = opObj.getParameterValue(parameterName='ymax')
3299 value2 = opObj.getParameterValue(parameterName='ymax')
3324 value2 = str(value2)
3300 value2 = str(value2)
3325 value = value1 + "," + value2
3301 value = value1 + "," + value2
3326 self.specGgraphHeight.setText(value)
3302 self.specGgraphHeight.setText(value)
3327 self.specGgraphHeight.setEnabled(True)
3303 self.specGgraphHeight.setEnabled(True)
3328
3304
3329 parmObj = opObj.getParameterObj(parameterName='zmin')
3305 parmObj = opObj.getParameterObj(parameterName='zmin')
3330 if parmObj == None:
3306 if parmObj == None:
3331 self.specGgraphDbsrange.clear()
3307 self.specGgraphDbsrange.clear()
3332 else:
3308 else:
3333 value1 = opObj.getParameterValue(parameterName='zmin')
3309 value1 = opObj.getParameterValue(parameterName='zmin')
3334 value1 = str(value1)
3310 value1 = str(value1)
3335 value2 = opObj.getParameterValue(parameterName='zmax')
3311 value2 = opObj.getParameterValue(parameterName='zmax')
3336 value2 = str(value2)
3312 value2 = str(value2)
3337 value = value1 + "," + value2
3313 value = value1 + "," + value2
3338 self.specGgraphDbsrange.setText(value)
3314 self.specGgraphDbsrange.setText(value)
3339 self.specGgraphDbsrange.setEnabled(True)
3315 self.specGgraphDbsrange.setEnabled(True)
3340
3316
3341 parmObj = opObj.getParameterObj(parameterName='coh_min')
3317 parmObj = opObj.getParameterObj(parameterName='coh_min')
3342 if parmObj == None:
3318 if parmObj == None:
3343 self.specGgraphmagnitud.clear()
3319 self.specGgraphmagnitud.clear()
3344 else:
3320 else:
3345 value1 = opObj.getParameterValue(parameterName='coh_min')
3321 value1 = opObj.getParameterValue(parameterName='coh_min')
3346 value1 = str(value1)
3322 value1 = str(value1)
3347 value2 = opObj.getParameterValue(parameterName='coh_max')
3323 value2 = opObj.getParameterValue(parameterName='coh_max')
3348 value2 = str(value2)
3324 value2 = str(value2)
3349 value = value1 + "," + value2
3325 value = value1 + "," + value2
3350 self.specGgraphmagnitud.setText(value)
3326 self.specGgraphmagnitud.setText(value)
3351 self.specGgraphmagnitud.setEnabled(True)
3327 self.specGgraphmagnitud.setEnabled(True)
3352
3328
3353 parmObj = opObj.getParameterObj(parameterName='phase_min')
3329 parmObj = opObj.getParameterObj(parameterName='phase_min')
3354 if parmObj == None:
3330 if parmObj == None:
3355 self.specGgraphPhase.clear()
3331 self.specGgraphPhase.clear()
3356 else:
3332 else:
3357 value1 = opObj.getParameterValue(parameterName='phase_min')
3333 value1 = opObj.getParameterValue(parameterName='phase_min')
3358 value1 = str(value1)
3334 value1 = str(value1)
3359 value2 = opObj.getParameterValue(parameterName='phase_max')
3335 value2 = opObj.getParameterValue(parameterName='phase_max')
3360 value2 = str(value2)
3336 value2 = str(value2)
3361 value = value1 + "," + value2
3337 value = value1 + "," + value2
3362 self.specGgraphPhase.setText(value)
3338 self.specGgraphPhase.setText(value)
3363 self.specGgraphPhase.setEnabled(True)
3339 self.specGgraphPhase.setEnabled(True)
3364
3340
3365 parmObj = opObj.getParameterObj(parameterName="save")
3341 parmObj = opObj.getParameterObj(parameterName="save")
3366 if parmObj == None:
3342 if parmObj == None:
3367 self.specGraphSaveCross.setCheckState(0)
3343 self.specGraphSaveCross.setCheckState(0)
3368 else:
3344 else:
3369 self.specGraphSaveCross.setCheckState(QtCore.Qt.Checked)
3345 self.specGraphSaveCross.setCheckState(QtCore.Qt.Checked)
3370
3346
3371 parmObj = opObj.getParameterObj(parameterName="ftp")
3347 parmObj = opObj.getParameterObj(parameterName="ftp")
3372 if parmObj == None:
3348 if parmObj == None:
3373 self.specGraphftpCross.setCheckState(0)
3349 self.specGraphftpCross.setCheckState(0)
3374 else:
3350 else:
3375 self.specGraphftpCross.setCheckState(QtCore.Qt.Checked)
3351 self.specGraphftpCross.setCheckState(QtCore.Qt.Checked)
3376
3352
3377 parmObj = opObj.getParameterObj(parameterName="figpath")
3353 parmObj = opObj.getParameterObj(parameterName="figpath")
3378 if parmObj:
3354 if parmObj:
3379 value = parmObj.getValue()
3355 value = parmObj.getValue()
3380 self.specGraphPath.setText(value)
3356 self.specGraphPath.setText(value)
3381
3357
3382 parmObj = opObj.getParameterObj(parameterName="wr_period")
3358 parmObj = opObj.getParameterObj(parameterName="wr_period")
3383 if parmObj:
3359 if parmObj:
3384 value = parmObj.getValue()
3360 value = parmObj.getValue()
3385 self.specGgraphftpratio.setText(str(value))
3361 self.specGgraphftpratio.setText(str(value))
3386
3362
3387 opObj = puObj.getOperationObj(name='RTIPlot')
3363 opObj = puObj.getOperationObj(name='RTIPlot')
3388
3364
3389 if opObj == None:
3365 if opObj == None:
3390 self.specGraphCebRTIplot.setCheckState(0)
3366 self.specGraphCebRTIplot.setCheckState(0)
3391 self.specGraphSaveRTIplot.setCheckState(0)
3367 self.specGraphSaveRTIplot.setCheckState(0)
3392 self.specGraphftpRTIplot.setCheckState(0)
3368 self.specGraphftpRTIplot.setCheckState(0)
3393 else:
3369 else:
3394 self.specGraphCebRTIplot.setCheckState(QtCore.Qt.Checked)
3370 self.specGraphCebRTIplot.setCheckState(QtCore.Qt.Checked)
3395 parmObj = opObj.getParameterObj(parameterName='channelList')
3371 parmObj = opObj.getParameterObj(parameterName='channelList')
3396 if parmObj == None:
3372 if parmObj == None:
3397 self.specGgraphChannelList.clear()
3373 self.specGgraphChannelList.clear()
3398 else:
3374 else:
3399 value = opObj.getParameterValue(parameterName='channelList')
3375 value = opObj.getParameterValue(parameterName='channelList')
3400 channelListRTIPlot = str(value)[1:-1]
3376 channelListRTIPlot = str(value)[1:-1]
3401 self.specGgraphChannelList.setText(channelListRTIPlot)
3377 self.specGgraphChannelList.setText(channelListRTIPlot)
3402 self.specGgraphChannelList.setEnabled(True)
3378 self.specGgraphChannelList.setEnabled(True)
3403
3379
3404 parmObj = opObj.getParameterObj(parameterName='xmin')
3380 parmObj = opObj.getParameterObj(parameterName='xmin')
3405 if parmObj == None:
3381 if parmObj == None:
3406 self.specGgraphTminTmax.clear()
3382 self.specGgraphTminTmax.clear()
3407 else:
3383 else:
3408 value1 = opObj.getParameterValue(parameterName='xmin')
3384 value1 = opObj.getParameterValue(parameterName='xmin')
3409 value1 = str(value1)
3385 value1 = str(value1)
3410 value2 = opObj.getParameterValue(parameterName='xmax')
3386 value2 = opObj.getParameterValue(parameterName='xmax')
3411 value2 = str(value2)
3387 value2 = str(value2)
3412 value = value1 + "," + value2
3388 value = value1 + "," + value2
3413 self.specGgraphTminTmax.setText(value)
3389 self.specGgraphTminTmax.setText(value)
3414 self.specGgraphTminTmax.setEnabled(True)
3390 self.specGgraphTminTmax.setEnabled(True)
3415
3391
3416 parmObj = opObj.getParameterObj(parameterName='timerange')
3392 parmObj = opObj.getParameterObj(parameterName='timerange')
3417 if parmObj == None:
3393 if parmObj == None:
3418 self.specGgraphTimeRange.clear()
3394 self.specGgraphTimeRange.clear()
3419 else:
3395 else:
3420 value1 = opObj.getParameterValue(parameterName='timerange')
3396 value1 = opObj.getParameterValue(parameterName='timerange')
3421 value1 = str(value1)
3397 value1 = str(value1)
3422 self.specGgraphTimeRange.setText(value1)
3398 self.specGgraphTimeRange.setText(value1)
3423 self.specGgraphTimeRange.setEnabled(True)
3399 self.specGgraphTimeRange.setEnabled(True)
3424
3400
3425 parmObj = opObj.getParameterObj(parameterName='ymin')
3401 parmObj = opObj.getParameterObj(parameterName='ymin')
3426 if parmObj == None:
3402 if parmObj == None:
3427 self.specGgraphHeight.clear()
3403 self.specGgraphHeight.clear()
3428 else:
3404 else:
3429 value1 = opObj.getParameterValue(parameterName='ymin')
3405 value1 = opObj.getParameterValue(parameterName='ymin')
3430 value1 = str(value1)
3406 value1 = str(value1)
3431 value2 = opObj.getParameterValue(parameterName='ymax')
3407 value2 = opObj.getParameterValue(parameterName='ymax')
3432 value2 = str(value2)
3408 value2 = str(value2)
3433 value = value1 + "," + value2
3409 value = value1 + "," + value2
3434 self.specGgraphHeight.setText(value)
3410 self.specGgraphHeight.setText(value)
3435 self.specGgraphHeight.setEnabled(True)
3411 self.specGgraphHeight.setEnabled(True)
3436
3412
3437 parmObj = opObj.getParameterObj(parameterName='zmin')
3413 parmObj = opObj.getParameterObj(parameterName='zmin')
3438 if parmObj == None:
3414 if parmObj == None:
3439 self.specGgraphDbsrange.clear()
3415 self.specGgraphDbsrange.clear()
3440 else:
3416 else:
3441 value1 = opObj.getParameterValue(parameterName='zmin')
3417 value1 = opObj.getParameterValue(parameterName='zmin')
3442 value1 = str(value1)
3418 value1 = str(value1)
3443 value2 = opObj.getParameterValue(parameterName='zmax')
3419 value2 = opObj.getParameterValue(parameterName='zmax')
3444 value2 = str(value2)
3420 value2 = str(value2)
3445 value = value1 + "," + value2
3421 value = value1 + "," + value2
3446 self.specGgraphDbsrange.setText(value)
3422 self.specGgraphDbsrange.setText(value)
3447 self.specGgraphDbsrange.setEnabled(True)
3423 self.specGgraphDbsrange.setEnabled(True)
3448
3424
3449 parmObj = opObj.getParameterObj(parameterName="save")
3425 parmObj = opObj.getParameterObj(parameterName="save")
3450 if parmObj == None:
3426 if parmObj == None:
3451 self.specGraphSaveRTIplot.setCheckState(0)
3427 self.specGraphSaveRTIplot.setCheckState(0)
3452 else:
3428 else:
3453 self.specGraphSaveRTIplot.setCheckState(QtCore.Qt.Checked)
3429 self.specGraphSaveRTIplot.setCheckState(QtCore.Qt.Checked)
3454
3430
3455 parmObj = opObj.getParameterObj(parameterName="ftp")
3431 parmObj = opObj.getParameterObj(parameterName="ftp")
3456 if parmObj == None:
3432 if parmObj == None:
3457 self.specGraphftpRTIplot.setCheckState(0)
3433 self.specGraphftpRTIplot.setCheckState(0)
3458 else:
3434 else:
3459 self.specGraphftpRTIplot.setCheckState(QtCore.Qt.Checked)
3435 self.specGraphftpRTIplot.setCheckState(QtCore.Qt.Checked)
3460
3436
3461 parmObj = opObj.getParameterObj(parameterName="figpath")
3437 parmObj = opObj.getParameterObj(parameterName="figpath")
3462 if parmObj:
3438 if parmObj:
3463 value = parmObj.getValue()
3439 value = parmObj.getValue()
3464 self.specGraphPath.setText(value)
3440 self.specGraphPath.setText(value)
3465
3441
3466 parmObj = opObj.getParameterObj(parameterName="wr_period")
3442 parmObj = opObj.getParameterObj(parameterName="wr_period")
3467 if parmObj:
3443 if parmObj:
3468 value = parmObj.getValue()
3444 value = parmObj.getValue()
3469 self.specGgraphftpratio.setText(str(value))
3445 self.specGgraphftpratio.setText(str(value))
3470
3446
3471 opObj = puObj.getOperationObj(name='CoherenceMap')
3447 opObj = puObj.getOperationObj(name='CoherenceMap')
3472
3448
3473 if opObj == None:
3449 if opObj == None:
3474 self.specGraphCebCoherencmap.setCheckState(0)
3450 self.specGraphCebCoherencmap.setCheckState(0)
3475 self.specGraphSaveCoherencemap.setCheckState(0)
3451 self.specGraphSaveCoherencemap.setCheckState(0)
3476 self.specGraphftpCoherencemap.setCheckState(0)
3452 self.specGraphftpCoherencemap.setCheckState(0)
3477 else:
3453 else:
3478 operationCoherenceMap = "Enable"
3454 operationCoherenceMap = "Enable"
3479 self.specGraphCebCoherencmap.setCheckState(QtCore.Qt.Checked)
3455 self.specGraphCebCoherencmap.setCheckState(QtCore.Qt.Checked)
3480 parmObj = opObj.getParameterObj(parameterName='xmin')
3456 parmObj = opObj.getParameterObj(parameterName='xmin')
3481 if parmObj == None:
3457 if parmObj == None:
3482 self.specGgraphTminTmax.clear()
3458 self.specGgraphTminTmax.clear()
3483 else:
3459 else:
3484 value1 = opObj.getParameterValue(parameterName='xmin')
3460 value1 = opObj.getParameterValue(parameterName='xmin')
3485 value1 = str(value1)
3461 value1 = str(value1)
3486 value2 = opObj.getParameterValue(parameterName='xmax')
3462 value2 = opObj.getParameterValue(parameterName='xmax')
3487 value2 = str(value2)
3463 value2 = str(value2)
3488 value = value1 + "," + value2
3464 value = value1 + "," + value2
3489 self.specGgraphTminTmax.setText(value)
3465 self.specGgraphTminTmax.setText(value)
3490 self.specGgraphTminTmax.setEnabled(True)
3466 self.specGgraphTminTmax.setEnabled(True)
3491
3467
3492 parmObj = opObj.getParameterObj(parameterName='timerange')
3468 parmObj = opObj.getParameterObj(parameterName='timerange')
3493 if parmObj == None:
3469 if parmObj == None:
3494 self.specGgraphTimeRange.clear()
3470 self.specGgraphTimeRange.clear()
3495 else:
3471 else:
3496 value1 = opObj.getParameterValue(parameterName='timerange')
3472 value1 = opObj.getParameterValue(parameterName='timerange')
3497 value1 = str(value1)
3473 value1 = str(value1)
3498 self.specGgraphTimeRange.setText(value1)
3474 self.specGgraphTimeRange.setText(value1)
3499 self.specGgraphTimeRange.setEnabled(True)
3475 self.specGgraphTimeRange.setEnabled(True)
3500
3476
3501 parmObj = opObj.getParameterObj(parameterName='ymin')
3477 parmObj = opObj.getParameterObj(parameterName='ymin')
3502 if parmObj == None:
3478 if parmObj == None:
3503 self.specGgraphHeight.clear()
3479 self.specGgraphHeight.clear()
3504 else:
3480 else:
3505 value1 = opObj.getParameterValue(parameterName='ymin')
3481 value1 = opObj.getParameterValue(parameterName='ymin')
3506 value1 = str(value1)
3482 value1 = str(value1)
3507 value2 = opObj.getParameterValue(parameterName='ymax')
3483 value2 = opObj.getParameterValue(parameterName='ymax')
3508 value2 = str(value2)
3484 value2 = str(value2)
3509 value = value1 + "," + value2
3485 value = value1 + "," + value2
3510 self.specGgraphHeight.setText(value)
3486 self.specGgraphHeight.setText(value)
3511 self.specGgraphHeight.setEnabled(True)
3487 self.specGgraphHeight.setEnabled(True)
3512
3488
3513 parmObj = opObj.getParameterObj(parameterName='zmin')
3489 parmObj = opObj.getParameterObj(parameterName='zmin')
3514 if parmObj == None:
3490 if parmObj == None:
3515 self.specGgraphmagnitud.clear()
3491 self.specGgraphmagnitud.clear()
3516 else:
3492 else:
3517 value1 = opObj.getParameterValue(parameterName='zmin')
3493 value1 = opObj.getParameterValue(parameterName='zmin')
3518 value1 = str(value1)
3494 value1 = str(value1)
3519 value2 = opObj.getParameterValue(parameterName='zmax')
3495 value2 = opObj.getParameterValue(parameterName='zmax')
3520 value2 = str(value2)
3496 value2 = str(value2)
3521 value = value1 + "," + value2
3497 value = value1 + "," + value2
3522 self.specGgraphmagnitud.setText(value)
3498 self.specGgraphmagnitud.setText(value)
3523 self.specGgraphmagnitud.setEnabled(True)
3499 self.specGgraphmagnitud.setEnabled(True)
3524
3500
3525 parmObj = opObj.getParameterObj(parameterName='coh_min')
3501 parmObj = opObj.getParameterObj(parameterName='coh_min')
3526 if parmObj == None:
3502 if parmObj == None:
3527 self.specGgraphmagnitud.clear()
3503 self.specGgraphmagnitud.clear()
3528 else:
3504 else:
3529 value1 = opObj.getParameterValue(parameterName='coh_min')
3505 value1 = opObj.getParameterValue(parameterName='coh_min')
3530 value1 = str(value1)
3506 value1 = str(value1)
3531 value2 = opObj.getParameterValue(parameterName='coh_max')
3507 value2 = opObj.getParameterValue(parameterName='coh_max')
3532 value2 = str(value2)
3508 value2 = str(value2)
3533 value = value1 + "," + value2
3509 value = value1 + "," + value2
3534 self.specGgraphmagnitud.setText(value)
3510 self.specGgraphmagnitud.setText(value)
3535 self.specGgraphmagnitud.setEnabled(True)
3511 self.specGgraphmagnitud.setEnabled(True)
3536
3512
3537 parmObj = opObj.getParameterObj(parameterName='phase_min')
3513 parmObj = opObj.getParameterObj(parameterName='phase_min')
3538 if parmObj == None:
3514 if parmObj == None:
3539 self.specGgraphPhase.clear()
3515 self.specGgraphPhase.clear()
3540 else:
3516 else:
3541 value1 = opObj.getParameterValue(parameterName='phase_min')
3517 value1 = opObj.getParameterValue(parameterName='phase_min')
3542 value1 = str(value1)
3518 value1 = str(value1)
3543 value2 = opObj.getParameterValue(parameterName='phase_max')
3519 value2 = opObj.getParameterValue(parameterName='phase_max')
3544 value2 = str(value2)
3520 value2 = str(value2)
3545 value = value1 + "," + value2
3521 value = value1 + "," + value2
3546 self.specGgraphPhase.setText(value)
3522 self.specGgraphPhase.setText(value)
3547 self.specGgraphPhase.setEnabled(True)
3523 self.specGgraphPhase.setEnabled(True)
3548
3524
3549 parmObj = opObj.getParameterObj(parameterName="save")
3525 parmObj = opObj.getParameterObj(parameterName="save")
3550 if parmObj == None:
3526 if parmObj == None:
3551 self.specGraphSaveCoherencemap.setCheckState(0)
3527 self.specGraphSaveCoherencemap.setCheckState(0)
3552 else:
3528 else:
3553 self.specGraphSaveCoherencemap.setCheckState(QtCore.Qt.Checked)
3529 self.specGraphSaveCoherencemap.setCheckState(QtCore.Qt.Checked)
3554
3530
3555 parmObj = opObj.getParameterObj(parameterName="ftp")
3531 parmObj = opObj.getParameterObj(parameterName="ftp")
3556 if parmObj == None:
3532 if parmObj == None:
3557 self.specGraphftpCoherencemap.setCheckState(0)
3533 self.specGraphftpCoherencemap.setCheckState(0)
3558 else:
3534 else:
3559 self.specGraphftpCoherencemap.setCheckState(QtCore.Qt.Checked)
3535 self.specGraphftpCoherencemap.setCheckState(QtCore.Qt.Checked)
3560
3536
3561 parmObj = opObj.getParameterObj(parameterName="figpath")
3537 parmObj = opObj.getParameterObj(parameterName="figpath")
3562 if parmObj:
3538 if parmObj:
3563 value = parmObj.getValue()
3539 value = parmObj.getValue()
3564 self.specGraphPath.setText(value)
3540 self.specGraphPath.setText(value)
3565
3541
3566 parmObj = opObj.getParameterObj(parameterName="wr_period")
3542 parmObj = opObj.getParameterObj(parameterName="wr_period")
3567 if parmObj:
3543 if parmObj:
3568 value = parmObj.getValue()
3544 value = parmObj.getValue()
3569 self.specGgraphftpratio.setText(str(value))
3545 self.specGgraphftpratio.setText(str(value))
3570
3546
3571 opObj = puObj.getOperationObj(name='PowerProfilePlot')
3547 opObj = puObj.getOperationObj(name='PowerProfilePlot')
3572
3548
3573 if opObj == None:
3549 if opObj == None:
3574 self.specGraphPowerprofile.setCheckState(0)
3550 self.specGraphPowerprofile.setCheckState(0)
3575 self.specGraphSavePowerprofile.setCheckState(0)
3551 self.specGraphSavePowerprofile.setCheckState(0)
3576 self.specGraphftpPowerprofile.setCheckState(0)
3552 self.specGraphftpPowerprofile.setCheckState(0)
3577 operationPowerProfilePlot = "Disabled"
3553 operationPowerProfilePlot = "Disabled"
3578 channelList = None
3554 channelList = None
3579 freq_vel = None
3555 freq_vel = None
3580 heightsrange = None
3556 heightsrange = None
3581 else:
3557 else:
3582 operationPowerProfilePlot = "Enable"
3558 operationPowerProfilePlot = "Enable"
3583 self.specGraphPowerprofile.setCheckState(QtCore.Qt.Checked)
3559 self.specGraphPowerprofile.setCheckState(QtCore.Qt.Checked)
3584 parmObj = opObj.getParameterObj(parameterName='xmin')
3560 parmObj = opObj.getParameterObj(parameterName='xmin')
3585 if parmObj == None:
3561 if parmObj == None:
3586 self.specGgraphDbsrange.clear()
3562 self.specGgraphDbsrange.clear()
3587 else:
3563 else:
3588 value1 = opObj.getParameterValue(parameterName='xmin')
3564 value1 = opObj.getParameterValue(parameterName='xmin')
3589 value1 = str(value1)
3565 value1 = str(value1)
3590 value2 = opObj.getParameterValue(parameterName='xmax')
3566 value2 = opObj.getParameterValue(parameterName='xmax')
3591 value2 = str(value2)
3567 value2 = str(value2)
3592 value = value1 + "," + value2
3568 value = value1 + "," + value2
3593 self.specGgraphDbsrange.setText(value)
3569 self.specGgraphDbsrange.setText(value)
3594 self.specGgraphDbsrange.setEnabled(True)
3570 self.specGgraphDbsrange.setEnabled(True)
3595
3571
3596 parmObj = opObj.getParameterObj(parameterName='ymin')
3572 parmObj = opObj.getParameterObj(parameterName='ymin')
3597 if parmObj == None:
3573 if parmObj == None:
3598 self.specGgraphHeight.clear()
3574 self.specGgraphHeight.clear()
3599 else:
3575 else:
3600 value1 = opObj.getParameterValue(parameterName='ymin')
3576 value1 = opObj.getParameterValue(parameterName='ymin')
3601 value1 = str(value1)
3577 value1 = str(value1)
3602 value2 = opObj.getParameterValue(parameterName='ymax')
3578 value2 = opObj.getParameterValue(parameterName='ymax')
3603 value2 = str(value2)
3579 value2 = str(value2)
3604 value = value1 + "," + value2
3580 value = value1 + "," + value2
3605 self.specGgraphHeight.setText(value)
3581 self.specGgraphHeight.setText(value)
3606 self.specGgraphHeight.setEnabled(True)
3582 self.specGgraphHeight.setEnabled(True)
3607
3583
3608 parmObj = opObj.getParameterObj(parameterName="save")
3584 parmObj = opObj.getParameterObj(parameterName="save")
3609 if parmObj == None:
3585 if parmObj == None:
3610 self.specGraphSavePowerprofile.setCheckState(0)
3586 self.specGraphSavePowerprofile.setCheckState(0)
3611 else:
3587 else:
3612 self.specGraphSavePowerprofile.setCheckState(QtCore.Qt.Checked)
3588 self.specGraphSavePowerprofile.setCheckState(QtCore.Qt.Checked)
3613
3589
3614 parmObj = opObj.getParameterObj(parameterName="ftp")
3590 parmObj = opObj.getParameterObj(parameterName="ftp")
3615 if parmObj == None:
3591 if parmObj == None:
3616 self.specGraphftpPowerprofile.setCheckState(0)
3592 self.specGraphftpPowerprofile.setCheckState(0)
3617 else:
3593 else:
3618 self.specGraphftpPowerprofile.setCheckState(QtCore.Qt.Checked)
3594 self.specGraphftpPowerprofile.setCheckState(QtCore.Qt.Checked)
3619
3595
3620 parmObj = opObj.getParameterObj(parameterName="figpath")
3596 parmObj = opObj.getParameterObj(parameterName="figpath")
3621 if parmObj:
3597 if parmObj:
3622 value = parmObj.getValue()
3598 value = parmObj.getValue()
3623 self.specGraphPath.setText(value)
3599 self.specGraphPath.setText(value)
3624
3600
3625 parmObj = opObj.getParameterObj(parameterName="wr_period")
3601 parmObj = opObj.getParameterObj(parameterName="wr_period")
3626 if parmObj:
3602 if parmObj:
3627 value = parmObj.getValue()
3603 value = parmObj.getValue()
3628 self.specGgraphftpratio.setText(str(value))
3604 self.specGgraphftpratio.setText(str(value))
3629
3605
3630 opObj = puObj.getOperationObj(name='Noise')
3606 opObj = puObj.getOperationObj(name='Noise')
3631
3607
3632 if opObj == None:
3608 if opObj == None:
3633 self.specGraphCebRTInoise.setCheckState(0)
3609 self.specGraphCebRTInoise.setCheckState(0)
3634 self.specGraphSaveRTInoise.setCheckState(0)
3610 self.specGraphSaveRTInoise.setCheckState(0)
3635 self.specGraphftpRTInoise.setCheckState(0)
3611 self.specGraphftpRTInoise.setCheckState(0)
3636 else:
3612 else:
3637 self.specGraphCebRTInoise.setCheckState(QtCore.Qt.Checked)
3613 self.specGraphCebRTInoise.setCheckState(QtCore.Qt.Checked)
3638 parmObj = opObj.getParameterObj(parameterName='channelList')
3614 parmObj = opObj.getParameterObj(parameterName='channelList')
3639 if parmObj == None:
3615 if parmObj == None:
3640 self.specGgraphChannelList.clear()
3616 self.specGgraphChannelList.clear()
3641 else:
3617 else:
3642 value = opObj.getParameterValue(parameterName='channelList')
3618 value = opObj.getParameterValue(parameterName='channelList')
3643 channelListRTINoise = str(value)[1:-1]
3619 channelListRTINoise = str(value)[1:-1]
3644 self.specGgraphChannelList.setText(channelListRTINoise)
3620 self.specGgraphChannelList.setText(channelListRTINoise)
3645 self.specGgraphChannelList.setEnabled(True)
3621 self.specGgraphChannelList.setEnabled(True)
3646
3622
3647 parmObj = opObj.getParameterObj(parameterName='xmin')
3623 parmObj = opObj.getParameterObj(parameterName='xmin')
3648 if parmObj == None:
3624 if parmObj == None:
3649 self.specGgraphTminTmax.clear()
3625 self.specGgraphTminTmax.clear()
3650 else:
3626 else:
3651 value1 = opObj.getParameterValue(parameterName='xmin')
3627 value1 = opObj.getParameterValue(parameterName='xmin')
3652 value1 = str(value1)
3628 value1 = str(value1)
3653 value2 = opObj.getParameterValue(parameterName='xmax')
3629 value2 = opObj.getParameterValue(parameterName='xmax')
3654 value2 = str(value2)
3630 value2 = str(value2)
3655 value = value1 + "," + value2
3631 value = value1 + "," + value2
3656 self.specGgraphTminTmax.setText(value)
3632 self.specGgraphTminTmax.setText(value)
3657 self.specGgraphTminTmax.setEnabled(True)
3633 self.specGgraphTminTmax.setEnabled(True)
3658
3634
3659 parmObj = opObj.getParameterObj(parameterName='timerange')
3635 parmObj = opObj.getParameterObj(parameterName='timerange')
3660 if parmObj == None:
3636 if parmObj == None:
3661 self.specGgraphTimeRange.clear()
3637 self.specGgraphTimeRange.clear()
3662 else:
3638 else:
3663 value1 = opObj.getParameterValue(parameterName='timerange')
3639 value1 = opObj.getParameterValue(parameterName='timerange')
3664 value1 = str(value1)
3640 value1 = str(value1)
3665 self.specGgraphTimeRange.setText(value1)
3641 self.specGgraphTimeRange.setText(value1)
3666 self.specGgraphTimeRange.setEnabled(True)
3642 self.specGgraphTimeRange.setEnabled(True)
3667
3643
3668
3644
3669 parmObj = opObj.getParameterObj(parameterName='ymin')
3645 parmObj = opObj.getParameterObj(parameterName='ymin')
3670 if parmObj == None:
3646 if parmObj == None:
3671 self.specGgraphDbsrange.clear()
3647 self.specGgraphDbsrange.clear()
3672 else:
3648 else:
3673 value1 = opObj.getParameterValue(parameterName='ymin')
3649 value1 = opObj.getParameterValue(parameterName='ymin')
3674 value1 = str(value1)
3650 value1 = str(value1)
3675 value2 = opObj.getParameterValue(parameterName='ymax')
3651 value2 = opObj.getParameterValue(parameterName='ymax')
3676 value2 = str(value2)
3652 value2 = str(value2)
3677 value = value1 + "," + value2
3653 value = value1 + "," + value2
3678 self.specGgraphDbsrange.setText(value)
3654 self.specGgraphDbsrange.setText(value)
3679 self.specGgraphDbsrange.setEnabled(True)
3655 self.specGgraphDbsrange.setEnabled(True)
3680
3656
3681 parmObj = opObj.getParameterObj(parameterName="save")
3657 parmObj = opObj.getParameterObj(parameterName="save")
3682 if parmObj == None:
3658 if parmObj == None:
3683 self.specGraphSaveRTInoise.setCheckState(0)
3659 self.specGraphSaveRTInoise.setCheckState(0)
3684 else:
3660 else:
3685 self.specGraphSaveRTInoise.setCheckState(QtCore.Qt.Checked)
3661 self.specGraphSaveRTInoise.setCheckState(QtCore.Qt.Checked)
3686
3662
3687 parmObj = opObj.getParameterObj(parameterName="ftp")
3663 parmObj = opObj.getParameterObj(parameterName="ftp")
3688 if parmObj == None:
3664 if parmObj == None:
3689 self.specGraphftpRTInoise.setCheckState(0)
3665 self.specGraphftpRTInoise.setCheckState(0)
3690 else:
3666 else:
3691 self.specGraphftpRTInoise.setCheckState(QtCore.Qt.Checked)
3667 self.specGraphftpRTInoise.setCheckState(QtCore.Qt.Checked)
3692
3668
3693 parmObj = opObj.getParameterObj(parameterName="figpath")
3669 parmObj = opObj.getParameterObj(parameterName="figpath")
3694 if parmObj:
3670 if parmObj:
3695 value = parmObj.getValue()
3671 value = parmObj.getValue()
3696 self.specGraphPath.setText(value)
3672 self.specGraphPath.setText(value)
3697
3673
3698 parmObj = opObj.getParameterObj(parameterName="wr_period")
3674 parmObj = opObj.getParameterObj(parameterName="wr_period")
3699 if parmObj:
3675 if parmObj:
3700 value = parmObj.getValue()
3676 value = parmObj.getValue()
3701 self.specGgraphftpratio.setText(str(value))
3677 self.specGgraphftpratio.setText(str(value))
3702
3678
3703 opObj = puObj.getOperationObj(name='SpectraWriter')
3679 opObj = puObj.getOperationObj(name='SpectraWriter')
3704 if opObj == None:
3680 if opObj == None:
3705 self.specOutputPath.clear()
3681 self.specOutputPath.clear()
3706 self.specOutputblocksperfile.clear()
3682 self.specOutputblocksperfile.clear()
3707 else:
3683 else:
3708 value = opObj.getParameterObj(parameterName='path')
3684 value = opObj.getParameterObj(parameterName='path')
3709 if value == None:
3685 if value == None:
3710 self.specOutputPath.clear()
3686 self.specOutputPath.clear()
3711 else:
3687 else:
3712 value = opObj.getParameterValue(parameterName='path')
3688 value = opObj.getParameterValue(parameterName='path')
3713 path = str(value)
3689 path = str(value)
3714 self.specOutputPath.setText(path)
3690 self.specOutputPath.setText(path)
3715 value = opObj.getParameterObj(parameterName='blocksPerFile')
3691 value = opObj.getParameterObj(parameterName='blocksPerFile')
3716 if value == None:
3692 if value == None:
3717 self.specOutputblocksperfile.clear()
3693 self.specOutputblocksperfile.clear()
3718 else:
3694 else:
3719 value = opObj.getParameterValue(parameterName='blocksPerFile')
3695 value = opObj.getParameterValue(parameterName='blocksPerFile')
3720 blocksperfile = str(value)
3696 blocksperfile = str(value)
3721 self.specOutputblocksperfile.setText(blocksperfile)
3697 self.specOutputblocksperfile.setText(blocksperfile)
3722
3698
3723 return
3699 return
3724
3700
3725 def __refreshSpectraHeisWindow(self, puObj):
3701 def __refreshSpectraHeisWindow(self, puObj):
3726
3702
3727 opObj = puObj.getOperationObj(name="IncohInt4SpectraHeis")
3703 opObj = puObj.getOperationObj(name="IncohInt4SpectraHeis")
3728 if opObj == None:
3704 if opObj == None:
3729 self.specHeisOpIncoherent.clear()
3705 self.specHeisOpIncoherent.clear()
3730 self.specHeisOpCebIncoherent.setCheckState(0)
3706 self.specHeisOpCebIncoherent.setCheckState(0)
3731 else:
3707 else:
3732 for parmObj in opObj.getParameterObjList():
3708 for parmObj in opObj.getParameterObjList():
3733 if parmObj.name == 'timeInterval':
3709 if parmObj.name == 'timeInterval':
3734 value = opObj.getParameterValue(parameterName='timeInterval')
3710 value = opObj.getParameterValue(parameterName='timeInterval')
3735 self.specHeisOpIncoherent.setText(str(value))
3711 self.specHeisOpIncoherent.setText(str(value))
3736 self.specHeisOpIncoherent.setEnabled(True)
3712 self.specHeisOpIncoherent.setEnabled(True)
3737 self.specHeisOpCebIncoherent.setCheckState(QtCore.Qt.Checked)
3713 self.specHeisOpCebIncoherent.setCheckState(QtCore.Qt.Checked)
3738 self.specHeisOpCobIncInt.setCurrentIndex(0)
3714 self.specHeisOpCobIncInt.setCurrentIndex(0)
3739
3715
3740 # SpectraHeis Graph
3716 # SpectraHeis Graph
3741
3717
3742 self.specHeisGgraphXminXmax.clear()
3718 self.specHeisGgraphXminXmax.clear()
3743 self.specHeisGgraphYminYmax.clear()
3719 self.specHeisGgraphYminYmax.clear()
3744
3720
3745 self.specHeisGgraphChannelList.clear()
3721 self.specHeisGgraphChannelList.clear()
3746 self.specHeisGgraphTminTmax.clear()
3722 self.specHeisGgraphTminTmax.clear()
3747 self.specHeisGgraphTimeRange.clear()
3723 self.specHeisGgraphTimeRange.clear()
3748 self.specHeisGgraphftpratio.clear()
3724 self.specHeisGgraphftpratio.clear()
3749
3725
3750 opObj = puObj.getOperationObj(name='SpectraHeisScope')
3726 opObj = puObj.getOperationObj(name='SpectraHeisScope')
3751 if opObj == None:
3727 if opObj == None:
3752 self.specHeisGraphCebSpectraplot.setCheckState(0)
3728 self.specHeisGraphCebSpectraplot.setCheckState(0)
3753 self.specHeisGraphSaveSpectra.setCheckState(0)
3729 self.specHeisGraphSaveSpectra.setCheckState(0)
3754 self.specHeisGraphftpSpectra.setCheckState(0)
3730 self.specHeisGraphftpSpectra.setCheckState(0)
3755 else:
3731 else:
3756 operationSpectraHeisScope = "Enable"
3732 operationSpectraHeisScope = "Enable"
3757 self.specHeisGraphCebSpectraplot.setCheckState(QtCore.Qt.Checked)
3733 self.specHeisGraphCebSpectraplot.setCheckState(QtCore.Qt.Checked)
3758
3734
3759 parmObj = opObj.getParameterObj(parameterName='channelList')
3735 parmObj = opObj.getParameterObj(parameterName='channelList')
3760 if parmObj == None:
3736 if parmObj == None:
3761 self.specHeisGgraphChannelList.clear()
3737 self.specHeisGgraphChannelList.clear()
3762 else:
3738 else:
3763 value = opObj.getParameterValue(parameterName='channelList')
3739 value = opObj.getParameterValue(parameterName='channelList')
3764 channelListSpectraHeisScope = str(value)[1:-1]
3740 channelListSpectraHeisScope = str(value)[1:-1]
3765 self.specHeisGgraphChannelList.setText(channelListSpectraHeisScope)
3741 self.specHeisGgraphChannelList.setText(channelListSpectraHeisScope)
3766 self.specHeisGgraphChannelList.setEnabled(True)
3742 self.specHeisGgraphChannelList.setEnabled(True)
3767
3743
3768 parmObj = opObj.getParameterObj(parameterName='xmin')
3744 parmObj = opObj.getParameterObj(parameterName='xmin')
3769 if parmObj == None:
3745 if parmObj == None:
3770 self.specHeisGgraphXminXmax.clear()
3746 self.specHeisGgraphXminXmax.clear()
3771 else:
3747 else:
3772 value1 = opObj.getParameterValue(parameterName='xmin')
3748 value1 = opObj.getParameterValue(parameterName='xmin')
3773 value1 = str(value1)
3749 value1 = str(value1)
3774 value2 = opObj.getParameterValue(parameterName='xmax')
3750 value2 = opObj.getParameterValue(parameterName='xmax')
3775 value2 = str(value2)
3751 value2 = str(value2)
3776 value = value1 + "," + value2
3752 value = value1 + "," + value2
3777 self.specHeisGgraphXminXmax.setText(value)
3753 self.specHeisGgraphXminXmax.setText(value)
3778 self.specHeisGgraphXminXmax.setEnabled(True)
3754 self.specHeisGgraphXminXmax.setEnabled(True)
3779
3755
3780 parmObj = opObj.getParameterObj(parameterName='ymin')
3756 parmObj = opObj.getParameterObj(parameterName='ymin')
3781 if parmObj == None:
3757 if parmObj == None:
3782 self.specHeisGgraphYminYmax.clear()
3758 self.specHeisGgraphYminYmax.clear()
3783 else:
3759 else:
3784 value1 = opObj.getParameterValue(parameterName='ymin')
3760 value1 = opObj.getParameterValue(parameterName='ymin')
3785 value1 = str(value1)
3761 value1 = str(value1)
3786 value2 = opObj.getParameterValue(parameterName='ymax')
3762 value2 = opObj.getParameterValue(parameterName='ymax')
3787 value2 = str(value2)
3763 value2 = str(value2)
3788 value = value1 + "," + value2
3764 value = value1 + "," + value2
3789 self.specHeisGgraphYminYmax.setText(value)
3765 self.specHeisGgraphYminYmax.setText(value)
3790 self.specHeisGgraphYminYmax.setEnabled(True)
3766 self.specHeisGgraphYminYmax.setEnabled(True)
3791
3767
3792 parmObj = opObj.getParameterObj(parameterName="save")
3768 parmObj = opObj.getParameterObj(parameterName="save")
3793 if parmObj == None:
3769 if parmObj == None:
3794 self.specHeisGraphSaveSpectra.setCheckState(0)
3770 self.specHeisGraphSaveSpectra.setCheckState(0)
3795 else:
3771 else:
3796 self.specHeisGraphSaveSpectra.setCheckState(QtCore.Qt.Checked)
3772 self.specHeisGraphSaveSpectra.setCheckState(QtCore.Qt.Checked)
3797
3773
3798 parmObj = opObj.getParameterObj(parameterName="ftp")
3774 parmObj = opObj.getParameterObj(parameterName="ftp")
3799 if parmObj == None:
3775 if parmObj == None:
3800 self.specHeisGraphftpSpectra.setCheckState(0)
3776 self.specHeisGraphftpSpectra.setCheckState(0)
3801 else:
3777 else:
3802 self.specHeisGraphftpSpectra.setCheckState(QtCore.Qt.Checked)
3778 self.specHeisGraphftpSpectra.setCheckState(QtCore.Qt.Checked)
3803
3779
3804 parmObj = opObj.getParameterObj(parameterName="figpath")
3780 parmObj = opObj.getParameterObj(parameterName="figpath")
3805 if parmObj:
3781 if parmObj:
3806 value = parmObj.getValue()
3782 value = parmObj.getValue()
3807 self.specHeisGraphPath.setText(value)
3783 self.specHeisGraphPath.setText(value)
3808
3784
3809 parmObj = opObj.getParameterObj(parameterName="wr_period")
3785 parmObj = opObj.getParameterObj(parameterName="wr_period")
3810 if parmObj:
3786 if parmObj:
3811 value = parmObj.getValue()
3787 value = parmObj.getValue()
3812 self.specHeisGgraphftpratio.setText(str(value))
3788 self.specHeisGgraphftpratio.setText(str(value))
3813
3789
3814 opObj = puObj.getOperationObj(name='RTIfromSpectraHeis')
3790 opObj = puObj.getOperationObj(name='RTIfromSpectraHeis')
3815
3791
3816 if opObj == None:
3792 if opObj == None:
3817 self.specHeisGraphCebRTIplot.setCheckState(0)
3793 self.specHeisGraphCebRTIplot.setCheckState(0)
3818 self.specHeisGraphSaveRTIplot.setCheckState(0)
3794 self.specHeisGraphSaveRTIplot.setCheckState(0)
3819 self.specHeisGraphftpRTIplot.setCheckState(0)
3795 self.specHeisGraphftpRTIplot.setCheckState(0)
3820 else:
3796 else:
3821 self.specHeisGraphCebRTIplot.setCheckState(QtCore.Qt.Checked)
3797 self.specHeisGraphCebRTIplot.setCheckState(QtCore.Qt.Checked)
3822 parmObj = opObj.getParameterObj(parameterName='channelList')
3798 parmObj = opObj.getParameterObj(parameterName='channelList')
3823 if parmObj == None:
3799 if parmObj == None:
3824 self.specHeisGgraphChannelList.clear()
3800 self.specHeisGgraphChannelList.clear()
3825 else:
3801 else:
3826 value = opObj.getParameterValue(parameterName='channelList')
3802 value = opObj.getParameterValue(parameterName='channelList')
3827 channelListRTIPlot = str(value)[1:-1]
3803 channelListRTIPlot = str(value)[1:-1]
3828 self.specGgraphChannelList.setText(channelListRTIPlot)
3804 self.specGgraphChannelList.setText(channelListRTIPlot)
3829 self.specGgraphChannelList.setEnabled(True)
3805 self.specGgraphChannelList.setEnabled(True)
3830
3806
3831 parmObj = opObj.getParameterObj(parameterName='xmin')
3807 parmObj = opObj.getParameterObj(parameterName='xmin')
3832 if parmObj == None:
3808 if parmObj == None:
3833 self.specHeisGgraphTminTmax.clear()
3809 self.specHeisGgraphTminTmax.clear()
3834 else:
3810 else:
3835 value1 = opObj.getParameterValue(parameterName='xmin')
3811 value1 = opObj.getParameterValue(parameterName='xmin')
3836 value1 = str(value1)
3812 value1 = str(value1)
3837 value2 = opObj.getParameterValue(parameterName='xmax')
3813 value2 = opObj.getParameterValue(parameterName='xmax')
3838 value2 = str(value2)
3814 value2 = str(value2)
3839 value = value1 + "," + value2
3815 value = value1 + "," + value2
3840 self.specHeisGgraphTminTmax.setText(value)
3816 self.specHeisGgraphTminTmax.setText(value)
3841 self.specHeisGgraphTminTmax.setEnabled(True)
3817 self.specHeisGgraphTminTmax.setEnabled(True)
3842
3818
3843 parmObj = opObj.getParameterObj(parameterName='timerange')
3819 parmObj = opObj.getParameterObj(parameterName='timerange')
3844 if parmObj == None:
3820 if parmObj == None:
3845 self.specGgraphTimeRange.clear()
3821 self.specGgraphTimeRange.clear()
3846 else:
3822 else:
3847 value1 = opObj.getParameterValue(parameterName='timerange')
3823 value1 = opObj.getParameterValue(parameterName='timerange')
3848 value1 = str(value1)
3824 value1 = str(value1)
3849 self.specHeisGgraphTimeRange.setText(value1)
3825 self.specHeisGgraphTimeRange.setText(value1)
3850 self.specHeisGgraphTimeRange.setEnabled(True)
3826 self.specHeisGgraphTimeRange.setEnabled(True)
3851
3827
3852 parmObj = opObj.getParameterObj(parameterName='ymin')
3828 parmObj = opObj.getParameterObj(parameterName='ymin')
3853 if parmObj == None:
3829 if parmObj == None:
3854 self.specHeisGgraphYminYmax.clear()
3830 self.specHeisGgraphYminYmax.clear()
3855 else:
3831 else:
3856 value1 = opObj.getParameterValue(parameterName='ymin')
3832 value1 = opObj.getParameterValue(parameterName='ymin')
3857 value1 = str(value1)
3833 value1 = str(value1)
3858 value2 = opObj.getParameterValue(parameterName='ymax')
3834 value2 = opObj.getParameterValue(parameterName='ymax')
3859 value2 = str(value2)
3835 value2 = str(value2)
3860 value = value1 + "," + value2
3836 value = value1 + "," + value2
3861 self.specHeisGgraphYminYmax.setText(value)
3837 self.specHeisGgraphYminYmax.setText(value)
3862 self.specHeisGgraphYminYmax.setEnabled(True)
3838 self.specHeisGgraphYminYmax.setEnabled(True)
3863
3839
3864 parmObj = opObj.getParameterObj(parameterName="save")
3840 parmObj = opObj.getParameterObj(parameterName="save")
3865 if parmObj == None:
3841 if parmObj == None:
3866 self.specHeisGraphSaveRTIplot.setCheckState(0)
3842 self.specHeisGraphSaveRTIplot.setCheckState(0)
3867 else:
3843 else:
3868 self.specHeisGraphSaveRTIplot.setCheckState(QtCore.Qt.Checked)
3844 self.specHeisGraphSaveRTIplot.setCheckState(QtCore.Qt.Checked)
3869
3845
3870 parmObj = opObj.getParameterObj(parameterName="ftp")
3846 parmObj = opObj.getParameterObj(parameterName="ftp")
3871 if parmObj == None:
3847 if parmObj == None:
3872 self.specHeisGraphftpRTIplot.setCheckState(0)
3848 self.specHeisGraphftpRTIplot.setCheckState(0)
3873 else:
3849 else:
3874 self.specHeisGraphftpRTIplot.setCheckState(QtCore.Qt.Checked)
3850 self.specHeisGraphftpRTIplot.setCheckState(QtCore.Qt.Checked)
3875
3851
3876 parmObj = opObj.getParameterObj(parameterName="figpath")
3852 parmObj = opObj.getParameterObj(parameterName="figpath")
3877 if parmObj:
3853 if parmObj:
3878 value = parmObj.getValue()
3854 value = parmObj.getValue()
3879 self.specHeisGraphPath.setText(value)
3855 self.specHeisGraphPath.setText(value)
3880
3856
3881 parmObj = opObj.getParameterObj(parameterName="wr_period")
3857 parmObj = opObj.getParameterObj(parameterName="wr_period")
3882 if parmObj:
3858 if parmObj:
3883 value = parmObj.getValue()
3859 value = parmObj.getValue()
3884 self.specHeisGgraphftpratio.setText(str(value))
3860 self.specHeisGgraphftpratio.setText(str(value))
3885
3861
3886 # outputSpectraHeisWrite
3862 # outputSpectraHeisWrite
3887 opObj = puObj.getOperationObj(name='FitsWriter')
3863 opObj = puObj.getOperationObj(name='FitsWriter')
3888 if opObj == None:
3864 if opObj == None:
3889 self.specHeisOutputPath.clear()
3865 self.specHeisOutputPath.clear()
3890 self.specHeisOutputblocksperfile.clear()
3866 self.specHeisOutputblocksperfile.clear()
3891 self.specHeisOutputMetada.clear()
3867 self.specHeisOutputMetada.clear()
3892 else:
3868 else:
3893 value = opObj.getParameterObj(parameterName='path')
3869 value = opObj.getParameterObj(parameterName='path')
3894 if value == None:
3870 if value == None:
3895 self.specHeisOutputPath.clear()
3871 self.specHeisOutputPath.clear()
3896 else:
3872 else:
3897 value = opObj.getParameterValue(parameterName='path')
3873 value = opObj.getParameterValue(parameterName='path')
3898 path = str(value)
3874 path = str(value)
3899 self.specHeisOutputPath.setText(path)
3875 self.specHeisOutputPath.setText(path)
3900 value = opObj.getParameterObj(parameterName='dataBlocksPerFile')
3876 value = opObj.getParameterObj(parameterName='dataBlocksPerFile')
3901 if value == None:
3877 if value == None:
3902 self.specHeisOutputblocksperfile.clear()
3878 self.specHeisOutputblocksperfile.clear()
3903 else:
3879 else:
3904 value = opObj.getParameterValue(parameterName='dataBlocksPerFile')
3880 value = opObj.getParameterValue(parameterName='dataBlocksPerFile')
3905 blocksperfile = str(value)
3881 blocksperfile = str(value)
3906 self.specHeisOutputblocksperfile.setText(blocksperfile)
3882 self.specHeisOutputblocksperfile.setText(blocksperfile)
3907 value = opObj.getParameterObj(parameterName='metadatafile')
3883 value = opObj.getParameterObj(parameterName='metadatafile')
3908 if value == None:
3884 if value == None:
3909 self.specHeisOutputMetada.clear()
3885 self.specHeisOutputMetada.clear()
3910 else:
3886 else:
3911 value = opObj.getParameterValue(parameterName='metadatafile')
3887 value = opObj.getParameterValue(parameterName='metadatafile')
3912 metadata_file = str(value)
3888 metadata_file = str(value)
3913 self.specHeisOutputMetada.setText(metadata_file)
3889 self.specHeisOutputMetada.setText(metadata_file)
3914
3890
3915 return
3891 return
3916
3892
3917 def __refreshCorrelationWindow(self, puObj):
3893 def __refreshCorrelationWindow(self, puObj):
3918 pass
3894 pass
3919
3895
3920 def refreshPUWindow(self, puObj):
3896 def refreshPUWindow(self, puObj):
3921
3897
3922 if puObj.datatype == 'Voltage':
3898 if puObj.datatype == 'Voltage':
3923 self.__refreshVoltageWindow(puObj)
3899 self.__refreshVoltageWindow(puObj)
3924
3900
3925 if puObj.datatype == 'Spectra':
3901 if puObj.datatype == 'Spectra':
3926 self.__refreshSpectraWindow(puObj)
3902 self.__refreshSpectraWindow(puObj)
3927
3903
3928 if puObj.datatype == 'SpectraHeis':
3904 if puObj.datatype == 'SpectraHeis':
3929 self.__refreshSpectraHeisWindow(puObj)
3905 self.__refreshSpectraHeisWindow(puObj)
3930
3906
3931 def refreshProjectProperties(self, projectObjView):
3907 def refreshProjectProperties(self, projectObjView):
3932
3908
3933 propertyBuffObj = PropertyBuffer()
3909 propertyBuffObj = PropertyBuffer()
3934 name = projectObjView.name
3910 name = projectObjView.name
3935
3911
3936 propertyBuffObj.append("Properties", "Name", projectObjView.name),
3912 propertyBuffObj.append("Properties", "Name", projectObjView.name),
3937 propertyBuffObj.append("Properties", "Description", projectObjView.description)
3913 propertyBuffObj.append("Properties", "Description", projectObjView.description)
3938 propertyBuffObj.append("Properties", "Workspace", self.pathWorkSpace)
3914 propertyBuffObj.append("Properties", "Workspace", self.pathWorkSpace)
3939
3915
3940 readUnitObj = projectObjView.getReadUnitObj()
3916 readUnitObj = projectObjView.getReadUnitObj()
3941 runOperationObj = readUnitObj.getOperationObj(name='run')
3917 runOperationObj = readUnitObj.getOperationObj(name='run')
3942
3918
3943 for thisParmObj in runOperationObj.getParameterObjList():
3919 for thisParmObj in runOperationObj.getParameterObjList():
3944 propertyBuffObj.append("Reading parms", thisParmObj.name, str(thisParmObj.getValue()))
3920 propertyBuffObj.append("Reading parms", thisParmObj.name, str(thisParmObj.getValue()))
3945
3921
3946 propertiesModel = propertyBuffObj.getPropertyModel()
3922 propertiesModel = propertyBuffObj.getPropertyModel()
3947
3923
3948 self.treeProjectProperties.setModel(propertiesModel)
3924 self.treeProjectProperties.setModel(propertiesModel)
3949 self.treeProjectProperties.expandAll()
3925 self.treeProjectProperties.expandAll()
3950 self.treeProjectProperties.resizeColumnToContents(0)
3926 self.treeProjectProperties.resizeColumnToContents(0)
3951 self.treeProjectProperties.resizeColumnToContents(1)
3927 self.treeProjectProperties.resizeColumnToContents(1)
3952
3928
3953 def refreshPUProperties(self, puObjView):
3929 def refreshPUProperties(self, puObjView):
3954
3930
3955 ############ FTP CONFIG ################################
3931 ############ FTP CONFIG ################################
3956 #Deleting FTP Conf. This processing unit have not got any
3932 #Deleting FTP Conf. This processing unit have not got any
3957 #FTP configuration by default
3933 #FTP configuration by default
3958 if puObjView.id in self.__puLocalFolder2FTP.keys():
3934 if puObjView.id in self.__puLocalFolder2FTP.keys():
3959 self.__puLocalFolder2FTP.pop(puObjView.id)
3935 self.__puLocalFolder2FTP.pop(puObjView.id)
3960 ########################################################
3936 ########################################################
3961
3937
3962 propertyBuffObj = PropertyBuffer()
3938 propertyBuffObj = PropertyBuffer()
3963
3939
3964 for thisOp in puObjView.getOperationObjList():
3940 for thisOp in puObjView.getOperationObjList():
3965
3941
3966 operationName = thisOp.name
3942 operationName = thisOp.name
3967
3943
3968 if operationName == 'run':
3944 if operationName == 'run':
3969 operationName = 'Properties'
3945 operationName = 'Properties'
3970
3946
3971 else:
3947 else:
3972 if not thisOp.getParameterObjList():
3948 if not thisOp.getParameterObjList():
3973 propertyBuffObj.append(operationName, '--', '--')
3949 propertyBuffObj.append(operationName, '--', '--')
3974 continue
3950 continue
3975
3951
3976 for thisParmObj in thisOp.getParameterObjList():
3952 for thisParmObj in thisOp.getParameterObjList():
3977 propertyBuffObj.append(operationName, thisParmObj.name, str(thisParmObj.getValue()))
3953 propertyBuffObj.append(operationName, thisParmObj.name, str(thisParmObj.getValue()))
3978
3954
3979 ############ FTP CONFIG ################################
3955 ############ FTP CONFIG ################################
3980 if thisParmObj.name == "ftp_wei" and thisParmObj.getValue():
3956 if thisParmObj.name == "ftp_wei" and thisParmObj.getValue():
3981 value = thisParmObj.getValue()
3957 value = thisParmObj.getValue()
3982 self.temporalFTP.ftp_wei = value
3958 self.temporalFTP.ftp_wei = value
3983
3959
3984 if thisParmObj.name == "exp_code" and thisParmObj.getValue():
3960 if thisParmObj.name == "exp_code" and thisParmObj.getValue():
3985 value = thisParmObj.getValue()
3961 value = thisParmObj.getValue()
3986 self.temporalFTP.exp_code = value
3962 self.temporalFTP.exp_code = value
3987
3963
3988 if thisParmObj.name == "sub_exp_code" and thisParmObj.getValue():
3964 if thisParmObj.name == "sub_exp_code" and thisParmObj.getValue():
3989 value = thisParmObj.getValue()
3965 value = thisParmObj.getValue()
3990 self.temporalFTP.sub_exp_code = value
3966 self.temporalFTP.sub_exp_code = value
3991
3967
3992 if thisParmObj.name == "plot_pos" and thisParmObj.getValue():
3968 if thisParmObj.name == "plot_pos" and thisParmObj.getValue():
3993 value = thisParmObj.getValue()
3969 value = thisParmObj.getValue()
3994 self.temporalFTP.plot_pos = value
3970 self.temporalFTP.plot_pos = value
3995
3971
3996 if thisParmObj.name == 'ftp' and thisParmObj.getValue():
3972 if thisParmObj.name == 'ftp' and thisParmObj.getValue():
3997 figpathObj = thisOp.getParameterObj('figpath')
3973 figpathObj = thisOp.getParameterObj('figpath')
3998 if figpathObj:
3974 if figpathObj:
3999 self.__puLocalFolder2FTP[puObjView.id] = figpathObj.getValue()
3975 self.__puLocalFolder2FTP[puObjView.id] = figpathObj.getValue()
4000
3976
4001 ########################################################
3977 ########################################################
4002
3978
4003 propertiesModel = propertyBuffObj.getPropertyModel()
3979 propertiesModel = propertyBuffObj.getPropertyModel()
4004
3980
4005 self.treeProjectProperties.setModel(propertiesModel)
3981 self.treeProjectProperties.setModel(propertiesModel)
4006 self.treeProjectProperties.expandAll()
3982 self.treeProjectProperties.expandAll()
4007 self.treeProjectProperties.resizeColumnToContents(0)
3983 self.treeProjectProperties.resizeColumnToContents(0)
4008 self.treeProjectProperties.resizeColumnToContents(1)
3984 self.treeProjectProperties.resizeColumnToContents(1)
4009
3985
4010 def refreshGraphicsId(self):
3986 def refreshGraphicsId(self):
4011
3987
4012 projectObj = self.getSelectedProjectObj()
3988 projectObj = self.getSelectedProjectObj()
4013
3989
4014 if not projectObj:
3990 if not projectObj:
4015 return
3991 return
4016
3992
4017 for idPU, puObj in projectObj.procUnitConfObjDict.items():
3993 for idPU, puObj in projectObj.procUnitConfObjDict.items():
4018
3994
4019 for opObj in puObj.getOperationObjList():
3995 for opObj in puObj.getOperationObjList():
4020
3996
4021 if opObj.name not in ('Scope', 'SpectraPlot', 'CrossSpectraPlot', 'RTIPlot', 'CoherenceMap', 'PowerProfilePlot', 'Noise', 'SpectraHeisScope', 'RTIfromSpectraHeis'):
3997 if opObj.name not in ('Scope', 'SpectraPlot', 'CrossSpectraPlot', 'RTIPlot', 'CoherenceMap', 'PowerProfilePlot', 'Noise', 'SpectraHeisScope', 'RTIfromSpectraHeis'):
4022 continue
3998 continue
4023
3999
4024 opObj.changeParameter(name='id', value=opObj.id, format='int')
4000 opObj.changeParameter(name='id', value=opObj.id, format='int')
4025
4001
4026 def on_click(self, index):
4002 def on_click(self, index):
4027
4003
4028 self.selectedItemTree = self.projectExplorerModel.itemFromIndex(index)
4004 self.selectedItemTree = self.projectExplorerModel.itemFromIndex(index)
4029
4005
4030 projectObjView = self.getSelectedProjectObj()
4006 projectObjView = self.getSelectedProjectObj()
4031
4007
4032 if not projectObjView:
4008 if not projectObjView:
4033 return
4009 return
4034
4010
4035 self.create = False
4011 self.create = False
4036 selectedObjView = self.getSelectedItemObj()
4012 selectedObjView = self.getSelectedItemObj()
4037
4013
4038 #A project has been selected
4014 #A project has been selected
4039 if projectObjView == selectedObjView:
4015 if projectObjView == selectedObjView:
4040
4016
4041 self.refreshProjectWindow(projectObjView)
4017 self.refreshProjectWindow(projectObjView)
4042 self.refreshProjectProperties(projectObjView)
4018 self.refreshProjectProperties(projectObjView)
4043
4019
4044 self.tabProject.setEnabled(True)
4020 self.tabProject.setEnabled(True)
4045 self.tabVoltage.setEnabled(False)
4021 self.tabVoltage.setEnabled(False)
4046 self.tabSpectra.setEnabled(False)
4022 self.tabSpectra.setEnabled(False)
4047 self.tabCorrelation.setEnabled(False)
4023 self.tabCorrelation.setEnabled(False)
4048 self.tabSpectraHeis.setEnabled(False)
4024 self.tabSpectraHeis.setEnabled(False)
4049 self.tabWidgetProject.setCurrentWidget(self.tabProject)
4025 self.tabWidgetProject.setCurrentWidget(self.tabProject)
4050
4026
4051 return
4027 return
4052
4028
4053 #A processing unit has been selected
4029 #A processing unit has been selected
4054 voltEnable = False
4030 voltEnable = False
4055 specEnable = False
4031 specEnable = False
4056 corrEnable = False
4032 corrEnable = False
4057 specHeisEnable = False
4033 specHeisEnable = False
4058 tabSelected = self.tabProject
4034 tabSelected = self.tabProject
4059
4035
4060 puObj = selectedObjView
4036 puObj = selectedObjView
4061
4037
4062 self.refreshPUWindow(puObj)
4038 self.refreshPUWindow(puObj)
4063 self.refreshPUProperties(puObj)
4039 self.refreshPUProperties(puObj)
4064 self.showtabPUCreated(puObj.datatype)
4040 self.showtabPUCreated(puObj.datatype)
4065
4041
4066 def on_right_click(self, pos):
4042 def on_right_click(self, pos):
4067
4043
4068 self.menu = QtGui.QMenu()
4044 self.menu = QtGui.QMenu()
4069 quitAction0 = self.menu.addAction("Create a New Project")
4045 quitAction0 = self.menu.addAction("Create a New Project")
4070 quitAction1 = self.menu.addAction("Create a New Processing Unit")
4046 quitAction1 = self.menu.addAction("Create a New Processing Unit")
4071 quitAction2 = self.menu.addAction("Delete Item")
4047 quitAction2 = self.menu.addAction("Delete Item")
4072 quitAction3 = self.menu.addAction("Quit")
4048 quitAction3 = self.menu.addAction("Quit")
4073
4049
4074 if len(self.__itemTreeDict) == 0:
4050 if len(self.__itemTreeDict) == 0:
4075 quitAction2.setEnabled(False)
4051 quitAction2.setEnabled(False)
4076 else:
4052 else:
4077 quitAction2.setEnabled(True)
4053 quitAction2.setEnabled(True)
4078
4054
4079 action = self.menu.exec_(self.mapToGlobal(pos))
4055 action = self.menu.exec_(self.mapToGlobal(pos))
4080
4056
4081 if action == quitAction0:
4057 if action == quitAction0:
4082 self. setInputsProject_View()
4058 self. setInputsProject_View()
4083 self.create = True
4059 self.create = True
4084
4060
4085 if action == quitAction1:
4061 if action == quitAction1:
4086 if len(self.__projectObjDict) == 0:
4062 if len(self.__projectObjDict) == 0:
4087 outputstr = "You need to create a Project before adding a Processing Unit"
4063 outputstr = "You need to create a Project before adding a Processing Unit"
4088 self.console.clear()
4064 self.console.clear()
4089 self.console.append(outputstr)
4065 self.console.append(outputstr)
4090 return 0
4066 return 0
4091 else:
4067 else:
4092 self.addPUWindow()
4068 self.addPUWindow()
4093 self.console.clear()
4069 self.console.clear()
4094 self.console.append("Please, Choose the type of Processing Unit")
4070 self.console.append("Please, Choose the type of Processing Unit")
4095 # self.console.append("If your Datatype is rawdata, you will start with processing unit Type Voltage")
4071 # self.console.append("If your Datatype is rawdata, you will start with processing unit Type Voltage")
4096 # self.console.append("If your Datatype is pdata, you will choose between processing unit Type Spectra or Correlation")
4072 # self.console.append("If your Datatype is pdata, you will choose between processing unit Type Spectra or Correlation")
4097 # self.console.append("If your Datatype is fits, you will start with processing unit Type SpectraHeis")
4073 # self.console.append("If your Datatype is fits, you will start with processing unit Type SpectraHeis")
4098
4074
4099 if action == quitAction2:
4075 if action == quitAction2:
4100 index = self.selectedItemTree
4076 index = self.selectedItemTree
4101 try:
4077 try:
4102 index.parent()
4078 index.parent()
4103 except:
4079 except:
4104 self.console.append('Please first select a Project or Processing Unit')
4080 self.console.append('Please first select a Project or Processing Unit')
4105 return 0
4081 return 0
4106 # print index.parent(),index
4082 # print index.parent(),index
4107 if index.parent() == None:
4083 if index.parent() == None:
4108 self.projectExplorerModel.removeRow(index.row())
4084 self.projectExplorerModel.removeRow(index.row())
4109 else:
4085 else:
4110 index.parent().removeRow(index.row())
4086 index.parent().removeRow(index.row())
4111 self.removeItemTreeFromProject()
4087 self.removeItemTreeFromProject()
4112 self.console.clear()
4088 self.console.clear()
4113 # for i in self.projectExplorerTree.selectionModel().selection().indexes():
4089 # for i in self.projectExplorerTree.selectionModel().selection().indexes():
4114 # print i.row()
4090 # print i.row()
4115
4091
4116 if action == quitAction3:
4092 if action == quitAction3:
4117 self.close()
4093 self.close()
4118 return 0
4094 return 0
4119
4095
4120 def createProjectView(self, id):
4096 def createProjectView(self, id):
4121
4097
4122 # project_name, description, datatype, data_path, starDate, endDate, startTime, endTime, online, delay, walk, set = self.getParmsFromProjectWindow()
4098 # project_name, description, datatype, data_path, starDate, endDate, startTime, endTime, online, delay, walk, set = self.getParmsFromProjectWindow()
4123 id = str(id)
4099 id = str(id)
4124 projectParms = self.__getParmsFromProjectWindow()
4100 projectParms = self.__getParmsFromProjectWindow()
4125
4101
4126 if not projectParms.isValid():
4102 if not projectParms.isValid():
4127 return None
4103 return None
4128
4104
4129 projectObjView = Project()
4105 projectObjView = Project()
4130 projectObjView.setup(id=id, name=projectParms.name, description=projectParms.description)
4106 projectObjView.setup(id=id, name=projectParms.name, description=projectParms.description)
4131
4107
4132 self.__projectObjDict[id] = projectObjView
4108 self.__projectObjDict[id] = projectObjView
4133 self.addProject2ProjectExplorer(id=id, name=projectObjView.name)
4109 self.addProject2ProjectExplorer(id=id, name=projectObjView.name)
4134
4110
4135 return projectObjView
4111 return projectObjView
4136
4112
4137 def updateProjectView(self):
4113 def updateProjectView(self):
4138
4114
4139 # project_name, description, datatype, data_path, starDate, endDate, startTime, endTime, online, delay, walk, set = self.getParmsFromProjectWindow()
4115 # project_name, description, datatype, data_path, starDate, endDate, startTime, endTime, online, delay, walk, set = self.getParmsFromProjectWindow()
4140
4116
4141 projectParms = self.__getParmsFromProjectWindow()
4117 projectParms = self.__getParmsFromProjectWindow()
4142
4118
4143 if not projectParms.isValid():
4119 if not projectParms.isValid():
4144 return None
4120 return None
4145
4121
4146 projectObjView = self.getSelectedProjectObj()
4122 projectObjView = self.getSelectedProjectObj()
4147
4123
4148 if not projectObjView:
4124 if not projectObjView:
4149 self.console.append("Please select a project before update it")
4125 self.console.append("Please select a project before update it")
4150 return None
4126 return None
4151
4127
4152 projectObjView.update(name=projectParms.name, description=projectParms.description)
4128 projectObjView.update(name=projectParms.name, description=projectParms.description)
4153
4129
4154 return projectObjView
4130 return projectObjView
4155
4131
4156 def createReadUnitView(self, projectObjView):
4132 def createReadUnitView(self, projectObjView):
4157
4133
4158 # project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, walk, set = self.getParmsFromProjectWindow()
4134 # project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, walk, set = self.getParmsFromProjectWindow()
4159
4135
4160 projectParms = self.__getParmsFromProjectWindow()
4136 projectParms = self.__getParmsFromProjectWindow()
4161
4137
4162 if not projectParms.isValid():
4138 if not projectParms.isValid():
4163 return None
4139 return None
4164
4140
4165 if projectParms.datatype in ("Voltage", "Spectra", "Fits"):
4141 if projectParms.datatype in ("Voltage", "Spectra", "Fits"):
4166 readUnitConfObj = projectObjView.addReadUnit(datatype=projectParms.datatype,
4142 readUnitConfObj = projectObjView.addReadUnit(datatype=projectParms.datatype,
4167 path=projectParms.dpath,
4143 path=projectParms.dpath,
4168 startDate=projectParms.startDate,
4144 startDate=projectParms.startDate,
4169 endDate=projectParms.endDate,
4145 endDate=projectParms.endDate,
4170 startTime=projectParms.startTime,
4146 startTime=projectParms.startTime,
4171 endTime=projectParms.endTime,
4147 endTime=projectParms.endTime,
4172 online=projectParms.online,
4148 online=projectParms.online,
4173 walk=projectParms.walk
4149 walk=projectParms.walk
4174 )
4150 )
4175
4151
4176 if projectParms.set:
4152 if projectParms.set:
4177 readUnitConfObj.addParameter(name="set", value=projectParms.set, format="int")
4153 readUnitConfObj.addParameter(name="set", value=projectParms.set, format="int")
4178
4154
4179 if projectParms.delay:
4155 if projectParms.delay:
4180 readUnitConfObj.addParameter(name="delay", value=projectParms.delay, format="int")
4156 readUnitConfObj.addParameter(name="delay", value=projectParms.delay, format="int")
4181
4157
4182 if projectParms.expLabel:
4158 if projectParms.expLabel:
4183 readUnitConfObj.addParameter(name="expLabel", value=projectParms.expLabel)
4159 readUnitConfObj.addParameter(name="expLabel", value=projectParms.expLabel)
4184
4160
4185 readUnitConfObj.addOperation(name="printInfo")
4161 readUnitConfObj.addOperation(name="printInfo")
4186
4162
4187 if projectParms.datatype == "USRP":
4163 if projectParms.datatype == "USRP":
4188 readUnitConfObj = projectObjView.addReadUnit(datatype=projectParms.datatype,
4164 readUnitConfObj = projectObjView.addReadUnit(datatype=projectParms.datatype,
4189 path=projectParms.dpath,
4165 path=projectParms.dpath,
4190 startDate=projectParms.startDate,
4166 startDate=projectParms.startDate,
4191 endDate=projectParms.endDate,
4167 endDate=projectParms.endDate,
4192 startTime=projectParms.startTime,
4168 startTime=projectParms.startTime,
4193 endTime=projectParms.endTime,
4169 endTime=projectParms.endTime,
4194 online=projectParms.online,
4170 online=projectParms.online,
4195 ippKm=projectParms.ippKm
4171 ippKm=projectParms.ippKm
4196 )
4172 )
4197
4173
4198 if projectParms.delay:
4174 if projectParms.delay:
4199 readUnitConfObj.addParameter(name="delay", value=projectParms.delay, format="int")
4175 readUnitConfObj.addParameter(name="delay", value=projectParms.delay, format="int")
4200
4176
4201 return readUnitConfObj
4177 return readUnitConfObj
4202
4178
4203 def updateReadUnitView(self, projectObjView, idReadUnit):
4179 def updateReadUnitView(self, projectObjView, idReadUnit):
4204
4180
4205 # project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, walk , set = self.getParmsFromProjectWindow()
4181 # project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, walk , set = self.getParmsFromProjectWindow()
4206
4182
4207 readUnitConfObj = projectObjView.getProcUnitObj(idReadUnit)
4183 readUnitConfObj = projectObjView.getProcUnitObj(idReadUnit)
4208
4184
4209 projectParms = self.__getParmsFromProjectWindow()
4185 projectParms = self.__getParmsFromProjectWindow()
4210
4186
4211 if not projectParms.isValid():
4187 if not projectParms.isValid():
4212 return None
4188 return None
4213
4189
4214 if projectParms.datatype in ["Voltage", "Spectra", "Fits"]:
4190 if projectParms.datatype in ["Voltage", "Spectra", "Fits"]:
4215 readUnitConfObj.update(datatype=projectParms.datatype,
4191 readUnitConfObj.update(datatype=projectParms.datatype,
4216 path=projectParms.dpath,
4192 path=projectParms.dpath,
4217 startDate=projectParms.startDate,
4193 startDate=projectParms.startDate,
4218 endDate=projectParms.endDate,
4194 endDate=projectParms.endDate,
4219 startTime=projectParms.startTime,
4195 startTime=projectParms.startTime,
4220 endTime=projectParms.endTime,
4196 endTime=projectParms.endTime,
4221 online=projectParms.online,
4197 online=projectParms.online,
4222 walk=projectParms.walk
4198 walk=projectParms.walk
4223 )
4199 )
4224 if projectParms.set:
4200 if projectParms.set:
4225 readUnitConfObj.addParameter(name="set", value=projectParms.set, format="int")
4201 readUnitConfObj.addParameter(name="set", value=projectParms.set, format="int")
4226
4202
4227 if projectParms.delay:
4203 if projectParms.delay:
4228 readUnitConfObj.addParameter(name="delay", value=projectParms.delay, format="int")
4204 readUnitConfObj.addParameter(name="delay", value=projectParms.delay, format="int")
4229
4205
4230 if projectParms.expLabel:
4206 if projectParms.expLabel:
4231 readUnitConfObj.addParameter(name="expLabel", value=projectParms.expLabel)
4207 readUnitConfObj.addParameter(name="expLabel", value=projectParms.expLabel)
4232
4208
4233 readUnitConfObj.addOperation(name="printInfo")
4209 readUnitConfObj.addOperation(name="printInfo")
4234
4210
4235 if projectParms.datatype == "USRP":
4211 if projectParms.datatype == "USRP":
4236 readUnitConfObj.update(datatype=projectParms.datatype,
4212 readUnitConfObj.update(datatype=projectParms.datatype,
4237 path=projectParms.dpath,
4213 path=projectParms.dpath,
4238 startDate=projectParms.startDate,
4214 startDate=projectParms.startDate,
4239 endDate=projectParms.endDate,
4215 endDate=projectParms.endDate,
4240 startTime=projectParms.startTime,
4216 startTime=projectParms.startTime,
4241 endTime=projectParms.endTime,
4217 endTime=projectParms.endTime,
4242 online=projectParms.online,
4218 online=projectParms.online,
4243 ippKm=projectParms.ippKm
4219 ippKm=projectParms.ippKm
4244 )
4220 )
4245
4221
4246 if projectParms.delay:
4222 if projectParms.delay:
4247 readUnitConfObj.addParameter(name="delay", value=projectParms.delay, format="int")
4223 readUnitConfObj.addParameter(name="delay", value=projectParms.delay, format="int")
4248
4224
4249 return readUnitConfObj
4225 return readUnitConfObj
4250
4226
4251 def createProcUnitView(self, projectObjView, datatype, inputId):
4227 def createProcUnitView(self, projectObjView, datatype, inputId):
4252
4228
4253 procUnitConfObj = projectObjView.addProcUnit(datatype=datatype, inputId=inputId)
4229 procUnitConfObj = projectObjView.addProcUnit(datatype=datatype, inputId=inputId)
4254
4230
4255 self.__puObjDict[procUnitConfObj.getId()] = procUnitConfObj
4231 self.__puObjDict[procUnitConfObj.getId()] = procUnitConfObj
4256
4232
4257 return procUnitConfObj
4233 return procUnitConfObj
4258
4234
4259 def updateProcUnitView(self, id):
4235 def updateProcUnitView(self, id):
4260
4236
4261 pass
4237 pass
4262
4238
4263 def addPUWindow(self):
4239 def addPUWindow(self):
4264
4240
4265 self.configUPWindowObj = UnitProcessWindow(self)
4241 self.configUPWindowObj = UnitProcessWindow(self)
4266 fatherObj = self.getSelectedItemObj()
4242 fatherObj = self.getSelectedItemObj()
4267 try:
4243 try:
4268 fatherObj.getElementName()
4244 fatherObj.getElementName()
4269 except:
4245 except:
4270 self.console.append("First left click on Project or Processing Unit")
4246 self.console.append("First left click on Project or Processing Unit")
4271 return 0
4247 return 0
4272
4248
4273 if fatherObj.getElementName() == 'Project':
4249 if fatherObj.getElementName() == 'Project':
4274 readUnitConfObj = fatherObj.getReadUnitObj()
4250 readUnitConfObj = fatherObj.getReadUnitObj()
4275 self.configUPWindowObj.dataTypeProject = str(readUnitConfObj.datatype)
4251 self.configUPWindowObj.dataTypeProject = str(readUnitConfObj.datatype)
4276
4252
4277 self.configUPWindowObj.getfromWindowList.append(fatherObj)
4253 self.configUPWindowObj.getfromWindowList.append(fatherObj)
4278 self.configUPWindowObj.loadTotalList()
4254 self.configUPWindowObj.loadTotalList()
4279 self.configUPWindowObj.show()
4255 self.configUPWindowObj.show()
4280 self.configUPWindowObj.closed.connect(self.createPUWindow)
4256 self.configUPWindowObj.closed.connect(self.createPUWindow)
4281
4257
4282 def createPUWindow(self):
4258 def createPUWindow(self):
4283
4259
4284 if not self.configUPWindowObj.create:
4260 if not self.configUPWindowObj.create:
4285 return
4261 return
4286
4262
4287 fatherObj = self.configUPWindowObj.getFromWindow
4263 fatherObj = self.configUPWindowObj.getFromWindow
4288 datatype = self.configUPWindowObj.typeofUP
4264 datatype = self.configUPWindowObj.typeofUP
4289
4265
4290 if fatherObj.getElementName() == 'Project':
4266 if fatherObj.getElementName() == 'Project':
4291 inputId = fatherObj.getReadUnitId()
4267 inputId = fatherObj.getReadUnitId()
4292 projectObjView = fatherObj
4268 projectObjView = fatherObj
4293 else:
4269 else:
4294 inputId = fatherObj.getId()
4270 inputId = fatherObj.getId()
4295 projectObjView = self.getSelectedProjectObj()
4271 projectObjView = self.getSelectedProjectObj()
4296
4272
4297 if not projectObjView:
4273 if not projectObjView:
4298 return
4274 return
4299
4275
4300 puObj = self.createProcUnitView(projectObjView, datatype, inputId)
4276 puObj = self.createProcUnitView(projectObjView, datatype, inputId)
4301
4277
4302 self.addPU2ProjectExplorer(puObj)
4278 self.addPU2ProjectExplorer(puObj)
4303
4279
4304 self.showtabPUCreated(datatype)
4280 self.showtabPUCreated(datatype)
4305
4281
4306 self.clearPUWindow(datatype)
4282 self.clearPUWindow(datatype)
4307
4283
4308 self.showPUinitView()
4284 self.showPUinitView()
4309
4285
4310 def addFTPConf2Operation(self, puObj, opObj):
4286 def addFTPConf2Operation(self, puObj, opObj):
4311
4287
4312 if not self.temporalFTP.create:
4288 if not self.temporalFTP.create:
4313 self.temporalFTP.setwithoutconfiguration()
4289 self.temporalFTP.setwithoutconfiguration()
4314
4290
4315 # opObj.addParameter(name='server', value=self.temporalFTP.server, format='str')
4291 # opObj.addParameter(name='server', value=self.temporalFTP.server, format='str')
4316 # opObj.addParameter(name='remotefolder', value=self.temporalFTP.remotefolder, format='str')
4292 # opObj.addParameter(name='remotefolder', value=self.temporalFTP.remotefolder, format='str')
4317 # opObj.addParameter(name='username', value=self.temporalFTP.username, format='str')
4293 # opObj.addParameter(name='username', value=self.temporalFTP.username, format='str')
4318 # opObj.addParameter(name='password', value=self.temporalFTP.password, format='str')
4294 # opObj.addParameter(name='password', value=self.temporalFTP.password, format='str')
4319
4295
4320 if self.temporalFTP.ftp_wei:
4296 if self.temporalFTP.ftp_wei:
4321 opObj.addParameter(name='ftp_wei', value=int(self.temporalFTP.ftp_wei), format='int')
4297 opObj.addParameter(name='ftp_wei', value=int(self.temporalFTP.ftp_wei), format='int')
4322 if self.temporalFTP.exp_code:
4298 if self.temporalFTP.exp_code:
4323 opObj.addParameter(name='exp_code', value=int(self.temporalFTP.exp_code), format='int')
4299 opObj.addParameter(name='exp_code', value=int(self.temporalFTP.exp_code), format='int')
4324 if self.temporalFTP.sub_exp_code:
4300 if self.temporalFTP.sub_exp_code:
4325 opObj.addParameter(name='sub_exp_code', value=int(self.temporalFTP.sub_exp_code), format='int')
4301 opObj.addParameter(name='sub_exp_code', value=int(self.temporalFTP.sub_exp_code), format='int')
4326 if self.temporalFTP.plot_pos:
4302 if self.temporalFTP.plot_pos:
4327 opObj.addParameter(name='plot_pos', value=int(self.temporalFTP.plot_pos), format='int')
4303 opObj.addParameter(name='plot_pos', value=int(self.temporalFTP.plot_pos), format='int')
4328
4304
4329 # def __checkFTPProcUnit(self, projectObj, localfolder):
4305 # def __checkFTPProcUnit(self, projectObj, localfolder):
4330 #
4306 #
4331 # puId = None
4307 # puId = None
4332 # puObj = None
4308 # puObj = None
4333 #
4309 #
4334 # for thisPuId, thisPuObj in projectObj.procUnitItems():
4310 # for thisPuId, thisPuObj in projectObj.procUnitItems():
4335 #
4311 #
4336 # if not thisPuObj.name == "SendToServer":
4312 # if not thisPuObj.name == "SendToServer":
4337 # continue
4313 # continue
4338 #
4314 #
4339 # opObj = thisPuObj.getOperationObj(name='run')
4315 # opObj = thisPuObj.getOperationObj(name='run')
4340 #
4316 #
4341 # parmObj = opObj.getParameterObj('localfolder')
4317 # parmObj = opObj.getParameterObj('localfolder')
4342 #
4318 #
4343 # #localfolder parameter should always be set, if it is not set then ProcUnit should be removed
4319 # #localfolder parameter should always be set, if it is not set then ProcUnit should be removed
4344 # if not parmObj:
4320 # if not parmObj:
4345 # projectObj.removeProcUnit(thisPuId)
4321 # projectObj.removeProcUnit(thisPuId)
4346 # continue
4322 # continue
4347 #
4323 #
4348 # thisLocalfolder = parmObj.getValue()
4324 # thisLocalfolder = parmObj.getValue()
4349 #
4325 #
4350 # if localfolder != thisLocalfolder:
4326 # if localfolder != thisLocalfolder:
4351 # continue
4327 # continue
4352 #
4328 #
4353 # puId = thisPuId
4329 # puId = thisPuId
4354 # puObj = thisPuObj
4330 # puObj = thisPuObj
4355 # break
4331 # break
4356 #
4332 #
4357 # return puObj
4333 # return puObj
4358
4334
4359 def createFTPProcUnitView(self):
4335 def createFTPProcUnitView(self):
4360
4336
4361 if not self.temporalFTP.create:
4337 if not self.temporalFTP.create:
4362 self.temporalFTP.setwithoutconfiguration()
4338 self.temporalFTP.setwithoutconfiguration()
4363
4339
4364 projectObj = self.getSelectedProjectObj()
4340 projectObj = self.getSelectedProjectObj()
4365
4341
4366 if not projectObj:
4342 if not projectObj:
4367 return
4343 return
4368
4344
4369 self.removeAllFTPProcUnitView(projectObj)
4345 self.removeAllFTPProcUnitView(projectObj)
4370
4346
4371 if not self.__puLocalFolder2FTP:
4347 if not self.__puLocalFolder2FTP:
4372 return
4348 return
4373
4349
4374 folderList = ",".join(self.__puLocalFolder2FTP.values())
4350 folderList = ",".join(self.__puLocalFolder2FTP.values())
4375
4351
4376 procUnitConfObj = projectObj.addProcUnit(name="SendToServer")
4352 procUnitConfObj = projectObj.addProcUnit(name="SendToServer")
4377
4353
4378 procUnitConfObj.addParameter(name='server', value=self.temporalFTP.server, format='str')
4354 procUnitConfObj.addParameter(name='server', value=self.temporalFTP.server, format='str')
4379 procUnitConfObj.addParameter(name='username', value=self.temporalFTP.username, format='str')
4355 procUnitConfObj.addParameter(name='username', value=self.temporalFTP.username, format='str')
4380 procUnitConfObj.addParameter(name='password', value=self.temporalFTP.password, format='str')
4356 procUnitConfObj.addParameter(name='password', value=self.temporalFTP.password, format='str')
4381 procUnitConfObj.addParameter(name='localfolder', value=folderList, format='list')
4357 procUnitConfObj.addParameter(name='localfolder', value=folderList, format='list')
4382 procUnitConfObj.addParameter(name='remotefolder', value=self.temporalFTP.remotefolder, format='str')
4358 procUnitConfObj.addParameter(name='remotefolder', value=self.temporalFTP.remotefolder, format='str')
4383 procUnitConfObj.addParameter(name='ext', value=self.temporalFTP.extension, format='str')
4359 procUnitConfObj.addParameter(name='ext', value=self.temporalFTP.extension, format='str')
4384 procUnitConfObj.addParameter(name='period', value=self.temporalFTP.period, format='int')
4360 procUnitConfObj.addParameter(name='period', value=self.temporalFTP.period, format='int')
4385 procUnitConfObj.addParameter(name='protocol', value=self.temporalFTP.protocol, format='str')
4361 procUnitConfObj.addParameter(name='protocol', value=self.temporalFTP.protocol, format='str')
4386
4362
4387 procUnitConfObj.addParameter(name='ftp_wei', value=self.temporalFTP.ftp_wei, format='int')
4363 procUnitConfObj.addParameter(name='ftp_wei', value=self.temporalFTP.ftp_wei, format='int')
4388 procUnitConfObj.addParameter(name='exp_code', value=self.temporalFTP.exp_code, format='int')
4364 procUnitConfObj.addParameter(name='exp_code', value=self.temporalFTP.exp_code, format='int')
4389 procUnitConfObj.addParameter(name='sub_exp_code', value=self.temporalFTP.sub_exp_code, format='int')
4365 procUnitConfObj.addParameter(name='sub_exp_code', value=self.temporalFTP.sub_exp_code, format='int')
4390 procUnitConfObj.addParameter(name='plot_pos', value=self.temporalFTP.plot_pos, format='int')
4366 procUnitConfObj.addParameter(name='plot_pos', value=self.temporalFTP.plot_pos, format='int')
4391
4367
4392 self.__puObjDict[procUnitConfObj.getId()] = procUnitConfObj
4368 self.__puObjDict[procUnitConfObj.getId()] = procUnitConfObj
4393
4369
4394 def removeAllFTPProcUnitView(self, projectObj):
4370 def removeAllFTPProcUnitView(self, projectObj):
4395
4371
4396 for thisPuId, thisPuObj in projectObj.procUnitItems():
4372 for thisPuId, thisPuObj in projectObj.procUnitItems():
4397
4373
4398 if not thisPuObj.name == "SendToServer":
4374 if not thisPuObj.name == "SendToServer":
4399 continue
4375 continue
4400
4376
4401 projectObj.removeProcUnit(thisPuId)
4377 projectObj.removeProcUnit(thisPuId)
4402
4378
4403 if thisPuId not in self.__puObjDict.keys():
4379 if thisPuId not in self.__puObjDict.keys():
4404 continue
4380 continue
4405
4381
4406 self.__puObjDict.pop(thisPuId)
4382 self.__puObjDict.pop(thisPuId)
4407
4383
4408 def showPUinitView(self):
4384 def showPUinitView(self):
4409
4385
4410 self.propertiesModel = TreeModel()
4386 self.propertiesModel = TreeModel()
4411 self.propertiesModel.initPUVoltageView()
4387 self.propertiesModel.initPUVoltageView()
4412 self.treeProjectProperties.setModel(self.propertiesModel)
4388 self.treeProjectProperties.setModel(self.propertiesModel)
4413 self.treeProjectProperties.expandAll()
4389 self.treeProjectProperties.expandAll()
4414 self.treeProjectProperties.allColumnsShowFocus()
4390 self.treeProjectProperties.allColumnsShowFocus()
4415 self.treeProjectProperties.resizeColumnToContents(1)
4391 self.treeProjectProperties.resizeColumnToContents(1)
4416
4392
4417 def saveFTPFromOpObj(self, operationObj):
4393 def saveFTPFromOpObj(self, operationObj):
4418
4394
4419 if operationObj.name != "SendByFTP":
4395 if operationObj.name != "SendByFTP":
4420 return
4396 return
4421
4397
4422 server = operationObj.getParameterValue("server")
4398 server = operationObj.getParameterValue("server")
4423 username = operationObj.getParameterValue("username")
4399 username = operationObj.getParameterValue("username")
4424 password = operationObj.getParameterValue("password")
4400 password = operationObj.getParameterValue("password")
4425 localfolder = operationObj.getParameterValue("localfolder")
4401 localfolder = operationObj.getParameterValue("localfolder")
4426 remotefolder = operationObj.getParameterValue("remotefolder")
4402 remotefolder = operationObj.getParameterValue("remotefolder")
4427 ext = operationObj.getParameterValue("ext")
4403 ext = operationObj.getParameterValue("ext")
4428 period = operationObj.getParameterValue("period")
4404 period = operationObj.getParameterValue("period")
4429
4405
4430 self.temporalFTP.save(server=server,
4406 self.temporalFTP.save(server=server,
4431 remotefolder=remotefolder,
4407 remotefolder=remotefolder,
4432 username=username,
4408 username=username,
4433 password=password,
4409 password=password,
4434 localfolder=localfolder,
4410 localfolder=localfolder,
4435 extension=ext)
4411 extension=ext)
4436
4412
4437 return
4413 return
4438
4414
4439 def saveFTPFromProcUnitObj(self, puObj):
4415 def saveFTPFromProcUnitObj(self, puObj):
4440
4416
4441 opObj = puObj.getOperationObj(name="run")
4417 opObj = puObj.getOperationObj(name="run")
4442
4418
4443 parmObj = opObj.getParameterObj(parameterName="server")
4419 parmObj = opObj.getParameterObj(parameterName="server")
4444 if parmObj == None:
4420 if parmObj == None:
4445 server = 'jro-app.igp.gob.pe'
4421 server = 'jro-app.igp.gob.pe'
4446 else:
4422 else:
4447 server = parmObj.getValue()
4423 server = parmObj.getValue()
4448
4424
4449 parmObj = opObj.getParameterObj(parameterName="remotefolder")
4425 parmObj = opObj.getParameterObj(parameterName="remotefolder")
4450 if parmObj == None:
4426 if parmObj == None:
4451 remotefolder = '/home/wmaster/graficos'
4427 remotefolder = '/home/wmaster/graficos'
4452 else:
4428 else:
4453 remotefolder = parmObj.getValue()
4429 remotefolder = parmObj.getValue()
4454
4430
4455 parmObj = opObj.getParameterObj(parameterName="username")
4431 parmObj = opObj.getParameterObj(parameterName="username")
4456 if parmObj == None:
4432 if parmObj == None:
4457 username = 'wmaster'
4433 username = 'wmaster'
4458 else:
4434 else:
4459 username = parmObj.getValue()
4435 username = parmObj.getValue()
4460
4436
4461 parmObj = opObj.getParameterObj(parameterName="password")
4437 parmObj = opObj.getParameterObj(parameterName="password")
4462 if parmObj == None:
4438 if parmObj == None:
4463 password = 'mst2010vhf'
4439 password = 'mst2010vhf'
4464 else:
4440 else:
4465 password = parmObj.getValue()
4441 password = parmObj.getValue()
4466
4442
4467 parmObj = opObj.getParameterObj(parameterName="ftp_wei")
4443 parmObj = opObj.getParameterObj(parameterName="ftp_wei")
4468 if parmObj == None:
4444 if parmObj == None:
4469 ftp_wei = 0
4445 ftp_wei = 0
4470 else:
4446 else:
4471 ftp_wei = parmObj.getValue()
4447 ftp_wei = parmObj.getValue()
4472
4448
4473 parmObj = opObj.getParameterObj(parameterName="exp_code")
4449 parmObj = opObj.getParameterObj(parameterName="exp_code")
4474 if parmObj == None:
4450 if parmObj == None:
4475 exp_code = 0
4451 exp_code = 0
4476 else:
4452 else:
4477 exp_code = parmObj.getValue()
4453 exp_code = parmObj.getValue()
4478
4454
4479 parmObj = opObj.getParameterObj(parameterName="sub_exp_code")
4455 parmObj = opObj.getParameterObj(parameterName="sub_exp_code")
4480 if parmObj == None:
4456 if parmObj == None:
4481 sub_exp_code = 0
4457 sub_exp_code = 0
4482 else:
4458 else:
4483 sub_exp_code = parmObj.getValue()
4459 sub_exp_code = parmObj.getValue()
4484
4460
4485 parmObj = opObj.getParameterObj(parameterName="plot_pos")
4461 parmObj = opObj.getParameterObj(parameterName="plot_pos")
4486 if parmObj == None:
4462 if parmObj == None:
4487 plot_pos = 0
4463 plot_pos = 0
4488 else:
4464 else:
4489 plot_pos = parmObj.getValue()
4465 plot_pos = parmObj.getValue()
4490
4466
4491 parmObj = opObj.getParameterObj(parameterName="localfolder")
4467 parmObj = opObj.getParameterObj(parameterName="localfolder")
4492 if parmObj == None:
4468 if parmObj == None:
4493 localfolder = None
4469 localfolder = None
4494 else:
4470 else:
4495 localfolder = parmObj.getValue()
4471 localfolder = parmObj.getValue()
4496
4472
4497 parmObj = opObj.getParameterObj(parameterName="ext")
4473 parmObj = opObj.getParameterObj(parameterName="ext")
4498 if parmObj == None:
4474 if parmObj == None:
4499 extension = '.png'
4475 extension = '.png'
4500 else:
4476 else:
4501 extension = parmObj.getValue()
4477 extension = parmObj.getValue()
4502
4478
4503 self.temporalFTP.save(server=server,
4479 self.temporalFTP.save(server=server,
4504 remotefolder=remotefolder,
4480 remotefolder=remotefolder,
4505 username=username,
4481 username=username,
4506 password=password,
4482 password=password,
4507 ftp_wei=ftp_wei,
4483 ftp_wei=ftp_wei,
4508 exp_code=exp_code,
4484 exp_code=exp_code,
4509 sub_exp_code=sub_exp_code,
4485 sub_exp_code=sub_exp_code,
4510 plot_pos=plot_pos,
4486 plot_pos=plot_pos,
4511 localfolder=localfolder,
4487 localfolder=localfolder,
4512 extension=extension)
4488 extension=extension)
4513
4489
4514 def addProject2ProjectExplorer(self, id, name):
4490 def addProject2ProjectExplorer(self, id, name):
4515
4491
4516 itemTree = QtGui.QStandardItem(QtCore.QString(str(name)))
4492 itemTree = QtGui.QStandardItem(QtCore.QString(str(name)))
4517
4493
4518 parentItem = self.projectExplorerModel.invisibleRootItem()
4494 parentItem = self.projectExplorerModel.invisibleRootItem()
4519 parentItem.appendRow(itemTree)
4495 parentItem.appendRow(itemTree)
4520
4496
4521 self.projectExplorerTree.setCurrentIndex(itemTree.index())
4497 self.projectExplorerTree.setCurrentIndex(itemTree.index())
4522
4498
4523 self.selectedItemTree = itemTree
4499 self.selectedItemTree = itemTree
4524
4500
4525 self.__itemTreeDict[id] = itemTree
4501 self.__itemTreeDict[id] = itemTree
4526
4502
4527 def addPU2ProjectExplorer(self, puObj):
4503 def addPU2ProjectExplorer(self, puObj):
4528
4504
4529 id, name = puObj.id, puObj.datatype
4505 id, name = puObj.id, puObj.datatype
4530
4506
4531 itemTree = QtGui.QStandardItem(QtCore.QString(str(name)))
4507 itemTree = QtGui.QStandardItem(QtCore.QString(str(name)))
4532
4508
4533 parentItem = self.selectedItemTree
4509 parentItem = self.selectedItemTree
4534 parentItem.appendRow(itemTree)
4510 parentItem.appendRow(itemTree)
4535 self.projectExplorerTree.expandAll()
4511 self.projectExplorerTree.expandAll()
4536
4512
4537 self.projectExplorerTree.setCurrentIndex(itemTree.index())
4513 self.projectExplorerTree.setCurrentIndex(itemTree.index())
4538
4514
4539 self.selectedItemTree = itemTree
4515 self.selectedItemTree = itemTree
4540
4516
4541 self.__itemTreeDict[id] = itemTree
4517 self.__itemTreeDict[id] = itemTree
4542
4518
4543 def addPU2PELoadXML(self, puObj):
4519 def addPU2PELoadXML(self, puObj):
4544
4520
4545 id, name, inputId = puObj.id, puObj.datatype, puObj.inputId
4521 id, name, inputId = puObj.id, puObj.datatype, puObj.inputId
4546
4522
4547 itemTree = QtGui.QStandardItem(QtCore.QString(str(name)))
4523 itemTree = QtGui.QStandardItem(QtCore.QString(str(name)))
4548
4524
4549 if self.__itemTreeDict.has_key(inputId):
4525 if self.__itemTreeDict.has_key(inputId):
4550 parentItem = self.__itemTreeDict[inputId]
4526 parentItem = self.__itemTreeDict[inputId]
4551 else:
4527 else:
4552 #If parent is a Reader object
4528 #If parent is a Reader object
4553 parentItem = self.__itemTreeDict[id[:-1]]
4529 parentItem = self.__itemTreeDict[id[:-1]]
4554
4530
4555 parentItem.appendRow(itemTree)
4531 parentItem.appendRow(itemTree)
4556 self.projectExplorerTree.expandAll()
4532 self.projectExplorerTree.expandAll()
4557 parentItem = itemTree
4533 parentItem = itemTree
4558 self.projectExplorerTree.setCurrentIndex(parentItem.index())
4534 self.projectExplorerTree.setCurrentIndex(parentItem.index())
4559
4535
4560 self.__itemTreeDict[id] = itemTree
4536 self.__itemTreeDict[id] = itemTree
4561 self.selectedItemTree = itemTree
4537 self.selectedItemTree = itemTree
4562
4538
4563 def getSelectedProjectObj(self):
4539 def getSelectedProjectObj(self):
4564 """
4540 """
4565 Return the current project object selected. If a processing unit is
4541 Return the current project object selected. If a processing unit is
4566 actually selected this function returns associated project.
4542 actually selected this function returns associated project.
4567
4543
4568 None if any project or processing unit is selected
4544 None if any project or processing unit is selected
4569 """
4545 """
4570 for key in self.__itemTreeDict.keys():
4546 for key in self.__itemTreeDict.keys():
4571 if self.__itemTreeDict[key] != self.selectedItemTree:
4547 if self.__itemTreeDict[key] != self.selectedItemTree:
4572 continue
4548 continue
4573
4549
4574 if self.__projectObjDict.has_key(key):
4550 if self.__projectObjDict.has_key(key):
4575 projectObj = self.__projectObjDict[key]
4551 projectObj = self.__projectObjDict[key]
4576 return projectObj
4552 return projectObj
4577
4553
4578 puObj = self.__puObjDict[key]
4554 puObj = self.__puObjDict[key]
4579
4555
4580 if puObj.parentId == None:
4556 if puObj.parentId == None:
4581 projectId = puObj.getId()[0]
4557 projectId = puObj.getId()[0]
4582 else:
4558 else:
4583 projectId = puObj.parentId
4559 projectId = puObj.parentId
4584
4560
4585 projectObj = self.__projectObjDict[projectId]
4561 projectObj = self.__projectObjDict[projectId]
4586 return projectObj
4562 return projectObj
4587
4563
4588 return None
4564 return None
4589
4565
4590 def getSelectedItemObj(self):
4566 def getSelectedItemObj(self):
4591 """
4567 """
4592 Return the current project or processing unit object selected
4568 Return the current project or processing unit object selected
4593
4569
4594 None if any project or processing unit is selected
4570 None if any project or processing unit is selected
4595 """
4571 """
4596 for key in self.__itemTreeDict.keys():
4572 for key in self.__itemTreeDict.keys():
4597 if self.__itemTreeDict[key] != self.selectedItemTree:
4573 if self.__itemTreeDict[key] != self.selectedItemTree:
4598 continue
4574 continue
4599
4575
4600 if self.__projectObjDict.has_key(key) == True:
4576 if self.__projectObjDict.has_key(key) == True:
4601 fatherObj = self.__projectObjDict[key]
4577 fatherObj = self.__projectObjDict[key]
4602 else:
4578 else:
4603 fatherObj = self.__puObjDict[key]
4579 fatherObj = self.__puObjDict[key]
4604
4580
4605 return fatherObj
4581 return fatherObj
4606
4582
4607 return None
4583 return None
4608
4584
4609 def _WarningWindow(self, text, information):
4585 def _WarningWindow(self, text, information):
4610
4586
4611 msgBox = QtGui.QMessageBox()
4587 msgBox = QtGui.QMessageBox()
4612 msgBox.setText(text)
4588 msgBox.setText(text)
4613 msgBox.setInformativeText(information)
4589 msgBox.setInformativeText(information)
4614 msgBox.setStandardButtons(QtGui.QMessageBox.Ok | QtGui.QMessageBox.Cancel)
4590 msgBox.setStandardButtons(QtGui.QMessageBox.Ok | QtGui.QMessageBox.Cancel)
4615 msgBox.setDefaultButton(QtGui.QMessageBox.Ok)
4591 msgBox.setDefaultButton(QtGui.QMessageBox.Ok)
4616 ret = msgBox.exec_()
4592 ret = msgBox.exec_()
4617
4593
4618 answer = False
4594 answer = False
4619
4595
4620 if ret == QtGui.QMessageBox.Ok:
4596 if ret == QtGui.QMessageBox.Ok:
4621 answer = True
4597 answer = True
4622
4598
4623 return answer
4599 return answer
4624
4600
4625 def __getNewProjectId(self):
4601 def __getNewProjectId(self):
4626
4602
4627 loadProject = False
4603 loadProject = False
4628
4604
4629 for thisId in range(1,10):
4605 for thisId in range(1,10):
4630 newId = str(thisId)
4606 newId = str(thisId)
4631 if newId in self.__projectObjDict.keys():
4607 if newId in self.__projectObjDict.keys():
4632 continue
4608 continue
4633
4609
4634 loadProject = True
4610 loadProject = True
4635 projectId = newId
4611 projectId = newId
4636 break
4612 break
4637
4613
4638 if not loadProject:
4614 if not loadProject:
4639 self.console.clear()
4615 self.console.clear()
4640 self.console.append("The maximum number of projects has been loaded, a new project can not be loaded")
4616 self.console.append("The maximum number of projects has been loaded, a new project can not be loaded")
4641 return None
4617 return None
4642
4618
4643 return projectId
4619 return projectId
4644
4620
4645 def openProject(self):
4621 def openProject(self):
4646
4622
4647 self.actionStart.setEnabled(False)
4623 self._disable_save_button()
4648 self.actionStarToolbar.setEnabled(False)
4624 self._disable_play_button()
4649
4625
4650 self.frame_2.setEnabled(True)
4626 self.frame_2.setEnabled(True)
4651
4627
4652 # print self.dir
4628 # print self.dir
4653 filename = str(QtGui.QFileDialog.getOpenFileName(self, "Open text file", self.pathWorkSpace, self.tr("Text Files (*.xml)")))
4629 filename = str(QtGui.QFileDialog.getOpenFileName(self, "Open a project file", self.pathWorkSpace, self.tr("Html Files (*.xml)")))
4654
4630
4655 projectObjLoad = Project()
4631 projectObjLoad = Project()
4656
4632
4657 try:
4633 try:
4658 projectObjLoad.readXml(filename)
4634 projectObjLoad.readXml(filename)
4659 except:
4635 except:
4660 self.console.clear()
4636 self.console.clear()
4661 self.console.append("The selected xml file could not be loaded ...")
4637 self.console.append("The selected xml file could not be loaded ...")
4662 return 0
4638 return 0
4663
4639
4664 self.create = False
4640 self.create = False
4665 self.refreshProjectWindow(projectObjLoad)
4641 self.refreshProjectWindow(projectObjLoad)
4666 self.refreshProjectProperties(projectObjLoad)
4642 self.refreshProjectProperties(projectObjLoad)
4667
4643
4668 projectId = projectObjLoad.id
4644 projectId = projectObjLoad.id
4669
4645
4670 if projectId in self.__projectObjDict.keys():
4646 if projectId in self.__projectObjDict.keys():
4671
4647
4672 # answer = self._WarningWindow("You already have a project loaded with the same Id",
4648 # answer = self._WarningWindow("You already have a project loaded with the same Id",
4673 # "Do you want to load the file anyway?")
4649 # "Do you want to load the file anyway?")
4674 # if not answer:
4650 # if not answer:
4675 # return
4651 # return
4676
4652
4677 projectId = self.__getNewProjectId()
4653 projectId = self.__getNewProjectId()
4678
4654
4679 if not projectId:
4655 if not projectId:
4680 return
4656 return
4681
4657
4682 projectObjLoad.updateId(projectId)
4658 projectObjLoad.updateId(projectId)
4683
4659
4684 self.__projectObjDict[projectId] = projectObjLoad
4660 self.__projectObjDict[projectId] = projectObjLoad
4685
4661
4686 self.addProject2ProjectExplorer(id=projectId, name=projectObjLoad.name)
4662 self.addProject2ProjectExplorer(id=projectId, name=projectObjLoad.name)
4687
4663
4688 self.tabWidgetProject.setEnabled(True)
4664 self.tabWidgetProject.setEnabled(True)
4689 self.tabWidgetProject.setCurrentWidget(self.tabProject)
4665 self.tabWidgetProject.setCurrentWidget(self.tabProject)
4690 # Disable tabProject after finish the creation
4666 # Disable tabProject after finish the creation
4691 self.tabProject.setEnabled(True)
4667 self.tabProject.setEnabled(True)
4692 puObjorderList = OrderedDict(sorted(projectObjLoad.procUnitConfObjDict.items(), key=lambda x: x[0]))
4668 puObjorderList = OrderedDict(sorted(projectObjLoad.procUnitConfObjDict.items(), key=lambda x: x[0]))
4693
4669
4694 for puId, puObj in puObjorderList.items():
4670 for puId, puObj in puObjorderList.items():
4695
4671
4696 self.__puObjDict[puId] = puObj
4672 self.__puObjDict[puId] = puObj
4697
4673
4698 if puObj.name == "SendToServer":
4674 if puObj.name == "SendToServer":
4699 self.saveFTPFromProcUnitObj(puObj)
4675 self.saveFTPFromProcUnitObj(puObj)
4700
4676
4701 ############## COMPATIBLE WITH OLD VERSIONS ################
4677 ############## COMPATIBLE WITH OLD VERSIONS ################
4702 operationObj = puObj.getOperationObj("SendByFTP")
4678 operationObj = puObj.getOperationObj("SendByFTP")
4703
4679
4704 if operationObj:
4680 if operationObj:
4705 self.saveFTPFromOpObj(operationObj)
4681 self.saveFTPFromOpObj(operationObj)
4706 ############################################################
4682 ############################################################
4707
4683
4708 if puObj.inputId == '0':
4684 if puObj.inputId == '0':
4709 continue
4685 continue
4710
4686
4711 self.addPU2PELoadXML(puObj)
4687 self.addPU2PELoadXML(puObj)
4712
4688
4713 self.refreshPUWindow(puObj)
4689 self.refreshPUWindow(puObj)
4714 self.refreshPUProperties(puObj)
4690 self.refreshPUProperties(puObj)
4715 self.showtabPUCreated(datatype=puObj.datatype)
4691 self.showtabPUCreated(datatype=puObj.datatype)
4716
4692
4717 self.console.clear()
4693 self.console.clear()
4718 self.console.append("The selected xml file has been loaded successfully")
4694 self.console.append("The selected xml file has been loaded successfully")
4719
4695
4720 self.actionStart.setEnabled(True)
4696 self._disable_save_button()
4721 self.actionStarToolbar.setEnabled(True)
4697 self._enable_play_button()
4722
4698
4723 def create_updating_timer(self):
4699 def create_updating_timer(self):
4724 self.comm_data_timer = QtCore.QTimer(self)
4700 self.comm_data_timer = QtCore.QTimer(self)
4725 self.comm_data_timer.timeout.connect(self.on_comm_updating_timer)
4701 self.comm_data_timer.timeout.connect(self.on_comm_updating_timer)
4726 self.comm_data_timer.start(1000)
4702 self.comm_data_timer.start(1000)
4727
4703
4728 def on_comm_updating_timer(self):
4704 def on_comm_updating_timer(self):
4729 # Verifica si algun proceso ha sido inicializado y sigue ejecutandose
4705 # Verifica si algun proceso ha sido inicializado y sigue ejecutandose
4730 # Si el proceso se ha parado actualizar el GUI (stopProject)
4706 # Si el proceso se ha parado actualizar el GUI (stopProject)
4731 if not self.threadStarted:
4707 if not self.threadStarted:
4732 return
4708 return
4733
4709
4734 if self.controllerThread.isFinished():
4710 if self.controllerThread.isFinished():
4735 self.stopProject()
4711 self.stopProject()
4736
4712
4737 def playProject(self, ext=".xml", save=1):
4713 def playProject(self, ext=".xml", save=1):
4738
4714
4715 self._disable_play_button()
4716 self._disable_save_button()
4717
4718 if self.controllerThread:
4719 if self.controllerThread.isRunning():
4720 self.console.append("There is already another process running")
4721 self._enable_stop_button()
4722 return
4723
4739 projectObj = self.getSelectedProjectObj()
4724 projectObj = self.getSelectedProjectObj()
4740
4725
4741 if not projectObj:
4726 if not projectObj:
4742 self.console.append("Please select a project before pressing PLAY button")
4727 self.console.append("Please, select a project to start it")
4743 return
4728 return
4744
4729
4745 if save:
4730 if save:
4746 filename = self.saveProject()
4731 filename = self.saveProject()
4747 if filename == None:
4732 if filename == None:
4748 self.console.append("Process did not initialize.")
4733 self.console.append("Process not initialized.")
4749 return
4734 return
4750 else:
4735 else:
4751 filename = TEMPORAL_FILE
4736 filename = TEMPORAL_FILE
4752 projectObj.writeXml( os.path.join(self.pathWorkSpace,filename) )
4737 projectObj.writeXml( os.path.join(self.pathWorkSpace,filename) )
4753
4754 self.actionStart.setEnabled(False)
4755 self.actionPause.setEnabled(True)
4756 self.actionStop.setEnabled(True)
4757
4758 self.actionStarToolbar.setEnabled(False)
4759 self.actionPauseToolbar.setEnabled(True)
4760 self.actionStopToolbar.setEnabled(True)
4761
4738
4762 self.console.append("Please Wait...")
4739 self.console.append("Please Wait...")
4763
4740
4764 self.controllerThread = ControllerThread(filename)
4741 self.controllerThread = ControllerThread(filename)
4765
4742
4766 # QObject.connect( self.controllerThread, SIGNAL( "jobFinished( PyQt_PyObject )" ), self.jobFinishedFromThread )
4743 # QObject.connect( self.controllerThread, SIGNAL( "jobFinished( PyQt_PyObject )" ), self.jobFinishedFromThread )
4767 # QObject.connect( self.controllerThread, SIGNAL( "jobStarted( PyQt_PyObject )" ), self.jobStartedFromThread )
4744 # QObject.connect( self.controllerThread, SIGNAL( "jobStarted( PyQt_PyObject )" ), self.jobStartedFromThread )
4768 self.console.clear()
4745 self.console.clear()
4769 self.controllerThread.start()
4746 self.controllerThread.start()
4770 sleep(0.5)
4747 sleep(0.5)
4771 self.threadStarted = True
4748 self.threadStarted = True
4772
4749
4773 self.changeStartIcon(started=True)
4750 self._disable_play_button()
4751 self._disable_save_button()
4752 self._enable_stop_button()
4774
4753
4775 def stopProject(self):
4754 def stopProject(self):
4776
4755
4777 # self.commCtrlPThread.cmd_q.put(ProcessCommand(ProcessCommand.STOP, True))
4756 # self.commCtrlPThread.cmd_q.put(ProcessCommand(ProcessCommand.STOP, True))
4778 self.controllerThread.stop()
4757 self.controllerThread.stop()
4779 self.threadStarted = False
4758 self.threadStarted = False
4780
4759
4781 while self.controllerThread.isRunning():
4760 while self.controllerThread.isRunning():
4782 sleep(0.5)
4761 sleep(0.5)
4783
4784 self.actionStart.setEnabled(True)
4785 self.actionPause.setEnabled(False)
4786 self.actionStop.setEnabled(False)
4787
4788 self.actionStarToolbar.setEnabled(True)
4789 self.actionPauseToolbar.setEnabled(False)
4790 self.actionStopToolbar.setEnabled(False)
4791
4762
4792 self.restorePauseIcon()
4763 self._disable_stop_button()
4793 self.restoreStartIcon()
4764 self._enable_play_button()
4794
4765
4795 def pauseProject(self):
4766 def pauseProject(self):
4796
4767
4797 # self.commCtrlPThread.cmd_q.put(ProcessCommand(ProcessCommand.PAUSE, data=True))
4768 # self.commCtrlPThread.cmd_q.put(ProcessCommand(ProcessCommand.PAUSE, data=True))
4798 paused = self.controllerThread.pause()
4769 paused = self.controllerThread.pause()
4799
4770
4800 self.actionStart.setEnabled(False)
4801 self.actionPause.setEnabled(True)
4802 self.actionStop.setEnabled(True)
4803
4804 self.actionStarToolbar.setEnabled(False)
4805 self.actionPauseToolbar.setEnabled(True)
4806 self.actionStopToolbar.setEnabled(True)
4807
4808 self.changePauseIcon(paused)
4771 self.changePauseIcon(paused)
4809
4772
4810 def saveProject(self, filename=None):
4773 def saveProject(self, filename=None):
4811
4774
4812 self.actionStart.setEnabled(False)
4775 self._disable_save_button()
4813 self.actionStarToolbar.setEnabled(False)
4776 self._disable_play_button()
4814
4777
4815 projectObj = self.getSelectedProjectObj()
4778 projectObj = self.getSelectedProjectObj()
4816
4779
4817 if not projectObj:
4780 if not projectObj:
4818
4781
4819 if self.create:
4782 if self.create:
4820 self.console.append("Please press Ok before save it")
4783 self.console.append("Please press Ok before save it")
4821 else:
4784 else:
4822 self.console.append("Please select a project before save it")
4785 self.console.append("Please select a project before save it")
4823 return
4786 return
4824
4787
4825 self.refreshGraphicsId()
4788 self.refreshGraphicsId()
4826
4789
4827 sts = True
4790 sts = True
4828 selectedItemObj = self.getSelectedItemObj()
4791 selectedItemObj = self.getSelectedItemObj()
4829
4792
4830 #A Processing Unit has been selected
4793 #A Processing Unit has been selected
4831 if projectObj == selectedItemObj:
4794 if projectObj == selectedItemObj:
4832 if not self.on_proOk_clicked():
4795 if not self.on_proOk_clicked():
4833 return None
4796 return None
4834
4797
4835 #A Processing Unit has been selected
4798 #A Processing Unit has been selected
4836 if projectObj != selectedItemObj:
4799 if projectObj != selectedItemObj:
4837 puObj = selectedItemObj
4800 puObj = selectedItemObj
4838
4801
4839 if puObj.name == 'VoltageProc':
4802 if puObj.name == 'VoltageProc':
4840 sts = self.on_volOpOk_clicked()
4803 sts = self.on_volOpOk_clicked()
4841 if puObj.name == 'SpectraProc':
4804 if puObj.name == 'SpectraProc':
4842 sts = self.on_specOpOk_clicked()
4805 sts = self.on_specOpOk_clicked()
4843 if puObj.name == 'SpectraHeisProc':
4806 if puObj.name == 'SpectraHeisProc':
4844 sts = self.on_specHeisOpOk_clicked()
4807 sts = self.on_specHeisOpOk_clicked()
4845
4808
4846 if not sts:
4809 if not sts:
4847 return None
4810 return None
4848
4811
4849 self.createFTPProcUnitView()
4812 self.createFTPProcUnitView()
4850
4813
4851 if not filename:
4814 if not filename:
4852 filename = os.path.join( str(self.pathWorkSpace), "%s%s" %(str(projectObj.name), '.xml') )
4815 filename = os.path.join( str(self.pathWorkSpace), "%s%s" %(str(projectObj.name), '.xml') )
4853
4816
4854 projectObj.writeXml(filename)
4817 projectObj.writeXml(filename)
4855 self.console.clear()
4818 self.console.clear()
4856 self.console.append("Project saved")
4819 self.console.append("Project saved")
4857 self.console.append("Press Play button to start data processing ...")
4820 self.console.append("Press Play button to start data processing ...")
4858
4821
4859 self.actionSaveToolbar.setEnabled(False)
4822 self._disable_save_button()
4860 self.actionStarToolbar.setEnabled(True)
4823 self._enable_play_button()
4861
4862 self.actionSave.setEnabled(False)
4863 self.actionStart.setEnabled(True)
4864
4824
4865 return filename
4825 return filename
4866
4826
4867 def removeItemTreeFromProject(self):
4827 def removeItemTreeFromProject(self):
4868 """
4828 """
4869 Metodo para eliminar el proyecto en el dictionario de proyectos y en el dictionario de vista de arbol
4829 Metodo para eliminar el proyecto en el dictionario de proyectos y en el dictionario de vista de arbol
4870 """
4830 """
4871 for key in self.__itemTreeDict.keys():
4831 for key in self.__itemTreeDict.keys():
4872
4832
4873 #Check again because an item can delete multiple items (childs)
4833 #Check again because an item can delete multiple items (childs)
4874 if key not in self.__itemTreeDict.keys():
4834 if key not in self.__itemTreeDict.keys():
4875 continue
4835 continue
4876
4836
4877 if self.__itemTreeDict[key] != self.selectedItemTree:
4837 if self.__itemTreeDict[key] != self.selectedItemTree:
4878 continue
4838 continue
4879
4839
4880 if self.__projectObjDict.has_key(key) == True:
4840 if self.__projectObjDict.has_key(key) == True:
4881
4841
4882 del self.__projectObjDict[key]
4842 del self.__projectObjDict[key]
4883 del self.__itemTreeDict[key]
4843 del self.__itemTreeDict[key]
4884
4844
4885 else:
4845 else:
4886 puObj = self.__puObjDict[key]
4846 puObj = self.__puObjDict[key]
4887 idProjectParent = puObj.parentId
4847 idProjectParent = puObj.parentId
4888 projectObj = self.__projectObjDict[idProjectParent]
4848 projectObj = self.__projectObjDict[idProjectParent]
4889
4849
4890 del self.__puObjDict[key]
4850 del self.__puObjDict[key]
4891 del self.__itemTreeDict[key]
4851 del self.__itemTreeDict[key]
4892 del projectObj.procUnitConfObjDict[key]
4852 del projectObj.procUnitConfObjDict[key]
4893
4853
4894 for key in projectObj.procUnitConfObjDict.keys():
4854 for key in projectObj.procUnitConfObjDict.keys():
4895 if projectObj.procUnitConfObjDict[key].inputId != puObj.getId():
4855 if projectObj.procUnitConfObjDict[key].inputId != puObj.getId():
4896 continue
4856 continue
4897 del self.__puObjDict[projectObj.procUnitConfObjDict[key].getId()]
4857 del self.__puObjDict[projectObj.procUnitConfObjDict[key].getId()]
4898 del self.__itemTreeDict[projectObj.procUnitConfObjDict[key].getId()]
4858 del self.__itemTreeDict[projectObj.procUnitConfObjDict[key].getId()]
4899 del projectObj.procUnitConfObjDict[key]
4859 del projectObj.procUnitConfObjDict[key]
4900 # print projectObj.procUnitConfObjDict
4860 # print projectObj.procUnitConfObjDict
4901 # print self.__itemTreeDict,self.__projectObjDict,self.__puObjDict
4861 # print self.__itemTreeDict,self.__projectObjDict,self.__puObjDict
4902
4862
4903 def setInputsProject_View(self):
4863 def setInputsProject_View(self):
4904
4864
4905 self.tabWidgetProject.setEnabled(True)
4865 self.tabWidgetProject.setEnabled(True)
4906 self.tabWidgetProject.setCurrentWidget(self.tabProject)
4866 self.tabWidgetProject.setCurrentWidget(self.tabProject)
4907 self.tabProject.setEnabled(True)
4867 self.tabProject.setEnabled(True)
4908 self.frame_2.setEnabled(False)
4868 self.frame_2.setEnabled(False)
4909 self.proName.clear()
4869 self.proName.clear()
4910 self.proName.setFocus()
4870 self.proName.setFocus()
4911 self.proName.setSelection(0, 0)
4871 self.proName.setSelection(0, 0)
4912 self.proName.setCursorPosition(0)
4872 self.proName.setCursorPosition(0)
4913 self.proDataType.setText('.r')
4873 self.proDataType.setText('.r')
4914 self.proDataPath.clear()
4874 self.proDataPath.clear()
4915 self.proComDataType.clear()
4875 self.proComDataType.clear()
4916 self.proComDataType.addItem("Voltage")
4876 self.proComDataType.addItem("Voltage")
4917 self.proComDataType.addItem("Spectra")
4877 self.proComDataType.addItem("Spectra")
4918 self.proComDataType.addItem("Fits")
4878 self.proComDataType.addItem("Fits")
4919 self.proComDataType.addItem("USRP")
4879 self.proComDataType.addItem("USRP")
4920
4880
4921 self.proComStartDate.clear()
4881 self.proComStartDate.clear()
4922 self.proComEndDate.clear()
4882 self.proComEndDate.clear()
4923
4883
4924 startTime = "00:00:00"
4884 startTime = "00:00:00"
4925 endTime = "23:59:59"
4885 endTime = "23:59:59"
4926 starlist = startTime.split(":")
4886 starlist = startTime.split(":")
4927 endlist = endTime.split(":")
4887 endlist = endTime.split(":")
4928 self.proDelay.setText("60")
4888 self.proDelay.setText("60")
4929 self.proSet.setText("")
4889 self.proSet.setText("")
4930
4890
4931 self.labelSet.show()
4891 self.labelSet.show()
4932 self.proSet.show()
4892 self.proSet.show()
4933
4893
4934 self.labelIPPKm.hide()
4894 self.labelIPPKm.hide()
4935 self.proIPPKm.hide()
4895 self.proIPPKm.hide()
4936
4896
4937 self.time.setHMS(int(starlist[0]), int(starlist[1]), int(starlist[2]))
4897 self.time.setHMS(int(starlist[0]), int(starlist[1]), int(starlist[2]))
4938 self.proStartTime.setTime(self.time)
4898 self.proStartTime.setTime(self.time)
4939 self.time.setHMS(int(endlist[0]), int(endlist[1]), int(endlist[2]))
4899 self.time.setHMS(int(endlist[0]), int(endlist[1]), int(endlist[2]))
4940 self.proEndTime.setTime(self.time)
4900 self.proEndTime.setTime(self.time)
4941 self.proDescription.clear()
4901 self.proDescription.clear()
4942 self.proOk.setEnabled(False)
4902 self.proOk.setEnabled(False)
4943 # self.console.append("Please, Write a name Project")
4903 # self.console.append("Please, Write a name Project")
4944 # self.console.append("Introduce Project Parameters")DC
4904 # self.console.append("Introduce Project Parameters")DC
4945 # self.console.append("Select data type Voltage( .rawdata) or Spectra(.pdata)")
4905 # self.console.append("Select data type Voltage( .rawdata) or Spectra(.pdata)")
4946
4906
4947 def clearPUWindow(self, datatype):
4907 def clearPUWindow(self, datatype):
4948
4908
4949 projectObjView = self.getSelectedProjectObj()
4909 projectObjView = self.getSelectedProjectObj()
4950
4910
4951 if not projectObjView:
4911 if not projectObjView:
4952 return
4912 return
4953
4913
4954 puObj = self.getSelectedItemObj()
4914 puObj = self.getSelectedItemObj()
4955 inputId = puObj.getInputId()
4915 inputId = puObj.getInputId()
4956 inputPUObj = projectObjView.getProcUnitObj(inputId)
4916 inputPUObj = projectObjView.getProcUnitObj(inputId)
4957
4917
4958 if datatype == 'Voltage':
4918 if datatype == 'Voltage':
4959 self.volOpComChannels.setEnabled(False)
4919 self.volOpComChannels.setEnabled(False)
4960 self.volOpComHeights.setEnabled(False)
4920 self.volOpComHeights.setEnabled(False)
4961 self.volOpFilter.setEnabled(False)
4921 self.volOpFilter.setEnabled(False)
4962 self.volOpComProfile.setEnabled(False)
4922 self.volOpComProfile.setEnabled(False)
4963 self.volOpComCode.setEnabled(False)
4923 self.volOpComCode.setEnabled(False)
4964 self.volOpCohInt.setEnabled(False)
4924 self.volOpCohInt.setEnabled(False)
4965 self.volOpChannel.setEnabled(False)
4925 self.volOpChannel.setEnabled(False)
4966 self.volOpHeights.setEnabled(False)
4926 self.volOpHeights.setEnabled(False)
4967 self.volOpProfile.setEnabled(False)
4927 self.volOpProfile.setEnabled(False)
4968 self.volOpRadarfrequency.setEnabled(False)
4928 self.volOpRadarfrequency.setEnabled(False)
4969 self.volOpCebChannels.setCheckState(0)
4929 self.volOpCebChannels.setCheckState(0)
4970 self.volOpCebRadarfrequency.setCheckState(0)
4930 self.volOpCebRadarfrequency.setCheckState(0)
4971 self.volOpCebHeights.setCheckState(0)
4931 self.volOpCebHeights.setCheckState(0)
4972 self.volOpCebFilter.setCheckState(0)
4932 self.volOpCebFilter.setCheckState(0)
4973 self.volOpCebProfile.setCheckState(0)
4933 self.volOpCebProfile.setCheckState(0)
4974 self.volOpCebDecodification.setCheckState(0)
4934 self.volOpCebDecodification.setCheckState(0)
4975 self.volOpCebCohInt.setCheckState(0)
4935 self.volOpCebCohInt.setCheckState(0)
4976
4936
4977 self.volOpChannel.clear()
4937 self.volOpChannel.clear()
4978 self.volOpHeights.clear()
4938 self.volOpHeights.clear()
4979 self.volOpProfile.clear()
4939 self.volOpProfile.clear()
4980 self.volOpFilter.clear()
4940 self.volOpFilter.clear()
4981 self.volOpCohInt.clear()
4941 self.volOpCohInt.clear()
4982 self.volOpRadarfrequency.clear()
4942 self.volOpRadarfrequency.clear()
4983
4943
4984 if datatype == 'Spectra':
4944 if datatype == 'Spectra':
4985
4945
4986 if inputPUObj.datatype == 'Spectra':
4946 if inputPUObj.datatype == 'Spectra':
4987 self.specOpnFFTpoints.setEnabled(False)
4947 self.specOpnFFTpoints.setEnabled(False)
4988 self.specOpProfiles.setEnabled(False)
4948 self.specOpProfiles.setEnabled(False)
4989 self.specOpippFactor.setEnabled(False)
4949 self.specOpippFactor.setEnabled(False)
4990 else:
4950 else:
4991 self.specOpnFFTpoints.setEnabled(True)
4951 self.specOpnFFTpoints.setEnabled(True)
4992 self.specOpProfiles.setEnabled(True)
4952 self.specOpProfiles.setEnabled(True)
4993 self.specOpippFactor.setEnabled(True)
4953 self.specOpippFactor.setEnabled(True)
4994
4954
4995 self.specOpCebCrossSpectra.setCheckState(0)
4955 self.specOpCebCrossSpectra.setCheckState(0)
4996 self.specOpCebChannel.setCheckState(0)
4956 self.specOpCebChannel.setCheckState(0)
4997 self.specOpCebHeights.setCheckState(0)
4957 self.specOpCebHeights.setCheckState(0)
4998 self.specOpCebIncoherent.setCheckState(0)
4958 self.specOpCebIncoherent.setCheckState(0)
4999 self.specOpCebRemoveDC.setCheckState(0)
4959 self.specOpCebRemoveDC.setCheckState(0)
5000 self.specOpCebRemoveInt.setCheckState(0)
4960 self.specOpCebRemoveInt.setCheckState(0)
5001 self.specOpCebgetNoise.setCheckState(0)
4961 self.specOpCebgetNoise.setCheckState(0)
5002 self.specOpCebRadarfrequency.setCheckState(0)
4962 self.specOpCebRadarfrequency.setCheckState(0)
5003
4963
5004 self.specOpRadarfrequency.setEnabled(False)
4964 self.specOpRadarfrequency.setEnabled(False)
5005 self.specOppairsList.setEnabled(False)
4965 self.specOppairsList.setEnabled(False)
5006 self.specOpChannel.setEnabled(False)
4966 self.specOpChannel.setEnabled(False)
5007 self.specOpHeights.setEnabled(False)
4967 self.specOpHeights.setEnabled(False)
5008 self.specOpIncoherent.setEnabled(False)
4968 self.specOpIncoherent.setEnabled(False)
5009 self.specOpgetNoise.setEnabled(False)
4969 self.specOpgetNoise.setEnabled(False)
5010
4970
5011 self.specOpRadarfrequency.clear()
4971 self.specOpRadarfrequency.clear()
5012 self.specOpnFFTpoints.clear()
4972 self.specOpnFFTpoints.clear()
5013 self.specOpProfiles.clear()
4973 self.specOpProfiles.clear()
5014 self.specOpippFactor.clear
4974 self.specOpippFactor.clear
5015 self.specOppairsList.clear()
4975 self.specOppairsList.clear()
5016 self.specOpChannel.clear()
4976 self.specOpChannel.clear()
5017 self.specOpHeights.clear()
4977 self.specOpHeights.clear()
5018 self.specOpIncoherent.clear()
4978 self.specOpIncoherent.clear()
5019 self.specOpgetNoise.clear()
4979 self.specOpgetNoise.clear()
5020
4980
5021 self.specGraphCebSpectraplot.setCheckState(0)
4981 self.specGraphCebSpectraplot.setCheckState(0)
5022 self.specGraphCebCrossSpectraplot.setCheckState(0)
4982 self.specGraphCebCrossSpectraplot.setCheckState(0)
5023 self.specGraphCebRTIplot.setCheckState(0)
4983 self.specGraphCebRTIplot.setCheckState(0)
5024 self.specGraphCebRTInoise.setCheckState(0)
4984 self.specGraphCebRTInoise.setCheckState(0)
5025 self.specGraphCebCoherencmap.setCheckState(0)
4985 self.specGraphCebCoherencmap.setCheckState(0)
5026 self.specGraphPowerprofile.setCheckState(0)
4986 self.specGraphPowerprofile.setCheckState(0)
5027
4987
5028 self.specGraphSaveSpectra.setCheckState(0)
4988 self.specGraphSaveSpectra.setCheckState(0)
5029 self.specGraphSaveCross.setCheckState(0)
4989 self.specGraphSaveCross.setCheckState(0)
5030 self.specGraphSaveRTIplot.setCheckState(0)
4990 self.specGraphSaveRTIplot.setCheckState(0)
5031 self.specGraphSaveRTInoise.setCheckState(0)
4991 self.specGraphSaveRTInoise.setCheckState(0)
5032 self.specGraphSaveCoherencemap.setCheckState(0)
4992 self.specGraphSaveCoherencemap.setCheckState(0)
5033 self.specGraphSavePowerprofile.setCheckState(0)
4993 self.specGraphSavePowerprofile.setCheckState(0)
5034
4994
5035 self.specGraphftpRTIplot.setCheckState(0)
4995 self.specGraphftpRTIplot.setCheckState(0)
5036 self.specGraphftpRTInoise.setCheckState(0)
4996 self.specGraphftpRTInoise.setCheckState(0)
5037 self.specGraphftpCoherencemap.setCheckState(0)
4997 self.specGraphftpCoherencemap.setCheckState(0)
5038
4998
5039 self.specGraphPath.clear()
4999 self.specGraphPath.clear()
5040 self.specGraphPrefix.clear()
5000 self.specGraphPrefix.clear()
5041
5001
5042 self.specGgraphftpratio.clear()
5002 self.specGgraphftpratio.clear()
5043
5003
5044 self.specGgraphChannelList.clear()
5004 self.specGgraphChannelList.clear()
5045 self.specGgraphFreq.clear()
5005 self.specGgraphFreq.clear()
5046 self.specGgraphHeight.clear()
5006 self.specGgraphHeight.clear()
5047 self.specGgraphDbsrange.clear()
5007 self.specGgraphDbsrange.clear()
5048 self.specGgraphmagnitud.clear()
5008 self.specGgraphmagnitud.clear()
5049 self.specGgraphTminTmax.clear()
5009 self.specGgraphTminTmax.clear()
5050 self.specGgraphTimeRange.clear()
5010 self.specGgraphTimeRange.clear()
5051
5011
5052 if datatype == 'SpectraHeis':
5012 if datatype == 'SpectraHeis':
5053 self.specHeisOpCebIncoherent.setCheckState(0)
5013 self.specHeisOpCebIncoherent.setCheckState(0)
5054 self.specHeisOpIncoherent.setEnabled(False)
5014 self.specHeisOpIncoherent.setEnabled(False)
5055 self.specHeisOpIncoherent.clear()
5015 self.specHeisOpIncoherent.clear()
5056
5016
5057 self.specHeisGraphCebSpectraplot.setCheckState(0)
5017 self.specHeisGraphCebSpectraplot.setCheckState(0)
5058 self.specHeisGraphCebRTIplot.setCheckState(0)
5018 self.specHeisGraphCebRTIplot.setCheckState(0)
5059
5019
5060 self.specHeisGraphSaveSpectra.setCheckState(0)
5020 self.specHeisGraphSaveSpectra.setCheckState(0)
5061 self.specHeisGraphSaveRTIplot.setCheckState(0)
5021 self.specHeisGraphSaveRTIplot.setCheckState(0)
5062
5022
5063 self.specHeisGraphftpSpectra.setCheckState(0)
5023 self.specHeisGraphftpSpectra.setCheckState(0)
5064 self.specHeisGraphftpRTIplot.setCheckState(0)
5024 self.specHeisGraphftpRTIplot.setCheckState(0)
5065
5025
5066 self.specHeisGraphPath.clear()
5026 self.specHeisGraphPath.clear()
5067 self.specHeisGraphPrefix.clear()
5027 self.specHeisGraphPrefix.clear()
5068 self.specHeisGgraphChannelList.clear()
5028 self.specHeisGgraphChannelList.clear()
5069 self.specHeisGgraphXminXmax.clear()
5029 self.specHeisGgraphXminXmax.clear()
5070 self.specHeisGgraphYminYmax.clear()
5030 self.specHeisGgraphYminYmax.clear()
5071 self.specHeisGgraphTminTmax.clear()
5031 self.specHeisGgraphTminTmax.clear()
5072 self.specHeisGgraphTimeRange.clear()
5032 self.specHeisGgraphTimeRange.clear()
5073 self.specHeisGgraphftpratio.clear()
5033 self.specHeisGgraphftpratio.clear()
5074
5034
5075 def showtabPUCreated(self, datatype):
5035 def showtabPUCreated(self, datatype):
5076
5036
5077 if datatype == "Voltage":
5037 if datatype == "Voltage":
5078 self.tabVoltage.setEnabled(True)
5038 self.tabVoltage.setEnabled(True)
5079 self.tabProject.setEnabled(False)
5039 self.tabProject.setEnabled(False)
5080 self.tabSpectra.setEnabled(False)
5040 self.tabSpectra.setEnabled(False)
5081 self.tabCorrelation.setEnabled(False)
5041 self.tabCorrelation.setEnabled(False)
5082 self.tabSpectraHeis.setEnabled(False)
5042 self.tabSpectraHeis.setEnabled(False)
5083 self.tabWidgetProject.setCurrentWidget(self.tabVoltage)
5043 self.tabWidgetProject.setCurrentWidget(self.tabVoltage)
5084
5044
5085 if datatype == "Spectra":
5045 if datatype == "Spectra":
5086 self.tabVoltage.setEnabled(False)
5046 self.tabVoltage.setEnabled(False)
5087 self.tabProject.setEnabled(False)
5047 self.tabProject.setEnabled(False)
5088 self.tabSpectra.setEnabled(True)
5048 self.tabSpectra.setEnabled(True)
5089 self.tabCorrelation.setEnabled(False)
5049 self.tabCorrelation.setEnabled(False)
5090 self.tabSpectraHeis.setEnabled(False)
5050 self.tabSpectraHeis.setEnabled(False)
5091 self.tabWidgetProject.setCurrentWidget(self.tabSpectra)
5051 self.tabWidgetProject.setCurrentWidget(self.tabSpectra)
5092
5052
5093 if datatype == "SpectraHeis":
5053 if datatype == "SpectraHeis":
5094 self.tabVoltage.setEnabled(False)
5054 self.tabVoltage.setEnabled(False)
5095 self.tabProject.setEnabled(False)
5055 self.tabProject.setEnabled(False)
5096 self.tabSpectra.setEnabled(False)
5056 self.tabSpectra.setEnabled(False)
5097 self.tabCorrelation.setEnabled(False)
5057 self.tabCorrelation.setEnabled(False)
5098 self.tabSpectraHeis.setEnabled(True)
5058 self.tabSpectraHeis.setEnabled(True)
5099 self.tabWidgetProject.setCurrentWidget(self.tabSpectraHeis)
5059 self.tabWidgetProject.setCurrentWidget(self.tabSpectraHeis)
5100
5060
5101 def checkInputsProject(self):
5061 def checkInputsProject(self):
5102 """
5062 """
5103 Check Inputs Project:
5063 Check Inputs Project:
5104 - project_name
5064 - project_name
5105 - datatype
5065 - datatype
5106 - ext
5066 - ext
5107 - data_path
5067 - data_path
5108 - readmode
5068 - readmode
5109 - delay
5069 - delay
5110 - set
5070 - set
5111 - walk
5071 - walk
5112 """
5072 """
5113 parms_ok = True
5073 parms_ok = True
5114 project_name = str(self.proName.text())
5074 project_name = str(self.proName.text())
5115 if project_name == '' or project_name == None:
5075 if project_name == '' or project_name == None:
5116 outputstr = "Enter the Project Name"
5076 outputstr = "Enter the Project Name"
5117 self.console.append(outputstr)
5077 self.console.append(outputstr)
5118 parms_ok = False
5078 parms_ok = False
5119 project_name = None
5079 project_name = None
5120
5080
5121 datatype = str(self.proComDataType.currentText())
5081 datatype = str(self.proComDataType.currentText())
5122 if not(datatype in ['Voltage', 'Spectra', 'Fits', 'USRP']):
5082 if not(datatype in ['Voltage', 'Spectra', 'Fits', 'USRP']):
5123 outputstr = 'datatype = %s, this must be either Voltage, Spectra, SpectraHeis or USRP' % datatype
5083 outputstr = 'datatype = %s, this must be either Voltage, Spectra, SpectraHeis or USRP' % datatype
5124 self.console.append(outputstr)
5084 self.console.append(outputstr)
5125 parms_ok = False
5085 parms_ok = False
5126 datatype = None
5086 datatype = None
5127
5087
5128 ext = str(self.proDataType.text())
5088 ext = str(self.proDataType.text())
5129 if not(ext in ['.r', '.pdata', '.fits', '.hdf5']):
5089 if not(ext in ['.r', '.pdata', '.fits', '.hdf5']):
5130 outputstr = "extension files must be .r , .pdata, .fits or .hdf5"
5090 outputstr = "extension files must be .r , .pdata, .fits or .hdf5"
5131 self.console.append(outputstr)
5091 self.console.append(outputstr)
5132 parms_ok = False
5092 parms_ok = False
5133 ext = None
5093 ext = None
5134
5094
5135 data_path = str(self.proDataPath.text())
5095 data_path = str(self.proDataPath.text())
5136
5096
5137 if data_path == '':
5097 if data_path == '':
5138 outputstr = 'Datapath is empty'
5098 outputstr = 'Datapath is empty'
5139 self.console.append(outputstr)
5099 self.console.append(outputstr)
5140 parms_ok = False
5100 parms_ok = False
5141 data_path = None
5101 data_path = None
5142
5102
5143 if data_path != None:
5103 if data_path != None:
5144 if not os.path.isdir(data_path):
5104 if not os.path.isdir(data_path):
5145 outputstr = 'Datapath:%s does not exists' % data_path
5105 outputstr = 'Datapath:%s does not exists' % data_path
5146 self.console.append(outputstr)
5106 self.console.append(outputstr)
5147 parms_ok = False
5107 parms_ok = False
5148 data_path = None
5108 data_path = None
5149
5109
5150 read_mode = str(self.proComReadMode.currentText())
5110 read_mode = str(self.proComReadMode.currentText())
5151 if not(read_mode in ['Online', 'Offline']):
5111 if not(read_mode in ['Online', 'Offline']):
5152 outputstr = 'Read Mode: %s, this must be either Online or Offline' % read_mode
5112 outputstr = 'Read Mode: %s, this must be either Online or Offline' % read_mode
5153 self.console.append(outputstr)
5113 self.console.append(outputstr)
5154 parms_ok = False
5114 parms_ok = False
5155 read_mode = None
5115 read_mode = None
5156
5116
5157 delay = None
5117 delay = None
5158 if read_mode == "Online":
5118 if read_mode == "Online":
5159 parms_ok = False
5119 parms_ok = False
5160 try:
5120 try:
5161 delay = int(str(self.proDelay.text()))
5121 delay = int(str(self.proDelay.text()))
5162 parms_ok = True
5122 parms_ok = True
5163 except:
5123 except:
5164 outputstr = 'Delay: %s, this must be a integer number' % str(self.proDelay.text())
5124 outputstr = 'Delay: %s, this must be a integer number' % str(self.proDelay.text())
5165 self.console.append(outputstr)
5125 self.console.append(outputstr)
5166
5126
5167 try:
5127 try:
5168 set = int(str(self.proSet.text()))
5128 set = int(str(self.proSet.text()))
5169 except:
5129 except:
5170 # outputstr = 'Set: %s, this must be a integer number' % str(self.proName.text())
5130 # outputstr = 'Set: %s, this must be a integer number' % str(self.proName.text())
5171 # self.console.append(outputstr)
5131 # self.console.append(outputstr)
5172 # parms_ok = False
5132 # parms_ok = False
5173 set = None
5133 set = None
5174
5134
5175 walk = int(self.proComWalk.currentIndex())
5135 walk = int(self.proComWalk.currentIndex())
5176 expLabel = str(self.proExpLabel.text())
5136 expLabel = str(self.proExpLabel.text())
5177
5137
5178 return parms_ok, project_name, datatype, ext, data_path, read_mode, delay, walk, set, expLabel
5138 return parms_ok, project_name, datatype, ext, data_path, read_mode, delay, walk, set, expLabel
5179
5139
5180 def checkInputsPUSave(self, datatype):
5140 def checkInputsPUSave(self, datatype):
5181 """
5141 """
5182 Check Inputs Spectra Save:
5142 Check Inputs Spectra Save:
5183 - path
5143 - path
5184 - blocks Per File
5144 - blocks Per File
5185 - sufix
5145 - sufix
5186 - dataformat
5146 - dataformat
5187 """
5147 """
5188 parms_ok = True
5148 parms_ok = True
5189
5149
5190 if datatype == "Voltage":
5150 if datatype == "Voltage":
5191 output_path = str(self.volOutputPath.text())
5151 output_path = str(self.volOutputPath.text())
5192 blocksperfile = str(self.volOutputblocksperfile.text())
5152 blocksperfile = str(self.volOutputblocksperfile.text())
5193 profilesperblock = str(self.volOutputprofilesperblock.text())
5153 profilesperblock = str(self.volOutputprofilesperblock.text())
5194
5154
5195 if datatype == "Spectra":
5155 if datatype == "Spectra":
5196 output_path = str(self.specOutputPath.text())
5156 output_path = str(self.specOutputPath.text())
5197 blocksperfile = str(self.specOutputblocksperfile.text())
5157 blocksperfile = str(self.specOutputblocksperfile.text())
5198 profilesperblock = 0
5158 profilesperblock = 0
5199
5159
5200 if datatype == "SpectraHeis":
5160 if datatype == "SpectraHeis":
5201 output_path = str(self.specHeisOutputPath.text())
5161 output_path = str(self.specHeisOutputPath.text())
5202 blocksperfile = str(self.specHeisOutputblocksperfile.text())
5162 blocksperfile = str(self.specHeisOutputblocksperfile.text())
5203 metadata_file = str(self.specHeisOutputMetada.text())
5163 metadata_file = str(self.specHeisOutputMetada.text())
5204
5164
5205 if output_path == '':
5165 if output_path == '':
5206 outputstr = 'Outputpath is empty'
5166 outputstr = 'Outputpath is empty'
5207 self.console.append(outputstr)
5167 self.console.append(outputstr)
5208 parms_ok = False
5168 parms_ok = False
5209
5169
5210 if not os.path.isdir(output_path):
5170 if not os.path.isdir(output_path):
5211 outputstr = 'OutputPath:%s does not exists' % output_path
5171 outputstr = 'OutputPath:%s does not exists' % output_path
5212 self.console.append(outputstr)
5172 self.console.append(outputstr)
5213 parms_ok = False
5173 parms_ok = False
5214
5174
5215 try:
5175 try:
5216 profilesperblock = int(profilesperblock)
5176 profilesperblock = int(profilesperblock)
5217 except:
5177 except:
5218 if datatype == "Voltage":
5178 if datatype == "Voltage":
5219 outputstr = 'Profilesperblock: %s, this must be a integer number' % str(self.volOutputprofilesperblock.text())
5179 outputstr = 'Profilesperblock: %s, this must be a integer number' % str(self.volOutputprofilesperblock.text())
5220 self.console.append(outputstr)
5180 self.console.append(outputstr)
5221 parms_ok = False
5181 parms_ok = False
5222 profilesperblock = None
5182 profilesperblock = None
5223
5183
5224 try:
5184 try:
5225 blocksperfile = int(blocksperfile)
5185 blocksperfile = int(blocksperfile)
5226 except:
5186 except:
5227 if datatype == "Voltage":
5187 if datatype == "Voltage":
5228 outputstr = 'Blocksperfile: %s, this must be a integer number' % str(self.volOutputblocksperfile.text())
5188 outputstr = 'Blocksperfile: %s, this must be a integer number' % str(self.volOutputblocksperfile.text())
5229 elif datatype == "Spectra":
5189 elif datatype == "Spectra":
5230 outputstr = 'Blocksperfile: %s, this must be a integer number' % str(self.specOutputblocksperfile.text())
5190 outputstr = 'Blocksperfile: %s, this must be a integer number' % str(self.specOutputblocksperfile.text())
5231 elif datatype == "SpectraHeis":
5191 elif datatype == "SpectraHeis":
5232 outputstr = 'Blocksperfile: %s, this must be a integer number' % str(self.specHeisOutputblocksperfile.text())
5192 outputstr = 'Blocksperfile: %s, this must be a integer number' % str(self.specHeisOutputblocksperfile.text())
5233
5193
5234 self.console.append(outputstr)
5194 self.console.append(outputstr)
5235 parms_ok = False
5195 parms_ok = False
5236 blocksperfile = None
5196 blocksperfile = None
5237
5197
5238 if datatype == "SpectraHeis":
5198 if datatype == "SpectraHeis":
5239 if metadata_file != '':
5199 if metadata_file != '':
5240 if not os.path.isfile(metadata_file):
5200 if not os.path.isfile(metadata_file):
5241 outputstr = 'Metadata file %s does not exist' % metadata_file
5201 outputstr = 'Metadata file %s does not exist' % metadata_file
5242 self.console.append(outputstr)
5202 self.console.append(outputstr)
5243 parms_ok = False
5203 parms_ok = False
5244
5204
5245 if datatype == "Voltage":
5205 if datatype == "Voltage":
5246 return parms_ok, output_path, blocksperfile, profilesperblock
5206 return parms_ok, output_path, blocksperfile, profilesperblock
5247
5207
5248
5208
5249 if datatype == "Spectra":
5209 if datatype == "Spectra":
5250 return parms_ok, output_path, blocksperfile, profilesperblock
5210 return parms_ok, output_path, blocksperfile, profilesperblock
5251
5211
5252
5212
5253 if datatype == "SpectraHeis":
5213 if datatype == "SpectraHeis":
5254 return parms_ok, output_path, blocksperfile, metadata_file
5214 return parms_ok, output_path, blocksperfile, metadata_file
5255
5215
5256 def findDatafiles(self, data_path, ext, walk, expLabel=''):
5216 def findDatafiles(self, data_path, ext, walk, expLabel=''):
5257
5217
5258 dateList = []
5218 dateList = []
5259 fileList = []
5219 fileList = []
5260
5220
5261 if ext == ".r":
5221 if ext == ".r":
5262 from schainpy.model.io.jroIO_base import JRODataReader
5222 from schainpy.model.io.jroIO_base import JRODataReader
5263
5223
5264 readerObj = JRODataReader()
5224 readerObj = JRODataReader()
5265 dateList = readerObj.findDatafiles(path=data_path,
5225 dateList = readerObj.findDatafiles(path=data_path,
5266 expLabel=expLabel,
5226 expLabel=expLabel,
5267 ext=ext,
5227 ext=ext,
5268 walk=walk)
5228 walk=walk)
5269
5229
5270 if ext == ".pdata":
5230 if ext == ".pdata":
5271 from schainpy.model.io.jroIO_base import JRODataReader
5231 from schainpy.model.io.jroIO_base import JRODataReader
5272
5232
5273 readerObj = JRODataReader()
5233 readerObj = JRODataReader()
5274 dateList = readerObj.findDatafiles(path=data_path,
5234 dateList = readerObj.findDatafiles(path=data_path,
5275 expLabel=expLabel,
5235 expLabel=expLabel,
5276 ext=ext,
5236 ext=ext,
5277 walk=walk)
5237 walk=walk)
5278
5238
5279 if ext == ".fits":
5239 if ext == ".fits":
5280 from schainpy.model.io.jroIO_base import JRODataReader
5240 from schainpy.model.io.jroIO_base import JRODataReader
5281
5241
5282 readerObj = JRODataReader()
5242 readerObj = JRODataReader()
5283 dateList = readerObj.findDatafiles(path=data_path,
5243 dateList = readerObj.findDatafiles(path=data_path,
5284 expLabel=expLabel,
5244 expLabel=expLabel,
5285 ext=ext,
5245 ext=ext,
5286 walk=walk)
5246 walk=walk)
5287
5247
5288 if ext == ".hdf5":
5248 if ext == ".hdf5":
5289 from schainpy.model.io.jroIO_usrp import USRPReader
5249 from schainpy.model.io.jroIO_usrp import USRPReader
5290
5250
5291 readerObj = USRPReader()
5251 readerObj = USRPReader()
5292 dateList = readerObj.findDatafiles(path=data_path)
5252 dateList = readerObj.findDatafiles(path=data_path)
5293
5253
5294 return dateList
5254 return dateList
5295
5255
5296 def loadDays(self, data_path, ext, walk, expLabel=''):
5256 def loadDays(self, data_path, ext, walk, expLabel=''):
5297 """
5257 """
5298 Method to loads day
5258 Method to loads day
5299 """
5259 """
5300 self.actionSaveToolbar.setEnabled(False)
5260 self._disable_save_button()
5301 self.actionStarToolbar.setEnabled(False)
5261 self._disable_play_button()
5302
5303 self.actionSave.setEnabled(False)
5304 self.actionStart.setEnabled(False)
5305
5306 self.proOk.setEnabled(False)
5262 self.proOk.setEnabled(False)
5263
5307 self.proComStartDate.clear()
5264 self.proComStartDate.clear()
5308 self.proComEndDate.clear()
5265 self.proComEndDate.clear()
5309
5266
5310 self.dateList = []
5267 self.dateList = []
5311
5268
5312 if not data_path:
5269 if not data_path:
5313 return []
5270 return []
5314
5271
5315 if not os.path.isdir(data_path):
5272 if not os.path.isdir(data_path):
5316 return []
5273 return []
5317
5274
5318 self.dataPath = data_path
5275 self.dataPath = data_path
5319
5276
5320 dateList = self.findDatafiles(data_path, ext=ext, walk=walk, expLabel=expLabel)
5277 dateList = self.findDatafiles(data_path, ext=ext, walk=walk, expLabel=expLabel)
5321
5278
5322 if not dateList:
5279 if not dateList:
5323 # self.console.clear()
5280 # self.console.clear()
5324 if walk:
5281 if walk:
5325 if expLabel:
5282 if expLabel:
5326 outputstr = "No files (*%s) were found on %s/DOYPATH/%s" % (ext, data_path, expLabel)
5283 outputstr = "No files (*%s) were found on %s/DOYPATH/%s" % (ext, data_path, expLabel)
5327 else:
5284 else:
5328 outputstr = "No files (*%s) were found on %s" % (ext, data_path)
5285 outputstr = "No files (*%s) were found on %s" % (ext, data_path)
5329 else:
5286 else:
5330 outputstr = "No files (*%s) were found on %s" % (ext, data_path)
5287 outputstr = "No files (*%s) were found on %s" % (ext, data_path)
5331
5288
5332 self.console.append(outputstr)
5289 self.console.append(outputstr)
5333 return []
5290 return []
5334
5291
5335 dateStrList = []
5292 dateStrList = []
5336 for thisDate in dateList:
5293 for thisDate in dateList:
5337 dateStr = thisDate.strftime("%Y/%m/%d")
5294 dateStr = thisDate.strftime("%Y/%m/%d")
5338
5295
5339 self.proComStartDate.addItem(dateStr)
5296 self.proComStartDate.addItem(dateStr)
5340 self.proComEndDate.addItem(dateStr)
5297 self.proComEndDate.addItem(dateStr)
5341 dateStrList.append(dateStr)
5298 dateStrList.append(dateStr)
5342
5299
5343 self.proComStartDate.setCurrentIndex(0)
5300 self.proComStartDate.setCurrentIndex(0)
5344 self.proComEndDate.setCurrentIndex(self.proComEndDate.count() - 1)
5301 self.proComEndDate.setCurrentIndex(self.proComEndDate.count() - 1)
5345
5302
5346 self.dateList = dateStrList
5303 self.dateList = dateStrList
5347
5304
5348 self.proOk.setEnabled(True)
5349
5350 self.actionSaveToolbar.setEnabled(True)
5351 self.actionStarToolbar.setEnabled(True)
5352
5353 self.actionSave.setEnabled(True)
5354 self.actionStart.setEnabled(True)
5355
5356 self.console.clear()
5305 self.console.clear()
5357 self.console.append("Successful load")
5306 self.console.append("Successful load")
5358
5307
5308 self.proOk.setEnabled(True)
5309 self._enable_play_button()
5310 self._enable_save_button()
5311
5359 return self.dateList
5312 return self.dateList
5360
5313
5361 def setWorkSpaceGUI(self, pathWorkSpace=None):
5314 def setWorkSpaceGUI(self, pathWorkSpace=None):
5362
5315
5363 if pathWorkSpace == None:
5316 if pathWorkSpace == None:
5364 home = os.path.expanduser("~")
5317 home = os.path.expanduser("~")
5365 pathWorkSpace = os.path.join(home,'schain_workspace')
5318 pathWorkSpace = os.path.join(home,'schain_workspace')
5366
5319
5367 self.pathWorkSpace = pathWorkSpace
5320 self.pathWorkSpace = pathWorkSpace
5368
5321
5369 """
5322 """
5370 Comandos Usados en Console
5323 Comandos Usados en Console
5371 """
5324 """
5372 def __del__(self):
5325 def __del__(self):
5373 sys.stdout = sys.__stdout__
5326 sys.stdout = sys.__stdout__
5374 sys.stderr = sys.__stderr__
5327 sys.stderr = sys.__stderr__
5375
5328
5376 def normalOutputWritten(self, text):
5329 def normalOutputWritten(self, text):
5377 color_black = QtGui.QColor(0,0,0)
5330 color_black = QtGui.QColor(0,0,0)
5378 self.console.setTextColor(color_black)
5331 self.console.setTextColor(color_black)
5379 self.console.append(text)
5332 self.console.append(text)
5380
5333
5381 def errorOutputWritten(self, text):
5334 def errorOutputWritten(self, text):
5382 color_red = QtGui.QColor(255,0,0)
5335 color_red = QtGui.QColor(255,0,0)
5383 color_black = QtGui.QColor(0,0,0)
5336 color_black = QtGui.QColor(0,0,0)
5384
5337
5385 self.console.setTextColor(color_red)
5338 self.console.setTextColor(color_red)
5386 self.console.append(text)
5339 self.console.append(text)
5387 self.console.setTextColor(color_black)
5340 self.console.setTextColor(color_black)
5341
5342 def _enable_save_button(self):
5343
5344 self.actionSaveToolbar.setEnabled(True)
5345 self.actionSave.setEnabled(True)
5346
5347 def _disable_save_button(self):
5348
5349 self.actionSaveToolbar.setEnabled(False)
5350 self.actionSave.setEnabled(False)
5351
5352 def _enable_play_button(self):
5353
5354 self.actionStart.setEnabled(True)
5355 self.actionStarToolbar.setEnabled(True)
5356
5357 self.changeStartIcon(started=False)
5358
5359 def _disable_play_button(self):
5360
5361 self.actionStart.setEnabled(False)
5362 self.actionStarToolbar.setEnabled(False)
5363
5364 self.changeStartIcon(started=True)
5365
5366 def _enable_stop_button(self):
5367
5368 self.actionPause.setEnabled(True)
5369 self.actionStop.setEnabled(True)
5370
5371 self.actionPauseToolbar.setEnabled(True)
5372 self.actionStopToolbar.setEnabled(True)
5373
5374 self.changePauseIcon(paused=False)
5375 self.changeStopIcon(started=True)
5376
5377 def _disable_stop_button(self):
5378
5379 self.actionPause.setEnabled(False)
5380 self.actionStop.setEnabled(False)
5381
5382 self.actionPauseToolbar.setEnabled(False)
5383 self.actionStopToolbar.setEnabled(False)
5384
5385 self.changePauseIcon(paused=False)
5386 self.changeStopIcon(started=False)
5388
5387
5389 def setGUIStatus(self):
5388 def setGUIStatus(self):
5390
5389
5391 self.setWindowTitle("ROJ-Signal Chain")
5390 self.setWindowTitle("ROJ-Signal Chain")
5392 self.setWindowIcon(QtGui.QIcon( os.path.join(FIGURES_PATH,"logo.png") ))
5391 self.setWindowIcon(QtGui.QIcon( os.path.join(FIGURES_PATH,"logo.png") ))
5393
5392
5394 self.tabWidgetProject.setEnabled(False)
5393 self.tabWidgetProject.setEnabled(False)
5395 self.tabVoltage.setEnabled(False)
5394 self.tabVoltage.setEnabled(False)
5396 self.tabSpectra.setEnabled(False)
5395 self.tabSpectra.setEnabled(False)
5397 self.tabCorrelation.setEnabled(False)
5396 self.tabCorrelation.setEnabled(False)
5398 self.frame_2.setEnabled(False)
5397 self.frame_2.setEnabled(False)
5399
5398
5400 self.actionCreate.setShortcut('Ctrl+N')
5399 self.actionCreate.setShortcut('Ctrl+N')
5401 self.actionOpen.setShortcut('Ctrl+O')
5400 self.actionOpen.setShortcut('Ctrl+O')
5402 self.actionSave.setShortcut('Ctrl+S')
5401 self.actionSave.setShortcut('Ctrl+S')
5403 self.actionClose.setShortcut('Ctrl+X')
5402 self.actionClose.setShortcut('Ctrl+X')
5404
5403
5405 self.actionStart.setShortcut('Ctrl+1')
5404 self.actionStart.setShortcut('Ctrl+1')
5406 self.actionPause.setShortcut('Ctrl+2')
5405 self.actionPause.setShortcut('Ctrl+2')
5407 self.actionStop.setShortcut('Ctrl+3')
5406 self.actionStop.setShortcut('Ctrl+3')
5408
5407
5409 self.actionFTP.setShortcut('Ctrl+F')
5408 self.actionFTP.setShortcut('Ctrl+F')
5410
5409
5411 self.actionStart.setEnabled(False)
5410 self.actionStart.setEnabled(False)
5412 self.actionPause.setEnabled(False)
5411 self.actionPause.setEnabled(False)
5413 self.actionStop.setEnabled(False)
5412 self.actionStop.setEnabled(False)
5414
5413
5415 self.actionStarToolbar.setEnabled(False)
5414 self.actionStarToolbar.setEnabled(False)
5416 self.actionPauseToolbar.setEnabled(False)
5415 self.actionPauseToolbar.setEnabled(False)
5417 self.actionStopToolbar.setEnabled(False)
5416 self.actionStopToolbar.setEnabled(False)
5418
5417
5419 self.proName.clear()
5418 self.proName.clear()
5420 self.proDataPath.setText('')
5419 self.proDataPath.setText('')
5421 self.console.setReadOnly(True)
5420 self.console.setReadOnly(True)
5422 self.console.append("Welcome to Signal Chain\nOpen a project or Create a new one")
5421 self.console.append("Welcome to Signal Chain\nOpen a project or Create a new one")
5423 self.proStartTime.setDisplayFormat("hh:mm:ss")
5422 self.proStartTime.setDisplayFormat("hh:mm:ss")
5424 self.proDataType.setEnabled(False)
5423 self.proDataType.setEnabled(False)
5425 self.time = QtCore.QTime()
5424 self.time = QtCore.QTime()
5426 self.hour = 0
5425 self.hour = 0
5427 self.min = 0
5426 self.min = 0
5428 self.sec = 0
5427 self.sec = 0
5429 self.proEndTime.setDisplayFormat("hh:mm:ss")
5428 self.proEndTime.setDisplayFormat("hh:mm:ss")
5430 startTime = "00:00:00"
5429 startTime = "00:00:00"
5431 endTime = "23:59:59"
5430 endTime = "23:59:59"
5432 starlist = startTime.split(":")
5431 starlist = startTime.split(":")
5433 endlist = endTime.split(":")
5432 endlist = endTime.split(":")
5434 self.time.setHMS(int(starlist[0]), int(starlist[1]), int(starlist[2]))
5433 self.time.setHMS(int(starlist[0]), int(starlist[1]), int(starlist[2]))
5435 self.proStartTime.setTime(self.time)
5434 self.proStartTime.setTime(self.time)
5436 self.time.setHMS(int(endlist[0]), int(endlist[1]), int(endlist[2]))
5435 self.time.setHMS(int(endlist[0]), int(endlist[1]), int(endlist[2]))
5437 self.proEndTime.setTime(self.time)
5436 self.proEndTime.setTime(self.time)
5438 self.proOk.setEnabled(False)
5437 self.proOk.setEnabled(False)
5439 # set model Project Explorer
5438 # set model Project Explorer
5440 self.projectExplorerModel = QtGui.QStandardItemModel()
5439 self.projectExplorerModel = QtGui.QStandardItemModel()
5441 self.projectExplorerModel.setHorizontalHeaderLabels(("Project Explorer",))
5440 self.projectExplorerModel.setHorizontalHeaderLabels(("Project Explorer",))
5442 layout = QtGui.QVBoxLayout()
5441 layout = QtGui.QVBoxLayout()
5443 layout.addWidget(self.projectExplorerTree)
5442 layout.addWidget(self.projectExplorerTree)
5444 self.projectExplorerTree.setModel(self.projectExplorerModel)
5443 self.projectExplorerTree.setModel(self.projectExplorerModel)
5445 self.projectExplorerTree.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
5444 self.projectExplorerTree.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
5446 self.projectExplorerTree.customContextMenuRequested.connect(self.on_right_click)
5445 self.projectExplorerTree.customContextMenuRequested.connect(self.on_right_click)
5447 self.projectExplorerTree.clicked.connect(self.on_click)
5446 self.projectExplorerTree.clicked.connect(self.on_click)
5448 self.projectExplorerTree.expandAll()
5447 self.projectExplorerTree.expandAll()
5449 # set model Project Properties
5448 # set model Project Properties
5450
5449
5451 self.propertiesModel = TreeModel()
5450 self.propertiesModel = TreeModel()
5452 self.propertiesModel.initProjectView()
5451 self.propertiesModel.initProjectView()
5453 self.treeProjectProperties.setModel(self.propertiesModel)
5452 self.treeProjectProperties.setModel(self.propertiesModel)
5454 self.treeProjectProperties.expandAll()
5453 self.treeProjectProperties.expandAll()
5455 self.treeProjectProperties.allColumnsShowFocus()
5454 self.treeProjectProperties.allColumnsShowFocus()
5456 self.treeProjectProperties.resizeColumnToContents(1)
5455 self.treeProjectProperties.resizeColumnToContents(1)
5457
5456
5458 # set Project
5457 # set Project
5459 self.proExpLabel.setEnabled(True)
5458 self.proExpLabel.setEnabled(True)
5460 self.proDelay.setEnabled(False)
5459 self.proDelay.setEnabled(False)
5461 self.proSet.setEnabled(True)
5460 self.proSet.setEnabled(True)
5462 self.proDataType.setReadOnly(True)
5461 self.proDataType.setReadOnly(True)
5463
5462
5464 # set Operation Voltage
5463 # set Operation Voltage
5465 self.volOpComChannels.setEnabled(False)
5464 self.volOpComChannels.setEnabled(False)
5466 self.volOpComHeights.setEnabled(False)
5465 self.volOpComHeights.setEnabled(False)
5467 self.volOpFilter.setEnabled(False)
5466 self.volOpFilter.setEnabled(False)
5468 self.volOpComProfile.setEnabled(False)
5467 self.volOpComProfile.setEnabled(False)
5469 self.volOpComCode.setEnabled(False)
5468 self.volOpComCode.setEnabled(False)
5470 self.volOpFlip.setEnabled(False)
5469 self.volOpFlip.setEnabled(False)
5471 self.volOpCohInt.setEnabled(False)
5470 self.volOpCohInt.setEnabled(False)
5472 self.volOpRadarfrequency.setEnabled(False)
5471 self.volOpRadarfrequency.setEnabled(False)
5473
5472
5474 self.volOpChannel.setEnabled(False)
5473 self.volOpChannel.setEnabled(False)
5475 self.volOpHeights.setEnabled(False)
5474 self.volOpHeights.setEnabled(False)
5476 self.volOpProfile.setEnabled(False)
5475 self.volOpProfile.setEnabled(False)
5477 self.volOpComMode.setEnabled(False)
5476 self.volOpComMode.setEnabled(False)
5478
5477
5479 self.volGraphPath.setEnabled(False)
5478 self.volGraphPath.setEnabled(False)
5480 self.volGraphPrefix.setEnabled(False)
5479 self.volGraphPrefix.setEnabled(False)
5481 self.volGraphToolPath.setEnabled(False)
5480 self.volGraphToolPath.setEnabled(False)
5482
5481
5483 # set Graph Voltage
5482 # set Graph Voltage
5484 self.volGraphChannelList.setEnabled(False)
5483 self.volGraphChannelList.setEnabled(False)
5485 self.volGraphfreqrange.setEnabled(False)
5484 self.volGraphfreqrange.setEnabled(False)
5486 self.volGraphHeightrange.setEnabled(False)
5485 self.volGraphHeightrange.setEnabled(False)
5487
5486
5488 # set Operation Spectra
5487 # set Operation Spectra
5489 self.specOpnFFTpoints.setEnabled(False)
5488 self.specOpnFFTpoints.setEnabled(False)
5490 self.specOpProfiles.setEnabled(False)
5489 self.specOpProfiles.setEnabled(False)
5491 self.specOpippFactor.setEnabled(False)
5490 self.specOpippFactor.setEnabled(False)
5492 self.specOppairsList.setEnabled(False)
5491 self.specOppairsList.setEnabled(False)
5493 self.specOpComChannel.setEnabled(False)
5492 self.specOpComChannel.setEnabled(False)
5494 self.specOpComHeights.setEnabled(False)
5493 self.specOpComHeights.setEnabled(False)
5495 self.specOpIncoherent.setEnabled(False)
5494 self.specOpIncoherent.setEnabled(False)
5496 self.specOpgetNoise.setEnabled(False)
5495 self.specOpgetNoise.setEnabled(False)
5497 self.specOpRadarfrequency.setEnabled(False)
5496 self.specOpRadarfrequency.setEnabled(False)
5498
5497
5499
5498
5500 self.specOpChannel.setEnabled(False)
5499 self.specOpChannel.setEnabled(False)
5501 self.specOpHeights.setEnabled(False)
5500 self.specOpHeights.setEnabled(False)
5502 # set Graph Spectra
5501 # set Graph Spectra
5503 self.specGgraphChannelList.setEnabled(False)
5502 self.specGgraphChannelList.setEnabled(False)
5504 self.specGgraphFreq.setEnabled(False)
5503 self.specGgraphFreq.setEnabled(False)
5505 self.specGgraphHeight.setEnabled(False)
5504 self.specGgraphHeight.setEnabled(False)
5506 self.specGgraphDbsrange.setEnabled(False)
5505 self.specGgraphDbsrange.setEnabled(False)
5507 self.specGgraphmagnitud.setEnabled(False)
5506 self.specGgraphmagnitud.setEnabled(False)
5508 self.specGgraphTminTmax.setEnabled(False)
5507 self.specGgraphTminTmax.setEnabled(False)
5509 self.specGgraphTimeRange.setEnabled(False)
5508 self.specGgraphTimeRange.setEnabled(False)
5510 self.specGraphPath.setEnabled(False)
5509 self.specGraphPath.setEnabled(False)
5511 self.specGraphToolPath.setEnabled(False)
5510 self.specGraphToolPath.setEnabled(False)
5512 self.specGraphPrefix.setEnabled(False)
5511 self.specGraphPrefix.setEnabled(False)
5513
5512
5514 self.specGgraphftpratio.setEnabled(False)
5513 self.specGgraphftpratio.setEnabled(False)
5515 # set Operation SpectraHeis
5514 # set Operation SpectraHeis
5516 self.specHeisOpIncoherent.setEnabled(False)
5515 self.specHeisOpIncoherent.setEnabled(False)
5517 self.specHeisOpCobIncInt.setEnabled(False)
5516 self.specHeisOpCobIncInt.setEnabled(False)
5518 # set Graph SpectraHeis
5517 # set Graph SpectraHeis
5519 self.specHeisGgraphChannelList.setEnabled(False)
5518 self.specHeisGgraphChannelList.setEnabled(False)
5520 self.specHeisGgraphXminXmax.setEnabled(False)
5519 self.specHeisGgraphXminXmax.setEnabled(False)
5521 self.specHeisGgraphYminYmax.setEnabled(False)
5520 self.specHeisGgraphYminYmax.setEnabled(False)
5522 self.specHeisGgraphTminTmax.setEnabled(False)
5521 self.specHeisGgraphTminTmax.setEnabled(False)
5523 self.specHeisGgraphTimeRange.setEnabled(False)
5522 self.specHeisGgraphTimeRange.setEnabled(False)
5524 self.specHeisGgraphftpratio.setEnabled(False)
5523 self.specHeisGgraphftpratio.setEnabled(False)
5525 self.specHeisGraphPath.setEnabled(False)
5524 self.specHeisGraphPath.setEnabled(False)
5526 self.specHeisGraphPrefix.setEnabled(False)
5525 self.specHeisGraphPrefix.setEnabled(False)
5527 self.specHeisGraphToolPath.setEnabled(False)
5526 self.specHeisGraphToolPath.setEnabled(False)
5528
5527
5529
5528
5530 # tool tip gui
5529 # tool tip gui
5531 QtGui.QToolTip.setFont(QtGui.QFont('SansSerif', 10))
5530 QtGui.QToolTip.setFont(QtGui.QFont('SansSerif', 10))
5532 self.projectExplorerTree.setToolTip('Right clik to add Project or Unit Process')
5531 self.projectExplorerTree.setToolTip('Right clik to add Project or Unit Process')
5533 # tool tip gui project
5532 # tool tip gui project
5534 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>')
5533 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>')
5535 self.proComWalk.setCurrentIndex(0)
5534 self.proComWalk.setCurrentIndex(0)
5536 # tool tip gui volOp
5535 # tool tip gui volOp
5537 self.volOpChannel.setToolTip('Example: 1,2,3,4,5')
5536 self.volOpChannel.setToolTip('Example: 1,2,3,4,5')
5538 self.volOpHeights.setToolTip('Example: 90,180')
5537 self.volOpHeights.setToolTip('Example: 90,180')
5539 self.volOpFilter.setToolTip('Example: 2')
5538 self.volOpFilter.setToolTip('Example: 2')
5540 self.volOpProfile.setToolTip('Example:0,127')
5539 self.volOpProfile.setToolTip('Example:0,127')
5541 self.volOpCohInt.setToolTip('Example: 128')
5540 self.volOpCohInt.setToolTip('Example: 128')
5542 self.volOpFlip.setToolTip('ChannelList where flip will be applied. Example: 0,2,3')
5541 self.volOpFlip.setToolTip('ChannelList where flip will be applied. Example: 0,2,3')
5543 self.volOpOk.setToolTip('If you have finished, please Ok ')
5542 self.volOpOk.setToolTip('If you have finished, please Ok ')
5544 # tool tip gui volGraph
5543 # tool tip gui volGraph
5545 self.volGraphfreqrange.setToolTip('Height range. Example: 50,100')
5544 self.volGraphfreqrange.setToolTip('Height range. Example: 50,100')
5546 self.volGraphHeightrange.setToolTip('Amplitude. Example: 0,10000')
5545 self.volGraphHeightrange.setToolTip('Amplitude. Example: 0,10000')
5547 # tool tip gui specOp
5546 # tool tip gui specOp
5548 self.specOpnFFTpoints.setToolTip('Example: 128')
5547 self.specOpnFFTpoints.setToolTip('Example: 128')
5549 self.specOpProfiles.setToolTip('Example: 128')
5548 self.specOpProfiles.setToolTip('Example: 128')
5550 self.specOpippFactor.setToolTip('Example:1.0')
5549 self.specOpippFactor.setToolTip('Example:1.0')
5551 self.specOpIncoherent.setToolTip('Example: 10')
5550 self.specOpIncoherent.setToolTip('Example: 10')
5552 self.specOpgetNoise.setToolTip('Example:20,180,30,120 (minHei,maxHei,minVel,maxVel)')
5551 self.specOpgetNoise.setToolTip('Example:20,180,30,120 (minHei,maxHei,minVel,maxVel)')
5553
5552
5554 self.specOpChannel.setToolTip('Example: 0,1,2,3')
5553 self.specOpChannel.setToolTip('Example: 0,1,2,3')
5555 self.specOpHeights.setToolTip('Example: 90,180')
5554 self.specOpHeights.setToolTip('Example: 90,180')
5556 self.specOppairsList.setToolTip('Example: (0,1),(2,3)')
5555 self.specOppairsList.setToolTip('Example: (0,1),(2,3)')
5557 # tool tip gui specGraph
5556 # tool tip gui specGraph
5558
5557
5559 self.specGgraphChannelList.setToolTip('Example: 0,3,4')
5558 self.specGgraphChannelList.setToolTip('Example: 0,3,4')
5560 self.specGgraphFreq.setToolTip('Example: -20,20')
5559 self.specGgraphFreq.setToolTip('Example: -20,20')
5561 self.specGgraphHeight.setToolTip('Example: 100,400')
5560 self.specGgraphHeight.setToolTip('Example: 100,400')
5562 self.specGgraphDbsrange.setToolTip('Example: 30,170')
5561 self.specGgraphDbsrange.setToolTip('Example: 30,170')
5563
5562
5564 self.specGraphPrefix.setToolTip('Example: EXPERIMENT_NAME')
5563 self.specGraphPrefix.setToolTip('Example: EXPERIMENT_NAME')
5565
5564
5566
5565
5567 self.specHeisOpIncoherent.setToolTip('Example: 10')
5566 self.specHeisOpIncoherent.setToolTip('Example: 10')
5568
5567
5569 self.specHeisGgraphChannelList.setToolTip('Example: 0,2,3')
5568 self.specHeisGgraphChannelList.setToolTip('Example: 0,2,3')
5570 self.specHeisGgraphXminXmax.setToolTip('Example (Hz): -1000, 1000')
5569 self.specHeisGgraphXminXmax.setToolTip('Example (Hz): -1000, 1000')
5571 self.specHeisGgraphYminYmax.setToolTip('Example (dB): 5, 35')
5570 self.specHeisGgraphYminYmax.setToolTip('Example (dB): 5, 35')
5572 self.specHeisGgraphTminTmax.setToolTip('Example (hours): 0, 24')
5571 self.specHeisGgraphTminTmax.setToolTip('Example (hours): 0, 24')
5573 self.specHeisGgraphTimeRange.setToolTip('Example (hours): 8')
5572 self.specHeisGgraphTimeRange.setToolTip('Example (hours): 8')
5574
5573
5575 self.labelSet.show()
5574 self.labelSet.show()
5576 self.proSet.show()
5575 self.proSet.show()
5577
5576
5578 self.labelIPPKm.hide()
5577 self.labelIPPKm.hide()
5579 self.proIPPKm.hide()
5578 self.proIPPKm.hide()
5580
5579
5581 sys.stdout = ShowMeConsole(textWritten=self.normalOutputWritten)
5580 sys.stdout = ShowMeConsole(textWritten=self.normalOutputWritten)
5582 # sys.stderr = ShowMeConsole(textWritten=self.errorOutputWritten)
5581 # sys.stderr = ShowMeConsole(textWritten=self.errorOutputWritten)
5583
5582
5584
5583
5585 class UnitProcessWindow(QMainWindow, Ui_UnitProcess):
5584 class UnitProcessWindow(QMainWindow, Ui_UnitProcess):
5586 """
5585 """
5587 Class documentation goes here.
5586 Class documentation goes here.
5588 """
5587 """
5589 closed = pyqtSignal()
5588 closed = pyqtSignal()
5590 create = False
5589 create = False
5591
5590
5592 def __init__(self, parent=None):
5591 def __init__(self, parent=None):
5593 """
5592 """
5594 Constructor
5593 Constructor
5595 """
5594 """
5596 QMainWindow.__init__(self, parent)
5595 QMainWindow.__init__(self, parent)
5597 self.setupUi(self)
5596 self.setupUi(self)
5598 self.getFromWindow = None
5597 self.getFromWindow = None
5599 self.getfromWindowList = []
5598 self.getfromWindowList = []
5600 self.dataTypeProject = None
5599 self.dataTypeProject = None
5601
5600
5602 self.listUP = None
5601 self.listUP = None
5603
5602
5604 @pyqtSignature("")
5603 @pyqtSignature("")
5605 def on_unitPokbut_clicked(self):
5604 def on_unitPokbut_clicked(self):
5606 """
5605 """
5607 Slot documentation goes here.
5606 Slot documentation goes here.
5608 """
5607 """
5609 self.create = True
5608 self.create = True
5610 self.getFromWindow = self.getfromWindowList[int(self.comboInputBox.currentIndex())]
5609 self.getFromWindow = self.getfromWindowList[int(self.comboInputBox.currentIndex())]
5611 # self.nameofUP= str(self.nameUptxt.text())
5610 # self.nameofUP= str(self.nameUptxt.text())
5612 self.typeofUP = str(self.comboTypeBox.currentText())
5611 self.typeofUP = str(self.comboTypeBox.currentText())
5613 self.close()
5612 self.close()
5614
5613
5615
5614
5616 @pyqtSignature("")
5615 @pyqtSignature("")
5617 def on_unitPcancelbut_clicked(self):
5616 def on_unitPcancelbut_clicked(self):
5618 """
5617 """
5619 Slot documentation goes here.
5618 Slot documentation goes here.
5620 """
5619 """
5621 self.create = False
5620 self.create = False
5622 self.close()
5621 self.close()
5623
5622
5624 def loadTotalList(self):
5623 def loadTotalList(self):
5625 self.comboInputBox.clear()
5624 self.comboInputBox.clear()
5626 for i in self.getfromWindowList:
5625 for i in self.getfromWindowList:
5627
5626
5628 name = i.getElementName()
5627 name = i.getElementName()
5629 if name == 'Project':
5628 if name == 'Project':
5630 id = i.id
5629 id = i.id
5631 name = i.name
5630 name = i.name
5632 if self.dataTypeProject == 'Voltage':
5631 if self.dataTypeProject == 'Voltage':
5633 self.comboTypeBox.clear()
5632 self.comboTypeBox.clear()
5634 self.comboTypeBox.addItem("Voltage")
5633 self.comboTypeBox.addItem("Voltage")
5635
5634
5636 if self.dataTypeProject == 'Spectra':
5635 if self.dataTypeProject == 'Spectra':
5637 self.comboTypeBox.clear()
5636 self.comboTypeBox.clear()
5638 self.comboTypeBox.addItem("Spectra")
5637 self.comboTypeBox.addItem("Spectra")
5639 self.comboTypeBox.addItem("Correlation")
5638 self.comboTypeBox.addItem("Correlation")
5640 if self.dataTypeProject == 'Fits':
5639 if self.dataTypeProject == 'Fits':
5641 self.comboTypeBox.clear()
5640 self.comboTypeBox.clear()
5642 self.comboTypeBox.addItem("SpectraHeis")
5641 self.comboTypeBox.addItem("SpectraHeis")
5643
5642
5644
5643
5645 if name == 'ProcUnit':
5644 if name == 'ProcUnit':
5646 id = int(i.id) - 1
5645 id = int(i.id) - 1
5647 name = i.datatype
5646 name = i.datatype
5648 if name == 'Voltage':
5647 if name == 'Voltage':
5649 self.comboTypeBox.clear()
5648 self.comboTypeBox.clear()
5650 self.comboTypeBox.addItem("Spectra")
5649 self.comboTypeBox.addItem("Spectra")
5651 self.comboTypeBox.addItem("SpectraHeis")
5650 self.comboTypeBox.addItem("SpectraHeis")
5652 self.comboTypeBox.addItem("Correlation")
5651 self.comboTypeBox.addItem("Correlation")
5653 if name == 'Spectra':
5652 if name == 'Spectra':
5654 self.comboTypeBox.clear()
5653 self.comboTypeBox.clear()
5655 self.comboTypeBox.addItem("Spectra")
5654 self.comboTypeBox.addItem("Spectra")
5656 self.comboTypeBox.addItem("SpectraHeis")
5655 self.comboTypeBox.addItem("SpectraHeis")
5657 self.comboTypeBox.addItem("Correlation")
5656 self.comboTypeBox.addItem("Correlation")
5658 if name == 'SpectraHeis':
5657 if name == 'SpectraHeis':
5659 self.comboTypeBox.clear()
5658 self.comboTypeBox.clear()
5660 self.comboTypeBox.addItem("SpectraHeis")
5659 self.comboTypeBox.addItem("SpectraHeis")
5661
5660
5662 self.comboInputBox.addItem(str(name))
5661 self.comboInputBox.addItem(str(name))
5663 # self.comboInputBox.addItem(str(name)+str(id))
5662 # self.comboInputBox.addItem(str(name)+str(id))
5664
5663
5665 def closeEvent(self, event):
5664 def closeEvent(self, event):
5666 self.closed.emit()
5665 self.closed.emit()
5667 event.accept()
5666 event.accept()
5668
5667
5669 class Ftp(QMainWindow, Ui_Ftp):
5668 class Ftp(QMainWindow, Ui_Ftp):
5670 """
5669 """
5671 Class documentation goes here.
5670 Class documentation goes here.
5672 """
5671 """
5673 create = False
5672 create = False
5674 closed = pyqtSignal()
5673 closed = pyqtSignal()
5675 server = None
5674 server = None
5676 remotefolder = None
5675 remotefolder = None
5677 username = None
5676 username = None
5678 password = None
5677 password = None
5679 ftp_wei = None
5678 ftp_wei = None
5680 exp_code = None
5679 exp_code = None
5681 sub_exp_code = None
5680 sub_exp_code = None
5682 plot_pos = None
5681 plot_pos = None
5683
5682
5684 def __init__(self, parent=None):
5683 def __init__(self, parent=None):
5685 """
5684 """
5686 Constructor
5685 Constructor
5687 """
5686 """
5688 QMainWindow.__init__(self, parent)
5687 QMainWindow.__init__(self, parent)
5689 self.setupUi(self)
5688 self.setupUi(self)
5690 self.setGUIStatus()
5689 self.setGUIStatus()
5691
5690
5692 def setGUIStatus(self):
5691 def setGUIStatus(self):
5693 self.setWindowTitle("ROJ-Signal Chain")
5692 self.setWindowTitle("ROJ-Signal Chain")
5694 self.serverFTP.setToolTip('Example: jro-app.igp.gob.pe')
5693 self.serverFTP.setToolTip('Example: jro-app.igp.gob.pe')
5695 self.folderFTP.setToolTip('Example: /home/wmaster/graficos')
5694 self.folderFTP.setToolTip('Example: /home/wmaster/graficos')
5696 self.usernameFTP.setToolTip('Example: myusername')
5695 self.usernameFTP.setToolTip('Example: myusername')
5697 self.passwordFTP.setToolTip('Example: mypass ')
5696 self.passwordFTP.setToolTip('Example: mypass ')
5698 self.weightFTP.setToolTip('Example: 0')
5697 self.weightFTP.setToolTip('Example: 0')
5699 self.expcodeFTP.setToolTip('Example: 0')
5698 self.expcodeFTP.setToolTip('Example: 0')
5700 self.subexpFTP.setToolTip('Example: 0')
5699 self.subexpFTP.setToolTip('Example: 0')
5701 self.plotposFTP.setToolTip('Example: 0')
5700 self.plotposFTP.setToolTip('Example: 0')
5702
5701
5703 def setParmsfromTemporal(self, server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos):
5702 def setParmsfromTemporal(self, server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos):
5704 self.serverFTP.setText(str(server))
5703 self.serverFTP.setText(str(server))
5705 self.folderFTP.setText(str(remotefolder))
5704 self.folderFTP.setText(str(remotefolder))
5706 self.usernameFTP.setText(str(username))
5705 self.usernameFTP.setText(str(username))
5707 self.passwordFTP.setText(str(password))
5706 self.passwordFTP.setText(str(password))
5708 self.weightFTP.setText(str(ftp_wei))
5707 self.weightFTP.setText(str(ftp_wei))
5709 self.expcodeFTP.setText(str(exp_code))
5708 self.expcodeFTP.setText(str(exp_code))
5710 self.subexpFTP.setText(str(sub_exp_code))
5709 self.subexpFTP.setText(str(sub_exp_code))
5711 self.plotposFTP.setText(str(plot_pos))
5710 self.plotposFTP.setText(str(plot_pos))
5712
5711
5713 def getParmsFromFtpWindow(self):
5712 def getParmsFromFtpWindow(self):
5714 """
5713 """
5715 Return Inputs Project:
5714 Return Inputs Project:
5716 - server
5715 - server
5717 - remotefolder
5716 - remotefolder
5718 - username
5717 - username
5719 - password
5718 - password
5720 - ftp_wei
5719 - ftp_wei
5721 - exp_code
5720 - exp_code
5722 - sub_exp_code
5721 - sub_exp_code
5723 - plot_pos
5722 - plot_pos
5724 """
5723 """
5725 name_server_ftp = str(self.serverFTP.text())
5724 name_server_ftp = str(self.serverFTP.text())
5726 if not name_server_ftp:
5725 if not name_server_ftp:
5727 self.console.clear()
5726 self.console.clear()
5728 self.console.append("Please Write a FTP Server")
5727 self.console.append("Please Write a FTP Server")
5729 return 0
5728 return 0
5730
5729
5731 folder_server_ftp = str(self.folderFTP.text())
5730 folder_server_ftp = str(self.folderFTP.text())
5732 if not folder_server_ftp:
5731 if not folder_server_ftp:
5733 self.console.clear()
5732 self.console.clear()
5734 self.console.append("Please Write a Folder")
5733 self.console.append("Please Write a Folder")
5735 return 0
5734 return 0
5736
5735
5737 username_ftp = str(self.usernameFTP.text())
5736 username_ftp = str(self.usernameFTP.text())
5738 if not username_ftp:
5737 if not username_ftp:
5739 self.console.clear()
5738 self.console.clear()
5740 self.console.append("Please Write a User Name")
5739 self.console.append("Please Write a User Name")
5741 return 0
5740 return 0
5742
5741
5743 password_ftp = str(self.passwordFTP.text())
5742 password_ftp = str(self.passwordFTP.text())
5744 if not password_ftp:
5743 if not password_ftp:
5745 self.console.clear()
5744 self.console.clear()
5746 self.console.append("Please Write a passwordFTP")
5745 self.console.append("Please Write a passwordFTP")
5747 return 0
5746 return 0
5748
5747
5749 ftp_wei = str(self.weightFTP.text())
5748 ftp_wei = str(self.weightFTP.text())
5750 if not ftp_wei == "":
5749 if not ftp_wei == "":
5751 try:
5750 try:
5752 ftp_wei = int(self.weightFTP.text())
5751 ftp_wei = int(self.weightFTP.text())
5753 except:
5752 except:
5754 self.console.clear()
5753 self.console.clear()
5755 self.console.append("Please Write a ftp_wei number")
5754 self.console.append("Please Write a ftp_wei number")
5756 return 0
5755 return 0
5757
5756
5758 exp_code = str(self.expcodeFTP.text())
5757 exp_code = str(self.expcodeFTP.text())
5759 if not exp_code == "":
5758 if not exp_code == "":
5760 try:
5759 try:
5761 exp_code = int(self.expcodeFTP.text())
5760 exp_code = int(self.expcodeFTP.text())
5762 except:
5761 except:
5763 self.console.clear()
5762 self.console.clear()
5764 self.console.append("Please Write a exp_code number")
5763 self.console.append("Please Write a exp_code number")
5765 return 0
5764 return 0
5766
5765
5767
5766
5768 sub_exp_code = str(self.subexpFTP.text())
5767 sub_exp_code = str(self.subexpFTP.text())
5769 if not sub_exp_code == "":
5768 if not sub_exp_code == "":
5770 try:
5769 try:
5771 sub_exp_code = int(self.subexpFTP.text())
5770 sub_exp_code = int(self.subexpFTP.text())
5772 except:
5771 except:
5773 self.console.clear()
5772 self.console.clear()
5774 self.console.append("Please Write a sub_exp_code number")
5773 self.console.append("Please Write a sub_exp_code number")
5775 return 0
5774 return 0
5776
5775
5777 plot_pos = str(self.plotposFTP.text())
5776 plot_pos = str(self.plotposFTP.text())
5778 if not plot_pos == "":
5777 if not plot_pos == "":
5779 try:
5778 try:
5780 plot_pos = int(self.plotposFTP.text())
5779 plot_pos = int(self.plotposFTP.text())
5781 except:
5780 except:
5782 self.console.clear()
5781 self.console.clear()
5783 self.console.append("Please Write a plot_pos number")
5782 self.console.append("Please Write a plot_pos number")
5784 return 0
5783 return 0
5785
5784
5786 return name_server_ftp, folder_server_ftp, username_ftp, password_ftp, ftp_wei, exp_code, sub_exp_code, plot_pos
5785 return name_server_ftp, folder_server_ftp, username_ftp, password_ftp, ftp_wei, exp_code, sub_exp_code, plot_pos
5787
5786
5788 @pyqtSignature("")
5787 @pyqtSignature("")
5789 def on_ftpOkButton_clicked(self):
5788 def on_ftpOkButton_clicked(self):
5790 server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.getParmsFromFtpWindow()
5789 server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.getParmsFromFtpWindow()
5791 self.create = True
5790 self.create = True
5792 self.close()
5791 self.close()
5793
5792
5794 @pyqtSignature("")
5793 @pyqtSignature("")
5795 def on_ftpCancelButton_clicked(self):
5794 def on_ftpCancelButton_clicked(self):
5796 self.create = False
5795 self.create = False
5797 self.close()
5796 self.close()
5798
5797
5799 def closeEvent(self, event):
5798 def closeEvent(self, event):
5800 self.closed.emit()
5799 self.closed.emit()
5801 event.accept()
5800 event.accept()
5802
5801
5803 class ftpBuffer():
5802 class ftpBuffer():
5804
5803
5805 server = None
5804 server = None
5806 remotefolder = None
5805 remotefolder = None
5807 username = None
5806 username = None
5808 password = None
5807 password = None
5809 ftp_wei = None
5808 ftp_wei = None
5810 exp_code = None
5809 exp_code = None
5811 sub_exp_code = None
5810 sub_exp_code = None
5812 plot_pos = None
5811 plot_pos = None
5813 create = False
5812 create = False
5814 withoutconfig = False
5813 withoutconfig = False
5815 createforView = False
5814 createforView = False
5816 localfolder = None
5815 localfolder = None
5817 extension = None
5816 extension = None
5818 period = None
5817 period = None
5819 protocol = None
5818 protocol = None
5820
5819
5821 def __init__(self):
5820 def __init__(self):
5822
5821
5823 self.create = False
5822 self.create = False
5824 self.server = None
5823 self.server = None
5825 self.remotefolder = None
5824 self.remotefolder = None
5826 self.username = None
5825 self.username = None
5827 self.password = None
5826 self.password = None
5828 self.ftp_wei = None
5827 self.ftp_wei = None
5829 self.exp_code = None
5828 self.exp_code = None
5830 self.sub_exp_code = None
5829 self.sub_exp_code = None
5831 self.plot_pos = None
5830 self.plot_pos = None
5832 # self.create = False
5831 # self.create = False
5833 self.localfolder = None
5832 self.localfolder = None
5834 self.extension = None
5833 self.extension = None
5835 self.period = None
5834 self.period = None
5836 self.protocol = None
5835 self.protocol = None
5837
5836
5838 def setwithoutconfiguration(self):
5837 def setwithoutconfiguration(self):
5839
5838
5840 self.create = False
5839 self.create = False
5841 self.server = "jro-app.igp.gob.pe"
5840 self.server = "jro-app.igp.gob.pe"
5842 self.remotefolder = "/home/wmaster/graficos"
5841 self.remotefolder = "/home/wmaster/graficos"
5843 self.username = "wmaster"
5842 self.username = "wmaster"
5844 self.password = "mst2010vhf"
5843 self.password = "mst2010vhf"
5845 self.withoutconfig = True
5844 self.withoutconfig = True
5846 self.localfolder = './'
5845 self.localfolder = './'
5847 self.extension = '.png'
5846 self.extension = '.png'
5848 self.period = 60
5847 self.period = 60
5849 self.protocol = 'ftp'
5848 self.protocol = 'ftp'
5850 self.createforView = True
5849 self.createforView = True
5851
5850
5852 if not self.ftp_wei:
5851 if not self.ftp_wei:
5853 self.ftp_wei = 0
5852 self.ftp_wei = 0
5854
5853
5855 if not self.exp_code:
5854 if not self.exp_code:
5856 self.exp_code = 0
5855 self.exp_code = 0
5857
5856
5858 if not self.sub_exp_code:
5857 if not self.sub_exp_code:
5859 self.sub_exp_code = 0
5858 self.sub_exp_code = 0
5860
5859
5861 if not self.plot_pos:
5860 if not self.plot_pos:
5862 self.plot_pos = 0
5861 self.plot_pos = 0
5863
5862
5864 def save(self, server, remotefolder, username, password, ftp_wei=0, exp_code=0, sub_exp_code=0, plot_pos=0, localfolder='./', extension='.png', period=60, protocol='ftp'):
5863 def save(self, server, remotefolder, username, password, ftp_wei=0, exp_code=0, sub_exp_code=0, plot_pos=0, localfolder='./', extension='.png', period=60, protocol='ftp'):
5865
5864
5866 self.server = server
5865 self.server = server
5867 self.remotefolder = remotefolder
5866 self.remotefolder = remotefolder
5868 self.username = username
5867 self.username = username
5869 self.password = password
5868 self.password = password
5870 self.ftp_wei = ftp_wei
5869 self.ftp_wei = ftp_wei
5871 self.exp_code = exp_code
5870 self.exp_code = exp_code
5872 self.sub_exp_code = sub_exp_code
5871 self.sub_exp_code = sub_exp_code
5873 self.plot_pos = plot_pos
5872 self.plot_pos = plot_pos
5874 self.create = True
5873 self.create = True
5875 self.withoutconfig = False
5874 self.withoutconfig = False
5876 self.createforView = True
5875 self.createforView = True
5877 self.localfolder = localfolder
5876 self.localfolder = localfolder
5878 self.extension = extension
5877 self.extension = extension
5879 self.period = period
5878 self.period = period
5880 self.protocol = protocol
5879 self.protocol = protocol
5881
5880
5882 def recover(self):
5881 def recover(self):
5883
5882
5884 return self.server, self.remotefolder, self.username, self.password, self.ftp_wei, self.exp_code, self.sub_exp_code, self.plot_pos, self.extension, self.period, self.protocol
5883 return self.server, self.remotefolder, self.username, self.password, self.ftp_wei, self.exp_code, self.sub_exp_code, self.plot_pos, self.extension, self.period, self.protocol
5885
5884
5886 class ShowMeConsole(QtCore.QObject):
5885 class ShowMeConsole(QtCore.QObject):
5887
5886
5888 textWritten = QtCore.pyqtSignal(str)
5887 textWritten = QtCore.pyqtSignal(str)
5889
5888
5890 def write(self, text):
5889 def write(self, text):
5891
5890
5892 if len(text) == 0:
5891 if len(text) == 0:
5893 self.textWritten.emit("\n")
5892 self.textWritten.emit("\n")
5894 return
5893 return
5895
5894
5896 if text[-1] == "\n":
5895 if text[-1] == "\n":
5897 text = text[:-1]
5896 text = text[:-1]
5898
5897
5899 self.textWritten.emit(str(text))
5898 self.textWritten.emit(str(text))
@@ -1,342 +1,350
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2
2
3 # Form implementation generated from reading ui file '/home/alex/ui/MainWindow_21_02_13_v49.ui'
3 # Form implementation generated from reading ui file '/home/alex/ui/MainWindow_21_02_13_v49.ui'
4 #
4 #
5 # Created: Mon Mar 24 13:28:36 2014
5 # Created: Mon Mar 24 13:28:36 2014
6 # by: PyQt4 UI code generator 4.10
6 # by: PyQt4 UI code generator 4.10
7 #
7 #
8 # WARNING! All changes made in this file will be lost!
8 # WARNING! All changes made in this file will be lost!
9
9
10 from PyQt4 import QtCore, QtGui
10 from PyQt4 import QtCore, QtGui
11 from windows import *
11 from windows import *
12
12
13 try:
13 try:
14 _fromUtf8 = QtCore.QString.fromUtf8
14 _fromUtf8 = QtCore.QString.fromUtf8
15 except AttributeError:
15 except AttributeError:
16 def _fromUtf8(s):
16 def _fromUtf8(s):
17 return s
17 return s
18
18
19 try:
19 try:
20 _encoding = QtGui.QApplication.UnicodeUTF8
20 _encoding = QtGui.QApplication.UnicodeUTF8
21 def _translate(context, text, disambig):
21 def _translate(context, text, disambig):
22 return QtGui.QApplication.translate(context, text, disambig, _encoding)
22 return QtGui.QApplication.translate(context, text, disambig, _encoding)
23 except AttributeError:
23 except AttributeError:
24 def _translate(context, text, disambig):
24 def _translate(context, text, disambig):
25 return QtGui.QApplication.translate(context, text, disambig)
25 return QtGui.QApplication.translate(context, text, disambig)
26
26
27 import os
27 import os
28 from schainpy.gui.figures import tools
28 from schainpy.gui.figures import tools
29 from schainpy import __version__
29 from schainpy import __version__
30
30
31 FIGURES_PATH = tools.get_path()
31 FIGURES_PATH = tools.get_path()
32
32
33 ICON_START = "start_green.png"
34 ICON_PAUSE = "pause_yellow.png"
35 ICON_STOP = "stop_red.png"
36
37 ICON_PAUSE_ENA = "restart_yellow.png"
38
39 ICON_START_DIS = "start.png"
40 ICON_PAUSE_DIS = "pause.png"
41 ICON_STOP_DIS = "stop.png"
42
33 class Ui_EnvWindow(object):
43 class Ui_EnvWindow(object):
34 paused = False
35
36 def restorePauseIcon(self):
37
44
38 icon_name = "pause.png"
45 def changeStartIcon(self, started=False):
39 iconPause = QtGui.QIcon()
40 iconPause.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH, icon_name) )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
41 self.actionPauseToolbar.setIcon(iconPause)
42
43 def restoreStartIcon(self):
44
46
45 icon_name = "start.png"
47 if started == False:
48 icon_name = ICON_START
49 else:
50 icon_name = ICON_START_DIS
51
46 iconStart = QtGui.QIcon()
52 iconStart = QtGui.QIcon()
47 iconStart.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH, icon_name) )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
53 iconStart.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH, icon_name) )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
48 self.actionStarToolbar.setIcon(iconStart)
54 self.actionStarToolbar.setIcon(iconStart)
55
56 return
49
57
50 def changePauseIcon(self, paused=False):
58 def changePauseIcon(self, paused=False):
51
59
52 if paused == True:
60 if paused == True:
53 icon_name = "pausered.png"
61 icon_name = ICON_PAUSE_ENA
54 else:
62 else:
55 icon_name = "pause.png"
63 icon_name = ICON_PAUSE
56
64
57 iconPause = QtGui.QIcon()
65 iconPause = QtGui.QIcon()
58 iconPause.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH, icon_name) )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
66 iconPause.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH, icon_name) )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
59 self.actionPauseToolbar.setIcon(iconPause)
67 self.actionPauseToolbar.setIcon(iconPause)
60
68
61 return
69 return
62
70
63 def changeStartIcon(self, started=False):
71 def changeStopIcon(self, started=False):
64
72
65 if started == True:
73 if started == True:
66 icon_name = "startred.png"
74 icon_name = ICON_STOP
67 else:
75 else:
68 icon_name = "start.png"
76 icon_name = ICON_STOP_DIS
69
77
70 iconStart = QtGui.QIcon()
78 iconStop = QtGui.QIcon()
71 iconStart.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH, icon_name) )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
79 iconStop.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH, icon_name) )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
72 self.actionStarToolbar.setIcon(iconStart)
80 self.actionStopToolbar.setIcon(iconStop)
73
81
74 return
82 return
75
83
76 def setupUi(self, MainWindow):
84 def setupUi(self, MainWindow):
77
85
78 self.paused=False
86 self.paused=False
79
87
80 MainWindow.setObjectName(_fromUtf8("MainWindow"))
88 MainWindow.setObjectName(_fromUtf8("MainWindow"))
81 MainWindow.resize(1200, 800)
89 MainWindow.resize(1200, 800)
82
90
83 self.centralWidget = QtGui.QWidget(MainWindow)
91 self.centralWidget = QtGui.QWidget(MainWindow)
84 self.centralWidget.setObjectName(_fromUtf8("centralWidget"))
92 self.centralWidget.setObjectName(_fromUtf8("centralWidget"))
85 self.gridLayout_16 = QtGui.QGridLayout(self.centralWidget)
93 self.gridLayout_16 = QtGui.QGridLayout(self.centralWidget)
86 self.gridLayout_16.setObjectName(_fromUtf8("gridLayout_16"))
94 self.gridLayout_16.setObjectName(_fromUtf8("gridLayout_16"))
87 self.splitter_2 = QtGui.QSplitter(self.centralWidget)
95 self.splitter_2 = QtGui.QSplitter(self.centralWidget)
88 self.splitter_2.setOrientation(QtCore.Qt.Horizontal)
96 self.splitter_2.setOrientation(QtCore.Qt.Horizontal)
89 self.splitter_2.setObjectName(_fromUtf8("splitter_2"))
97 self.splitter_2.setObjectName(_fromUtf8("splitter_2"))
90 self.projectExplorerTree = QtGui.QTreeView(self.splitter_2)
98 self.projectExplorerTree = QtGui.QTreeView(self.splitter_2)
91 self.projectExplorerTree.setObjectName(_fromUtf8("projectExplorerTree"))
99 self.projectExplorerTree.setObjectName(_fromUtf8("projectExplorerTree"))
92 self.splitter = QtGui.QSplitter(self.splitter_2)
100 self.splitter = QtGui.QSplitter(self.splitter_2)
93 self.splitter.setOrientation(QtCore.Qt.Vertical)
101 self.splitter.setOrientation(QtCore.Qt.Vertical)
94 self.splitter.setObjectName(_fromUtf8("splitter"))
102 self.splitter.setObjectName(_fromUtf8("splitter"))
95 self.tabWidgetProject = QtGui.QTabWidget(self.splitter)
103 self.tabWidgetProject = QtGui.QTabWidget(self.splitter)
96 self.tabWidgetProject.setMinimumSize(QtCore.QSize(0, 278))
104 self.tabWidgetProject.setMinimumSize(QtCore.QSize(0, 278))
97 self.tabWidgetProject.setMaximumSize(QtCore.QSize(16777215, 16777215))
105 self.tabWidgetProject.setMaximumSize(QtCore.QSize(16777215, 16777215))
98 self.tabWidgetProject.setObjectName(_fromUtf8("tabWidgetProject"))
106 self.tabWidgetProject.setObjectName(_fromUtf8("tabWidgetProject"))
99
107
100 self.tabConsole = QtGui.QTabWidget(self.splitter)
108 self.tabConsole = QtGui.QTabWidget(self.splitter)
101 self.tabConsole.setMinimumSize(QtCore.QSize(0, 0))
109 self.tabConsole.setMinimumSize(QtCore.QSize(0, 0))
102 self.tabConsole.setObjectName(_fromUtf8("tabConsole"))
110 self.tabConsole.setObjectName(_fromUtf8("tabConsole"))
103 self.tab_5 = QtGui.QWidget()
111 self.tab_5 = QtGui.QWidget()
104 self.tab_5.setObjectName(_fromUtf8("tab_5"))
112 self.tab_5.setObjectName(_fromUtf8("tab_5"))
105 self.gridLayout_4 = QtGui.QGridLayout(self.tab_5)
113 self.gridLayout_4 = QtGui.QGridLayout(self.tab_5)
106 self.gridLayout_4.setObjectName(_fromUtf8("gridLayout_4"))
114 self.gridLayout_4.setObjectName(_fromUtf8("gridLayout_4"))
107 self.console = QtGui.QTextEdit(self.tab_5)
115 self.console = QtGui.QTextEdit(self.tab_5)
108 self.console.setObjectName(_fromUtf8("console"))
116 self.console.setObjectName(_fromUtf8("console"))
109 self.gridLayout_4.addWidget(self.console, 0, 0, 1, 1)
117 self.gridLayout_4.addWidget(self.console, 0, 0, 1, 1)
110 self.tabConsole.addTab(self.tab_5, _fromUtf8(""))
118 self.tabConsole.addTab(self.tab_5, _fromUtf8(""))
111 self.tabWidget = QtGui.QTabWidget(self.splitter_2)
119 self.tabWidget = QtGui.QTabWidget(self.splitter_2)
112 self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
120 self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
113 self.tabProjectProperty = QtGui.QWidget()
121 self.tabProjectProperty = QtGui.QWidget()
114 self.tabProjectProperty.setObjectName(_fromUtf8("tabProjectProperty"))
122 self.tabProjectProperty.setObjectName(_fromUtf8("tabProjectProperty"))
115 self.gridLayout_8 = QtGui.QGridLayout(self.tabProjectProperty)
123 self.gridLayout_8 = QtGui.QGridLayout(self.tabProjectProperty)
116 self.gridLayout_8.setObjectName(_fromUtf8("gridLayout_8"))
124 self.gridLayout_8.setObjectName(_fromUtf8("gridLayout_8"))
117 self.treeProjectProperties = QtGui.QTreeView(self.tabProjectProperty)
125 self.treeProjectProperties = QtGui.QTreeView(self.tabProjectProperty)
118 self.treeProjectProperties.setObjectName(_fromUtf8("treeProjectProperties"))
126 self.treeProjectProperties.setObjectName(_fromUtf8("treeProjectProperties"))
119 self.gridLayout_8.addWidget(self.treeProjectProperties, 0, 0, 1, 1)
127 self.gridLayout_8.addWidget(self.treeProjectProperties, 0, 0, 1, 1)
120 self.tabWidget.addTab(self.tabProjectProperty, _fromUtf8(""))
128 self.tabWidget.addTab(self.tabProjectProperty, _fromUtf8(""))
121 self.gridLayout_16.addWidget(self.splitter_2, 1, 0, 1, 1)
129 self.gridLayout_16.addWidget(self.splitter_2, 1, 0, 1, 1)
122
130
123 MainWindow.setCentralWidget(self.centralWidget)
131 MainWindow.setCentralWidget(self.centralWidget)
124 self.toolBar = QtGui.QToolBar(MainWindow)
132 self.toolBar = QtGui.QToolBar(MainWindow)
125 self.toolBar.setObjectName(_fromUtf8("toolBar"))
133 self.toolBar.setObjectName(_fromUtf8("toolBar"))
126 MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar)
134 MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar)
127
135
128 self.menuBar = QtGui.QMenuBar(MainWindow)
136 self.menuBar = QtGui.QMenuBar(MainWindow)
129 self.menuBar.setGeometry(QtCore.QRect(0, 0, 1065, 25))
137 self.menuBar.setGeometry(QtCore.QRect(0, 0, 1065, 25))
130 self.menuBar.setObjectName(_fromUtf8("menuBar"))
138 self.menuBar.setObjectName(_fromUtf8("menuBar"))
131 self.menuProject = QtGui.QMenu(self.menuBar)
139 self.menuProject = QtGui.QMenu(self.menuBar)
132 self.menuProject.setObjectName(_fromUtf8("menuProject"))
140 self.menuProject.setObjectName(_fromUtf8("menuProject"))
133 self.menuRun = QtGui.QMenu(self.menuBar)
141 self.menuRun = QtGui.QMenu(self.menuBar)
134 self.menuRun.setObjectName(_fromUtf8("menuRun"))
142 self.menuRun.setObjectName(_fromUtf8("menuRun"))
135 self.menuOptions = QtGui.QMenu(self.menuBar)
143 self.menuOptions = QtGui.QMenu(self.menuBar)
136 self.menuOptions.setObjectName(_fromUtf8("menuOptions"))
144 self.menuOptions.setObjectName(_fromUtf8("menuOptions"))
137 self.menuHelp = QtGui.QMenu(self.menuBar)
145 self.menuHelp = QtGui.QMenu(self.menuBar)
138 self.menuHelp.setObjectName(_fromUtf8("menuHelp"))
146 self.menuHelp.setObjectName(_fromUtf8("menuHelp"))
139 MainWindow.setMenuBar(self.menuBar)
147 MainWindow.setMenuBar(self.menuBar)
140
148
141 iconOpen = QtGui.QIcon()
149 iconOpen = QtGui.QIcon()
142 iconOpen.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"open.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
150 iconOpen.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"open.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
143 iconCreate = QtGui.QIcon()
151 iconCreate = QtGui.QIcon()
144 iconCreate.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"new.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
152 iconCreate.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"new.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
145 iconSave = QtGui.QIcon()
153 iconSave = QtGui.QIcon()
146 iconSave.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"save.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
154 iconSave.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"save.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
147 iconStart = QtGui.QIcon()
155 iconStart = QtGui.QIcon()
148 iconStart.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"start.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
156 iconStart.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH, ICON_START_DIS) )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
149 iconStop = QtGui.QIcon()
157 iconStop = QtGui.QIcon()
150 iconStop.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"stop.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
158 iconStop.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH, ICON_STOP_DIS) )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
151 iconPause = QtGui.QIcon()
159 iconPause = QtGui.QIcon()
152 iconPause.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"pause.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
160 iconPause.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH, ICON_PAUSE_DIS) )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
153 iconAddPU = QtGui.QIcon()
161 iconAddPU = QtGui.QIcon()
154 iconAddPU.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"branch.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
162 iconAddPU.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"branch.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
155 iconClose = QtGui.QIcon()
163 iconClose = QtGui.QIcon()
156 iconClose.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"close.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
164 iconClose.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"close.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
157
165
158
166
159 self.actionOpen = QtGui.QAction(MainWindow)
167 self.actionOpen = QtGui.QAction(MainWindow)
160 self.actionOpen.setIcon(iconOpen)
168 self.actionOpen.setIcon(iconOpen)
161 self.actionOpen.setObjectName(_fromUtf8("actionOpen"))
169 self.actionOpen.setObjectName(_fromUtf8("actionOpen"))
162 self.actionCreate = QtGui.QAction(MainWindow)
170 self.actionCreate = QtGui.QAction(MainWindow)
163 self.actionCreate.setIcon(iconCreate)
171 self.actionCreate.setIcon(iconCreate)
164 self.actionCreate.setObjectName(_fromUtf8("actionCreate"))
172 self.actionCreate.setObjectName(_fromUtf8("actionCreate"))
165 self.actionSave = QtGui.QAction(MainWindow)
173 self.actionSave = QtGui.QAction(MainWindow)
166 self.actionSave.setIcon(iconSave)
174 self.actionSave.setIcon(iconSave)
167 self.actionSave.setObjectName(_fromUtf8("actionSave"))
175 self.actionSave.setObjectName(_fromUtf8("actionSave"))
168 self.actionClose = QtGui.QAction(MainWindow)
176 self.actionClose = QtGui.QAction(MainWindow)
169 self.actionClose.setIcon(iconClose)
177 self.actionClose.setIcon(iconClose)
170 self.actionClose.setObjectName(_fromUtf8("actionClose"))
178 self.actionClose.setObjectName(_fromUtf8("actionClose"))
171 self.actionStart = QtGui.QAction(MainWindow)
179 self.actionStart = QtGui.QAction(MainWindow)
172 self.actionStart.setIcon(iconStart)
180 self.actionStart.setIcon(iconStart)
173 self.actionStart.setObjectName(_fromUtf8("actionStart"))
181 self.actionStart.setObjectName(_fromUtf8("actionStart"))
174 self.actionPause = QtGui.QAction(MainWindow)
182 self.actionPause = QtGui.QAction(MainWindow)
175 self.actionPause.setIcon(iconPause)
183 self.actionPause.setIcon(iconPause)
176 self.actionPause.setObjectName(_fromUtf8("actionPause"))
184 self.actionPause.setObjectName(_fromUtf8("actionPause"))
177 self.actionStop = QtGui.QAction(MainWindow)
185 self.actionStop = QtGui.QAction(MainWindow)
178 self.actionStop.setIcon(iconStop)
186 self.actionStop.setIcon(iconStop)
179 self.actionStop.setObjectName(_fromUtf8("actionStop"))
187 self.actionStop.setObjectName(_fromUtf8("actionStop"))
180 self.actionAbout = QtGui.QAction(MainWindow)
188 self.actionAbout = QtGui.QAction(MainWindow)
181 self.actionAbout.setObjectName(_fromUtf8("actionAbout"))
189 self.actionAbout.setObjectName(_fromUtf8("actionAbout"))
182
190
183 self.actionOpenToolbar = QtGui.QAction(MainWindow)
191 self.actionOpenToolbar = QtGui.QAction(MainWindow)
184 self.actionOpenToolbar.setIcon(iconOpen)
192 self.actionOpenToolbar.setIcon(iconOpen)
185 self.actionOpenToolbar.setObjectName(_fromUtf8("actionOpenToolbar"))
193 self.actionOpenToolbar.setObjectName(_fromUtf8("actionOpenToolbar"))
186 self.actionCreateToolbar = QtGui.QAction(MainWindow)
194 self.actionCreateToolbar = QtGui.QAction(MainWindow)
187 self.actionCreateToolbar.setIcon(iconCreate)
195 self.actionCreateToolbar.setIcon(iconCreate)
188 self.actionCreateToolbar.setObjectName(_fromUtf8("actionCreateToolbar"))
196 self.actionCreateToolbar.setObjectName(_fromUtf8("actionCreateToolbar"))
189 self.actionSaveToolbar = QtGui.QAction(MainWindow)
197 self.actionSaveToolbar = QtGui.QAction(MainWindow)
190 self.actionSaveToolbar.setIcon(iconSave)
198 self.actionSaveToolbar.setIcon(iconSave)
191 self.actionSaveToolbar.setObjectName(_fromUtf8("actionSaveToolbar"))
199 self.actionSaveToolbar.setObjectName(_fromUtf8("actionSaveToolbar"))
192 self.actionStarToolbar = QtGui.QAction(MainWindow)
200 self.actionStarToolbar = QtGui.QAction(MainWindow)
193 self.actionStarToolbar.setIcon(iconStart)
201 self.actionStarToolbar.setIcon(iconStart)
194 self.actionStarToolbar.setObjectName(_fromUtf8("actionStarToolbar"))
202 self.actionStarToolbar.setObjectName(_fromUtf8("actionStarToolbar"))
195 self.actionStopToolbar = QtGui.QAction(MainWindow)
203 self.actionStopToolbar = QtGui.QAction(MainWindow)
196 self.actionStopToolbar.setIcon(iconStop)
204 self.actionStopToolbar.setIcon(iconStop)
197 self.actionStopToolbar.setObjectName(_fromUtf8("actionStopToolbar"))
205 self.actionStopToolbar.setObjectName(_fromUtf8("actionStopToolbar"))
198 self.actionPauseToolbar = QtGui.QAction(MainWindow)
206 self.actionPauseToolbar = QtGui.QAction(MainWindow)
199 self.actionPauseToolbar.setIcon(iconPause)
207 self.actionPauseToolbar.setIcon(iconPause)
200 self.actionPauseToolbar.setObjectName(_fromUtf8("actionPauseToolbar"))
208 self.actionPauseToolbar.setObjectName(_fromUtf8("actionPauseToolbar"))
201 self.actionAddPU = QtGui.QAction(MainWindow)
209 self.actionAddPU = QtGui.QAction(MainWindow)
202 self.actionAddPU.setIcon(iconAddPU)
210 self.actionAddPU.setIcon(iconAddPU)
203 self.actionAddPU.setObjectName(_fromUtf8("actionAddPU"))
211 self.actionAddPU.setObjectName(_fromUtf8("actionAddPU"))
204 self.actionFTP = QtGui.QAction(MainWindow)
212 self.actionFTP = QtGui.QAction(MainWindow)
205 self.actionFTP.setObjectName(_fromUtf8("actionFTP"))
213 self.actionFTP.setObjectName(_fromUtf8("actionFTP"))
206 self.toolBar.addAction(self.actionOpenToolbar)
214 self.toolBar.addAction(self.actionOpenToolbar)
207 self.toolBar.addSeparator()
215 self.toolBar.addSeparator()
208 self.toolBar.addAction(self.actionCreateToolbar)
216 self.toolBar.addAction(self.actionCreateToolbar)
209 self.toolBar.addSeparator()
217 self.toolBar.addSeparator()
210 self.toolBar.addAction(self.actionAddPU)
218 self.toolBar.addAction(self.actionAddPU)
211 self.toolBar.addSeparator()
219 self.toolBar.addSeparator()
212 self.toolBar.addAction(self.actionSaveToolbar)
220 self.toolBar.addAction(self.actionSaveToolbar)
213 self.toolBar.addSeparator()
221 self.toolBar.addSeparator()
214 self.toolBar.addAction(self.actionStarToolbar)
222 self.toolBar.addAction(self.actionStarToolbar)
215 self.toolBar.addSeparator()
223 self.toolBar.addSeparator()
216 self.toolBar.addAction(self.actionPauseToolbar)
224 self.toolBar.addAction(self.actionPauseToolbar)
217 self.toolBar.addSeparator()
225 self.toolBar.addSeparator()
218 self.toolBar.addAction(self.actionStopToolbar)
226 self.toolBar.addAction(self.actionStopToolbar)
219 self.toolBar.addSeparator()
227 self.toolBar.addSeparator()
220
228
221 # self.actionPause.triggered.connect(self.changePauseIcon)
229 # self.actionPause.triggered.connect(self.changePauseIcon)
222 # self.actionPauseToolbar.triggered.connect(self.changePauseIcon)
230 # self.actionPauseToolbar.triggered.connect(self.changePauseIcon)
223
231
224 self.menuProject.addAction(self.actionOpen)
232 self.menuProject.addAction(self.actionOpen)
225 self.menuProject.addAction(self.actionCreate)
233 self.menuProject.addAction(self.actionCreate)
226 self.menuProject.addAction(self.actionSave)
234 self.menuProject.addAction(self.actionSave)
227 self.menuProject.addAction(self.actionClose)
235 self.menuProject.addAction(self.actionClose)
228 self.menuRun.addAction(self.actionStart)
236 self.menuRun.addAction(self.actionStart)
229 self.menuRun.addAction(self.actionPause)
237 self.menuRun.addAction(self.actionPause)
230 self.menuRun.addAction(self.actionStop)
238 self.menuRun.addAction(self.actionStop)
231 self.menuOptions.addAction(self.actionFTP)
239 self.menuOptions.addAction(self.actionFTP)
232 self.menuHelp.addAction(self.actionAbout)
240 self.menuHelp.addAction(self.actionAbout)
233 self.menuBar.addAction(self.menuProject.menuAction())
241 self.menuBar.addAction(self.menuProject.menuAction())
234 self.menuBar.addAction(self.menuRun.menuAction())
242 self.menuBar.addAction(self.menuRun.menuAction())
235 self.menuBar.addAction(self.menuOptions.menuAction())
243 self.menuBar.addAction(self.menuOptions.menuAction())
236 self.menuBar.addAction(self.menuHelp.menuAction())
244 self.menuBar.addAction(self.menuHelp.menuAction())
237
245
238 self.tabConsole.setCurrentIndex(0)
246 self.tabConsole.setCurrentIndex(0)
239 self.tabWidget.setCurrentIndex(0)
247 self.tabWidget.setCurrentIndex(0)
240
248
241 def retranslateUi(self, MainWindow):
249 def retranslateUi(self, MainWindow):
242
250
243 MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow", None))
251 MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow", None))
244
252
245 self.tabConsole.setTabText(self.tabConsole.indexOf(self.tab_5), _translate("MainWindow", "Console", None))
253 self.tabConsole.setTabText(self.tabConsole.indexOf(self.tab_5), _translate("MainWindow", "Console", None))
246
254
247 self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabProjectProperty), _translate("MainWindow", "Project Property", None))
255 self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabProjectProperty), _translate("MainWindow", "Project Property", None))
248 self.toolBar.setWindowTitle(_translate("MainWindow", "toolBar", None))
256 self.toolBar.setWindowTitle(_translate("MainWindow", "toolBar", None))
249 self.menuProject.setTitle(_translate("MainWindow", "Project", None))
257 self.menuProject.setTitle(_translate("MainWindow", "Project", None))
250 self.menuRun.setTitle(_translate("MainWindow", "Run", None))
258 self.menuRun.setTitle(_translate("MainWindow", "Run", None))
251 self.menuOptions.setTitle(_translate("MainWindow", "Options", None))
259 self.menuOptions.setTitle(_translate("MainWindow", "Options", None))
252 self.menuHelp.setTitle(_translate("MainWindow", "Help", None))
260 self.menuHelp.setTitle(_translate("MainWindow", "Help", None))
253 self.actionOpen.setText(_translate("MainWindow", "Open", None))
261 self.actionOpen.setText(_translate("MainWindow", "Open", None))
254 self.actionCreate.setText(_translate("MainWindow", "Create", None))
262 self.actionCreate.setText(_translate("MainWindow", "Create", None))
255 self.actionSave.setText(_translate("MainWindow", "Save", None))
263 self.actionSave.setText(_translate("MainWindow", "Save", None))
256 self.actionClose.setText(_translate("MainWindow", "Close", None))
264 self.actionClose.setText(_translate("MainWindow", "Close", None))
257 self.actionStart.setText(_translate("MainWindow", "Start", None))
265 self.actionStart.setText(_translate("MainWindow", "Start", None))
258 self.actionPause.setText(_translate("MainWindow", "Pause", None))
266 self.actionPause.setText(_translate("MainWindow", "Pause", None))
259 self.actionStop.setText(_translate("MainWindow", "Stop", None))
267 self.actionStop.setText(_translate("MainWindow", "Stop", None))
260 self.actionAbout.setText(_translate("MainWindow", "About SChain", None))
268 self.actionAbout.setText(_translate("MainWindow", "About SChain", None))
261 self.actionOpenToolbar.setText(_translate("MainWindow", "openToolbar", None))
269 self.actionOpenToolbar.setText(_translate("MainWindow", "openToolbar", None))
262 self.actionOpenToolbar.setToolTip(_translate("MainWindow", "Open a project", None))
270 self.actionOpenToolbar.setToolTip(_translate("MainWindow", "Open a project", None))
263 self.actionCreateToolbar.setText(_translate("MainWindow", "createToolbar", None))
271 self.actionCreateToolbar.setText(_translate("MainWindow", "createToolbar", None))
264 self.actionCreateToolbar.setToolTip(_translate("MainWindow", "Create a new project", None))
272 self.actionCreateToolbar.setToolTip(_translate("MainWindow", "Create a new project", None))
265 self.actionSaveToolbar.setText(_translate("MainWindow", "saveToolbar", None))
273 self.actionSaveToolbar.setText(_translate("MainWindow", "saveToolbar", None))
266 self.actionSaveToolbar.setToolTip(_translate("MainWindow", "Save a project", None))
274 self.actionSaveToolbar.setToolTip(_translate("MainWindow", "Save a project", None))
267 self.actionStarToolbar.setText(_translate("MainWindow", "starToolbar", None))
275 self.actionStarToolbar.setText(_translate("MainWindow", "starToolbar", None))
268 self.actionStarToolbar.setToolTip(_translate("MainWindow", "Start process", None))
276 self.actionStarToolbar.setToolTip(_translate("MainWindow", "Start process", None))
269 self.actionStopToolbar.setText(_translate("MainWindow", "stopToolbar", None))
277 self.actionStopToolbar.setText(_translate("MainWindow", "stopToolbar", None))
270 self.actionStopToolbar.setToolTip(_translate("MainWindow", "Stop process", None))
278 self.actionStopToolbar.setToolTip(_translate("MainWindow", "Stop process", None))
271 self.actionPauseToolbar.setText(_translate("MainWindow", "pauseToolbar", None))
279 self.actionPauseToolbar.setText(_translate("MainWindow", "pauseToolbar", None))
272 self.actionPauseToolbar.setToolTip(_translate("MainWindow", "Pause process", None))
280 self.actionPauseToolbar.setToolTip(_translate("MainWindow", "Pause process", None))
273 self.actionAddPU.setText(_translate("MainWindow", "Add Processing Unit", None))
281 self.actionAddPU.setText(_translate("MainWindow", "Add Processing Unit", None))
274 self.actionFTP.setText(_translate("MainWindow", "FTP", None))
282 self.actionFTP.setText(_translate("MainWindow", "FTP", None))
275
283
276 def closeEvent(self, event):
284 def closeEvent(self, event):
277
285
278 reply = QtGui.QMessageBox.question(self, 'Message',
286 reply = QtGui.QMessageBox.question(self, 'Message',
279 "Are you sure to quit?", QtGui.QMessageBox.Yes |
287 "Are you sure to quit?", QtGui.QMessageBox.Yes |
280 QtGui.QMessageBox.No, QtGui.QMessageBox.No)
288 QtGui.QMessageBox.No, QtGui.QMessageBox.No)
281 if reply == QtGui.QMessageBox.Yes:
289 if reply == QtGui.QMessageBox.Yes:
282 event.accept()
290 event.accept()
283 else:
291 else:
284 event.ignore()
292 event.ignore()
285
293
286 def aboutEvent(self):
294 def aboutEvent(self):
287 title = "Signal Chain Processing Software v%s" %__version__
295 title = "Signal Chain Processing Software v%s" %__version__
288 message = """
296 message = """
289 Developed by Jicamarca Radio Observatory
297 Developed by Jicamarca Radio Observatory
290 Any comment to miguel.urco@jro.igp.gob.pe
298 Any comment to miguel.urco@jro.igp.gob.pe
291 """
299 """
292 QtGui.QMessageBox.about(self, title, message)
300 QtGui.QMessageBox.about(self, title, message)
293
301
294
302
295 class Ui_BasicWindow(Ui_EnvWindow, Ui_ProjectTab, Ui_VoltageTab, Ui_SpectraTab, Ui_SpectraHeisTab, Ui_CorrelationTab):
303 class Ui_BasicWindow(Ui_EnvWindow, Ui_ProjectTab, Ui_VoltageTab, Ui_SpectraTab, Ui_SpectraHeisTab, Ui_CorrelationTab):
296
304
297 def setupUi(self, MainWindow):
305 def setupUi(self, MainWindow):
298
306
299 Ui_EnvWindow.setupUi(self, MainWindow)
307 Ui_EnvWindow.setupUi(self, MainWindow)
300
308
301 Ui_ProjectTab.setupUi(self)
309 Ui_ProjectTab.setupUi(self)
302 Ui_VoltageTab.setupUi(self)
310 Ui_VoltageTab.setupUi(self)
303 Ui_SpectraTab.setupUi(self)
311 Ui_SpectraTab.setupUi(self)
304 Ui_SpectraHeisTab.setupUi(self)
312 Ui_SpectraHeisTab.setupUi(self)
305 Ui_CorrelationTab.setupUi(self)
313 Ui_CorrelationTab.setupUi(self)
306
314
307 self.retranslateUi(MainWindow)
315 self.retranslateUi(MainWindow)
308
316
309 QtCore.QMetaObject.connectSlotsByName(MainWindow)
317 QtCore.QMetaObject.connectSlotsByName(MainWindow)
310
318
311 def retranslateUi(self, MainWindow):
319 def retranslateUi(self, MainWindow):
312
320
313 Ui_EnvWindow.retranslateUi(self, MainWindow)
321 Ui_EnvWindow.retranslateUi(self, MainWindow)
314
322
315 Ui_ProjectTab.retranslateUi(self)
323 Ui_ProjectTab.retranslateUi(self)
316 Ui_VoltageTab.retranslateUi(self)
324 Ui_VoltageTab.retranslateUi(self)
317 Ui_SpectraTab.retranslateUi(self)
325 Ui_SpectraTab.retranslateUi(self)
318 Ui_SpectraHeisTab.retranslateUi(self)
326 Ui_SpectraHeisTab.retranslateUi(self)
319 Ui_CorrelationTab.retranslateUi(self)
327 Ui_CorrelationTab.retranslateUi(self)
320
328
321
329
322 class Ui_AdvancedWindow(Ui_EnvWindow):
330 class Ui_AdvancedWindow(Ui_EnvWindow):
323
331
324 def setupUi(self, AdvancedWindow):
332 def setupUi(self, AdvancedWindow):
325
333
326 Ui_MainWindow.setupUi(self, AdvancedWindow)
334 Ui_MainWindow.setupUi(self, AdvancedWindow)
327
335
328 def retranslateUi(self, AdvancedWindow):
336 def retranslateUi(self, AdvancedWindow):
329
337
330 Ui_MainWindow.retranslateUi(self, AdvancedWindow)
338 Ui_MainWindow.retranslateUi(self, AdvancedWindow)
331
339
332
340
333
341
334 if __name__ == "__main__":
342 if __name__ == "__main__":
335 import sys
343 import sys
336 app = QtGui.QApplication(sys.argv)
344 app = QtGui.QApplication(sys.argv)
337 MainWindow = QtGui.QMainWindow()
345 MainWindow = QtGui.QMainWindow()
338 ui = Ui_BasicWindow()
346 ui = Ui_BasicWindow()
339 ui.setupUi(MainWindow)
347 ui.setupUi(MainWindow)
340 MainWindow.show()
348 MainWindow.show()
341 sys.exit(app.exec_())
349 sys.exit(app.exec_())
342
350
General Comments 0
You need to be logged in to leave comments. Login now