##// END OF EJS Templates
Signal Chain GUI v2.1
Miguel Valdez -
r596:bf27846f03e1
parent child
Show More

The requested changes are too big and content was truncated. Show full diff

@@ -1,1088 +1,1166
1 '''
1 '''
2 Created on September , 2012
2 Created on September , 2012
3 @author:
3 @author:
4 '''
4 '''
5 from xml.etree.ElementTree import Element, SubElement
5 from xml.etree.ElementTree import Element, SubElement
6 from xml.etree import ElementTree as ET
6 from xml.etree import ElementTree as ET
7 from xml.dom import minidom
7 from xml.dom import minidom
8
8
9 #import datetime
9 #import datetime
10 from model import *
10 from model import *
11
11
12 try:
12 try:
13 from gevent import sleep
13 from gevent import sleep
14 except:
14 except:
15 from time import sleep
15 from time import sleep
16
16
17 import ast
17 import ast
18
18
19 def prettify(elem):
19 def prettify(elem):
20 """Return a pretty-printed XML string for the Element.
20 """Return a pretty-printed XML string for the Element.
21 """
21 """
22 rough_string = ET.tostring(elem, 'utf-8')
22 rough_string = ET.tostring(elem, 'utf-8')
23 reparsed = minidom.parseString(rough_string)
23 reparsed = minidom.parseString(rough_string)
24 return reparsed.toprettyxml(indent=" ")
24 return reparsed.toprettyxml(indent=" ")
25
25
26 class ParameterConf():
26 class ParameterConf():
27
27
28 id = None
28 id = None
29 name = None
29 name = None
30 value = None
30 value = None
31 format = None
31 format = None
32
32
33 __formated_value = None
33 __formated_value = None
34
34
35 ELEMENTNAME = 'Parameter'
35 ELEMENTNAME = 'Parameter'
36
36
37 def __init__(self):
37 def __init__(self):
38
38
39 self.format = 'str'
39 self.format = 'str'
40
40
41 def getElementName(self):
41 def getElementName(self):
42
42
43 return self.ELEMENTNAME
43 return self.ELEMENTNAME
44
44
45 def getValue(self):
45 def getValue(self):
46
46
47 if self.__formated_value != None:
47 if self.__formated_value != None:
48
48
49 return self.__formated_value
49 return self.__formated_value
50
50
51 value = self.value
51 value = self.value
52
52
53 if self.format == 'str':
54 self.__formated_value = str(value)
55 return self.__formated_value
56
57 if value == '':
58 raise ValueError, "%s: This parameter value is empty" %self.name
59
53 if self.format == 'bool':
60 if self.format == 'bool':
54 value = int(value)
61 value = int(value)
55
62
56 if self.format == 'list':
63 if self.format == 'list':
57 strList = value.split(',')
64 strList = value.split(',')
58
65
59 self.__formated_value = strList
66 self.__formated_value = strList
60
67
61 return self.__formated_value
68 return self.__formated_value
62
69
63 if self.format == 'intlist':
70 if self.format == 'intlist':
64 """
71 """
65 Example:
72 Example:
66 value = (0,1,2)
73 value = (0,1,2)
67 """
74 """
68 value = value.replace('(', '')
75 intList = ast.literal_eval(value)
69 value = value.replace(')', '')
70
71 value = value.replace('[', '')
72 value = value.replace(']', '')
73
74 strList = value.split(',')
75 intList = [int(x) for x in strList]
76
76
77 self.__formated_value = intList
77 self.__formated_value = intList
78
78
79 return self.__formated_value
79 return self.__formated_value
80
80
81 if self.format == 'floatlist':
81 if self.format == 'floatlist':
82 """
82 """
83 Example:
83 Example:
84 value = (0.5, 1.4, 2.7)
84 value = (0.5, 1.4, 2.7)
85 """
85 """
86
86
87 value = value.replace('(', '')
87 floatList = ast.literal_eval(value)
88 value = value.replace(')', '')
89
90 value = value.replace('[', '')
91 value = value.replace(']', '')
92
93 strList = value.split(',')
94 floatList = [float(x) for x in strList]
95
88
96 self.__formated_value = floatList
89 self.__formated_value = floatList
97
90
98 return self.__formated_value
91 return self.__formated_value
99
92
100 if self.format == 'date':
93 if self.format == 'date':
101 strList = value.split('/')
94 strList = value.split('/')
102 intList = [int(x) for x in strList]
95 intList = [int(x) for x in strList]
103 date = datetime.date(intList[0], intList[1], intList[2])
96 date = datetime.date(intList[0], intList[1], intList[2])
104
97
105 self.__formated_value = date
98 self.__formated_value = date
106
99
107 return self.__formated_value
100 return self.__formated_value
108
101
109 if self.format == 'time':
102 if self.format == 'time':
110 strList = value.split(':')
103 strList = value.split(':')
111 intList = [int(x) for x in strList]
104 intList = [int(x) for x in strList]
112 time = datetime.time(intList[0], intList[1], intList[2])
105 time = datetime.time(intList[0], intList[1], intList[2])
113
106
114 self.__formated_value = time
107 self.__formated_value = time
115
108
116 return self.__formated_value
109 return self.__formated_value
117
110
118 if self.format == 'pairslist':
111 if self.format == 'pairslist':
119 """
112 """
120 Example:
113 Example:
121 value = (0,1),(1,2)
114 value = (0,1),(1,2)
122 """
115 """
123
116
124 value = value.replace('(', '')
117 pairList = ast.literal_eval(value)
125 value = value.replace(')', '')
126
127 value = value.replace('[', '')
128 value = value.replace(']', '')
129
130 strList = value.split(',')
131 intList = [int(item) for item in strList]
132 pairList = []
133 for i in range(len(intList)/2):
134 pairList.append((intList[i*2], intList[i*2 + 1]))
135
118
136 self.__formated_value = pairList
119 self.__formated_value = pairList
137
120
138 return self.__formated_value
121 return self.__formated_value
139
122
140 if self.format == 'multilist':
123 if self.format == 'multilist':
141 """
124 """
142 Example:
125 Example:
143 value = (0,1,2),(3,4,5)
126 value = (0,1,2),(3,4,5)
144 """
127 """
145 multiList = ast.literal_eval(value)
128 multiList = ast.literal_eval(value)
146
129
147 self.__formated_value = multiList
130 self.__formated_value = multiList
148
131
149 return self.__formated_value
132 return self.__formated_value
150
133
151 format_func = eval(self.format)
134 format_func = eval(self.format)
152
135
153 self.__formated_value = format_func(value)
136 self.__formated_value = format_func(value)
154
137
155 return self.__formated_value
138 return self.__formated_value
139
140 def updateId(self, new_id):
156
141
142 self.id = str(new_id)
143
157 def setup(self, id, name, value, format='str'):
144 def setup(self, id, name, value, format='str'):
158
145
159 self.id = id
146 self.id = str(id)
160 self.name = name
147 self.name = name
161 self.value = str(value)
148 self.value = str(value)
162 self.format = str.lower(format)
149 self.format = str.lower(format)
163
150
164 def update(self, name, value, format='str'):
151 def update(self, name, value, format='str'):
165
152
166 self.name = name
153 self.name = name
167 self.value = str(value)
154 self.value = str(value)
168 self.format = format
155 self.format = format
169
156
170 def makeXml(self, opElement):
157 def makeXml(self, opElement):
171
158
172 parmElement = SubElement(opElement, self.ELEMENTNAME)
159 parmElement = SubElement(opElement, self.ELEMENTNAME)
173 parmElement.set('id', str(self.id))
160 parmElement.set('id', str(self.id))
174 parmElement.set('name', self.name)
161 parmElement.set('name', self.name)
175 parmElement.set('value', self.value)
162 parmElement.set('value', self.value)
176 parmElement.set('format', self.format)
163 parmElement.set('format', self.format)
177
164
178 def readXml(self, parmElement):
165 def readXml(self, parmElement):
179
166
180 self.id = parmElement.get('id')
167 self.id = parmElement.get('id')
181 self.name = parmElement.get('name')
168 self.name = parmElement.get('name')
182 self.value = parmElement.get('value')
169 self.value = parmElement.get('value')
183 self.format = str.lower(parmElement.get('format'))
170 self.format = str.lower(parmElement.get('format'))
184
171
185 #Compatible with old signal chain version
172 #Compatible with old signal chain version
186 if self.format == 'int' and self.name == 'idfigure':
173 if self.format == 'int' and self.name == 'idfigure':
187 self.name = 'id'
174 self.name = 'id'
188
175
189 def printattr(self):
176 def printattr(self):
190
177
191 print "Parameter[%s]: name = %s, value = %s, format = %s" %(self.id, self.name, self.value, self.format)
178 print "Parameter[%s]: name = %s, value = %s, format = %s" %(self.id, self.name, self.value, self.format)
192
179
193 class OperationConf():
180 class OperationConf():
194
181
195 id = None
182 id = None
196 name = None
183 name = None
197 priority = None
184 priority = None
198 type = None
185 type = None
199
186
200 parmConfObjList = []
187 parmConfObjList = []
201
188
202 ELEMENTNAME = 'Operation'
189 ELEMENTNAME = 'Operation'
203
190
204 def __init__(self):
191 def __init__(self):
205
192
206 self.id = '0'
193 self.id = '0'
207 self.name = None
194 self.name = None
208 self.priority = None
195 self.priority = None
209 self.type = 'self'
196 self.type = 'self'
210
197
211
198
212 def __getNewId(self):
199 def __getNewId(self):
213
200
214 return int(self.id)*10 + len(self.parmConfObjList) + 1
201 return int(self.id)*10 + len(self.parmConfObjList) + 1
215
202
203 def updateId(self, new_id):
204
205 self.id = str(new_id)
206
207 n = 1
208 for parmObj in self.parmConfObjList:
209
210 idParm = str(int(new_id)*10 + n)
211 parmObj.updateId(idParm)
212
213 n += 1
214
216 def getElementName(self):
215 def getElementName(self):
217
216
218 return self.ELEMENTNAME
217 return self.ELEMENTNAME
219
218
220 def getParameterObjList(self):
219 def getParameterObjList(self):
221
220
222 return self.parmConfObjList
221 return self.parmConfObjList
223
222
224 def getParameterObj(self, parameterName):
223 def getParameterObj(self, parameterName):
225
224
226 for parmConfObj in self.parmConfObjList:
225 for parmConfObj in self.parmConfObjList:
227
226
228 if parmConfObj.name != parameterName:
227 if parmConfObj.name != parameterName:
229 continue
228 continue
230
229
231 return parmConfObj
230 return parmConfObj
232
231
233 return None
232 return None
234
233
235 def getParameterObjfromValue(self,parameterValue):
234 def getParameterObjfromValue(self,parameterValue):
236 for parmConfObj in self.parmConfObjList:
235 for parmConfObj in self.parmConfObjList:
237
236
238 if parmConfObj.getValue() != parameterValue:
237 if parmConfObj.getValue() != parameterValue:
239 continue
238 continue
240
239
241 return parmConfObj.getValue()
240 return parmConfObj.getValue()
242
241
243 return None
242 return None
244
243
245 def getParameterValue(self, parameterName):
244 def getParameterValue(self, parameterName):
246
245
247 parameterObj = self.getParameterObj(parameterName)
246 parameterObj = self.getParameterObj(parameterName)
248 value = parameterObj.getValue()
247 value = parameterObj.getValue()
249
248
250 return value
249 return value
251
250
252 def setup(self, id, name, priority, type):
251 def setup(self, id, name, priority, type):
253
252
254 self.id = id
253 self.id = str(id)
255 self.name = name
254 self.name = name
256 self.type = type
255 self.type = type
257 self.priority = priority
256 self.priority = priority
258
257
259 self.parmConfObjList = []
258 self.parmConfObjList = []
260
259
261 def removeParameters(self):
260 def removeParameters(self):
262
261
263 for obj in self.parmConfObjList:
262 for obj in self.parmConfObjList:
264 del obj
263 del obj
265
264
266 self.parmConfObjList = []
265 self.parmConfObjList = []
267
266
268 def addParameter(self, name, value, format='str'):
267 def addParameter(self, name, value, format='str'):
269
268
270 id = self.__getNewId()
269 id = self.__getNewId()
271
270
272 parmConfObj = ParameterConf()
271 parmConfObj = ParameterConf()
273 parmConfObj.setup(id, name, value, format)
272 parmConfObj.setup(id, name, value, format)
274
273
275 self.parmConfObjList.append(parmConfObj)
274 self.parmConfObjList.append(parmConfObj)
276
275
277 return parmConfObj
276 return parmConfObj
278
277
279 def changeParameter(self, name, value, format='str'):
278 def changeParameter(self, name, value, format='str'):
280
279
281 parmConfObj = self.getParameterObj(name)
280 parmConfObj = self.getParameterObj(name)
282 parmConfObj.update(name, value, format)
281 parmConfObj.update(name, value, format)
283
282
284 return parmConfObj
283 return parmConfObj
285
284
286 def makeXml(self, upElement):
285 def makeXml(self, upElement):
287
286
288 opElement = SubElement(upElement, self.ELEMENTNAME)
287 opElement = SubElement(upElement, self.ELEMENTNAME)
289 opElement.set('id', str(self.id))
288 opElement.set('id', str(self.id))
290 opElement.set('name', self.name)
289 opElement.set('name', self.name)
291 opElement.set('type', self.type)
290 opElement.set('type', self.type)
292 opElement.set('priority', str(self.priority))
291 opElement.set('priority', str(self.priority))
293
292
294 for parmConfObj in self.parmConfObjList:
293 for parmConfObj in self.parmConfObjList:
295 parmConfObj.makeXml(opElement)
294 parmConfObj.makeXml(opElement)
296
295
297 def readXml(self, opElement):
296 def readXml(self, opElement):
298
297
299 self.id = opElement.get('id')
298 self.id = opElement.get('id')
300 self.name = opElement.get('name')
299 self.name = opElement.get('name')
301 self.type = opElement.get('type')
300 self.type = opElement.get('type')
302 self.priority = opElement.get('priority')
301 self.priority = opElement.get('priority')
303
302
304 #Compatible with old signal chain version
303 #Compatible with old signal chain version
305 #Use of 'run' method instead 'init'
304 #Use of 'run' method instead 'init'
306 if self.type == 'self' and self.name == 'init':
305 if self.type == 'self' and self.name == 'init':
307 self.name = 'run'
306 self.name = 'run'
308
307
309 self.parmConfObjList = []
308 self.parmConfObjList = []
310
309
311 parmElementList = opElement.getiterator(ParameterConf().getElementName())
310 parmElementList = opElement.getiterator(ParameterConf().getElementName())
312
311
313 for parmElement in parmElementList:
312 for parmElement in parmElementList:
314 parmConfObj = ParameterConf()
313 parmConfObj = ParameterConf()
315 parmConfObj.readXml(parmElement)
314 parmConfObj.readXml(parmElement)
316
315
317 #Compatible with old signal chain version
316 #Compatible with old signal chain version
318 #If an 'plot' OPERATION is found, changes name operation by the value of its type PARAMETER
317 #If an 'plot' OPERATION is found, changes name operation by the value of its type PARAMETER
319 if self.type != 'self' and self.name == 'Plot':
318 if self.type != 'self' and self.name == 'Plot':
320 if parmConfObj.format == 'str' and parmConfObj.name == 'type':
319 if parmConfObj.format == 'str' and parmConfObj.name == 'type':
321 self.name = parmConfObj.value
320 self.name = parmConfObj.value
322 continue
321 continue
323
322
324 self.parmConfObjList.append(parmConfObj)
323 self.parmConfObjList.append(parmConfObj)
325
324
326 def printattr(self):
325 def printattr(self):
327
326
328 print "%s[%s]: name = %s, type = %s, priority = %s" %(self.ELEMENTNAME,
327 print "%s[%s]: name = %s, type = %s, priority = %s" %(self.ELEMENTNAME,
329 self.id,
328 self.id,
330 self.name,
329 self.name,
331 self.type,
330 self.type,
332 self.priority)
331 self.priority)
333
332
334 for parmConfObj in self.parmConfObjList:
333 for parmConfObj in self.parmConfObjList:
335 parmConfObj.printattr()
334 parmConfObj.printattr()
336
335
337 def createObject(self):
336 def createObject(self):
338
337
339 if self.type == 'self':
338 if self.type == 'self':
340 raise ValueError, "This operation type cannot be created"
339 raise ValueError, "This operation type cannot be created"
341
340
342 if self.type == 'external' or self.type == 'other':
341 if self.type == 'external' or self.type == 'other':
343 className = eval(self.name)
342 className = eval(self.name)
344 opObj = className()
343 opObj = className()
345
344
346 return opObj
345 return opObj
347
346
348 class ProcUnitConf():
347 class ProcUnitConf():
349
348
350 id = None
349 id = None
351 name = None
350 name = None
352 datatype = None
351 datatype = None
353 inputId = None
352 inputId = None
354 parentId = None
353 parentId = None
355
354
356 opConfObjList = []
355 opConfObjList = []
357
356
358 procUnitObj = None
357 procUnitObj = None
359 opObjList = []
358 opObjList = []
360
359
361 ELEMENTNAME = 'ProcUnit'
360 ELEMENTNAME = 'ProcUnit'
362
361
363 def __init__(self):
362 def __init__(self):
364
363
365 self.id = None
364 self.id = None
366 self.datatype = None
365 self.datatype = None
367 self.name = None
366 self.name = None
368 self.inputId = None
367 self.inputId = None
369
368
370 self.opConfObjList = []
369 self.opConfObjList = []
371
370
372 self.procUnitObj = None
371 self.procUnitObj = None
373 self.opObjDict = {}
372 self.opObjDict = {}
374
373
375 def __getPriority(self):
374 def __getPriority(self):
376
375
377 return len(self.opConfObjList)+1
376 return len(self.opConfObjList)+1
378
377
379 def __getNewId(self):
378 def __getNewId(self):
380
379
381 return int(self.id)*10 + len(self.opConfObjList) + 1
380 return int(self.id)*10 + len(self.opConfObjList) + 1
382
381
383 def getElementName(self):
382 def getElementName(self):
384
383
385 return self.ELEMENTNAME
384 return self.ELEMENTNAME
386
385
387 def getId(self):
386 def getId(self):
388
387
389 return self.id
388 return self.id
390
389
390 def updateId(self, new_id, parentId=parentId):
391
392
393 new_id = int(parentId)*10 + (int(self.id) % 10)
394 new_inputId = int(parentId)*10 + (int(self.inputId) % 10)
395
396 #If this proc unit has not inputs
397 if self.inputId == '0':
398 new_inputId = 0
399
400 n = 1
401 for opConfObj in self.opConfObjList:
402
403 idOp = str(int(new_id)*10 + n)
404 opConfObj.updateId(idOp)
405
406 n += 1
407
408 self.parentId = str(parentId)
409 self.id = str(new_id)
410 self.inputId = str(new_inputId)
411
412
391 def getInputId(self):
413 def getInputId(self):
392
414
393 return self.inputId
415 return self.inputId
394
416
395 def getOperationObjList(self):
417 def getOperationObjList(self):
396
418
397 return self.opConfObjList
419 return self.opConfObjList
398
420
399 def getOperationObj(self, name=None):
421 def getOperationObj(self, name=None):
400
422
401 for opConfObj in self.opConfObjList:
423 for opConfObj in self.opConfObjList:
402
424
403 if opConfObj.name != name:
425 if opConfObj.name != name:
404 continue
426 continue
405
427
406 return opConfObj
428 return opConfObj
407
429
408 return None
430 return None
409
431
410 def getOpObjfromParamValue(self,value=None):
432 def getOpObjfromParamValue(self,value=None):
411
433
412 for opConfObj in self.opConfObjList:
434 for opConfObj in self.opConfObjList:
413 if opConfObj.getParameterObjfromValue(parameterValue=value) != value:
435 if opConfObj.getParameterObjfromValue(parameterValue=value) != value:
414 continue
436 continue
415 return opConfObj
437 return opConfObj
416 return None
438 return None
417
439
418 def getProcUnitObj(self):
440 def getProcUnitObj(self):
419
441
420 return self.procUnitObj
442 return self.procUnitObj
421
443
422 def setup(self, id, name, datatype, inputId, parentId=None):
444 def setup(self, id, name, datatype, inputId, parentId=None):
445
446 #Compatible with old signal chain version
447 if datatype==None and name==None:
448 raise ValueError, "datatype or name should be defined"
423
449
424 self.id = id
450 if name==None:
451 if 'Proc' in datatype:
452 name = datatype
453 else:
454 name = '%sProc' %(datatype)
455
456 if datatype==None:
457 datatype = name.replace('Proc','')
458
459 self.id = str(id)
425 self.name = name
460 self.name = name
426 self.datatype = datatype
461 self.datatype = datatype
427 self.inputId = inputId
462 self.inputId = inputId
428 self.parentId = parentId
463 self.parentId = parentId
429
464
430 self.opConfObjList = []
465 self.opConfObjList = []
431
466
432 self.addOperation(name='run', optype='self')
467 self.addOperation(name='run', optype='self')
433
468
434 def removeOperations(self):
469 def removeOperations(self):
435
470
436 for obj in self.opConfObjList:
471 for obj in self.opConfObjList:
437 del obj
472 del obj
438
473
439 self.opConfObjList = []
474 self.opConfObjList = []
440 self.addOperation(name='run')
475 self.addOperation(name='run')
441
476
442 def addParameter(self, **kwargs):
477 def addParameter(self, **kwargs):
443 '''
478 '''
444 Add parameters to "run" operation
479 Add parameters to "run" operation
445 '''
480 '''
446 opObj = self.opConfObjList[0]
481 opObj = self.opConfObjList[0]
447
482
448 opObj.addParameter(**kwargs)
483 opObj.addParameter(**kwargs)
449
484
450 return opObj
485 return opObj
451
486
452 def addOperation(self, name, optype='self'):
487 def addOperation(self, name, optype='self'):
453
488
454 id = self.__getNewId()
489 id = self.__getNewId()
455 priority = self.__getPriority()
490 priority = self.__getPriority()
456
491
457 opConfObj = OperationConf()
492 opConfObj = OperationConf()
458 opConfObj.setup(id, name=name, priority=priority, type=optype)
493 opConfObj.setup(id, name=name, priority=priority, type=optype)
459
494
460 self.opConfObjList.append(opConfObj)
495 self.opConfObjList.append(opConfObj)
461
496
462 return opConfObj
497 return opConfObj
463
498
464 def makeXml(self, procUnitElement):
499 def makeXml(self, procUnitElement):
465
500
466 upElement = SubElement(procUnitElement, self.ELEMENTNAME)
501 upElement = SubElement(procUnitElement, self.ELEMENTNAME)
467 upElement.set('id', str(self.id))
502 upElement.set('id', str(self.id))
468 upElement.set('name', self.name)
503 upElement.set('name', self.name)
469 upElement.set('datatype', self.datatype)
504 upElement.set('datatype', self.datatype)
470 upElement.set('inputId', str(self.inputId))
505 upElement.set('inputId', str(self.inputId))
471
506
472 for opConfObj in self.opConfObjList:
507 for opConfObj in self.opConfObjList:
473 opConfObj.makeXml(upElement)
508 opConfObj.makeXml(upElement)
474
509
475 def readXml(self, upElement):
510 def readXml(self, upElement):
476
511
477 self.id = upElement.get('id')
512 self.id = upElement.get('id')
478 self.name = upElement.get('name')
513 self.name = upElement.get('name')
479 self.datatype = upElement.get('datatype')
514 self.datatype = upElement.get('datatype')
480 self.inputId = upElement.get('inputId')
515 self.inputId = upElement.get('inputId')
481
516
517 if self.ELEMENTNAME == "ReadUnit":
518 self.datatype = self.datatype.replace("Reader", "")
519
520 if self.ELEMENTNAME == "ProcUnit":
521 self.datatype = self.datatype.replace("Proc", "")
522
482 if self.inputId == 'None':
523 if self.inputId == 'None':
483 self.inputId = '0'
524 self.inputId = '0'
484
525
485 self.opConfObjList = []
526 self.opConfObjList = []
486
527
487 opElementList = upElement.getiterator(OperationConf().getElementName())
528 opElementList = upElement.getiterator(OperationConf().getElementName())
488
529
489 for opElement in opElementList:
530 for opElement in opElementList:
490 opConfObj = OperationConf()
531 opConfObj = OperationConf()
491 opConfObj.readXml(opElement)
532 opConfObj.readXml(opElement)
492 self.opConfObjList.append(opConfObj)
533 self.opConfObjList.append(opConfObj)
493
534
494 def printattr(self):
535 def printattr(self):
495
536
496 print "%s[%s]: name = %s, datatype = %s, inputId = %s" %(self.ELEMENTNAME,
537 print "%s[%s]: name = %s, datatype = %s, inputId = %s" %(self.ELEMENTNAME,
497 self.id,
538 self.id,
498 self.name,
539 self.name,
499 self.datatype,
540 self.datatype,
500 self.inputId)
541 self.inputId)
501
542
502 for opConfObj in self.opConfObjList:
543 for opConfObj in self.opConfObjList:
503 opConfObj.printattr()
544 opConfObj.printattr()
504
545
505 def createObjects(self):
546 def createObjects(self):
506
547
507 className = eval(self.name)
548 className = eval(self.name)
508 procUnitObj = className()
549 procUnitObj = className()
509
550
510 for opConfObj in self.opConfObjList:
551 for opConfObj in self.opConfObjList:
511
552
512 if opConfObj.type == 'self':
553 if opConfObj.type == 'self':
513 continue
554 continue
514
555
515 opObj = opConfObj.createObject()
556 opObj = opConfObj.createObject()
516
557
517 self.opObjDict[opConfObj.id] = opObj
558 self.opObjDict[opConfObj.id] = opObj
518 procUnitObj.addOperation(opObj, opConfObj.id)
559 procUnitObj.addOperation(opObj, opConfObj.id)
519
560
520 self.procUnitObj = procUnitObj
561 self.procUnitObj = procUnitObj
521
562
522 return procUnitObj
563 return procUnitObj
523
564
524 def run(self):
565 def run(self):
525
566
526 finalSts = False
567 finalSts = False
527
568
528 for opConfObj in self.opConfObjList:
569 for opConfObj in self.opConfObjList:
529
570
530 kwargs = {}
571 kwargs = {}
531 for parmConfObj in opConfObj.getParameterObjList():
572 for parmConfObj in opConfObj.getParameterObjList():
532 if opConfObj.name == 'run' and parmConfObj.name == 'datatype':
573 if opConfObj.name == 'run' and parmConfObj.name == 'datatype':
533 continue
574 continue
534
575
535 kwargs[parmConfObj.name] = parmConfObj.getValue()
576 kwargs[parmConfObj.name] = parmConfObj.getValue()
536
577
537 #print "\tRunning the '%s' operation with %s" %(opConfObj.name, opConfObj.id)
578 #print "\tRunning the '%s' operation with %s" %(opConfObj.name, opConfObj.id)
538 sts = self.procUnitObj.call(opType = opConfObj.type,
579 sts = self.procUnitObj.call(opType = opConfObj.type,
539 opName = opConfObj.name,
580 opName = opConfObj.name,
540 opId = opConfObj.id,
581 opId = opConfObj.id,
541 **kwargs)
582 **kwargs)
542 finalSts = finalSts or sts
583 finalSts = finalSts or sts
543
584
544 return finalSts
585 return finalSts
545
586
546 def close(self):
587 def close(self):
547
588
548 for opConfObj in self.opConfObjList:
589 for opConfObj in self.opConfObjList:
549 if opConfObj.type == 'self':
590 if opConfObj.type == 'self':
550 continue
591 continue
551
592
552 opObj = self.procUnitObj.getOperationObj(opConfObj.id)
593 opObj = self.procUnitObj.getOperationObj(opConfObj.id)
553 opObj.close()
594 opObj.close()
554
595
555 self.procUnitObj.close()
596 self.procUnitObj.close()
556
597
557 return
598 return
558
599
559 class ReadUnitConf(ProcUnitConf):
600 class ReadUnitConf(ProcUnitConf):
560
601
561 path = None
602 path = None
562 startDate = None
603 startDate = None
563 endDate = None
604 endDate = None
564 startTime = None
605 startTime = None
565 endTime = None
606 endTime = None
566
607
567 ELEMENTNAME = 'ReadUnit'
608 ELEMENTNAME = 'ReadUnit'
568
609
569 def __init__(self):
610 def __init__(self):
570
611
571 self.id = None
612 self.id = None
572 self.datatype = None
613 self.datatype = None
573 self.name = None
614 self.name = None
574 self.inputId = None
615 self.inputId = None
575
616
576 self.parentId = None
617 self.parentId = None
577
618
578 self.opConfObjList = []
619 self.opConfObjList = []
579 self.opObjList = []
620 self.opObjList = []
580
621
581 def getElementName(self):
622 def getElementName(self):
582
623
583 return self.ELEMENTNAME
624 return self.ELEMENTNAME
584
625
585 def setup(self, id, name, datatype, path, startDate="", endDate="", startTime="", endTime="", parentId=None, **kwargs):
626 def setup(self, id, name, datatype, path, startDate="", endDate="", startTime="", endTime="", parentId=None, **kwargs):
627
628 #Compatible with old signal chain version
629 if datatype==None and name==None:
630 raise ValueError, "datatype or name should be defined"
631
632 if name==None:
633 if 'Reader' in datatype:
634 name = datatype
635 else:
636 name = '%sReader' %(datatype)
586
637
638 if datatype==None:
639 datatype = name.replace('Reader','')
640
587 self.id = id
641 self.id = id
588 self.name = name
642 self.name = name
589 self.datatype = datatype
643 self.datatype = datatype
590
644
591 self.path = path
645 self.path = path
592 self.startDate = startDate
646 self.startDate = startDate
593 self.endDate = endDate
647 self.endDate = endDate
594 self.startTime = startTime
648 self.startTime = startTime
595 self.endTime = endTime
649 self.endTime = endTime
596
650
597 self.inputId = '0'
651 self.inputId = '0'
598 self.parentId = parentId
652 self.parentId = parentId
599
653
600 self.addRunOperation(**kwargs)
654 self.addRunOperation(**kwargs)
601
655
602 def update(self, datatype, path, startDate, endDate, startTime, endTime, parentId=None, name=None, **kwargs):
656 def update(self, datatype, path, startDate, endDate, startTime, endTime, parentId=None, name=None, **kwargs):
603
657
658 #Compatible with old signal chain version
659 if datatype==None and name==None:
660 raise ValueError, "datatype or name should be defined"
661
604 if name==None:
662 if name==None:
605 if 'Reader' in datatype:
663 if 'Reader' in datatype:
606 name = datatype
664 name = datatype
607 else:
665 else:
608 name = '%sReader' %(datatype)
666 name = '%sReader' %(datatype)
609
667
610 if datatype==None:
668 if datatype==None:
611 datatype = name.replace('Reader','')
669 datatype = name.replace('Reader','')
612
670
613 self.datatype = datatype
671 self.datatype = datatype
614 self.name = name
672 self.name = name
615 self.path = path
673 self.path = path
616 self.startDate = startDate
674 self.startDate = startDate
617 self.endDate = endDate
675 self.endDate = endDate
618 self.startTime = startTime
676 self.startTime = startTime
619 self.endTime = endTime
677 self.endTime = endTime
620
678
621 self.inputId = None
679 self.inputId = '0'
622 self.parentId = parentId
680 self.parentId = parentId
623
681
624 self.updateRunOperation(**kwargs)
682 self.updateRunOperation(**kwargs)
625
683
626 def addRunOperation(self, **kwargs):
684 def addRunOperation(self, **kwargs):
627
685
628 opObj = self.addOperation(name = 'run', optype = 'self')
686 opObj = self.addOperation(name = 'run', optype = 'self')
629
687
630 opObj.addParameter(name='datatype' , value=self.datatype, format='str')
688 opObj.addParameter(name='datatype' , value=self.datatype, format='str')
631 opObj.addParameter(name='path' , value=self.path, format='str')
689 opObj.addParameter(name='path' , value=self.path, format='str')
632 opObj.addParameter(name='startDate' , value=self.startDate, format='date')
690 opObj.addParameter(name='startDate' , value=self.startDate, format='date')
633 opObj.addParameter(name='endDate' , value=self.endDate, format='date')
691 opObj.addParameter(name='endDate' , value=self.endDate, format='date')
634 opObj.addParameter(name='startTime' , value=self.startTime, format='time')
692 opObj.addParameter(name='startTime' , value=self.startTime, format='time')
635 opObj.addParameter(name='endTime' , value=self.endTime, format='time')
693 opObj.addParameter(name='endTime' , value=self.endTime, format='time')
636
694
637 for key, value in kwargs.items():
695 for key, value in kwargs.items():
638 opObj.addParameter(name=key, value=value, format=type(value).__name__)
696 opObj.addParameter(name=key, value=value, format=type(value).__name__)
639
697
640 return opObj
698 return opObj
641
699
642 def updateRunOperation(self, **kwargs):
700 def updateRunOperation(self, **kwargs):
643
701
644 opObj = self.getOperationObj(name = 'run')
702 opObj = self.getOperationObj(name = 'run')
645 opObj.removeParameters()
703 opObj.removeParameters()
646
704
647 opObj.addParameter(name='datatype' , value=self.datatype, format='str')
705 opObj.addParameter(name='datatype' , value=self.datatype, format='str')
648 opObj.addParameter(name='path' , value=self.path, format='str')
706 opObj.addParameter(name='path' , value=self.path, format='str')
649 opObj.addParameter(name='startDate' , value=self.startDate, format='date')
707 opObj.addParameter(name='startDate' , value=self.startDate, format='date')
650 opObj.addParameter(name='endDate' , value=self.endDate, format='date')
708 opObj.addParameter(name='endDate' , value=self.endDate, format='date')
651 opObj.addParameter(name='startTime' , value=self.startTime, format='time')
709 opObj.addParameter(name='startTime' , value=self.startTime, format='time')
652 opObj.addParameter(name='endTime' , value=self.endTime, format='time')
710 opObj.addParameter(name='endTime' , value=self.endTime, format='time')
653
711
654 for key, value in kwargs.items():
712 for key, value in kwargs.items():
655 opObj.addParameter(name=key, value=value, format=type(value).__name__)
713 opObj.addParameter(name=key, value=value, format=type(value).__name__)
656
714
657 return opObj
715 return opObj
658
716
659 class Project():
717 class Project():
660
718
661 id = None
719 id = None
662 name = None
720 name = None
663 description = None
721 description = None
664 # readUnitConfObjList = None
722 # readUnitConfObjList = None
665 procUnitConfObjDict = None
723 procUnitConfObjDict = None
666
724
667 ELEMENTNAME = 'Project'
725 ELEMENTNAME = 'Project'
668
726
669 def __init__(self, control=None, dataq=None):
727 def __init__(self, control=None, dataq=None):
670
728
671 self.id = None
729 self.id = None
672 self.name = None
730 self.name = None
673 self.description = None
731 self.description = None
674
732
675 self.procUnitConfObjDict = {}
733 self.procUnitConfObjDict = {}
676
734
677 #global data_q
735 #global data_q
678 #data_q = dataq
736 #data_q = dataq
679
737
680 if control==None:
738 if control==None:
681 control = {}
739 control = {'stop':False,'pause':False}
682 control['stop'] = False
683 control['pause'] = False
684
740
685 self.control = control
741 self.control = control
686
742
687 def __getNewId(self):
743 def __getNewId(self):
688
744
689 id = int(self.id)*10 + len(self.procUnitConfObjDict) + 1
745 id = int(self.id)*10 + len(self.procUnitConfObjDict) + 1
690
746
691 return str(id)
747 return str(id)
692
748
693 def getElementName(self):
749 def getElementName(self):
694
750
695 return self.ELEMENTNAME
751 return self.ELEMENTNAME
696
752
697 def getId(self):
753 def getId(self):
698
754
699 return self.id
755 return self.id
700
756
757 def updateId(self, new_id):
758
759 self.id = str(new_id)
760
761 keyList = self.procUnitConfObjDict.keys()
762 keyList.sort()
763
764 n = 1
765 newProcUnitConfObjDict = {}
766
767 for procKey in keyList:
768
769 procUnitConfObj = self.procUnitConfObjDict[procKey]
770 idProcUnit = str(int(self.id)*10 + n)
771 procUnitConfObj.updateId(idProcUnit, parentId = self.id)
772
773 newProcUnitConfObjDict[idProcUnit] = procUnitConfObj
774 n += 1
775
776 self.procUnitConfObjDict = newProcUnitConfObjDict
777
701 def setup(self, id, name, description):
778 def setup(self, id, name, description):
702
779
703 self.id = id
780 self.id = str(id)
704 self.name = name
781 self.name = name
705 self.description = description
782 self.description = description
706
783
707 def update(self, name, description):
784 def update(self, name, description):
708
785
709 self.name = name
786 self.name = name
710 self.description = description
787 self.description = description
711
788
712 def addReadUnit(self, datatype=None, name=None, **kwargs):
789 def addReadUnit(self, datatype=None, name=None, **kwargs):
713
714 #Compatible with old signal chain version
715 if datatype==None and name==None:
716 raise ValueError, "datatype or name should be defined"
717
718 if name==None:
719 if 'Reader' in datatype:
720 name = datatype
721 else:
722 name = '%sReader' %(datatype)
723
724 if datatype==None:
725 datatype = name.replace('Reader','')
726
790
727 idReadUnit = self.__getNewId()
791 idReadUnit = self.__getNewId()
728
792
729 readUnitConfObj = ReadUnitConf()
793 readUnitConfObj = ReadUnitConf()
730 readUnitConfObj.setup(idReadUnit, name, datatype, parentId=self.id, **kwargs)
794 readUnitConfObj.setup(idReadUnit, name, datatype, parentId=self.id, **kwargs)
731
795
732 self.procUnitConfObjDict[readUnitConfObj.getId()] = readUnitConfObj
796 self.procUnitConfObjDict[readUnitConfObj.getId()] = readUnitConfObj
733
797
734 return readUnitConfObj
798 return readUnitConfObj
735
799
736 def addProcUnit(self, inputId='0', datatype=None, name=None):
800 def addProcUnit(self, inputId='0', datatype=None, name=None):
737
801
738 #Compatible with old signal chain version
739 if datatype==None and name==None:
740 raise ValueError, "datatype or name should be defined"
741
742 if name==None:
743 if 'Proc' in datatype:
744 name = datatype
745 else:
746 name = '%sProc' %(datatype)
747
748 if datatype==None:
749 datatype = name.replace('Proc','')
750
751 idProcUnit = self.__getNewId()
802 idProcUnit = self.__getNewId()
752
803
753 procUnitConfObj = ProcUnitConf()
804 procUnitConfObj = ProcUnitConf()
754 procUnitConfObj.setup(idProcUnit, name, datatype, inputId, parentId=self.id)
805 procUnitConfObj.setup(idProcUnit, name, datatype, inputId, parentId=self.id)
755
806
756 self.procUnitConfObjDict[procUnitConfObj.getId()] = procUnitConfObj
807 self.procUnitConfObjDict[procUnitConfObj.getId()] = procUnitConfObj
757
808
758 return procUnitConfObj
809 return procUnitConfObj
759
810
760 def removeProcUnit(self, id):
811 def removeProcUnit(self, id):
761
812
762 if id in self.procUnitConfObjDict.keys():
813 if id in self.procUnitConfObjDict.keys():
763 self.procUnitConfObjDict.pop(id)
814 self.procUnitConfObjDict.pop(id)
764
815
765 def getReadUnitId(self):
816 def getReadUnitId(self):
766
817
767 readUnitConfObj = self.getReadUnitObj()
818 readUnitConfObj = self.getReadUnitObj()
768
819
769 return readUnitConfObj.id
820 return readUnitConfObj.id
770
821
771 def getReadUnitObj(self):
822 def getReadUnitObj(self):
772
823
773 for obj in self.procUnitConfObjDict.values():
824 for obj in self.procUnitConfObjDict.values():
774 if obj.getElementName() == "ReadUnit":
825 if obj.getElementName() == "ReadUnit":
775 return obj
826 return obj
776
827
777 return None
828 return None
778
829
779 def getProcUnitObj(self, id):
830 def getProcUnitObj(self, id):
780
831
781 return self.procUnitConfObjDict[id]
832 return self.procUnitConfObjDict[id]
782
833
783 def getProcUnitObjByName(self, name):
834 def getProcUnitObjByName(self, name):
784
835
785 for obj in self.procUnitConfObjDict.values():
836 for obj in self.procUnitConfObjDict.values():
786 if obj.name == name:
837 if obj.name == name:
787 return obj
838 return obj
788
839
789 return None
840 return None
790
841
791 def makeXml(self):
842 def makeXml(self):
792
843
793 projectElement = Element('Project')
844 projectElement = Element('Project')
794 projectElement.set('id', str(self.id))
845 projectElement.set('id', str(self.id))
795 projectElement.set('name', self.name)
846 projectElement.set('name', self.name)
796 projectElement.set('description', self.description)
847 projectElement.set('description', self.description)
797
848
798 # for readUnitConfObj in self.readUnitConfObjList:
849 # for readUnitConfObj in self.readUnitConfObjList:
799 # readUnitConfObj.makeXml(projectElement)
850 # readUnitConfObj.makeXml(projectElement)
800
851
801 for procUnitConfObj in self.procUnitConfObjDict.values():
852 for procUnitConfObj in self.procUnitConfObjDict.values():
802 procUnitConfObj.makeXml(projectElement)
853 procUnitConfObj.makeXml(projectElement)
803
854
804 self.projectElement = projectElement
855 self.projectElement = projectElement
805
856
806 def writeXml(self, filename):
857 def writeXml(self, filename):
807
858
808 self.makeXml()
859 self.makeXml()
809
860
810 #print prettify(self.projectElement)
861 #print prettify(self.projectElement)
811
862
812 ElementTree(self.projectElement).write(filename, method='xml')
863 ElementTree(self.projectElement).write(filename, method='xml')
813
864
814 def readXml(self, filename):
865 def readXml(self, filename):
815
866
816 #tree = ET.parse(filename)
867 #tree = ET.parse(filename)
817 self.projectElement = None
868 self.projectElement = None
818 # self.readUnitConfObjList = []
869 # self.readUnitConfObjList = []
819 self.procUnitConfObjDict = {}
870 self.procUnitConfObjDict = {}
820
871
821 self.projectElement = ElementTree().parse(filename)
872 self.projectElement = ElementTree().parse(filename)
822
873
823 self.project = self.projectElement.tag
874 self.project = self.projectElement.tag
824
875
825 self.id = self.projectElement.get('id')
876 self.id = self.projectElement.get('id')
826 self.name = self.projectElement.get('name')
877 self.name = self.projectElement.get('name')
827 self.description = self.projectElement.get('description')
878 self.description = self.projectElement.get('description')
828
879
829 readUnitElementList = self.projectElement.getiterator(ReadUnitConf().getElementName())
880 readUnitElementList = self.projectElement.getiterator(ReadUnitConf().getElementName())
830
881
831 for readUnitElement in readUnitElementList:
882 for readUnitElement in readUnitElementList:
832 readUnitConfObj = ReadUnitConf()
883 readUnitConfObj = ReadUnitConf()
833 readUnitConfObj.readXml(readUnitElement)
884 readUnitConfObj.readXml(readUnitElement)
834
885
835 if readUnitConfObj.parentId == None:
886 if readUnitConfObj.parentId == None:
836 readUnitConfObj.parentId = self.id
887 readUnitConfObj.parentId = self.id
837
888
838 self.procUnitConfObjDict[readUnitConfObj.getId()] = readUnitConfObj
889 self.procUnitConfObjDict[readUnitConfObj.getId()] = readUnitConfObj
839
890
840 procUnitElementList = self.projectElement.getiterator(ProcUnitConf().getElementName())
891 procUnitElementList = self.projectElement.getiterator(ProcUnitConf().getElementName())
841
892
842 for procUnitElement in procUnitElementList:
893 for procUnitElement in procUnitElementList:
843 procUnitConfObj = ProcUnitConf()
894 procUnitConfObj = ProcUnitConf()
844 procUnitConfObj.readXml(procUnitElement)
895 procUnitConfObj.readXml(procUnitElement)
845
896
846 if procUnitConfObj.parentId == None:
897 if procUnitConfObj.parentId == None:
847 procUnitConfObj.parentId = self.id
898 procUnitConfObj.parentId = self.id
848
899
849 self.procUnitConfObjDict[procUnitConfObj.getId()] = procUnitConfObj
900 self.procUnitConfObjDict[procUnitConfObj.getId()] = procUnitConfObj
850
901
851 def printattr(self):
902 def printattr(self):
852
903
853 print "Project[%s]: name = %s, description = %s" %(self.id,
904 print "Project[%s]: name = %s, description = %s" %(self.id,
854 self.name,
905 self.name,
855 self.description)
906 self.description)
856
907
857 # for readUnitConfObj in self.readUnitConfObjList:
908 # for readUnitConfObj in self.readUnitConfObjList:
858 # readUnitConfObj.printattr()
909 # readUnitConfObj.printattr()
859
910
860 for procUnitConfObj in self.procUnitConfObjDict.values():
911 for procUnitConfObj in self.procUnitConfObjDict.values():
861 procUnitConfObj.printattr()
912 procUnitConfObj.printattr()
862
913
863 def createObjects(self):
914 def createObjects(self):
864
915
865 # for readUnitConfObj in self.readUnitConfObjList:
916 # for readUnitConfObj in self.readUnitConfObjList:
866 # readUnitConfObj.createObjects()
917 # readUnitConfObj.createObjects()
867
918
868 for procUnitConfObj in self.procUnitConfObjDict.values():
919 for procUnitConfObj in self.procUnitConfObjDict.values():
869 procUnitConfObj.createObjects()
920 procUnitConfObj.createObjects()
870
921
871 def __connect(self, objIN, thisObj):
922 def __connect(self, objIN, thisObj):
872
923
873 thisObj.setInput(objIN.getOutputObj())
924 thisObj.setInput(objIN.getOutputObj())
874
925
875 def connectObjects(self):
926 def connectObjects(self):
876
927
877 for thisPUConfObj in self.procUnitConfObjDict.values():
928 for thisPUConfObj in self.procUnitConfObjDict.values():
878
929
879 inputId = thisPUConfObj.getInputId()
930 inputId = thisPUConfObj.getInputId()
880
931
881 if int(inputId) == 0:
932 if int(inputId) == 0:
882 continue
933 continue
883
934
884 #Get input object
935 #Get input object
885 puConfINObj = self.procUnitConfObjDict[inputId]
936 puConfINObj = self.procUnitConfObjDict[inputId]
886 puObjIN = puConfINObj.getProcUnitObj()
937 puObjIN = puConfINObj.getProcUnitObj()
887
938
888 #Get current object
939 #Get current object
889 thisPUObj = thisPUConfObj.getProcUnitObj()
940 thisPUObj = thisPUConfObj.getProcUnitObj()
890
941
891 self.__connect(puObjIN, thisPUObj)
942 self.__connect(puObjIN, thisPUObj)
892
943
893 def run(self):
944 def run(self):
894
945
895 # for readUnitConfObj in self.readUnitConfObjList:
946 # for readUnitConfObj in self.readUnitConfObjList:
896 # readUnitConfObj.run()
947 # readUnitConfObj.run()
897 print
948 print
898 print "*"*40
949 print "*"*40
899 print " Starting SIGNAL CHAIN PROCESSING "
950 print " Starting SIGNAL CHAIN PROCESSING "
900 print "*"*40
951 print "*"*40
901 print
952 print
902
953
903 keyList = self.procUnitConfObjDict.keys()
954 keyList = self.procUnitConfObjDict.keys()
904 keyList.sort()
955 keyList.sort()
905
956
906 while(True):
957 while(True):
907
958
908 finalSts = False
959 finalSts = False
909
960
910 for procKey in keyList:
961 for procKey in keyList:
911 # print "Running the '%s' process with %s" %(procUnitConfObj.name, procUnitConfObj.id)
962 # print "Running the '%s' process with %s" %(procUnitConfObj.name, procUnitConfObj.id)
912
963
913 procUnitConfObj = self.procUnitConfObjDict[procKey]
964 procUnitConfObj = self.procUnitConfObjDict[procKey]
914 sts = procUnitConfObj.run()
965 sts = procUnitConfObj.run()
915 finalSts = finalSts or sts
966 finalSts = finalSts or sts
916
967
917 #If every process unit finished so end process
968 #If every process unit finished so end process
918 if not(finalSts):
969 if not(finalSts):
919 print "Every process unit have finished"
970 print "Every process unit have finished"
920 break
971 break
921
972
922 if self.control['pause']:
973 if self.control['pause']:
923 print "Process suspended"
974 print "Process suspended"
924
975
925 while True:
976 while True:
926 sleep(0.1)
977 sleep(0.1)
927
978
928 if not self.control['pause']:
979 if not self.control['pause']:
929 break
980 break
930
981
931 if self.control['stop']:
982 if self.control['stop']:
932 break
983 break
933 print "Process reinitialized"
984 print "Process reinitialized"
934
985
935 if self.control['stop']:
986 if self.control['stop']:
936 print "Process stopped"
987 print "Process stopped"
937 break
988 break
938
989
939 #Closing every process
990 #Closing every process
940 for procKey in keyList:
991 for procKey in keyList:
941 procUnitConfObj = self.procUnitConfObjDict[procKey]
992 procUnitConfObj = self.procUnitConfObjDict[procKey]
942 procUnitConfObj.close()
993 procUnitConfObj.close()
943
994
944 print "Process finished"
995 print "Process finished"
945
996
946 def start(self, filename):
997 def start(self, filename):
947
998
948 self.writeXml(filename)
999 self.writeXml(filename)
949 self.readXml(filename)
1000 self.readXml(filename)
950
1001
951 self.createObjects()
1002 self.createObjects()
952 self.connectObjects()
1003 self.connectObjects()
953 self.run()
1004 self.run()
1005
1006 class ControllerThread(threading.Thread, Project):
1007
1008 def __init__(self, filename):
1009
1010 threading.Thread.__init__(self)
1011 Project.__init__(self)
1012
1013 self.setDaemon(True)
1014
1015 self.filename = filename
1016 self.control = {'stop':False, 'pause':False}
954
1017
1018 def stop(self):
1019 self.control['stop'] = True
1020
1021 def pause(self):
1022 self.control['pause'] = not(self.control['pause'])
1023
1024 def run(self):
1025 self.control['stop'] = False
1026 self.control['pause'] = False
1027
1028 self.readXml(self.filename)
1029 self.createObjects()
1030 self.connectObjects()
1031 Project.run(self)
1032
955 if __name__ == '__main__':
1033 if __name__ == '__main__':
956
1034
957 desc = "Segundo Test"
1035 desc = "Segundo Test"
958 filename = "schain.xml"
1036 filename = "schain.xml"
959
1037
960 controllerObj = Project()
1038 controllerObj = Project()
961
1039
962 controllerObj.setup(id = '191', name='test01', description=desc)
1040 controllerObj.setup(id = '191', name='test01', description=desc)
963
1041
964 readUnitConfObj = controllerObj.addReadUnit(datatype='Voltage',
1042 readUnitConfObj = controllerObj.addReadUnit(datatype='Voltage',
965 path='data/rawdata/',
1043 path='data/rawdata/',
966 startDate='2011/01/01',
1044 startDate='2011/01/01',
967 endDate='2012/12/31',
1045 endDate='2012/12/31',
968 startTime='00:00:00',
1046 startTime='00:00:00',
969 endTime='23:59:59',
1047 endTime='23:59:59',
970 online=1,
1048 online=1,
971 walk=1)
1049 walk=1)
972
1050
973 # opObj00 = readUnitConfObj.addOperation(name='printInfo')
1051 # opObj00 = readUnitConfObj.addOperation(name='printInfo')
974
1052
975 procUnitConfObj0 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId())
1053 procUnitConfObj0 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId())
976
1054
977 opObj10 = procUnitConfObj0.addOperation(name='selectChannels')
1055 opObj10 = procUnitConfObj0.addOperation(name='selectChannels')
978 opObj10.addParameter(name='channelList', value='3,4,5', format='intlist')
1056 opObj10.addParameter(name='channelList', value='3,4,5', format='intlist')
979
1057
980 opObj10 = procUnitConfObj0.addOperation(name='selectHeights')
1058 opObj10 = procUnitConfObj0.addOperation(name='selectHeights')
981 opObj10.addParameter(name='minHei', value='90', format='float')
1059 opObj10.addParameter(name='minHei', value='90', format='float')
982 opObj10.addParameter(name='maxHei', value='180', format='float')
1060 opObj10.addParameter(name='maxHei', value='180', format='float')
983
1061
984 opObj12 = procUnitConfObj0.addOperation(name='CohInt', optype='external')
1062 opObj12 = procUnitConfObj0.addOperation(name='CohInt', optype='external')
985 opObj12.addParameter(name='n', value='10', format='int')
1063 opObj12.addParameter(name='n', value='10', format='int')
986
1064
987 procUnitConfObj1 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj0.getId())
1065 procUnitConfObj1 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj0.getId())
988 procUnitConfObj1.addParameter(name='nFFTPoints', value='32', format='int')
1066 procUnitConfObj1.addParameter(name='nFFTPoints', value='32', format='int')
989 # procUnitConfObj1.addParameter(name='pairList', value='(0,1),(0,2),(1,2)', format='')
1067 # procUnitConfObj1.addParameter(name='pairList', value='(0,1),(0,2),(1,2)', format='')
990
1068
991
1069
992 opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='external')
1070 opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='external')
993 opObj11.addParameter(name='idfigure', value='1', format='int')
1071 opObj11.addParameter(name='idfigure', value='1', format='int')
994 opObj11.addParameter(name='wintitle', value='SpectraPlot0', format='str')
1072 opObj11.addParameter(name='wintitle', value='SpectraPlot0', format='str')
995 opObj11.addParameter(name='zmin', value='40', format='int')
1073 opObj11.addParameter(name='zmin', value='40', format='int')
996 opObj11.addParameter(name='zmax', value='90', format='int')
1074 opObj11.addParameter(name='zmax', value='90', format='int')
997 opObj11.addParameter(name='showprofile', value='1', format='int')
1075 opObj11.addParameter(name='showprofile', value='1', format='int')
998
1076
999 # opObj11 = procUnitConfObj1.addOperation(name='CrossSpectraPlot', optype='external')
1077 # opObj11 = procUnitConfObj1.addOperation(name='CrossSpectraPlot', optype='external')
1000 # opObj11.addParameter(name='idfigure', value='2', format='int')
1078 # opObj11.addParameter(name='idfigure', value='2', format='int')
1001 # opObj11.addParameter(name='wintitle', value='CrossSpectraPlot', format='str')
1079 # opObj11.addParameter(name='wintitle', value='CrossSpectraPlot', format='str')
1002 # opObj11.addParameter(name='zmin', value='40', format='int')
1080 # opObj11.addParameter(name='zmin', value='40', format='int')
1003 # opObj11.addParameter(name='zmax', value='90', format='int')
1081 # opObj11.addParameter(name='zmax', value='90', format='int')
1004
1082
1005
1083
1006 # procUnitConfObj2 = controllerObj.addProcUnit(datatype='Voltage', inputId=procUnitConfObj0.getId())
1084 # procUnitConfObj2 = controllerObj.addProcUnit(datatype='Voltage', inputId=procUnitConfObj0.getId())
1007 #
1085 #
1008 # opObj12 = procUnitConfObj2.addOperation(name='CohInt', optype='external')
1086 # opObj12 = procUnitConfObj2.addOperation(name='CohInt', optype='external')
1009 # opObj12.addParameter(name='n', value='2', format='int')
1087 # opObj12.addParameter(name='n', value='2', format='int')
1010 # opObj12.addParameter(name='overlapping', value='1', format='int')
1088 # opObj12.addParameter(name='overlapping', value='1', format='int')
1011 #
1089 #
1012 # procUnitConfObj3 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj2.getId())
1090 # procUnitConfObj3 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj2.getId())
1013 # procUnitConfObj3.addParameter(name='nFFTPoints', value='32', format='int')
1091 # procUnitConfObj3.addParameter(name='nFFTPoints', value='32', format='int')
1014 #
1092 #
1015 # opObj11 = procUnitConfObj3.addOperation(name='SpectraPlot', optype='external')
1093 # opObj11 = procUnitConfObj3.addOperation(name='SpectraPlot', optype='external')
1016 # opObj11.addParameter(name='idfigure', value='2', format='int')
1094 # opObj11.addParameter(name='idfigure', value='2', format='int')
1017 # opObj11.addParameter(name='wintitle', value='SpectraPlot1', format='str')
1095 # opObj11.addParameter(name='wintitle', value='SpectraPlot1', format='str')
1018 # opObj11.addParameter(name='zmin', value='40', format='int')
1096 # opObj11.addParameter(name='zmin', value='40', format='int')
1019 # opObj11.addParameter(name='zmax', value='90', format='int')
1097 # opObj11.addParameter(name='zmax', value='90', format='int')
1020 # opObj11.addParameter(name='showprofile', value='1', format='int')
1098 # opObj11.addParameter(name='showprofile', value='1', format='int')
1021
1099
1022 # opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='external')
1100 # opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='external')
1023 # opObj11.addParameter(name='idfigure', value='10', format='int')
1101 # opObj11.addParameter(name='idfigure', value='10', format='int')
1024 # opObj11.addParameter(name='wintitle', value='RTI', format='str')
1102 # opObj11.addParameter(name='wintitle', value='RTI', format='str')
1025 ## opObj11.addParameter(name='xmin', value='21', format='float')
1103 ## opObj11.addParameter(name='xmin', value='21', format='float')
1026 ## opObj11.addParameter(name='xmax', value='22', format='float')
1104 ## opObj11.addParameter(name='xmax', value='22', format='float')
1027 # opObj11.addParameter(name='zmin', value='40', format='int')
1105 # opObj11.addParameter(name='zmin', value='40', format='int')
1028 # opObj11.addParameter(name='zmax', value='90', format='int')
1106 # opObj11.addParameter(name='zmax', value='90', format='int')
1029 # opObj11.addParameter(name='showprofile', value='1', format='int')
1107 # opObj11.addParameter(name='showprofile', value='1', format='int')
1030 # opObj11.addParameter(name='timerange', value=str(60), format='int')
1108 # opObj11.addParameter(name='timerange', value=str(60), format='int')
1031
1109
1032 # opObj10 = procUnitConfObj1.addOperation(name='selectChannels')
1110 # opObj10 = procUnitConfObj1.addOperation(name='selectChannels')
1033 # opObj10.addParameter(name='channelList', value='0,2,4,6', format='intlist')
1111 # opObj10.addParameter(name='channelList', value='0,2,4,6', format='intlist')
1034 #
1112 #
1035 # opObj12 = procUnitConfObj1.addOperation(name='IncohInt', optype='external')
1113 # opObj12 = procUnitConfObj1.addOperation(name='IncohInt', optype='external')
1036 # opObj12.addParameter(name='n', value='2', format='int')
1114 # opObj12.addParameter(name='n', value='2', format='int')
1037 #
1115 #
1038 # opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='external')
1116 # opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='external')
1039 # opObj11.addParameter(name='idfigure', value='2', format='int')
1117 # opObj11.addParameter(name='idfigure', value='2', format='int')
1040 # opObj11.addParameter(name='wintitle', value='SpectraPlot10', format='str')
1118 # opObj11.addParameter(name='wintitle', value='SpectraPlot10', format='str')
1041 # opObj11.addParameter(name='zmin', value='70', format='int')
1119 # opObj11.addParameter(name='zmin', value='70', format='int')
1042 # opObj11.addParameter(name='zmax', value='90', format='int')
1120 # opObj11.addParameter(name='zmax', value='90', format='int')
1043 #
1121 #
1044 # opObj10 = procUnitConfObj1.addOperation(name='selectChannels')
1122 # opObj10 = procUnitConfObj1.addOperation(name='selectChannels')
1045 # opObj10.addParameter(name='channelList', value='2,6', format='intlist')
1123 # opObj10.addParameter(name='channelList', value='2,6', format='intlist')
1046 #
1124 #
1047 # opObj12 = procUnitConfObj1.addOperation(name='IncohInt', optype='external')
1125 # opObj12 = procUnitConfObj1.addOperation(name='IncohInt', optype='external')
1048 # opObj12.addParameter(name='n', value='2', format='int')
1126 # opObj12.addParameter(name='n', value='2', format='int')
1049 #
1127 #
1050 # opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='external')
1128 # opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='external')
1051 # opObj11.addParameter(name='idfigure', value='3', format='int')
1129 # opObj11.addParameter(name='idfigure', value='3', format='int')
1052 # opObj11.addParameter(name='wintitle', value='SpectraPlot10', format='str')
1130 # opObj11.addParameter(name='wintitle', value='SpectraPlot10', format='str')
1053 # opObj11.addParameter(name='zmin', value='70', format='int')
1131 # opObj11.addParameter(name='zmin', value='70', format='int')
1054 # opObj11.addParameter(name='zmax', value='90', format='int')
1132 # opObj11.addParameter(name='zmax', value='90', format='int')
1055
1133
1056
1134
1057 # opObj12 = procUnitConfObj1.addOperation(name='decoder')
1135 # opObj12 = procUnitConfObj1.addOperation(name='decoder')
1058 # opObj12.addParameter(name='ncode', value='2', format='int')
1136 # opObj12.addParameter(name='ncode', value='2', format='int')
1059 # opObj12.addParameter(name='nbauds', value='8', format='int')
1137 # opObj12.addParameter(name='nbauds', value='8', format='int')
1060 # opObj12.addParameter(name='code0', value='001110011', format='int')
1138 # opObj12.addParameter(name='code0', value='001110011', format='int')
1061 # opObj12.addParameter(name='code1', value='001110011', format='int')
1139 # opObj12.addParameter(name='code1', value='001110011', format='int')
1062
1140
1063
1141
1064
1142
1065 # procUnitConfObj2 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj1.getId())
1143 # procUnitConfObj2 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj1.getId())
1066 #
1144 #
1067 # opObj21 = procUnitConfObj2.addOperation(name='IncohInt', optype='external')
1145 # opObj21 = procUnitConfObj2.addOperation(name='IncohInt', optype='external')
1068 # opObj21.addParameter(name='n', value='2', format='int')
1146 # opObj21.addParameter(name='n', value='2', format='int')
1069 #
1147 #
1070 # opObj11 = procUnitConfObj2.addOperation(name='SpectraPlot', optype='external')
1148 # opObj11 = procUnitConfObj2.addOperation(name='SpectraPlot', optype='external')
1071 # opObj11.addParameter(name='idfigure', value='4', format='int')
1149 # opObj11.addParameter(name='idfigure', value='4', format='int')
1072 # opObj11.addParameter(name='wintitle', value='SpectraPlot OBJ 2', format='str')
1150 # opObj11.addParameter(name='wintitle', value='SpectraPlot OBJ 2', format='str')
1073 # opObj11.addParameter(name='zmin', value='70', format='int')
1151 # opObj11.addParameter(name='zmin', value='70', format='int')
1074 # opObj11.addParameter(name='zmax', value='90', format='int')
1152 # opObj11.addParameter(name='zmax', value='90', format='int')
1075
1153
1076 print "Escribiendo el archivo XML"
1154 print "Escribiendo el archivo XML"
1077
1155
1078 controllerObj.writeXml(filename)
1156 controllerObj.writeXml(filename)
1079
1157
1080 print "Leyendo el archivo XML"
1158 print "Leyendo el archivo XML"
1081 controllerObj.readXml(filename)
1159 controllerObj.readXml(filename)
1082 #controllerObj.printattr()
1160 #controllerObj.printattr()
1083
1161
1084 controllerObj.createObjects()
1162 controllerObj.createObjects()
1085 controllerObj.connectObjects()
1163 controllerObj.connectObjects()
1086 controllerObj.run()
1164 controllerObj.run()
1087
1165
1088 No newline at end of file
1166
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
@@ -1,87 +1,93
1 """
1 """
2 Classes to save parameters from Windows.
2 Classes to save parameters from Windows.
3
3
4 -Project window
4 -Project window
5 -Voltage window
5 -Voltage window
6 -Spectra window
6 -Spectra window
7 -SpectraHeis window
7 -SpectraHeis window
8 -Correlation window
8 -Correlation window
9
9
10 """
10 """
11
11
12 class ProjectParms():
12 class ProjectParms():
13
13
14 parmsOk = False
14 parmsOk = False
15 project_name = None
15 name = None
16 description = None
16 datatype = None
17 datatype = None
17 ext = None
18 ext = None
18 dpath = None
19 dpath = None
19 startDate = None
20 startDate = None
20 endDate = None
21 endDate = None
21 startTime = None
22 startTime = None
22 endTime = None
23 endTime = None
23 online = None
24 online = None
24 delay = None
25 delay = None
25 walk = None
26 walk = None
26 expLabel = None
27 expLabel = None
27 set = None
28 set = None
28 ippKm = None
29 ippKm = None
29
30
30 def __init__(self):
31 def __init__(self):
31
32
32 self.parmsOk = True
33 self.parmsOk = True
34 self.description = ''
33 self.expLabel = ''
35 self.expLabel = ''
34 self.set = None
36 self.set = ''
35 self.ippKm = None
37 self.ippKm = ''
36 self.walk = None
38 self.walk = None
37 self.delay = None
39 self.delay = ''
38
40
39 def getDatatypeIndex(self):
41 def getDatatypeIndex(self):
40
42
41 indexDatatype = None
43 indexDatatype = None
42
44
43 if self.datatype.lower() == 'voltage':
45 if 'voltage' in self.datatype.lower():
44 indexDatatype = 0
46 indexDatatype = 0
45 if self.datatype.lower() == 'spectra':
47 if 'spectra' in self.datatype.lower():
46 indexDatatype = 1
48 indexDatatype = 1
47 if self.datatype.lower() == 'fits':
49 if 'fits' in self.datatype.lower():
48 indexDatatype = 2
50 indexDatatype = 2
49 if self.datatype.lower() == 'usrp':
51 if 'usrp' in self.datatype.lower():
50 indexDatatype = 3
52 indexDatatype = 3
51
53
52 return indexDatatype
54 return indexDatatype
53
55
54 def getExt(self):
56 def getExt(self):
55
57
56 ext = None
58 ext = None
57
59
58 if self.datatype.lower() == 'voltage':
60 if self.datatype.lower() == 'voltage':
59 ext = '.r'
61 ext = '.r'
60 if self.datatype.lower() == 'spectra':
62 if self.datatype.lower() == 'spectra':
61 ext = '.pdata'
63 ext = '.pdata'
62 if self.datatype.lower() == 'fits':
64 if self.datatype.lower() == 'fits':
63 ext = '.fits'
65 ext = '.fits'
64 if self.datatype.lower() == 'usrp':
66 if self.datatype.lower() == 'usrp':
65 ext = '.hdf5'
67 ext = '.hdf5'
66
68
67 return ext
69 return ext
68
70
69 def set(self, project_name, datatype, ext, dpath, online,
71 def set(self, project_name, datatype, ext, dpath, online,
70 startDate=None, endDate=None, startTime=None, endTime=None,
72 startDate=None, endDate=None, startTime=None, endTime=None,
71 delay=None, walk=None, set=None, ippKm=None, parmsOk=True):
73 delay=None, walk=None, set=None, ippKm=None, parmsOk=True):
72
74
73 project_name = project_name
75 name = project_name
74 datatype = datatype
76 datatype = datatype
75 ext = ext
77 ext = ext
76 dpath = dpath
78 dpath = dpath
77 startDate = startDate
79 startDate = startDate
78 endDate = endDate
80 endDate = endDate
79 startTime = startTime
81 startTime = startTime
80 endTime = endTime
82 endTime = endTime
81 online = online
83 online = online
82 delay = delay
84 delay = delay
83 walk = walk
85 walk = walk
84 set = set
86 set = set
85 ippKm = ippKm
87 ippKm = ippKm
86
88
87 self.parmsOk = parmsOk No newline at end of file
89 self.parmsOk = parmsOk
90
91 def isValid(self):
92
93 return self.parmsOk No newline at end of file
@@ -1,311 +1,311
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
29
30 FIGURES_PATH = tools.get_path()
30 FIGURES_PATH = tools.get_path()
31
31
32 class Ui_EnvWindow(object):
32 class Ui_EnvWindow(object):
33 paused = False
33 paused = False
34
34
35 def restorePauseIcon(self):
35 def restorePauseIcon(self):
36
36
37 iconPause = QtGui.QIcon()
37 iconPause = QtGui.QIcon()
38 iconPause.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"pause.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
38 iconPause.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"pause.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
39 self.actionPauseToolbar.setIcon(iconPause)
39 self.actionPauseToolbar.setIcon(iconPause)
40
40
41 self.paused = False
41 self.paused = False
42
42
43 def changePauseIcon(self):
43 def changePauseIcon(self):
44
44
45 if self.paused == False:
45 if self.paused == False:
46 iconPauseRed = QtGui.QIcon()
46 iconPauseRed = QtGui.QIcon()
47 iconPauseRed.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"pausered.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
47 iconPauseRed.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"pausered.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
48 self.actionPauseToolbar.setIcon(iconPauseRed)
48 self.actionPauseToolbar.setIcon(iconPauseRed)
49 self.paused = True
49 self.paused = True
50 return 0
50 return 0
51
51
52 if self.paused:
52 if self.paused:
53 iconPause = QtGui.QIcon()
53 iconPause = QtGui.QIcon()
54 iconPause.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"pause.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
54 iconPause.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"pause.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
55 self.actionPauseToolbar.setIcon(iconPause)
55 self.actionPauseToolbar.setIcon(iconPause)
56 self.paused = False
56 self.paused = False
57 return 0
57 return 0
58
58
59 def setupUi(self, MainWindow):
59 def setupUi(self, MainWindow):
60
60
61 MainWindow.setObjectName(_fromUtf8("MainWindow"))
61 MainWindow.setObjectName(_fromUtf8("MainWindow"))
62 MainWindow.resize(1203, 711)
62 MainWindow.resize(1200, 800)
63
63
64 self.centralWidget = QtGui.QWidget(MainWindow)
64 self.centralWidget = QtGui.QWidget(MainWindow)
65 self.centralWidget.setObjectName(_fromUtf8("centralWidget"))
65 self.centralWidget.setObjectName(_fromUtf8("centralWidget"))
66 self.gridLayout_16 = QtGui.QGridLayout(self.centralWidget)
66 self.gridLayout_16 = QtGui.QGridLayout(self.centralWidget)
67 self.gridLayout_16.setObjectName(_fromUtf8("gridLayout_16"))
67 self.gridLayout_16.setObjectName(_fromUtf8("gridLayout_16"))
68 self.splitter_2 = QtGui.QSplitter(self.centralWidget)
68 self.splitter_2 = QtGui.QSplitter(self.centralWidget)
69 self.splitter_2.setOrientation(QtCore.Qt.Horizontal)
69 self.splitter_2.setOrientation(QtCore.Qt.Horizontal)
70 self.splitter_2.setObjectName(_fromUtf8("splitter_2"))
70 self.splitter_2.setObjectName(_fromUtf8("splitter_2"))
71 self.projectExplorerTree = QtGui.QTreeView(self.splitter_2)
71 self.projectExplorerTree = QtGui.QTreeView(self.splitter_2)
72 self.projectExplorerTree.setObjectName(_fromUtf8("projectExplorerTree"))
72 self.projectExplorerTree.setObjectName(_fromUtf8("projectExplorerTree"))
73 self.splitter = QtGui.QSplitter(self.splitter_2)
73 self.splitter = QtGui.QSplitter(self.splitter_2)
74 self.splitter.setOrientation(QtCore.Qt.Vertical)
74 self.splitter.setOrientation(QtCore.Qt.Vertical)
75 self.splitter.setObjectName(_fromUtf8("splitter"))
75 self.splitter.setObjectName(_fromUtf8("splitter"))
76 self.tabWidgetProject = QtGui.QTabWidget(self.splitter)
76 self.tabWidgetProject = QtGui.QTabWidget(self.splitter)
77 self.tabWidgetProject.setMinimumSize(QtCore.QSize(0, 278))
77 self.tabWidgetProject.setMinimumSize(QtCore.QSize(0, 278))
78 self.tabWidgetProject.setMaximumSize(QtCore.QSize(16777215, 16777215))
78 self.tabWidgetProject.setMaximumSize(QtCore.QSize(16777215, 16777215))
79 self.tabWidgetProject.setObjectName(_fromUtf8("tabWidgetProject"))
79 self.tabWidgetProject.setObjectName(_fromUtf8("tabWidgetProject"))
80
80
81 self.tabConsole = QtGui.QTabWidget(self.splitter)
81 self.tabConsole = QtGui.QTabWidget(self.splitter)
82 self.tabConsole.setMinimumSize(QtCore.QSize(0, 0))
82 self.tabConsole.setMinimumSize(QtCore.QSize(0, 0))
83 self.tabConsole.setObjectName(_fromUtf8("tabConsole"))
83 self.tabConsole.setObjectName(_fromUtf8("tabConsole"))
84 self.tab_5 = QtGui.QWidget()
84 self.tab_5 = QtGui.QWidget()
85 self.tab_5.setObjectName(_fromUtf8("tab_5"))
85 self.tab_5.setObjectName(_fromUtf8("tab_5"))
86 self.gridLayout_4 = QtGui.QGridLayout(self.tab_5)
86 self.gridLayout_4 = QtGui.QGridLayout(self.tab_5)
87 self.gridLayout_4.setObjectName(_fromUtf8("gridLayout_4"))
87 self.gridLayout_4.setObjectName(_fromUtf8("gridLayout_4"))
88 self.console = QtGui.QTextEdit(self.tab_5)
88 self.console = QtGui.QTextEdit(self.tab_5)
89 self.console.setObjectName(_fromUtf8("console"))
89 self.console.setObjectName(_fromUtf8("console"))
90 self.gridLayout_4.addWidget(self.console, 0, 0, 1, 1)
90 self.gridLayout_4.addWidget(self.console, 0, 0, 1, 1)
91 self.tabConsole.addTab(self.tab_5, _fromUtf8(""))
91 self.tabConsole.addTab(self.tab_5, _fromUtf8(""))
92 self.tabWidget = QtGui.QTabWidget(self.splitter_2)
92 self.tabWidget = QtGui.QTabWidget(self.splitter_2)
93 self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
93 self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
94 self.tabProjectProperty = QtGui.QWidget()
94 self.tabProjectProperty = QtGui.QWidget()
95 self.tabProjectProperty.setObjectName(_fromUtf8("tabProjectProperty"))
95 self.tabProjectProperty.setObjectName(_fromUtf8("tabProjectProperty"))
96 self.gridLayout_8 = QtGui.QGridLayout(self.tabProjectProperty)
96 self.gridLayout_8 = QtGui.QGridLayout(self.tabProjectProperty)
97 self.gridLayout_8.setObjectName(_fromUtf8("gridLayout_8"))
97 self.gridLayout_8.setObjectName(_fromUtf8("gridLayout_8"))
98 self.treeProjectProperties = QtGui.QTreeView(self.tabProjectProperty)
98 self.treeProjectProperties = QtGui.QTreeView(self.tabProjectProperty)
99 self.treeProjectProperties.setObjectName(_fromUtf8("treeProjectProperties"))
99 self.treeProjectProperties.setObjectName(_fromUtf8("treeProjectProperties"))
100 self.gridLayout_8.addWidget(self.treeProjectProperties, 0, 0, 1, 1)
100 self.gridLayout_8.addWidget(self.treeProjectProperties, 0, 0, 1, 1)
101 self.tabWidget.addTab(self.tabProjectProperty, _fromUtf8(""))
101 self.tabWidget.addTab(self.tabProjectProperty, _fromUtf8(""))
102 self.gridLayout_16.addWidget(self.splitter_2, 1, 0, 1, 1)
102 self.gridLayout_16.addWidget(self.splitter_2, 1, 0, 1, 1)
103
103
104 MainWindow.setCentralWidget(self.centralWidget)
104 MainWindow.setCentralWidget(self.centralWidget)
105 self.toolBar = QtGui.QToolBar(MainWindow)
105 self.toolBar = QtGui.QToolBar(MainWindow)
106 self.toolBar.setObjectName(_fromUtf8("toolBar"))
106 self.toolBar.setObjectName(_fromUtf8("toolBar"))
107 MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar)
107 MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar)
108
108
109 self.menuBar = QtGui.QMenuBar(MainWindow)
109 self.menuBar = QtGui.QMenuBar(MainWindow)
110 self.menuBar.setGeometry(QtCore.QRect(0, 0, 1065, 25))
110 self.menuBar.setGeometry(QtCore.QRect(0, 0, 1065, 25))
111 self.menuBar.setObjectName(_fromUtf8("menuBar"))
111 self.menuBar.setObjectName(_fromUtf8("menuBar"))
112 self.menuProject = QtGui.QMenu(self.menuBar)
112 self.menuProject = QtGui.QMenu(self.menuBar)
113 self.menuProject.setObjectName(_fromUtf8("menuProject"))
113 self.menuProject.setObjectName(_fromUtf8("menuProject"))
114 self.menuRun = QtGui.QMenu(self.menuBar)
114 self.menuRun = QtGui.QMenu(self.menuBar)
115 self.menuRun.setObjectName(_fromUtf8("menuRun"))
115 self.menuRun.setObjectName(_fromUtf8("menuRun"))
116 self.menuOptions = QtGui.QMenu(self.menuBar)
116 self.menuOptions = QtGui.QMenu(self.menuBar)
117 self.menuOptions.setObjectName(_fromUtf8("menuOptions"))
117 self.menuOptions.setObjectName(_fromUtf8("menuOptions"))
118 self.menuHelp = QtGui.QMenu(self.menuBar)
118 self.menuHelp = QtGui.QMenu(self.menuBar)
119 self.menuHelp.setObjectName(_fromUtf8("menuHelp"))
119 self.menuHelp.setObjectName(_fromUtf8("menuHelp"))
120 MainWindow.setMenuBar(self.menuBar)
120 MainWindow.setMenuBar(self.menuBar)
121
121
122 iconOpen = QtGui.QIcon()
122 iconOpen = QtGui.QIcon()
123 iconOpen.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"open.gif") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
123 iconOpen.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"open.gif") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
124 iconCreate = QtGui.QIcon()
124 iconCreate = QtGui.QIcon()
125 iconCreate.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"project.gif") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
125 iconCreate.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"project.gif") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
126 iconSave = QtGui.QIcon()
126 iconSave = QtGui.QIcon()
127 iconSave.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"saveicon.jpeg") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
127 iconSave.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"saveicon.jpeg") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
128 iconStart = QtGui.QIcon()
128 iconStart = QtGui.QIcon()
129 iconStart.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"startServer.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
129 iconStart.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"startServer.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
130 iconStop = QtGui.QIcon()
130 iconStop = QtGui.QIcon()
131 iconStop.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"stopServer.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
131 iconStop.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"stopServer.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
132 iconPause = QtGui.QIcon()
132 iconPause = QtGui.QIcon()
133 iconPause.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"pause.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
133 iconPause.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"pause.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
134 iconAddPU = QtGui.QIcon()
134 iconAddPU = QtGui.QIcon()
135 iconAddPU.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"add_PU.gif") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
135 iconAddPU.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"add_PU.gif") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
136
136
137 self.actionOpen = QtGui.QAction(MainWindow)
137 self.actionOpen = QtGui.QAction(MainWindow)
138 self.actionOpen.setIcon(iconOpen)
138 self.actionOpen.setIcon(iconOpen)
139 self.actionOpen.setObjectName(_fromUtf8("actionOpen"))
139 self.actionOpen.setObjectName(_fromUtf8("actionOpen"))
140 self.actionCreate = QtGui.QAction(MainWindow)
140 self.actionCreate = QtGui.QAction(MainWindow)
141 self.actionCreate.setIcon(iconCreate)
141 self.actionCreate.setIcon(iconCreate)
142 self.actionCreate.setObjectName(_fromUtf8("actionCreate"))
142 self.actionCreate.setObjectName(_fromUtf8("actionCreate"))
143 self.actionSave = QtGui.QAction(MainWindow)
143 self.actionSave = QtGui.QAction(MainWindow)
144 self.actionSave.setIcon(iconSave)
144 self.actionSave.setIcon(iconSave)
145 self.actionSave.setObjectName(_fromUtf8("actionSave"))
145 self.actionSave.setObjectName(_fromUtf8("actionSave"))
146 self.actionClose = QtGui.QAction(MainWindow)
146 self.actionClose = QtGui.QAction(MainWindow)
147 self.actionClose.setObjectName(_fromUtf8("actionClose"))
147 self.actionClose.setObjectName(_fromUtf8("actionClose"))
148 self.actionStart = QtGui.QAction(MainWindow)
148 self.actionStart = QtGui.QAction(MainWindow)
149 self.actionStart.setIcon(iconStart)
149 self.actionStart.setIcon(iconStart)
150 self.actionStart.setObjectName(_fromUtf8("actionStart"))
150 self.actionStart.setObjectName(_fromUtf8("actionStart"))
151 self.actionPause = QtGui.QAction(MainWindow)
151 self.actionPause = QtGui.QAction(MainWindow)
152 self.actionPause.setIcon(iconPause)
152 self.actionPause.setIcon(iconPause)
153 self.actionPause.setObjectName(_fromUtf8("actionPause"))
153 self.actionPause.setObjectName(_fromUtf8("actionPause"))
154 self.actionStop = QtGui.QAction(MainWindow)
154 self.actionStop = QtGui.QAction(MainWindow)
155 self.actionStop.setIcon(iconStop)
155 self.actionStop.setIcon(iconStop)
156 self.actionStop.setObjectName(_fromUtf8("actionStop"))
156 self.actionStop.setObjectName(_fromUtf8("actionStop"))
157 self.actionAbout = QtGui.QAction(MainWindow)
157 self.actionAbout = QtGui.QAction(MainWindow)
158 self.actionAbout.setObjectName(_fromUtf8("actionAbout"))
158 self.actionAbout.setObjectName(_fromUtf8("actionAbout"))
159 self.actionOpenToolbar = QtGui.QAction(MainWindow)
159 self.actionOpenToolbar = QtGui.QAction(MainWindow)
160 self.actionOpenToolbar.setIcon(iconOpen)
160 self.actionOpenToolbar.setIcon(iconOpen)
161 self.actionOpenToolbar.setObjectName(_fromUtf8("actionOpenToolbar"))
161 self.actionOpenToolbar.setObjectName(_fromUtf8("actionOpenToolbar"))
162 self.actionCreateToolbar = QtGui.QAction(MainWindow)
162 self.actionCreateToolbar = QtGui.QAction(MainWindow)
163 self.actionCreateToolbar.setIcon(iconCreate)
163 self.actionCreateToolbar.setIcon(iconCreate)
164 self.actionCreateToolbar.setObjectName(_fromUtf8("actionCreateToolbar"))
164 self.actionCreateToolbar.setObjectName(_fromUtf8("actionCreateToolbar"))
165 self.actionSaveToolbar = QtGui.QAction(MainWindow)
165 self.actionSaveToolbar = QtGui.QAction(MainWindow)
166 self.actionSaveToolbar.setIcon(iconSave)
166 self.actionSaveToolbar.setIcon(iconSave)
167 self.actionSaveToolbar.setObjectName(_fromUtf8("actionSaveToolbar"))
167 self.actionSaveToolbar.setObjectName(_fromUtf8("actionSaveToolbar"))
168 self.actionStarToolbar = QtGui.QAction(MainWindow)
168 self.actionStarToolbar = QtGui.QAction(MainWindow)
169 self.actionStarToolbar.setIcon(iconStart)
169 self.actionStarToolbar.setIcon(iconStart)
170 self.actionStarToolbar.setObjectName(_fromUtf8("actionStarToolbar"))
170 self.actionStarToolbar.setObjectName(_fromUtf8("actionStarToolbar"))
171 self.actionStopToolbar = QtGui.QAction(MainWindow)
171 self.actionStopToolbar = QtGui.QAction(MainWindow)
172 self.actionStopToolbar.setIcon(iconStop)
172 self.actionStopToolbar.setIcon(iconStop)
173 self.actionStopToolbar.setObjectName(_fromUtf8("actionStopToolbar"))
173 self.actionStopToolbar.setObjectName(_fromUtf8("actionStopToolbar"))
174 self.actionPauseToolbar = QtGui.QAction(MainWindow)
174 self.actionPauseToolbar = QtGui.QAction(MainWindow)
175 self.actionPause.setIcon(iconPause)
175 self.actionPause.setIcon(iconPause)
176 self.actionPauseToolbar.setIcon(iconPause)
176 self.actionPauseToolbar.setIcon(iconPause)
177 self.actionPauseToolbar.setObjectName(_fromUtf8("actionPauseToolbar"))
177 self.actionPauseToolbar.setObjectName(_fromUtf8("actionPauseToolbar"))
178 self.actionAddPU = QtGui.QAction(MainWindow)
178 self.actionAddPU = QtGui.QAction(MainWindow)
179 self.actionAddPU.setIcon(iconAddPU)
179 self.actionAddPU.setIcon(iconAddPU)
180 self.actionAddPU.setObjectName(_fromUtf8("actionAddPU"))
180 self.actionAddPU.setObjectName(_fromUtf8("actionAddPU"))
181 self.actionFTP = QtGui.QAction(MainWindow)
181 self.actionFTP = QtGui.QAction(MainWindow)
182 self.actionFTP.setObjectName(_fromUtf8("actionFTP"))
182 self.actionFTP.setObjectName(_fromUtf8("actionFTP"))
183 self.toolBar.addAction(self.actionOpenToolbar)
183 self.toolBar.addAction(self.actionOpenToolbar)
184 self.toolBar.addSeparator()
184 self.toolBar.addSeparator()
185 self.toolBar.addAction(self.actionCreateToolbar)
185 self.toolBar.addAction(self.actionCreateToolbar)
186 self.toolBar.addSeparator()
186 self.toolBar.addSeparator()
187 self.toolBar.addAction(self.actionAddPU)
187 self.toolBar.addAction(self.actionAddPU)
188 self.toolBar.addSeparator()
188 self.toolBar.addSeparator()
189 self.toolBar.addAction(self.actionSaveToolbar)
189 self.toolBar.addAction(self.actionSaveToolbar)
190 self.toolBar.addSeparator()
190 self.toolBar.addSeparator()
191 self.toolBar.addAction(self.actionStarToolbar)
191 self.toolBar.addAction(self.actionStarToolbar)
192 self.toolBar.addSeparator()
192 self.toolBar.addSeparator()
193 self.toolBar.addAction(self.actionPauseToolbar)
193 self.toolBar.addAction(self.actionPauseToolbar)
194 self.toolBar.addSeparator()
194 self.toolBar.addSeparator()
195 self.toolBar.addAction(self.actionStopToolbar)
195 self.toolBar.addAction(self.actionStopToolbar)
196 self.toolBar.addSeparator()
196 self.toolBar.addSeparator()
197
197
198 self.paused=False
198 self.paused=False
199 self.actionPause.triggered.connect(self.changePauseIcon)
199 self.actionPause.triggered.connect(self.changePauseIcon)
200 self.actionPauseToolbar.triggered.connect(self.changePauseIcon)
200 self.actionPauseToolbar.triggered.connect(self.changePauseIcon)
201
201
202 self.menuProject.addAction(self.actionOpen)
202 self.menuProject.addAction(self.actionOpen)
203 self.menuProject.addAction(self.actionCreate)
203 self.menuProject.addAction(self.actionCreate)
204 self.menuProject.addAction(self.actionSave)
204 self.menuProject.addAction(self.actionSave)
205 self.menuProject.addAction(self.actionClose)
205 self.menuProject.addAction(self.actionClose)
206 self.menuRun.addAction(self.actionStart)
206 self.menuRun.addAction(self.actionStart)
207 self.menuRun.addAction(self.actionPause)
207 self.menuRun.addAction(self.actionPause)
208 self.menuRun.addAction(self.actionStop)
208 self.menuRun.addAction(self.actionStop)
209 self.menuOptions.addAction(self.actionFTP)
209 self.menuOptions.addAction(self.actionFTP)
210 self.menuHelp.addAction(self.actionAbout)
210 self.menuHelp.addAction(self.actionAbout)
211 self.menuBar.addAction(self.menuProject.menuAction())
211 self.menuBar.addAction(self.menuProject.menuAction())
212 self.menuBar.addAction(self.menuRun.menuAction())
212 self.menuBar.addAction(self.menuRun.menuAction())
213 self.menuBar.addAction(self.menuOptions.menuAction())
213 self.menuBar.addAction(self.menuOptions.menuAction())
214 self.menuBar.addAction(self.menuHelp.menuAction())
214 self.menuBar.addAction(self.menuHelp.menuAction())
215
215
216 self.tabConsole.setCurrentIndex(0)
216 self.tabConsole.setCurrentIndex(0)
217 self.tabWidget.setCurrentIndex(0)
217 self.tabWidget.setCurrentIndex(0)
218
218
219 def retranslateUi(self, MainWindow):
219 def retranslateUi(self, MainWindow):
220
220
221 MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow", None))
221 MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow", None))
222
222
223 self.tabConsole.setTabText(self.tabConsole.indexOf(self.tab_5), _translate("MainWindow", "Console", None))
223 self.tabConsole.setTabText(self.tabConsole.indexOf(self.tab_5), _translate("MainWindow", "Console", None))
224
224
225 self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabProjectProperty), _translate("MainWindow", "Project Property", None))
225 self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabProjectProperty), _translate("MainWindow", "Project Property", None))
226 self.toolBar.setWindowTitle(_translate("MainWindow", "toolBar", None))
226 self.toolBar.setWindowTitle(_translate("MainWindow", "toolBar", None))
227 self.menuProject.setTitle(_translate("MainWindow", "Project", None))
227 self.menuProject.setTitle(_translate("MainWindow", "Project", None))
228 self.menuRun.setTitle(_translate("MainWindow", "Run", None))
228 self.menuRun.setTitle(_translate("MainWindow", "Run", None))
229 self.menuOptions.setTitle(_translate("MainWindow", "Options", None))
229 self.menuOptions.setTitle(_translate("MainWindow", "Options", None))
230 self.menuHelp.setTitle(_translate("MainWindow", "Help", None))
230 self.menuHelp.setTitle(_translate("MainWindow", "Help", None))
231 self.actionOpen.setText(_translate("MainWindow", "Open", None))
231 self.actionOpen.setText(_translate("MainWindow", "Open", None))
232 self.actionCreate.setText(_translate("MainWindow", "Create", None))
232 self.actionCreate.setText(_translate("MainWindow", "Create", None))
233 self.actionSave.setText(_translate("MainWindow", "Save", None))
233 self.actionSave.setText(_translate("MainWindow", "Save", None))
234 self.actionClose.setText(_translate("MainWindow", "Close", None))
234 self.actionClose.setText(_translate("MainWindow", "Close", None))
235 self.actionStart.setText(_translate("MainWindow", "Start", None))
235 self.actionStart.setText(_translate("MainWindow", "Start", None))
236 self.actionPause.setText(_translate("MainWindow", "Pause", None))
236 self.actionPause.setText(_translate("MainWindow", "Pause", None))
237 self.actionStop.setText(_translate("MainWindow", "Stop", None))
237 self.actionStop.setText(_translate("MainWindow", "Stop", None))
238 self.actionAbout.setText(_translate("MainWindow", "About", None))
238 self.actionAbout.setText(_translate("MainWindow", "About", None))
239 self.actionOpenToolbar.setText(_translate("MainWindow", "openToolbar", None))
239 self.actionOpenToolbar.setText(_translate("MainWindow", "openToolbar", None))
240 self.actionOpenToolbar.setToolTip(_translate("MainWindow", "Open a project", None))
240 self.actionOpenToolbar.setToolTip(_translate("MainWindow", "Open a project", None))
241 self.actionCreateToolbar.setText(_translate("MainWindow", "createToolbar", None))
241 self.actionCreateToolbar.setText(_translate("MainWindow", "createToolbar", None))
242 self.actionCreateToolbar.setToolTip(_translate("MainWindow", "Create a new project", None))
242 self.actionCreateToolbar.setToolTip(_translate("MainWindow", "Create a new project", None))
243 self.actionSaveToolbar.setText(_translate("MainWindow", "saveToolbar", None))
243 self.actionSaveToolbar.setText(_translate("MainWindow", "saveToolbar", None))
244 self.actionSaveToolbar.setToolTip(_translate("MainWindow", "Save a project", None))
244 self.actionSaveToolbar.setToolTip(_translate("MainWindow", "Save a project", None))
245 self.actionStarToolbar.setText(_translate("MainWindow", "starToolbar", None))
245 self.actionStarToolbar.setText(_translate("MainWindow", "starToolbar", None))
246 self.actionStarToolbar.setToolTip(_translate("MainWindow", "Start process", None))
246 self.actionStarToolbar.setToolTip(_translate("MainWindow", "Start process", None))
247 self.actionStopToolbar.setText(_translate("MainWindow", "stopToolbar", None))
247 self.actionStopToolbar.setText(_translate("MainWindow", "stopToolbar", None))
248 self.actionStopToolbar.setToolTip(_translate("MainWindow", "Stop process", None))
248 self.actionStopToolbar.setToolTip(_translate("MainWindow", "Stop process", None))
249 self.actionPauseToolbar.setText(_translate("MainWindow", "pauseToolbar", None))
249 self.actionPauseToolbar.setText(_translate("MainWindow", "pauseToolbar", None))
250 self.actionPauseToolbar.setToolTip(_translate("MainWindow", "Pause process", None))
250 self.actionPauseToolbar.setToolTip(_translate("MainWindow", "Pause process", None))
251 self.actionAddPU.setText(_translate("MainWindow", "Add Processing Unit", None))
251 self.actionAddPU.setText(_translate("MainWindow", "Add Processing Unit", None))
252 self.actionFTP.setText(_translate("MainWindow", "FTP", None))
252 self.actionFTP.setText(_translate("MainWindow", "FTP", None))
253
253
254 def closeEvent(self, event):
254 def closeEvent(self, event):
255
255
256 reply = QtGui.QMessageBox.question(self, 'Message',
256 reply = QtGui.QMessageBox.question(self, 'Message',
257 "Are you sure to quit?", QtGui.QMessageBox.Yes |
257 "Are you sure to quit?", QtGui.QMessageBox.Yes |
258 QtGui.QMessageBox.No, QtGui.QMessageBox.No)
258 QtGui.QMessageBox.No, QtGui.QMessageBox.No)
259 if reply == QtGui.QMessageBox.Yes:
259 if reply == QtGui.QMessageBox.Yes:
260 event.accept()
260 event.accept()
261 else:
261 else:
262 event.ignore()
262 event.ignore()
263
263
264 class Ui_BasicWindow(Ui_EnvWindow, Ui_ProjectTab, Ui_VoltageTab, Ui_SpectraTab, Ui_SpectraHeisTab, Ui_CorrelationTab):
264 class Ui_BasicWindow(Ui_EnvWindow, Ui_ProjectTab, Ui_VoltageTab, Ui_SpectraTab, Ui_SpectraHeisTab, Ui_CorrelationTab):
265
265
266 def setupUi(self, MainWindow):
266 def setupUi(self, MainWindow):
267
267
268 Ui_EnvWindow.setupUi(self, MainWindow)
268 Ui_EnvWindow.setupUi(self, MainWindow)
269
269
270 Ui_ProjectTab.setupUi(self)
270 Ui_ProjectTab.setupUi(self)
271 Ui_VoltageTab.setupUi(self)
271 Ui_VoltageTab.setupUi(self)
272 Ui_SpectraTab.setupUi(self)
272 Ui_SpectraTab.setupUi(self)
273 Ui_SpectraHeisTab.setupUi(self)
273 Ui_SpectraHeisTab.setupUi(self)
274 Ui_CorrelationTab.setupUi(self)
274 Ui_CorrelationTab.setupUi(self)
275
275
276 self.retranslateUi(MainWindow)
276 self.retranslateUi(MainWindow)
277
277
278 QtCore.QMetaObject.connectSlotsByName(MainWindow)
278 QtCore.QMetaObject.connectSlotsByName(MainWindow)
279
279
280 def retranslateUi(self, MainWindow):
280 def retranslateUi(self, MainWindow):
281
281
282 Ui_EnvWindow.retranslateUi(self, MainWindow)
282 Ui_EnvWindow.retranslateUi(self, MainWindow)
283
283
284 Ui_ProjectTab.retranslateUi(self)
284 Ui_ProjectTab.retranslateUi(self)
285 Ui_VoltageTab.retranslateUi(self)
285 Ui_VoltageTab.retranslateUi(self)
286 Ui_SpectraTab.retranslateUi(self)
286 Ui_SpectraTab.retranslateUi(self)
287 Ui_SpectraHeisTab.retranslateUi(self)
287 Ui_SpectraHeisTab.retranslateUi(self)
288 Ui_CorrelationTab.retranslateUi(self)
288 Ui_CorrelationTab.retranslateUi(self)
289
289
290
290
291 class Ui_AdvancedWindow(Ui_EnvWindow):
291 class Ui_AdvancedWindow(Ui_EnvWindow):
292
292
293 def setupUi(self, AdvancedWindow):
293 def setupUi(self, AdvancedWindow):
294
294
295 Ui_MainWindow.setupUi(self, AdvancedWindow)
295 Ui_MainWindow.setupUi(self, AdvancedWindow)
296
296
297 def retranslateUi(self, AdvancedWindow):
297 def retranslateUi(self, AdvancedWindow):
298
298
299 Ui_MainWindow.retranslateUi(self, AdvancedWindow)
299 Ui_MainWindow.retranslateUi(self, AdvancedWindow)
300
300
301
301
302
302
303 if __name__ == "__main__":
303 if __name__ == "__main__":
304 import sys
304 import sys
305 app = QtGui.QApplication(sys.argv)
305 app = QtGui.QApplication(sys.argv)
306 MainWindow = QtGui.QMainWindow()
306 MainWindow = QtGui.QMainWindow()
307 ui = Ui_BasicWindow()
307 ui = Ui_BasicWindow()
308 ui.setupUi(MainWindow)
308 ui.setupUi(MainWindow)
309 MainWindow.show()
309 MainWindow.show()
310 sys.exit(app.exec_())
310 sys.exit(app.exec_())
311
311
@@ -1,173 +1,182
1
1
2 from PyQt4 import QtCore, QtGui
2 from PyQt4 import QtCore, QtGui
3
3
4 try:
4 try:
5 _fromUtf8 = QtCore.QString.fromUtf8
5 _fromUtf8 = QtCore.QString.fromUtf8
6 except AttributeError:
6 except AttributeError:
7 def _fromUtf8(s):
7 def _fromUtf8(s):
8 return s
8 return s
9
9
10 try:
10 try:
11 _encoding = QtGui.QApplication.UnicodeUTF8
11 _encoding = QtGui.QApplication.UnicodeUTF8
12 def _translate(context, text, disambig):
12 def _translate(context, text, disambig):
13 return QtGui.QApplication.translate(context, text, disambig, _encoding)
13 return QtGui.QApplication.translate(context, text, disambig, _encoding)
14 except AttributeError:
14 except AttributeError:
15 def _translate(context, text, disambig):
15 def _translate(context, text, disambig):
16 return QtGui.QApplication.translate(context, text, disambig)
16 return QtGui.QApplication.translate(context, text, disambig)
17
17
18 class Ui_ProjectTab(object):
18 class Ui_ProjectTab(object):
19
19
20 def setupUi(self):
20 def setupUi(self):
21
21
22 self.tabProject = QtGui.QWidget()
22 self.tabProject = QtGui.QWidget()
23 self.tabProject.setObjectName(_fromUtf8("tabProject"))
23 self.tabProject.setObjectName(_fromUtf8("tabProject"))
24 self.gridLayout_15 = QtGui.QGridLayout(self.tabProject)
24 self.gridLayout_15 = QtGui.QGridLayout(self.tabProject)
25 self.gridLayout_15.setObjectName(_fromUtf8("gridLayout_15"))
25 self.gridLayout_15.setObjectName(_fromUtf8("gridLayout_15"))
26 self.frame = QtGui.QFrame(self.tabProject)
26 self.frame = QtGui.QFrame(self.tabProject)
27 self.frame.setFrameShape(QtGui.QFrame.StyledPanel)
27 self.frame.setFrameShape(QtGui.QFrame.StyledPanel)
28 self.frame.setFrameShadow(QtGui.QFrame.Raised)
28 self.frame.setFrameShadow(QtGui.QFrame.Raised)
29 self.frame.setObjectName(_fromUtf8("frame"))
29 self.frame.setObjectName(_fromUtf8("frame"))
30 self.gridLayout_2 = QtGui.QGridLayout(self.frame)
30 self.gridLayout_2 = QtGui.QGridLayout(self.frame)
31 self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
31 self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
32 self.label = QtGui.QLabel(self.frame)
32 self.label = QtGui.QLabel(self.frame)
33 self.label.setObjectName(_fromUtf8("label"))
33 self.label.setObjectName(_fromUtf8("label"))
34 self.gridLayout_2.addWidget(self.label, 0, 0, 1, 1)
34 self.gridLayout_2.addWidget(self.label, 0, 0, 1, 1)
35 self.proName = QtGui.QLineEdit(self.frame)
35 self.proName = QtGui.QLineEdit(self.frame)
36 self.proName.setObjectName(_fromUtf8("proName"))
36 self.proName.setObjectName(_fromUtf8("proName"))
37 self.gridLayout_2.addWidget(self.proName, 0, 1, 1, 8)
37 self.gridLayout_2.addWidget(self.proName, 0, 1, 1, 8)
38 self.label_11 = QtGui.QLabel(self.frame)
38 self.label_11 = QtGui.QLabel(self.frame)
39 self.label_11.setObjectName(_fromUtf8("label_11"))
39 self.label_11.setObjectName(_fromUtf8("label_11"))
40 self.gridLayout_2.addWidget(self.label_11, 1, 0, 1, 1)
40 self.gridLayout_2.addWidget(self.label_11, 1, 0, 1, 1)
41 self.proComDataType = QtGui.QComboBox(self.frame)
41 self.proComDataType = QtGui.QComboBox(self.frame)
42 self.proComDataType.setObjectName(_fromUtf8("proComDataType"))
42 self.proComDataType.setObjectName(_fromUtf8("proComDataType"))
43 self.proComDataType.addItem(_fromUtf8(""))
43 self.proComDataType.addItem(_fromUtf8(""))
44 self.proComDataType.addItem(_fromUtf8(""))
44 self.proComDataType.addItem(_fromUtf8(""))
45 self.proComDataType.addItem(_fromUtf8(""))
45 self.proComDataType.addItem(_fromUtf8(""))
46 self.proComDataType.addItem(_fromUtf8(""))
46 self.proComDataType.addItem(_fromUtf8(""))
47 self.gridLayout_2.addWidget(self.proComDataType, 1, 1, 1, 5)
47 self.gridLayout_2.addWidget(self.proComDataType, 1, 1, 1, 5)
48 self.proDataType = QtGui.QLineEdit(self.frame)
48 self.proDataType = QtGui.QLineEdit(self.frame)
49 self.proDataType.setObjectName(_fromUtf8("proDataType"))
49 self.proDataType.setObjectName(_fromUtf8("proDataType"))
50 self.gridLayout_2.addWidget(self.proDataType, 1, 6, 1, 3)
50 self.gridLayout_2.addWidget(self.proDataType, 1, 6, 1, 3)
51 self.label_15 = QtGui.QLabel(self.frame)
51 self.label_15 = QtGui.QLabel(self.frame)
52 self.label_15.setObjectName(_fromUtf8("label_15"))
52 self.label_15.setObjectName(_fromUtf8("label_15"))
53 self.gridLayout_2.addWidget(self.label_15, 2, 0, 1, 1)
53 self.gridLayout_2.addWidget(self.label_15, 2, 0, 1, 1)
54 self.proToolPath = QtGui.QToolButton(self.frame)
54 self.proToolPath = QtGui.QToolButton(self.frame)
55 self.proToolPath.setObjectName(_fromUtf8("proToolPath"))
55 self.proToolPath.setObjectName(_fromUtf8("proToolPath"))
56 self.gridLayout_2.addWidget(self.proToolPath, 2, 1, 1, 1)
56 self.gridLayout_2.addWidget(self.proToolPath, 2, 1, 1, 1)
57 self.proDataPath = QtGui.QLineEdit(self.frame)
57 self.proDataPath = QtGui.QLineEdit(self.frame)
58 self.proDataPath.setObjectName(_fromUtf8("proDataPath"))
58 self.proDataPath.setObjectName(_fromUtf8("proDataPath"))
59 self.gridLayout_2.addWidget(self.proDataPath, 2, 2, 1, 7)
59 self.gridLayout_2.addWidget(self.proDataPath, 2, 2, 1, 7)
60 self.label_23 = QtGui.QLabel(self.frame)
60 self.label_23 = QtGui.QLabel(self.frame)
61 self.label_23.setObjectName(_fromUtf8("label_23"))
61 self.label_23.setObjectName(_fromUtf8("label_23"))
62 self.gridLayout_2.addWidget(self.label_23, 3, 0, 1, 1)
62 self.gridLayout_2.addWidget(self.label_23, 3, 0, 1, 1)
63 self.proComReadMode = QtGui.QComboBox(self.frame)
63 self.proComReadMode = QtGui.QComboBox(self.frame)
64 self.proComReadMode.setObjectName(_fromUtf8("proComReadMode"))
64 self.proComReadMode.setObjectName(_fromUtf8("proComReadMode"))
65 self.proComReadMode.addItem(_fromUtf8("------"))
65 self.proComReadMode.addItem(_fromUtf8(""))
66 self.proComReadMode.addItem(_fromUtf8(""))
66 self.proComReadMode.addItem(_fromUtf8(""))
67 self.gridLayout_2.addWidget(self.proComReadMode, 3, 1, 1, 4)
67 self.gridLayout_2.addWidget(self.proComReadMode, 3, 1, 1, 2)
68 self.label_33 = QtGui.QLabel(self.frame)
68 self.label_33 = QtGui.QLabel(self.frame)
69 self.label_33.setObjectName(_fromUtf8("label_33"))
69 self.label_33.setObjectName(_fromUtf8("label_33"))
70 self.gridLayout_2.addWidget(self.label_33, 3, 5, 1, 2)
70 self.gridLayout_2.addWidget(self.label_33, 3, 5, 1, 1)
71 self.proDelay = QtGui.QLineEdit(self.frame)
71 self.proDelay = QtGui.QLineEdit(self.frame)
72 self.proDelay.setObjectName(_fromUtf8("proDelay"))
72 self.proDelay.setObjectName(_fromUtf8("proDelay"))
73 self.gridLayout_2.addWidget(self.proDelay, 3, 8, 1, 1)
73 self.gridLayout_2.addWidget(self.proDelay, 3, 6, 1, 1)
74 self.label_32 = QtGui.QLabel(self.frame)
74 self.label_32 = QtGui.QLabel(self.frame)
75 self.label_32.setObjectName(_fromUtf8("label_32"))
75 self.label_32.setObjectName(_fromUtf8("label_32"))
76 self.gridLayout_2.addWidget(self.label_32, 4, 0, 1, 1)
76 self.gridLayout_2.addWidget(self.label_32, 4, 0, 1, 1)
77 self.proComWalk = QtGui.QComboBox(self.frame)
77 self.proComWalk = QtGui.QComboBox(self.frame)
78 self.proComWalk.setObjectName(_fromUtf8("proComWalk"))
78 self.proComWalk.setObjectName(_fromUtf8("proComWalk"))
79 self.proComWalk.addItem(_fromUtf8(""))
79 self.proComWalk.addItem(_fromUtf8(""))
80 self.proComWalk.addItem(_fromUtf8(""))
80 self.proComWalk.addItem(_fromUtf8(""))
81 self.gridLayout_2.addWidget(self.proComWalk, 4, 1, 1, 8)
81 self.gridLayout_2.addWidget(self.proComWalk, 4, 1, 1, 8)
82 self.proLoadButton = QtGui.QPushButton(self.frame)
82 self.proLoadButton = QtGui.QPushButton(self.frame)
83 self.proLoadButton.setObjectName(_fromUtf8("proLoadButton"))
83 self.proLoadButton.setObjectName(_fromUtf8("proLoadButton"))
84 self.gridLayout_2.addWidget(self.proLoadButton, 5, 0, 1, 9)
84 self.gridLayout_2.addWidget(self.proLoadButton, 5, 0, 1, 9)
85 self.label_10 = QtGui.QLabel(self.frame)
85 self.labelSet = QtGui.QLabel(self.frame)
86 self.label_10.setObjectName(_fromUtf8("label_10"))
86 self.labelSet.setObjectName(_fromUtf8("labelSet"))
87 self.gridLayout_2.addWidget(self.label_10, 3, 3, 1, 1)
87 self.gridLayout_2.addWidget(self.labelSet, 3, 7, 1, 1)
88 self.proSet = QtGui.QLineEdit(self.frame)
88 self.proSet = QtGui.QLineEdit(self.frame)
89 self.proSet.setObjectName(_fromUtf8("proSet"))
89 self.proSet.setObjectName(_fromUtf8("proSet"))
90 self.gridLayout_2.addWidget(self.proSet, 3, 4, 1, 1)
90 self.gridLayout_2.addWidget(self.proSet, 3, 8, 1, 1)
91 self.labelIPPKm = QtGui.QLabel(self.frame)
92 self.labelIPPKm.setObjectName(_fromUtf8("labelIPPKm"))
93 self.gridLayout_2.addWidget(self.labelIPPKm, 3, 7, 1, 1)
94 self.proIPPKm = QtGui.QLineEdit(self.frame)
95 self.proIPPKm.setObjectName(_fromUtf8("proIPPKm"))
96 self.gridLayout_2.addWidget(self.proIPPKm, 3, 8, 1, 1)
97
98
91 self.gridLayout_15.addWidget(self.frame, 0, 0, 1, 1)
99 self.gridLayout_15.addWidget(self.frame, 0, 0, 1, 1)
92 self.frame_2 = QtGui.QFrame(self.tabProject)
100 self.frame_2 = QtGui.QFrame(self.tabProject)
93 self.frame_2.setFrameShape(QtGui.QFrame.StyledPanel)
101 self.frame_2.setFrameShape(QtGui.QFrame.StyledPanel)
94 self.frame_2.setFrameShadow(QtGui.QFrame.Raised)
102 self.frame_2.setFrameShadow(QtGui.QFrame.Raised)
95 self.frame_2.setObjectName(_fromUtf8("frame_2"))
103 self.frame_2.setObjectName(_fromUtf8("frame_2"))
96 self.gridLayout_10 = QtGui.QGridLayout(self.frame_2)
104 self.gridLayout_10 = QtGui.QGridLayout(self.frame_2)
97 self.gridLayout_10.setObjectName(_fromUtf8("gridLayout_10"))
105 self.gridLayout_10.setObjectName(_fromUtf8("gridLayout_10"))
98 self.label_27 = QtGui.QLabel(self.frame_2)
106 self.label_27 = QtGui.QLabel(self.frame_2)
99 self.label_27.setObjectName(_fromUtf8("label_27"))
107 self.label_27.setObjectName(_fromUtf8("label_27"))
100 self.gridLayout_10.addWidget(self.label_27, 0, 0, 1, 1)
108 self.gridLayout_10.addWidget(self.label_27, 0, 0, 1, 1)
101 self.proComStartDate = QtGui.QComboBox(self.frame_2)
109 self.proComStartDate = QtGui.QComboBox(self.frame_2)
102 self.proComStartDate.setObjectName(_fromUtf8("proComStartDate"))
110 self.proComStartDate.setObjectName(_fromUtf8("proComStartDate"))
103 self.gridLayout_10.addWidget(self.proComStartDate, 0, 1, 1, 1)
111 self.gridLayout_10.addWidget(self.proComStartDate, 0, 1, 1, 1)
104 self.label_28 = QtGui.QLabel(self.frame_2)
112 self.label_28 = QtGui.QLabel(self.frame_2)
105 self.label_28.setObjectName(_fromUtf8("label_28"))
113 self.label_28.setObjectName(_fromUtf8("label_28"))
106 self.gridLayout_10.addWidget(self.label_28, 1, 0, 1, 1)
114 self.gridLayout_10.addWidget(self.label_28, 1, 0, 1, 1)
107 self.proComEndDate = QtGui.QComboBox(self.frame_2)
115 self.proComEndDate = QtGui.QComboBox(self.frame_2)
108 self.proComEndDate.setObjectName(_fromUtf8("proComEndDate"))
116 self.proComEndDate.setObjectName(_fromUtf8("proComEndDate"))
109 self.gridLayout_10.addWidget(self.proComEndDate, 1, 1, 1, 1)
117 self.gridLayout_10.addWidget(self.proComEndDate, 1, 1, 1, 1)
110 self.label_2 = QtGui.QLabel(self.frame_2)
118 self.label_2 = QtGui.QLabel(self.frame_2)
111 self.label_2.setObjectName(_fromUtf8("label_2"))
119 self.label_2.setObjectName(_fromUtf8("label_2"))
112 self.gridLayout_10.addWidget(self.label_2, 2, 0, 1, 1)
120 self.gridLayout_10.addWidget(self.label_2, 2, 0, 1, 1)
113 self.proStartTime = QtGui.QTimeEdit(self.frame_2)
121 self.proStartTime = QtGui.QTimeEdit(self.frame_2)
114 self.proStartTime.setObjectName(_fromUtf8("proStartTime"))
122 self.proStartTime.setObjectName(_fromUtf8("proStartTime"))
115 self.gridLayout_10.addWidget(self.proStartTime, 2, 1, 1, 1)
123 self.gridLayout_10.addWidget(self.proStartTime, 2, 1, 1, 1)
116 self.label_3 = QtGui.QLabel(self.frame_2)
124 self.label_3 = QtGui.QLabel(self.frame_2)
117 self.label_3.setObjectName(_fromUtf8("label_3"))
125 self.label_3.setObjectName(_fromUtf8("label_3"))
118 self.gridLayout_10.addWidget(self.label_3, 3, 0, 1, 1)
126 self.gridLayout_10.addWidget(self.label_3, 3, 0, 1, 1)
119 self.proEndTime = QtGui.QTimeEdit(self.frame_2)
127 self.proEndTime = QtGui.QTimeEdit(self.frame_2)
120 self.proEndTime.setObjectName(_fromUtf8("proEndTime"))
128 self.proEndTime.setObjectName(_fromUtf8("proEndTime"))
121 self.gridLayout_10.addWidget(self.proEndTime, 3, 1, 1, 1)
129 self.gridLayout_10.addWidget(self.proEndTime, 3, 1, 1, 1)
122 self.label_30 = QtGui.QLabel(self.frame_2)
130 self.label_30 = QtGui.QLabel(self.frame_2)
123 self.label_30.setObjectName(_fromUtf8("label_30"))
131 self.label_30.setObjectName(_fromUtf8("label_30"))
124 self.gridLayout_10.addWidget(self.label_30, 4, 0, 1, 1)
132 self.gridLayout_10.addWidget(self.label_30, 4, 0, 1, 1)
125 self.proDescription = QtGui.QTextEdit(self.frame_2)
133 self.proDescription = QtGui.QTextEdit(self.frame_2)
126 self.proDescription.setObjectName(_fromUtf8("proDescription"))
134 self.proDescription.setObjectName(_fromUtf8("proDescription"))
127 self.gridLayout_10.addWidget(self.proDescription, 4, 1, 1, 1)
135 self.gridLayout_10.addWidget(self.proDescription, 4, 1, 1, 1)
128 self.gridLayout_15.addWidget(self.frame_2, 1, 0, 1, 1)
136 self.gridLayout_15.addWidget(self.frame_2, 1, 0, 1, 1)
129 self.frame_3 = QtGui.QFrame(self.tabProject)
137 self.frame_3 = QtGui.QFrame(self.tabProject)
130 self.frame_3.setFrameShape(QtGui.QFrame.StyledPanel)
138 self.frame_3.setFrameShape(QtGui.QFrame.StyledPanel)
131 self.frame_3.setFrameShadow(QtGui.QFrame.Raised)
139 self.frame_3.setFrameShadow(QtGui.QFrame.Raised)
132 self.frame_3.setObjectName(_fromUtf8("frame_3"))
140 self.frame_3.setObjectName(_fromUtf8("frame_3"))
133 self.gridLayout_14 = QtGui.QGridLayout(self.frame_3)
141 self.gridLayout_14 = QtGui.QGridLayout(self.frame_3)
134 self.gridLayout_14.setObjectName(_fromUtf8("gridLayout_14"))
142 self.gridLayout_14.setObjectName(_fromUtf8("gridLayout_14"))
135 self.proOk = QtGui.QPushButton(self.frame_3)
143 self.proOk = QtGui.QPushButton(self.frame_3)
136 self.proOk.setObjectName(_fromUtf8("proOk"))
144 self.proOk.setObjectName(_fromUtf8("proOk"))
137 self.gridLayout_14.addWidget(self.proOk, 0, 0, 1, 1)
145 self.gridLayout_14.addWidget(self.proOk, 0, 0, 1, 1)
138 self.proClear = QtGui.QPushButton(self.frame_3)
146 self.proClear = QtGui.QPushButton(self.frame_3)
139 self.proClear.setObjectName(_fromUtf8("proClear"))
147 self.proClear.setObjectName(_fromUtf8("proClear"))
140 self.gridLayout_14.addWidget(self.proClear, 0, 1, 1, 1)
148 self.gridLayout_14.addWidget(self.proClear, 0, 1, 1, 1)
141 self.gridLayout_15.addWidget(self.frame_3, 2, 0, 1, 1)
149 self.gridLayout_15.addWidget(self.frame_3, 2, 0, 1, 1)
142
150
143 self.tabWidgetProject.addTab(self.tabProject, _fromUtf8(""))
151 self.tabWidgetProject.addTab(self.tabProject, _fromUtf8(""))
144
152
145 def retranslateUi(self):
153 def retranslateUi(self):
146
154
147 self.label.setText(_translate("MainWindow", "Project Name :", None))
155 self.label.setText(_translate("MainWindow", "Project Name :", None))
148 self.label_11.setText(_translate("MainWindow", "DataType :", None))
156 self.label_11.setText(_translate("MainWindow", "DataType :", None))
149 self.proComDataType.setItemText(0, _translate("MainWindow", "Voltage", None))
157 self.proComDataType.setItemText(0, _translate("MainWindow", "Voltage", None))
150 self.proComDataType.setItemText(1, _translate("MainWindow", "Spectra", None))
158 self.proComDataType.setItemText(1, _translate("MainWindow", "Spectra", None))
151 self.proComDataType.setItemText(2, _translate("MainWindow", "Fits", None))
159 self.proComDataType.setItemText(2, _translate("MainWindow", "Fits", None))
152 self.proComDataType.setItemText(3, _translate("MainWindow", "USRP", None))
160 self.proComDataType.setItemText(3, _translate("MainWindow", "USRP", None))
153 self.label_15.setText(_translate("MainWindow", "DataPath :", None))
161 self.label_15.setText(_translate("MainWindow", "DataPath :", None))
154 self.proToolPath.setText(_translate("MainWindow", "...", None))
162 self.proToolPath.setText(_translate("MainWindow", "...", None))
155 self.label_23.setText(_translate("MainWindow", "Read Mode:", None))
163 self.label_23.setText(_translate("MainWindow", "Read Mode:", None))
156 self.proComReadMode.setItemText(0, _translate("MainWindow", "Offline", None))
164 self.proComReadMode.setItemText(0, _translate("MainWindow", "Offline", None))
157 self.proComReadMode.setItemText(1, _translate("MainWindow", "Online", None))
165 self.proComReadMode.setItemText(1, _translate("MainWindow", "Online", None))
158 self.label_33.setText(_translate("MainWindow", "Delay:", None))
166 self.label_33.setText(_translate("MainWindow", "Delay:", None))
159 self.label_32.setText(_translate("MainWindow", "Walk :", None))
167 self.label_32.setText(_translate("MainWindow", "Walk :", None))
160 self.proComWalk.setItemText(0, _translate("MainWindow", "On Files", None))
168 self.proComWalk.setItemText(0, _translate("MainWindow", "On Files", None))
161 self.proComWalk.setItemText(1, _translate("MainWindow", "On Folder", None))
169 self.proComWalk.setItemText(1, _translate("MainWindow", "On Folder", None))
162 self.proLoadButton.setText(_translate("MainWindow", "Load", None))
170 self.proLoadButton.setText(_translate("MainWindow", "Load", None))
163 self.label_10.setText(_translate("MainWindow", "Set:", None))
171 self.labelSet.setText(_translate("MainWindow", "Set:", None))
172 self.labelIPPKm.setText(_translate("MainWindow", "IPP (km):", None))
164 self.label_27.setText(_translate("MainWindow", "Star Date:", None))
173 self.label_27.setText(_translate("MainWindow", "Star Date:", None))
165 self.label_28.setText(_translate("MainWindow", "End Date:", None))
174 self.label_28.setText(_translate("MainWindow", "End Date:", None))
166 self.label_2.setText(_translate("MainWindow", "Start Time:", None))
175 self.label_2.setText(_translate("MainWindow", "Start Time:", None))
167 self.label_3.setText(_translate("MainWindow", "End Time:", None))
176 self.label_3.setText(_translate("MainWindow", "End Time:", None))
168 self.label_30.setText(_translate("MainWindow", "Description:", None))
177 self.label_30.setText(_translate("MainWindow", "Description:", None))
169 self.proOk.setText(_translate("MainWindow", "Ok", None))
178 self.proOk.setText(_translate("MainWindow", "Ok", None))
170 self.proClear.setText(_translate("MainWindow", "Clear", None))
179 self.proClear.setText(_translate("MainWindow", "Clear", None))
171
180
172 self.tabWidgetProject.setTabText(self.tabWidgetProject.indexOf(self.tabProject), _translate("MainWindow", "Project", None))
181 self.tabWidgetProject.setTabText(self.tabWidgetProject.indexOf(self.tabProject), _translate("MainWindow", "Project", None))
173 No newline at end of file
182
@@ -1,314 +1,324
1
1
2 from PyQt4 import QtCore, QtGui
2 from PyQt4 import QtCore, QtGui
3
3
4 try:
4 try:
5 _fromUtf8 = QtCore.QString.fromUtf8
5 _fromUtf8 = QtCore.QString.fromUtf8
6 except AttributeError:
6 except AttributeError:
7 def _fromUtf8(s):
7 def _fromUtf8(s):
8 return s
8 return s
9
9
10 try:
10 try:
11 _encoding = QtGui.QApplication.UnicodeUTF8
11 _encoding = QtGui.QApplication.UnicodeUTF8
12 def _translate(context, text, disambig):
12 def _translate(context, text, disambig):
13 return QtGui.QApplication.translate(context, text, disambig, _encoding)
13 return QtGui.QApplication.translate(context, text, disambig, _encoding)
14 except AttributeError:
14 except AttributeError:
15 def _translate(context, text, disambig):
15 def _translate(context, text, disambig):
16 return QtGui.QApplication.translate(context, text, disambig)
16 return QtGui.QApplication.translate(context, text, disambig)
17
17
18 class Ui_VoltageTab(object):
18 class Ui_VoltageTab(object):
19
19
20 def setupUi(self):
20 def setupUi(self):
21
21
22 self.tabVoltage = QtGui.QWidget()
22 self.tabVoltage = QtGui.QWidget()
23 self.tabVoltage.setObjectName(_fromUtf8("tabVoltage"))
23 self.tabVoltage.setObjectName(_fromUtf8("tabVoltage"))
24
24
25 self.gridLayout_3 = QtGui.QGridLayout(self.tabVoltage)
25 self.gridLayout_3 = QtGui.QGridLayout(self.tabVoltage)
26 self.gridLayout_3.setObjectName(_fromUtf8("gridLayout_3"))
26 self.gridLayout_3.setObjectName(_fromUtf8("gridLayout_3"))
27
27
28 self.frame_4 = QtGui.QFrame(self.tabVoltage)
28 self.frame_4 = QtGui.QFrame(self.tabVoltage)
29 self.frame_4.setFrameShape(QtGui.QFrame.StyledPanel)
29 self.frame_4.setFrameShape(QtGui.QFrame.StyledPanel)
30 self.frame_4.setFrameShadow(QtGui.QFrame.Raised)
30 self.frame_4.setFrameShadow(QtGui.QFrame.Raised)
31 self.frame_4.setObjectName(_fromUtf8("frame_4"))
31 self.frame_4.setObjectName(_fromUtf8("frame_4"))
32
32
33 self.gridLayout_17 = QtGui.QGridLayout(self.frame_4)
33 self.gridLayout_17 = QtGui.QGridLayout(self.frame_4)
34 self.gridLayout_17.setObjectName(_fromUtf8("gridLayout_17"))
34 self.gridLayout_17.setObjectName(_fromUtf8("gridLayout_17"))
35 self.volOpOk = QtGui.QPushButton(self.frame_4)
35 self.volOpOk = QtGui.QPushButton(self.frame_4)
36 self.volOpOk.setObjectName(_fromUtf8("volOpOk"))
36 self.volOpOk.setObjectName(_fromUtf8("volOpOk"))
37 self.gridLayout_17.addWidget(self.volOpOk, 0, 0, 1, 1)
37 self.gridLayout_17.addWidget(self.volOpOk, 0, 0, 1, 1)
38 self.volGraphClear = QtGui.QPushButton(self.frame_4)
38 self.volGraphClear = QtGui.QPushButton(self.frame_4)
39 self.volGraphClear.setObjectName(_fromUtf8("volGraphClear"))
39 self.volGraphClear.setObjectName(_fromUtf8("volGraphClear"))
40 self.gridLayout_17.addWidget(self.volGraphClear, 0, 1, 1, 1)
40 self.gridLayout_17.addWidget(self.volGraphClear, 0, 1, 1, 1)
41 self.gridLayout_3.addWidget(self.frame_4, 1, 1, 1, 1)
41 self.gridLayout_3.addWidget(self.frame_4, 1, 1, 1, 1)
42
42
43
43
44 self.tabWidgetVoltage = QtGui.QTabWidget(self.tabVoltage)
44 self.tabWidgetVoltage = QtGui.QTabWidget(self.tabVoltage)
45 self.tabWidgetVoltage.setObjectName(_fromUtf8("tabWidgetVoltage"))
45 self.tabWidgetVoltage.setObjectName(_fromUtf8("tabWidgetVoltage"))
46 self.tabopVoltage = QtGui.QWidget()
46 self.tabopVoltage = QtGui.QWidget()
47 self.tabopVoltage.setObjectName(_fromUtf8("tabopVoltage"))
47 self.tabopVoltage.setObjectName(_fromUtf8("tabopVoltage"))
48 self.gridLayout = QtGui.QGridLayout(self.tabopVoltage)
48 self.gridLayout = QtGui.QGridLayout(self.tabopVoltage)
49 self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
49 self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
50 self.volOpHeights = QtGui.QLineEdit(self.tabopVoltage)
50 self.volOpHeights = QtGui.QLineEdit(self.tabopVoltage)
51 self.volOpHeights.setObjectName(_fromUtf8("volOpHeights"))
51 self.volOpHeights.setObjectName(_fromUtf8("volOpHeights"))
52 self.gridLayout.addWidget(self.volOpHeights, 4, 4, 1, 1)
52 self.gridLayout.addWidget(self.volOpHeights, 4, 4, 1, 1)
53 self.volOpComHeights = QtGui.QComboBox(self.tabopVoltage)
53 self.volOpComHeights = QtGui.QComboBox(self.tabopVoltage)
54 self.volOpComHeights.setObjectName(_fromUtf8("volOpComHeights"))
54 self.volOpComHeights.setObjectName(_fromUtf8("volOpComHeights"))
55 self.volOpComHeights.addItem(_fromUtf8(""))
55 self.volOpComHeights.addItem(_fromUtf8(""))
56 self.volOpComHeights.addItem(_fromUtf8(""))
56 self.volOpComHeights.addItem(_fromUtf8(""))
57 self.gridLayout.addWidget(self.volOpComHeights, 4, 0, 1, 3)
57 self.gridLayout.addWidget(self.volOpComHeights, 4, 0, 1, 3)
58 self.volOpComChannels = QtGui.QComboBox(self.tabopVoltage)
58 self.volOpComChannels = QtGui.QComboBox(self.tabopVoltage)
59 self.volOpComChannels.setObjectName(_fromUtf8("volOpComChannels"))
59 self.volOpComChannels.setObjectName(_fromUtf8("volOpComChannels"))
60 self.volOpComChannels.addItem(_fromUtf8(""))
60 self.volOpComChannels.addItem(_fromUtf8(""))
61 self.volOpComChannels.addItem(_fromUtf8(""))
61 self.volOpComChannels.addItem(_fromUtf8(""))
62 self.gridLayout.addWidget(self.volOpComChannels, 2, 0, 1, 3)
62 self.gridLayout.addWidget(self.volOpComChannels, 2, 0, 1, 3)
63 self.volOpCebProfile = QtGui.QCheckBox(self.tabopVoltage)
63 self.volOpCebProfile = QtGui.QCheckBox(self.tabopVoltage)
64 self.volOpCebProfile.setObjectName(_fromUtf8("volOpCebProfile"))
64 self.volOpCebProfile.setObjectName(_fromUtf8("volOpCebProfile"))
65 self.gridLayout.addWidget(self.volOpCebProfile, 6, 0, 1, 3)
65 self.gridLayout.addWidget(self.volOpCebProfile, 6, 0, 1, 3)
66 self.volOpComProfile = QtGui.QComboBox(self.tabopVoltage)
66 self.volOpComProfile = QtGui.QComboBox(self.tabopVoltage)
67 self.volOpComProfile.setObjectName(_fromUtf8("volOpComProfile"))
67 self.volOpComProfile.setObjectName(_fromUtf8("volOpComProfile"))
68 self.volOpComProfile.addItem(_fromUtf8(""))
68 self.volOpComProfile.addItem(_fromUtf8(""))
69 self.volOpComProfile.addItem(_fromUtf8(""))
69 self.volOpComProfile.addItem(_fromUtf8(""))
70 self.volOpComProfile.addItem(_fromUtf8(""))
70 self.gridLayout.addWidget(self.volOpComProfile, 7, 0, 1, 3)
71 self.gridLayout.addWidget(self.volOpComProfile, 7, 0, 1, 3)
71 self.volOpCebDecodification = QtGui.QCheckBox(self.tabopVoltage)
72 self.volOpCebDecodification = QtGui.QCheckBox(self.tabopVoltage)
72 self.volOpCebDecodification.setObjectName(_fromUtf8("volOpCebDecodification"))
73 self.volOpCebDecodification.setObjectName(_fromUtf8("volOpCebDecodification"))
73 self.gridLayout.addWidget(self.volOpCebDecodification, 8, 0, 1, 3)
74 self.gridLayout.addWidget(self.volOpCebDecodification, 8, 0, 1, 3)
74 self.volOpProfile = QtGui.QLineEdit(self.tabopVoltage)
75 self.volOpProfile = QtGui.QLineEdit(self.tabopVoltage)
75 self.volOpProfile.setObjectName(_fromUtf8("volOpProfile"))
76 self.volOpProfile.setObjectName(_fromUtf8("volOpProfile"))
76 self.gridLayout.addWidget(self.volOpProfile, 7, 4, 1, 1)
77 self.gridLayout.addWidget(self.volOpProfile, 7, 4, 1, 1)
77 self.volOpFilter = QtGui.QLineEdit(self.tabopVoltage)
78 self.volOpFilter = QtGui.QLineEdit(self.tabopVoltage)
78 self.volOpFilter.setObjectName(_fromUtf8("volOpFilter"))
79 self.volOpFilter.setObjectName(_fromUtf8("volOpFilter"))
79 self.gridLayout.addWidget(self.volOpFilter, 5, 4, 1, 1)
80 self.gridLayout.addWidget(self.volOpFilter, 5, 4, 1, 1)
80 spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
81 spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
81 self.gridLayout.addItem(spacerItem, 6, 4, 1, 1)
82 self.gridLayout.addItem(spacerItem, 6, 4, 1, 1)
82 spacerItem1 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
83 spacerItem1 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
83 self.gridLayout.addItem(spacerItem1, 8, 4, 1, 1)
84 self.gridLayout.addItem(spacerItem1, 8, 4, 1, 1)
84 spacerItem2 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
85 spacerItem2 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
85 self.gridLayout.addItem(spacerItem2, 3, 4, 1, 1)
86 self.gridLayout.addItem(spacerItem2, 3, 4, 1, 1)
86 self.volOpChannel = QtGui.QLineEdit(self.tabopVoltage)
87 self.volOpChannel = QtGui.QLineEdit(self.tabopVoltage)
87 self.volOpChannel.setObjectName(_fromUtf8("volOpChannel"))
88 self.volOpChannel.setObjectName(_fromUtf8("volOpChannel"))
88 self.gridLayout.addWidget(self.volOpChannel, 2, 4, 1, 1)
89 self.gridLayout.addWidget(self.volOpChannel, 2, 4, 1, 1)
89 self.label_4 = QtGui.QLabel(self.tabopVoltage)
90 self.label_4.setObjectName(_fromUtf8("label_4"))
91 self.gridLayout.addWidget(self.label_4, 9, 2, 1, 1)
92 self.volOpCebChannels = QtGui.QCheckBox(self.tabopVoltage)
90 self.volOpCebChannels = QtGui.QCheckBox(self.tabopVoltage)
93 self.volOpCebChannels.setObjectName(_fromUtf8("volOpCebChannels"))
91 self.volOpCebChannels.setObjectName(_fromUtf8("volOpCebChannels"))
94 self.gridLayout.addWidget(self.volOpCebChannels, 1, 0, 1, 3)
92 self.gridLayout.addWidget(self.volOpCebChannels, 1, 0, 1, 3)
95 self.volOpCebHeights = QtGui.QCheckBox(self.tabopVoltage)
93 self.volOpCebHeights = QtGui.QCheckBox(self.tabopVoltage)
96 self.volOpCebHeights.setObjectName(_fromUtf8("volOpCebHeights"))
94 self.volOpCebHeights.setObjectName(_fromUtf8("volOpCebHeights"))
97 self.gridLayout.addWidget(self.volOpCebHeights, 3, 0, 1, 3)
95 self.gridLayout.addWidget(self.volOpCebHeights, 3, 0, 1, 3)
98 self.volOpCebFilter = QtGui.QCheckBox(self.tabopVoltage)
96 self.volOpCebFilter = QtGui.QCheckBox(self.tabopVoltage)
99 self.volOpCebFilter.setObjectName(_fromUtf8("volOpCebFilter"))
97 self.volOpCebFilter.setObjectName(_fromUtf8("volOpCebFilter"))
100 self.gridLayout.addWidget(self.volOpCebFilter, 5, 0, 1, 3)
98 self.gridLayout.addWidget(self.volOpCebFilter, 5, 0, 1, 3)
101 self.volOpRadarfrequency = QtGui.QLineEdit(self.tabopVoltage)
99 self.volOpRadarfrequency = QtGui.QLineEdit(self.tabopVoltage)
102 self.volOpRadarfrequency.setObjectName(_fromUtf8("volOpRadarfrequency"))
100 self.volOpRadarfrequency.setObjectName(_fromUtf8("volOpRadarfrequency"))
103 self.gridLayout.addWidget(self.volOpRadarfrequency, 0, 4, 1, 1)
101 self.gridLayout.addWidget(self.volOpRadarfrequency, 0, 4, 1, 1)
104 self.volOpCebRadarfrequency = QtGui.QCheckBox(self.tabopVoltage)
102 self.volOpCebRadarfrequency = QtGui.QCheckBox(self.tabopVoltage)
105 self.volOpCebRadarfrequency.setObjectName(_fromUtf8("volOpCebRadarfrequency"))
103 self.volOpCebRadarfrequency.setObjectName(_fromUtf8("volOpCebRadarfrequency"))
106 self.gridLayout.addWidget(self.volOpCebRadarfrequency, 0, 0, 1, 3)
104 self.gridLayout.addWidget(self.volOpCebRadarfrequency, 0, 0, 1, 3)
107 self.label_5 = QtGui.QLabel(self.tabopVoltage)
108 self.label_5.setObjectName(_fromUtf8("label_5"))
109 self.gridLayout.addWidget(self.label_5, 10, 2, 1, 1)
110 spacerItem3 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
105 spacerItem3 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
111 self.gridLayout.addItem(spacerItem3, 1, 4, 1, 1)
106 self.gridLayout.addItem(spacerItem3, 1, 4, 1, 1)
112 self.volOpCebFlip = QtGui.QCheckBox(self.tabopVoltage)
107 self.volOpCebFlip = QtGui.QCheckBox(self.tabopVoltage)
113 self.volOpCebFlip.setObjectName(_fromUtf8("volOpCebFlip"))
108 self.volOpCebFlip.setObjectName(_fromUtf8("volOpCebFlip"))
114 self.gridLayout.addWidget(self.volOpCebFlip, 11, 0, 1, 3)
109 self.gridLayout.addWidget(self.volOpCebFlip, 11, 0, 1, 3)
115 self.volOpFlip = QtGui.QLineEdit(self.tabopVoltage)
110 self.volOpFlip = QtGui.QLineEdit(self.tabopVoltage)
116 self.volOpFlip.setObjectName(_fromUtf8("volOpFlip"))
111 self.volOpFlip.setObjectName(_fromUtf8("volOpFlip"))
117 self.gridLayout.addWidget(self.volOpFlip, 11, 4, 1, 1)
112 self.gridLayout.addWidget(self.volOpFlip, 11, 4, 1, 1)
118
113
119 self.volOpCebCohInt = QtGui.QCheckBox(self.tabopVoltage)
114 self.volOpCebCohInt = QtGui.QCheckBox(self.tabopVoltage)
120 self.volOpCebCohInt.setObjectName(_fromUtf8("volOpCebCohInt"))
115 self.volOpCebCohInt.setObjectName(_fromUtf8("volOpCebCohInt"))
121 self.gridLayout.addWidget(self.volOpCebCohInt, 12, 0, 1, 3)
116 self.gridLayout.addWidget(self.volOpCebCohInt, 12, 0, 1, 3)
122 self.volOpCohInt = QtGui.QLineEdit(self.tabopVoltage)
117 self.volOpCohInt = QtGui.QLineEdit(self.tabopVoltage)
123 self.volOpCohInt.setObjectName(_fromUtf8("volOpCohInt"))
118 self.volOpCohInt.setObjectName(_fromUtf8("volOpCohInt"))
124 self.gridLayout.addWidget(self.volOpCohInt, 12, 4, 1, 1)
119 self.gridLayout.addWidget(self.volOpCohInt, 12, 4, 1, 1)
125
120
121 self.volLabCodeMode = QtGui.QLabel(self.tabopVoltage)
122 self.volLabCodeMode.setObjectName(_fromUtf8("volLabCodeMode"))
123 self.gridLayout.addWidget(self.volLabCodeMode, 8, 2, 1, 1)
124 self.volLabCodeType = QtGui.QLabel(self.tabopVoltage)
125 self.volLabCodeType.setObjectName(_fromUtf8("volLabCodeType"))
126 self.gridLayout.addWidget(self.volLabCodeType, 9, 2, 1, 1)
127 self.volLabCode = QtGui.QLabel(self.tabopVoltage)
128 self.volLabCode.setObjectName(_fromUtf8("volLabCode"))
129 self.gridLayout.addWidget(self.volLabCode, 10, 2, 1, 1)
130 self.volOpComMode = QtGui.QComboBox(self.tabopVoltage)
131 self.volOpComMode.setObjectName(_fromUtf8("volOpComMode"))
132 self.volOpComMode.addItem(_fromUtf8(""))
133 self.volOpComMode.addItem(_fromUtf8(""))
134 self.gridLayout.addWidget(self.volOpComMode, 8, 4, 1, 1)
126 self.volOpComCode = QtGui.QComboBox(self.tabopVoltage)
135 self.volOpComCode = QtGui.QComboBox(self.tabopVoltage)
127 self.volOpComCode.setObjectName(_fromUtf8("volOpComCode"))
136 self.volOpComCode.setObjectName(_fromUtf8("volOpComCode"))
128 self.volOpComCode.addItem(_fromUtf8(""))
137 self.volOpComCode.addItem(_fromUtf8(""))
129 self.volOpComCode.addItem(_fromUtf8(""))
138 self.volOpComCode.addItem(_fromUtf8(""))
130 self.volOpComCode.addItem(_fromUtf8(""))
139 self.volOpComCode.addItem(_fromUtf8(""))
131 self.volOpComCode.addItem(_fromUtf8(""))
140 self.volOpComCode.addItem(_fromUtf8(""))
132 self.volOpComCode.addItem(_fromUtf8(""))
141 self.volOpComCode.addItem(_fromUtf8(""))
133 self.volOpComCode.addItem(_fromUtf8(""))
142 self.volOpComCode.addItem(_fromUtf8(""))
134 self.volOpComCode.addItem(_fromUtf8(""))
143 self.volOpComCode.addItem(_fromUtf8(""))
135 self.volOpComCode.addItem(_fromUtf8(""))
144 self.volOpComCode.addItem(_fromUtf8(""))
136 self.volOpComCode.addItem(_fromUtf8(""))
145 self.volOpComCode.addItem(_fromUtf8(""))
137 self.volOpComCode.addItem(_fromUtf8(""))
146 self.volOpComCode.addItem(_fromUtf8(""))
138 self.volOpComCode.addItem(_fromUtf8(""))
147 self.volOpComCode.addItem(_fromUtf8(""))
139 self.volOpComCode.addItem(_fromUtf8(""))
148 self.volOpComCode.addItem(_fromUtf8(""))
140 self.volOpComCode.addItem(_fromUtf8(""))
149 self.volOpComCode.addItem(_fromUtf8(""))
150 self.volOpComCode.addItem(_fromUtf8(""))
141 self.gridLayout.addWidget(self.volOpComCode, 9, 4, 1, 1)
151 self.gridLayout.addWidget(self.volOpComCode, 9, 4, 1, 1)
142 self.volOpComMode = QtGui.QComboBox(self.tabopVoltage)
143 self.volOpComMode.setObjectName(_fromUtf8("volOpComMode"))
144 self.volOpComMode.addItem(_fromUtf8(""))
145 self.volOpComMode.addItem(_fromUtf8(""))
146 self.gridLayout.addWidget(self.volOpComMode, 10, 4, 1, 1)
147 self.tabWidgetVoltage.addTab(self.tabopVoltage, _fromUtf8(""))
152 self.tabWidgetVoltage.addTab(self.tabopVoltage, _fromUtf8(""))
148
153 self.volOpCode = QtGui.QLineEdit(self.tabopVoltage)
154 self.volOpCode.setObjectName(_fromUtf8("volOpCode"))
155 self.gridLayout.addWidget(self.volOpCode, 10, 4, 1, 1)
149
156
150 self.tabgraphVoltage = QtGui.QWidget()
157 self.tabgraphVoltage = QtGui.QWidget()
151 self.tabgraphVoltage.setObjectName(_fromUtf8("tabgraphVoltage"))
158 self.tabgraphVoltage.setObjectName(_fromUtf8("tabgraphVoltage"))
152 self.gridLayout_6 = QtGui.QGridLayout(self.tabgraphVoltage)
159 self.gridLayout_6 = QtGui.QGridLayout(self.tabgraphVoltage)
153 self.gridLayout_6.setObjectName(_fromUtf8("gridLayout_6"))
160 self.gridLayout_6.setObjectName(_fromUtf8("gridLayout_6"))
154 spacerItem4 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
161 spacerItem4 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
155 self.gridLayout_6.addItem(spacerItem4, 12, 3, 1, 1)
162 self.gridLayout_6.addItem(spacerItem4, 12, 3, 1, 1)
156 self.volGraphfreqrange = QtGui.QLineEdit(self.tabgraphVoltage)
163 self.volGraphfreqrange = QtGui.QLineEdit(self.tabgraphVoltage)
157 self.volGraphfreqrange.setObjectName(_fromUtf8("volGraphfreqrange"))
164 self.volGraphfreqrange.setObjectName(_fromUtf8("volGraphfreqrange"))
158 self.gridLayout_6.addWidget(self.volGraphfreqrange, 9, 1, 1, 6)
165 self.gridLayout_6.addWidget(self.volGraphfreqrange, 9, 1, 1, 6)
159 self.volGraphPrefix = QtGui.QLineEdit(self.tabgraphVoltage)
166 self.volGraphPrefix = QtGui.QLineEdit(self.tabgraphVoltage)
160 self.volGraphPrefix.setObjectName(_fromUtf8("volGraphPrefix"))
167 self.volGraphPrefix.setObjectName(_fromUtf8("volGraphPrefix"))
161 self.gridLayout_6.addWidget(self.volGraphPrefix, 2, 1, 1, 6)
168 self.gridLayout_6.addWidget(self.volGraphPrefix, 2, 1, 1, 6)
162 self.volGraphToolPath = QtGui.QToolButton(self.tabgraphVoltage)
169 self.volGraphToolPath = QtGui.QToolButton(self.tabgraphVoltage)
163 self.volGraphToolPath.setObjectName(_fromUtf8("volGraphToolPath"))
170 self.volGraphToolPath.setObjectName(_fromUtf8("volGraphToolPath"))
164 self.gridLayout_6.addWidget(self.volGraphToolPath, 1, 5, 1, 2)
171 self.gridLayout_6.addWidget(self.volGraphToolPath, 1, 5, 1, 2)
165 self.volGraphPath = QtGui.QLineEdit(self.tabgraphVoltage)
172 self.volGraphPath = QtGui.QLineEdit(self.tabgraphVoltage)
166 self.volGraphPath.setObjectName(_fromUtf8("volGraphPath"))
173 self.volGraphPath.setObjectName(_fromUtf8("volGraphPath"))
167 self.gridLayout_6.addWidget(self.volGraphPath, 1, 1, 1, 4)
174 self.gridLayout_6.addWidget(self.volGraphPath, 1, 1, 1, 4)
168 self.label_14 = QtGui.QLabel(self.tabgraphVoltage)
175 self.label_14 = QtGui.QLabel(self.tabgraphVoltage)
169 self.label_14.setObjectName(_fromUtf8("label_14"))
176 self.label_14.setObjectName(_fromUtf8("label_14"))
170 self.gridLayout_6.addWidget(self.label_14, 6, 0, 1, 1)
177 self.gridLayout_6.addWidget(self.label_14, 6, 0, 1, 1)
171 spacerItem5 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
178 spacerItem5 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
172 self.gridLayout_6.addItem(spacerItem5, 3, 3, 1, 1)
179 self.gridLayout_6.addItem(spacerItem5, 3, 3, 1, 1)
173 self.label_8 = QtGui.QLabel(self.tabgraphVoltage)
180 self.label_8 = QtGui.QLabel(self.tabgraphVoltage)
174 self.label_8.setObjectName(_fromUtf8("label_8"))
181 self.label_8.setObjectName(_fromUtf8("label_8"))
175 self.gridLayout_6.addWidget(self.label_8, 8, 0, 1, 1)
182 self.gridLayout_6.addWidget(self.label_8, 8, 0, 1, 1)
176 self.label_49 = QtGui.QLabel(self.tabgraphVoltage)
183 self.label_49 = QtGui.QLabel(self.tabgraphVoltage)
177 self.label_49.setObjectName(_fromUtf8("label_49"))
184 self.label_49.setObjectName(_fromUtf8("label_49"))
178 self.gridLayout_6.addWidget(self.label_49, 4, 3, 1, 1)
185 self.gridLayout_6.addWidget(self.label_49, 4, 3, 1, 1)
179 self.label_51 = QtGui.QLabel(self.tabgraphVoltage)
186 self.label_51 = QtGui.QLabel(self.tabgraphVoltage)
180 self.label_51.setObjectName(_fromUtf8("label_51"))
187 self.label_51.setObjectName(_fromUtf8("label_51"))
181 self.gridLayout_6.addWidget(self.label_51, 9, 0, 1, 1)
188 self.gridLayout_6.addWidget(self.label_51, 9, 0, 1, 1)
182 self.volGraphCebshow = QtGui.QCheckBox(self.tabgraphVoltage)
189 self.volGraphCebshow = QtGui.QCheckBox(self.tabgraphVoltage)
183 self.volGraphCebshow.setText(_fromUtf8(""))
190 self.volGraphCebshow.setText(_fromUtf8(""))
184 self.volGraphCebshow.setObjectName(_fromUtf8("volGraphCebshow"))
191 self.volGraphCebshow.setObjectName(_fromUtf8("volGraphCebshow"))
185 self.gridLayout_6.addWidget(self.volGraphCebshow, 6, 3, 1, 1)
192 self.gridLayout_6.addWidget(self.volGraphCebshow, 6, 3, 1, 1)
186 self.label_12 = QtGui.QLabel(self.tabgraphVoltage)
193 self.label_12 = QtGui.QLabel(self.tabgraphVoltage)
187 self.label_12.setObjectName(_fromUtf8("label_12"))
194 self.label_12.setObjectName(_fromUtf8("label_12"))
188 self.gridLayout_6.addWidget(self.label_12, 1, 0, 1, 1)
195 self.gridLayout_6.addWidget(self.label_12, 1, 0, 1, 1)
189 self.label_13 = QtGui.QLabel(self.tabgraphVoltage)
196 self.label_13 = QtGui.QLabel(self.tabgraphVoltage)
190 self.label_13.setObjectName(_fromUtf8("label_13"))
197 self.label_13.setObjectName(_fromUtf8("label_13"))
191 self.gridLayout_6.addWidget(self.label_13, 2, 0, 1, 1)
198 self.gridLayout_6.addWidget(self.label_13, 2, 0, 1, 1)
192 self.label_52 = QtGui.QLabel(self.tabgraphVoltage)
199 self.label_52 = QtGui.QLabel(self.tabgraphVoltage)
193 self.label_52.setObjectName(_fromUtf8("label_52"))
200 self.label_52.setObjectName(_fromUtf8("label_52"))
194 self.gridLayout_6.addWidget(self.label_52, 11, 0, 1, 1)
201 self.gridLayout_6.addWidget(self.label_52, 11, 0, 1, 1)
195 spacerItem6 = QtGui.QSpacerItem(40, 12, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
202 spacerItem6 = QtGui.QSpacerItem(40, 12, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
196 self.gridLayout_6.addItem(spacerItem6, 14, 5, 1, 2)
203 self.gridLayout_6.addItem(spacerItem6, 14, 5, 1, 2)
197 spacerItem7 = QtGui.QSpacerItem(18, 12, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
204 spacerItem7 = QtGui.QSpacerItem(18, 12, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
198 self.gridLayout_6.addItem(spacerItem7, 14, 3, 1, 1)
205 self.gridLayout_6.addItem(spacerItem7, 14, 3, 1, 1)
199 self.volGraphChannelList = QtGui.QLineEdit(self.tabgraphVoltage)
206 self.volGraphChannelList = QtGui.QLineEdit(self.tabgraphVoltage)
200 self.volGraphChannelList.setObjectName(_fromUtf8("volGraphChannelList"))
207 self.volGraphChannelList.setObjectName(_fromUtf8("volGraphChannelList"))
201 self.gridLayout_6.addWidget(self.volGraphChannelList, 8, 1, 1, 6)
208 self.gridLayout_6.addWidget(self.volGraphChannelList, 8, 1, 1, 6)
202 self.volGraphHeightrange = QtGui.QLineEdit(self.tabgraphVoltage)
209 self.volGraphHeightrange = QtGui.QLineEdit(self.tabgraphVoltage)
203 self.volGraphHeightrange.setObjectName(_fromUtf8("volGraphHeightrange"))
210 self.volGraphHeightrange.setObjectName(_fromUtf8("volGraphHeightrange"))
204 self.gridLayout_6.addWidget(self.volGraphHeightrange, 11, 1, 1, 6)
211 self.gridLayout_6.addWidget(self.volGraphHeightrange, 11, 1, 1, 6)
205 self.label_50 = QtGui.QLabel(self.tabgraphVoltage)
212 self.label_50 = QtGui.QLabel(self.tabgraphVoltage)
206 self.label_50.setObjectName(_fromUtf8("label_50"))
213 self.label_50.setObjectName(_fromUtf8("label_50"))
207 self.gridLayout_6.addWidget(self.label_50, 4, 4, 1, 1)
214 self.gridLayout_6.addWidget(self.label_50, 4, 4, 1, 1)
208 self.volGraphCebSave = QtGui.QCheckBox(self.tabgraphVoltage)
215 self.volGraphCebSave = QtGui.QCheckBox(self.tabgraphVoltage)
209 self.volGraphCebSave.setText(_fromUtf8(""))
216 self.volGraphCebSave.setText(_fromUtf8(""))
210 self.volGraphCebSave.setObjectName(_fromUtf8("volGraphCebSave"))
217 self.volGraphCebSave.setObjectName(_fromUtf8("volGraphCebSave"))
211 self.gridLayout_6.addWidget(self.volGraphCebSave, 6, 4, 1, 1)
218 self.gridLayout_6.addWidget(self.volGraphCebSave, 6, 4, 1, 1)
212 self.tabWidgetVoltage.addTab(self.tabgraphVoltage, _fromUtf8(""))
219 self.tabWidgetVoltage.addTab(self.tabgraphVoltage, _fromUtf8(""))
213
220
214 self.taboutputVoltage = QtGui.QWidget()
221 self.taboutputVoltage = QtGui.QWidget()
215 self.taboutputVoltage.setObjectName(_fromUtf8("taboutputVoltage"))
222 self.taboutputVoltage.setObjectName(_fromUtf8("taboutputVoltage"))
216 self.gridLayout_12 = QtGui.QGridLayout(self.taboutputVoltage)
223 self.gridLayout_12 = QtGui.QGridLayout(self.taboutputVoltage)
217 self.gridLayout_12.setObjectName(_fromUtf8("gridLayout_12"))
224 self.gridLayout_12.setObjectName(_fromUtf8("gridLayout_12"))
218 self.label_36 = QtGui.QLabel(self.taboutputVoltage)
225 self.label_36 = QtGui.QLabel(self.taboutputVoltage)
219 self.label_36.setObjectName(_fromUtf8("label_36"))
226 self.label_36.setObjectName(_fromUtf8("label_36"))
220 self.gridLayout_12.addWidget(self.label_36, 0, 0, 1, 1)
227 self.gridLayout_12.addWidget(self.label_36, 0, 0, 1, 1)
221 self.label_37 = QtGui.QLabel(self.taboutputVoltage)
228 self.label_37 = QtGui.QLabel(self.taboutputVoltage)
222 self.label_37.setObjectName(_fromUtf8("label_37"))
229 self.label_37.setObjectName(_fromUtf8("label_37"))
223 self.gridLayout_12.addWidget(self.label_37, 1, 0, 1, 1)
230 self.gridLayout_12.addWidget(self.label_37, 1, 0, 1, 1)
224 self.volOutputPath = QtGui.QLineEdit(self.taboutputVoltage)
231 self.volOutputPath = QtGui.QLineEdit(self.taboutputVoltage)
225 self.volOutputPath.setObjectName(_fromUtf8("volOutputPath"))
232 self.volOutputPath.setObjectName(_fromUtf8("volOutputPath"))
226 self.gridLayout_12.addWidget(self.volOutputPath, 1, 2, 1, 1)
233 self.gridLayout_12.addWidget(self.volOutputPath, 1, 2, 1, 1)
227 self.volOutputToolPath = QtGui.QToolButton(self.taboutputVoltage)
234 self.volOutputToolPath = QtGui.QToolButton(self.taboutputVoltage)
228 self.volOutputToolPath.setObjectName(_fromUtf8("volOutputToolPath"))
235 self.volOutputToolPath.setObjectName(_fromUtf8("volOutputToolPath"))
229 self.gridLayout_12.addWidget(self.volOutputToolPath, 1, 3, 1, 1)
236 self.gridLayout_12.addWidget(self.volOutputToolPath, 1, 3, 1, 1)
230 self.volOutputComData = QtGui.QComboBox(self.taboutputVoltage)
237 self.volOutputComData = QtGui.QComboBox(self.taboutputVoltage)
231 self.volOutputComData.setObjectName(_fromUtf8("volOutputComData"))
238 self.volOutputComData.setObjectName(_fromUtf8("volOutputComData"))
232 self.volOutputComData.addItem(_fromUtf8(""))
239 self.volOutputComData.addItem(_fromUtf8(""))
233 self.gridLayout_12.addWidget(self.volOutputComData, 0, 2, 1, 2)
240 self.gridLayout_12.addWidget(self.volOutputComData, 0, 2, 1, 2)
234 spacerItem8 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
241 spacerItem8 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
235 self.gridLayout_12.addItem(spacerItem8, 5, 2, 1, 1)
242 self.gridLayout_12.addItem(spacerItem8, 5, 2, 1, 1)
236 self.volOutputblocksperfile = QtGui.QLineEdit(self.taboutputVoltage)
243 self.volOutputblocksperfile = QtGui.QLineEdit(self.taboutputVoltage)
237 self.volOutputblocksperfile.setObjectName(_fromUtf8("volOutputblocksperfile"))
244 self.volOutputblocksperfile.setObjectName(_fromUtf8("volOutputblocksperfile"))
238 self.gridLayout_12.addWidget(self.volOutputblocksperfile, 3, 2, 1, 1)
245 self.gridLayout_12.addWidget(self.volOutputblocksperfile, 3, 2, 1, 1)
239 self.label_7 = QtGui.QLabel(self.taboutputVoltage)
246 self.label_7 = QtGui.QLabel(self.taboutputVoltage)
240 self.label_7.setObjectName(_fromUtf8("label_7"))
247 self.label_7.setObjectName(_fromUtf8("label_7"))
241 self.gridLayout_12.addWidget(self.label_7, 3, 0, 1, 1)
248 self.gridLayout_12.addWidget(self.label_7, 3, 0, 1, 1)
242 self.label_35 = QtGui.QLabel(self.taboutputVoltage)
249 self.label_35 = QtGui.QLabel(self.taboutputVoltage)
243 self.label_35.setObjectName(_fromUtf8("label_35"))
250 self.label_35.setObjectName(_fromUtf8("label_35"))
244 self.gridLayout_12.addWidget(self.label_35, 4, 0, 1, 1)
251 self.gridLayout_12.addWidget(self.label_35, 4, 0, 1, 1)
245 self.volOutputprofilesperblock = QtGui.QLineEdit(self.taboutputVoltage)
252 self.volOutputprofilesperblock = QtGui.QLineEdit(self.taboutputVoltage)
246 self.volOutputprofilesperblock.setObjectName(_fromUtf8("volOutputprofilesperblock"))
253 self.volOutputprofilesperblock.setObjectName(_fromUtf8("volOutputprofilesperblock"))
247 self.gridLayout_12.addWidget(self.volOutputprofilesperblock, 4, 2, 1, 1)
254 self.gridLayout_12.addWidget(self.volOutputprofilesperblock, 4, 2, 1, 1)
248 self.tabWidgetVoltage.addTab(self.taboutputVoltage, _fromUtf8(""))
255 self.tabWidgetVoltage.addTab(self.taboutputVoltage, _fromUtf8(""))
249 self.gridLayout_3.addWidget(self.tabWidgetVoltage, 0, 1, 1, 1)
256 self.gridLayout_3.addWidget(self.tabWidgetVoltage, 0, 1, 1, 1)
250
257
251 self.tabWidgetProject.addTab(self.tabVoltage, _fromUtf8(""))
258 self.tabWidgetProject.addTab(self.tabVoltage, _fromUtf8(""))
252
259
253 self.tabWidgetVoltage.setCurrentIndex(0)
260 self.tabWidgetVoltage.setCurrentIndex(0)
254
261
255 def retranslateUi(self):
262 def retranslateUi(self):
256
263
257 self.volOpOk.setText(_translate("MainWindow", "Ok", None))
264 self.volOpOk.setText(_translate("MainWindow", "Ok", None))
258 self.volGraphClear.setText(_translate("MainWindow", "Clear", None))
265 self.volGraphClear.setText(_translate("MainWindow", "Clear", None))
259 self.volOpComHeights.setItemText(0, _translate("MainWindow", "Value", None))
266 self.volOpComHeights.setItemText(0, _translate("MainWindow", "Value", None))
260 self.volOpComHeights.setItemText(1, _translate("MainWindow", "Index", None))
267 self.volOpComHeights.setItemText(1, _translate("MainWindow", "Index", None))
261 self.volOpComChannels.setItemText(0, _translate("MainWindow", "Value", None))
268 self.volOpComChannels.setItemText(0, _translate("MainWindow", "Value", None))
262 self.volOpComChannels.setItemText(1, _translate("MainWindow", "Index", None))
269 self.volOpComChannels.setItemText(1, _translate("MainWindow", "Index", None))
263 self.volOpCebProfile.setText(_translate("MainWindow", "Profile Selector", None))
270 self.volOpCebProfile.setText(_translate("MainWindow", "Profile Selector", None))
264 self.volOpComProfile.setItemText(0, _translate("MainWindow", "Profile List", None))
271 self.volOpComProfile.setItemText(0, _translate("MainWindow", "Profile List", None))
265 self.volOpComProfile.setItemText(1, _translate("MainWindow", "Profile Range List", None))
272 self.volOpComProfile.setItemText(1, _translate("MainWindow", "Profile Range", None))
273 self.volOpComProfile.setItemText(2, _translate("MainWindow", "List of Profile Ranges", None))
266 self.volOpCebDecodification.setText(_translate("MainWindow", "Decoder", None))
274 self.volOpCebDecodification.setText(_translate("MainWindow", "Decoder", None))
267 self.volOpCebCohInt.setText(_translate("MainWindow", "Coherent Integration", None))
275 self.volOpCebCohInt.setText(_translate("MainWindow", "Coherent Integration", None))
268 self.volOpCebFlip.setText(_translate("MainWindow", "Flip", None))
276 self.volOpCebFlip.setText(_translate("MainWindow", "Flip", None))
269 self.label_4.setText(_translate("MainWindow", "Code:", None))
277 self.volLabCodeType.setText(_translate("MainWindow", "Code type:", None))
270 self.volOpCebChannels.setText(_translate("MainWindow", "Select Channels", None))
278 self.volOpCebChannels.setText(_translate("MainWindow", "Select Channels", None))
271 self.volOpCebHeights.setText(_translate("MainWindow", "Select Heights", None))
279 self.volOpCebHeights.setText(_translate("MainWindow", "Select Heights", None))
272 self.volOpCebFilter.setText(_translate("MainWindow", "Filter", None))
280 self.volOpCebFilter.setText(_translate("MainWindow", "Filter", None))
273 self.volOpCebRadarfrequency.setText(_translate("MainWindow", "Radar Frequency", None))
281 self.volOpCebRadarfrequency.setText(_translate("MainWindow", "Radar Frequency", None))
274 self.label_5.setText(_translate("MainWindow", "Mode:", None))
282 self.volLabCodeMode.setText(_translate("MainWindow", "Mode:", None))
275 self.volOpComCode.setItemText(0, _translate("MainWindow", "Barker 3", None))
283 self.volLabCode.setText(_translate("MainWindow", "Code:", None))
276 self.volOpComCode.setItemText(1, _translate("MainWindow", "Barker 4", None))
284 self.volOpComCode.setItemText(0, _translate("MainWindow", "Read from header", None))
277 self.volOpComCode.setItemText(2, _translate("MainWindow", "Barker 5", None))
285 self.volOpComCode.setItemText(1, _translate("MainWindow", "Barker 3", None))
278 self.volOpComCode.setItemText(3, _translate("MainWindow", "Barker 7", None))
286 self.volOpComCode.setItemText(2, _translate("MainWindow", "Barker 4", None))
279 self.volOpComCode.setItemText(4, _translate("MainWindow", "Barker 11", None))
287 self.volOpComCode.setItemText(3, _translate("MainWindow", "Barker 5", None))
280 self.volOpComCode.setItemText(5, _translate("MainWindow", "Barker 13", None))
288 self.volOpComCode.setItemText(4, _translate("MainWindow", "Barker 7", None))
281 self.volOpComCode.setItemText(6, _translate("MainWindow", "Barker 3 + Comp.", None))
289 self.volOpComCode.setItemText(5, _translate("MainWindow", "Barker 11", None))
282 self.volOpComCode.setItemText(7, _translate("MainWindow", "Barker 4 + Comp.", None))
290 self.volOpComCode.setItemText(6, _translate("MainWindow", "Barker 13", None))
283 self.volOpComCode.setItemText(8, _translate("MainWindow", "Barker 5 + Comp.", None))
291 self.volOpComCode.setItemText(7, _translate("MainWindow", "Barker 3 + Comp.", None))
284 self.volOpComCode.setItemText(9, _translate("MainWindow", "Barker 7 + Comp.", None))
292 self.volOpComCode.setItemText(8, _translate("MainWindow", "Barker 4 + Comp.", None))
285 self.volOpComCode.setItemText(10, _translate("MainWindow", "Barker 11+ Comp.", None))
293 self.volOpComCode.setItemText(9, _translate("MainWindow", "Barker 5 + Comp.", None))
286 self.volOpComCode.setItemText(11, _translate("MainWindow", "Barker 13+ Comp.", None))
294 self.volOpComCode.setItemText(10, _translate("MainWindow", "Barker 7 + Comp.", None))
287 self.volOpComCode.setItemText(12, _translate("MainWindow", "Read from header", None))
295 self.volOpComCode.setItemText(11, _translate("MainWindow", "Barker 11+ Comp.", None))
296 self.volOpComCode.setItemText(12, _translate("MainWindow", "Barker 13+ Comp.", None))
297 self.volOpComCode.setItemText(13, _translate("MainWindow", "User defined", None))
288 self.volOpComMode.setItemText(0, _translate("MainWindow", "Time", None))
298 self.volOpComMode.setItemText(0, _translate("MainWindow", "Time", None))
289 self.volOpComMode.setItemText(1, _translate("MainWindow", "Freq 1", None))
299 self.volOpComMode.setItemText(1, _translate("MainWindow", "Frequency", None))
290 self.tabWidgetVoltage.setTabText(self.tabWidgetVoltage.indexOf(self.tabopVoltage), _translate("MainWindow", "Operation", None))
300 self.tabWidgetVoltage.setTabText(self.tabWidgetVoltage.indexOf(self.tabopVoltage), _translate("MainWindow", "Operation", None))
291
301
292 self.volGraphToolPath.setText(_translate("MainWindow", "...", None))
302 self.volGraphToolPath.setText(_translate("MainWindow", "...", None))
293 self.label_14.setText(_translate("MainWindow", "Scope", None))
303 self.label_14.setText(_translate("MainWindow", "Scope", None))
294 self.label_8.setText(_translate("MainWindow", "Channel List", None))
304 self.label_8.setText(_translate("MainWindow", "Channel List", None))
295 self.label_49.setText(_translate("MainWindow", "Show", None))
305 self.label_49.setText(_translate("MainWindow", "Show", None))
296 self.label_51.setText(_translate("MainWindow", "Freq/Vel", None))
306 self.label_51.setText(_translate("MainWindow", "Height range", None))
297 self.label_12.setText(_translate("MainWindow", "Path :", None))
307 self.label_12.setText(_translate("MainWindow", "Path :", None))
298 self.label_13.setText(_translate("MainWindow", "Prefix:", None))
308 self.label_13.setText(_translate("MainWindow", "Figure name:", None))
299 self.label_52.setText(_translate("MainWindow", "Height range", None))
309 self.label_52.setText(_translate("MainWindow", "Amplitude", None))
300 self.label_50.setText(_translate("MainWindow", "Save", None))
310 self.label_50.setText(_translate("MainWindow", "Save", None))
301 self.tabWidgetVoltage.setTabText(self.tabWidgetVoltage.indexOf(self.tabgraphVoltage), _translate("MainWindow", "Graphics", None))
311 self.tabWidgetVoltage.setTabText(self.tabWidgetVoltage.indexOf(self.tabgraphVoltage), _translate("MainWindow", "Graphics", None))
302
312
303 self.label_36.setText(_translate("MainWindow", "Type:", None))
313 self.label_36.setText(_translate("MainWindow", "Type:", None))
304 self.label_37.setText(_translate("MainWindow", "Path:", None))
314 self.label_37.setText(_translate("MainWindow", "Path:", None))
305 self.volOutputToolPath.setText(_translate("MainWindow", "...", None))
315 self.volOutputToolPath.setText(_translate("MainWindow", "...", None))
306 self.volOutputComData.setItemText(0, _translate("MainWindow", ".rawdata", None))
316 self.volOutputComData.setItemText(0, _translate("MainWindow", ".rawdata", None))
307 self.label_7.setText(_translate("MainWindow", "Blocks per File : ", None))
317 self.label_7.setText(_translate("MainWindow", "Blocks per File : ", None))
308 self.label_35.setText(_translate("MainWindow", "Profiles per Block: ", None))
318 self.label_35.setText(_translate("MainWindow", "Profiles per Block: ", None))
309 self.tabWidgetVoltage.setTabText(self.tabWidgetVoltage.indexOf(self.taboutputVoltage), _translate("MainWindow", "Output", None))
319 self.tabWidgetVoltage.setTabText(self.tabWidgetVoltage.indexOf(self.taboutputVoltage), _translate("MainWindow", "Output", None))
310
320
311 self.tabWidgetProject.setTabText(self.tabWidgetProject.indexOf(self.tabVoltage), _translate("MainWindow", "Voltage", None))
321 self.tabWidgetProject.setTabText(self.tabWidgetProject.indexOf(self.tabVoltage), _translate("MainWindow", "Voltage", None))
312
322
313
323
314 No newline at end of file
324
@@ -1,610 +1,610
1 import os
1 import os
2 import numpy
2 import numpy
3 import time, datetime
3 import time, datetime
4 import mpldriver
4 import mpldriver
5
5
6 from schainpy.model.proc.jroproc_base import Operation
6 from schainpy.model.proc.jroproc_base import Operation
7
7
8 def isRealtime(utcdatatime):
8 def isRealtime(utcdatatime):
9 utcnow = time.mktime(time.localtime())
9 utcnow = time.mktime(time.localtime())
10 delta = abs(utcnow - utcdatatime) # abs
10 delta = abs(utcnow - utcdatatime) # abs
11 if delta >= 30.:
11 if delta >= 30.:
12 return False
12 return False
13 return True
13 return True
14
14
15 class Figure(Operation):
15 class Figure(Operation):
16
16
17 __driver = mpldriver
17 __driver = mpldriver
18 __isConfigThread = False
18 __isConfigThread = False
19 fig = None
19 fig = None
20
20
21 id = None
21 id = None
22 wintitle = None
22 wintitle = None
23 width = None
23 width = None
24 height = None
24 height = None
25 nplots = None
25 nplots = None
26 timerange = None
26 timerange = None
27
27
28 axesObjList = []
28 axesObjList = []
29
29
30 WIDTH = None
30 WIDTH = None
31 HEIGHT = None
31 HEIGHT = None
32 PREFIX = 'fig'
32 PREFIX = 'fig'
33
33
34 xmin = None
34 xmin = None
35 xmax = None
35 xmax = None
36
36
37 counter_imagwr = 0
37 counter_imagwr = 0
38
38
39 figfile = None
39 figfile = None
40
40
41 def __init__(self):
41 def __init__(self):
42
42
43 raise ValueError, "This method is not implemented"
43 raise ValueError, "This method is not implemented"
44
44
45 def __del__(self):
45 def __del__(self):
46
46
47 self.__driver.closeFigure()
47 self.__driver.closeFigure()
48
48
49 def getFilename(self, name, ext='.png'):
49 def getFilename(self, name, ext='.png'):
50
50
51 path = '%s%03d' %(self.PREFIX, self.id)
51 path = '%s%03d' %(self.PREFIX, self.id)
52 filename = '%s_%s%s' %(self.PREFIX, name, ext)
52 filename = '%s_%s%s' %(self.PREFIX, name, ext)
53 return os.path.join(path, filename)
53 return os.path.join(path, filename)
54
54
55 def getAxesObjList(self):
55 def getAxesObjList(self):
56
56
57 return self.axesObjList
57 return self.axesObjList
58
58
59 def getSubplots(self):
59 def getSubplots(self):
60
60
61 raise ValueError, "Abstract method: This method should be defined"
61 raise ValueError, "Abstract method: This method should be defined"
62
62
63 def getScreenDim(self, widthplot, heightplot):
63 def getScreenDim(self, widthplot, heightplot):
64
64
65 nrow, ncol = self.getSubplots()
65 nrow, ncol = self.getSubplots()
66
66
67 widthscreen = widthplot*ncol
67 widthscreen = widthplot*ncol
68 heightscreen = heightplot*nrow
68 heightscreen = heightplot*nrow
69
69
70 return widthscreen, heightscreen
70 return widthscreen, heightscreen
71
71
72 def getTimeLim(self, x, xmin=None, xmax=None, timerange=None):
72 def getTimeLim(self, x, xmin=None, xmax=None, timerange=None):
73
73
74 if self.xmin != None and self.xmax != None:
74 if self.xmin != None and self.xmax != None:
75 if timerange == None:
75 if timerange == None:
76 timerange = self.xmax - self.xmin
76 timerange = self.xmax - self.xmin
77 xmin = self.xmin + timerange
77 xmin = self.xmin + timerange
78 xmax = self.xmax + timerange
78 xmax = self.xmax + timerange
79
79
80 return xmin, xmax
80 return xmin, xmax
81
81
82 if timerange == None and (xmin==None or xmax==None):
82 if timerange == None and (xmin==None or xmax==None):
83 timerange = 14400 #seconds
83 timerange = 14400 #seconds
84 #raise ValueError, "(timerange) or (xmin & xmax) should be defined"
84 #raise ValueError, "(timerange) or (xmin & xmax) should be defined"
85
85
86 if timerange != None:
86 if timerange != None:
87 txmin = x[0] - x[0] % min(timerange/10, 10*60)
87 txmin = x[0] - x[0] % min(timerange/10, 10*60)
88 else:
88 else:
89 txmin = x[0] - x[0] % 10*60
89 txmin = x[0] - x[0] % 10*60
90
90
91 thisdatetime = datetime.datetime.utcfromtimestamp(txmin)
91 thisdatetime = datetime.datetime.utcfromtimestamp(txmin)
92 thisdate = datetime.datetime.combine(thisdatetime.date(), datetime.time(0,0,0))
92 thisdate = datetime.datetime.combine(thisdatetime.date(), datetime.time(0,0,0))
93
93
94 if timerange != None:
94 if timerange != None:
95 xmin = (thisdatetime - thisdate).seconds/(60*60.)
95 xmin = (thisdatetime - thisdate).seconds/(60*60.)
96 xmax = xmin + timerange/(60*60.)
96 xmax = xmin + timerange/(60*60.)
97
97
98 mindt = thisdate + datetime.timedelta(hours=xmin) - datetime.timedelta(seconds=time.timezone)
98 mindt = thisdate + datetime.timedelta(hours=xmin) - datetime.timedelta(seconds=time.timezone)
99 xmin_sec = time.mktime(mindt.timetuple())
99 xmin_sec = time.mktime(mindt.timetuple())
100
100
101 maxdt = thisdate + datetime.timedelta(hours=xmax) - datetime.timedelta(seconds=time.timezone)
101 maxdt = thisdate + datetime.timedelta(hours=xmax) - datetime.timedelta(seconds=time.timezone)
102 xmax_sec = time.mktime(maxdt.timetuple())
102 xmax_sec = time.mktime(maxdt.timetuple())
103
103
104 return xmin_sec, xmax_sec
104 return xmin_sec, xmax_sec
105
105
106 def init(self, id, nplots, wintitle):
106 def init(self, id, nplots, wintitle):
107
107
108 raise ValueError, "This method has been replaced with createFigure"
108 raise ValueError, "This method has been replaced with createFigure"
109
109
110 def createFigure(self, id, wintitle, widthplot=None, heightplot=None, show=True):
110 def createFigure(self, id, wintitle, widthplot=None, heightplot=None, show=True):
111
111
112 """
112 """
113 Crea la figura de acuerdo al driver y parametros seleccionados seleccionados.
113 Crea la figura de acuerdo al driver y parametros seleccionados seleccionados.
114 Las dimensiones de la pantalla es calculada a partir de los atributos self.WIDTH
114 Las dimensiones de la pantalla es calculada a partir de los atributos self.WIDTH
115 y self.HEIGHT y el numero de subplots (nrow, ncol)
115 y self.HEIGHT y el numero de subplots (nrow, ncol)
116
116
117 Input:
117 Input:
118 id : Los parametros necesarios son
118 id : Los parametros necesarios son
119 wintitle :
119 wintitle :
120
120
121 """
121 """
122
122
123 if widthplot == None:
123 if widthplot == None:
124 widthplot = self.WIDTH
124 widthplot = self.WIDTH
125
125
126 if heightplot == None:
126 if heightplot == None:
127 heightplot = self.HEIGHT
127 heightplot = self.HEIGHT
128
128
129 self.id = id
129 self.id = id
130
130
131 self.wintitle = wintitle
131 self.wintitle = wintitle
132
132
133 self.widthscreen, self.heightscreen = self.getScreenDim(widthplot, heightplot)
133 self.widthscreen, self.heightscreen = self.getScreenDim(widthplot, heightplot)
134
134
135 self.fig = self.__driver.createFigure(id=self.id,
135 self.fig = self.__driver.createFigure(id=self.id,
136 wintitle=self.wintitle,
136 wintitle=self.wintitle,
137 width=self.widthscreen,
137 width=self.widthscreen,
138 height=self.heightscreen,
138 height=self.heightscreen,
139 show=show)
139 show=show)
140
140
141 self.axesObjList = []
141 self.axesObjList = []
142 self.counter_imagwr = 0
142 self.counter_imagwr = 0
143
143
144
144
145 def setDriver(self, driver=mpldriver):
145 def setDriver(self, driver=mpldriver):
146
146
147 self.__driver = driver
147 self.__driver = driver
148
148
149 def setTitle(self, title):
149 def setTitle(self, title):
150
150
151 self.__driver.setTitle(self.fig, title)
151 self.__driver.setTitle(self.fig, title)
152
152
153 def setWinTitle(self, title):
153 def setWinTitle(self, title):
154
154
155 self.__driver.setWinTitle(self.fig, title=title)
155 self.__driver.setWinTitle(self.fig, title=title)
156
156
157 def setTextFromAxes(self, text):
157 def setTextFromAxes(self, text):
158
158
159 raise ValueError, "Este metodo ha sido reemplazaado con el metodo setText de la clase Axes"
159 raise ValueError, "Este metodo ha sido reemplazaado con el metodo setText de la clase Axes"
160
160
161 def makeAxes(self, nrow, ncol, xpos, ypos, colspan, rowspan):
161 def makeAxes(self, nrow, ncol, xpos, ypos, colspan, rowspan):
162
162
163 raise ValueError, "Este metodo ha sido reemplazaado con el metodo addAxes"
163 raise ValueError, "Este metodo ha sido reemplazaado con el metodo addAxes"
164
164
165 def addAxes(self, *args):
165 def addAxes(self, *args):
166 """
166 """
167
167
168 Input:
168 Input:
169 *args : Los parametros necesarios son
169 *args : Los parametros necesarios son
170 nrow, ncol, xpos, ypos, colspan, rowspan
170 nrow, ncol, xpos, ypos, colspan, rowspan
171 """
171 """
172
172
173 axesObj = Axes(self.fig, *args)
173 axesObj = Axes(self.fig, *args)
174 self.axesObjList.append(axesObj)
174 self.axesObjList.append(axesObj)
175
175
176 def saveFigure(self, figpath, figfile, *args):
176 def saveFigure(self, figpath, figfile, *args):
177
177
178 filename = os.path.join(figpath, figfile)
178 filename = os.path.join(figpath, figfile)
179
179
180 fullpath = os.path.split(filename)[0]
180 fullpath = os.path.split(filename)[0]
181
181
182 if not os.path.exists(fullpath):
182 if not os.path.exists(fullpath):
183 subpath = os.path.split(fullpath)[0]
183 subpath = os.path.split(fullpath)[0]
184
184
185 if not os.path.exists(subpath):
185 if not os.path.exists(subpath):
186 os.mkdir(subpath)
186 os.mkdir(subpath)
187
187
188 os.mkdir(fullpath)
188 os.mkdir(fullpath)
189
189
190 self.__driver.saveFigure(self.fig, filename, *args)
190 self.__driver.saveFigure(self.fig, filename, *args)
191
191
192 def save(self, figpath, figfile=None, save=True, ftp=False, wr_period=1, thisDatetime=None, update_figfile=True):
192 def save(self, figpath, figfile=None, save=True, ftp=False, wr_period=1, thisDatetime=None, update_figfile=True):
193
193
194 self.counter_imagwr += 1
194 self.counter_imagwr += 1
195 if self.counter_imagwr < wr_period:
195 if self.counter_imagwr < wr_period:
196 return
196 return
197
197
198 self.counter_imagwr = 0
198 self.counter_imagwr = 0
199
199
200 if save:
200 if save:
201
201
202 if figfile == None:
202 if figfile == None:
203
203
204 if not thisDatetime:
204 if not thisDatetime:
205 raise ValueError, "Saving figure: figfile or thisDatetime should be defined"
205 raise ValueError, "Saving figure: figfile or thisDatetime should be defined"
206 return
206 return
207
207
208 str_datetime = thisDatetime.strftime("%Y%m%d_%H%M%S")
208 str_datetime = thisDatetime.strftime("%Y%m%d_%H%M%S")
209 figfile = self.getFilename(name = str_datetime)
209 figfile = self.getFilename(name = str_datetime)
210
210
211 if self.figfile == None:
211 if self.figfile == None:
212 self.figfile = figfile
212 self.figfile = figfile
213
213
214 if update_figfile:
214 if update_figfile:
215 self.figfile = figfile
215 self.figfile = figfile
216
216
217 # store png plot to local folder
217 # store png plot to local folder
218 self.saveFigure(figpath, self.figfile)
218 self.saveFigure(figpath, self.figfile)
219
219
220
220
221 if not ftp:
221 if not ftp:
222 return
222 return
223
223
224 if not thisDatetime:
224 if not thisDatetime:
225 return
225 return
226
226
227 # store png plot to FTP server according to RT-Web format
227 # store png plot to FTP server according to RT-Web format
228 name = self.getNameToFtp(thisDatetime, self.FTP_WEI, self.EXP_CODE, self.SUB_EXP_CODE, self.PLOT_CODE, self.PLOT_POS)
228 ftp_filename = self.getNameToFtp(thisDatetime, self.FTP_WEI, self.EXP_CODE, self.SUB_EXP_CODE, self.PLOT_CODE, self.PLOT_POS)
229 ftp_filename = os.path.join(figpath, name)
229 # ftp_filename = os.path.join(figpath, name)
230 self.saveFigure(figpath, ftp_filename)
230 self.saveFigure(figpath, ftp_filename)
231
231
232 def getNameToFtp(self, thisDatetime, FTP_WEI, EXP_CODE, SUB_EXP_CODE, PLOT_CODE, PLOT_POS):
232 def getNameToFtp(self, thisDatetime, FTP_WEI, EXP_CODE, SUB_EXP_CODE, PLOT_CODE, PLOT_POS):
233 YEAR_STR = '%4.4d'%thisDatetime.timetuple().tm_year
233 YEAR_STR = '%4.4d'%thisDatetime.timetuple().tm_year
234 DOY_STR = '%3.3d'%thisDatetime.timetuple().tm_yday
234 DOY_STR = '%3.3d'%thisDatetime.timetuple().tm_yday
235 FTP_WEI = '%2.2d'%FTP_WEI
235 FTP_WEI = '%2.2d'%FTP_WEI
236 EXP_CODE = '%3.3d'%EXP_CODE
236 EXP_CODE = '%3.3d'%EXP_CODE
237 SUB_EXP_CODE = '%2.2d'%SUB_EXP_CODE
237 SUB_EXP_CODE = '%2.2d'%SUB_EXP_CODE
238 PLOT_CODE = '%2.2d'%PLOT_CODE
238 PLOT_CODE = '%2.2d'%PLOT_CODE
239 PLOT_POS = '%2.2d'%PLOT_POS
239 PLOT_POS = '%2.2d'%PLOT_POS
240 name = YEAR_STR + DOY_STR + FTP_WEI + EXP_CODE + SUB_EXP_CODE + PLOT_CODE + PLOT_POS
240 name = YEAR_STR + DOY_STR + FTP_WEI + EXP_CODE + SUB_EXP_CODE + PLOT_CODE + PLOT_POS
241 return name
241 return name
242
242
243 def draw(self):
243 def draw(self):
244
244
245 self.__driver.draw(self.fig)
245 self.__driver.draw(self.fig)
246
246
247 def run(self):
247 def run(self):
248
248
249 raise ValueError, "This method is not implemented"
249 raise ValueError, "This method is not implemented"
250
250
251 def close(self, show=False):
251 def close(self, show=False):
252
252
253 self.__driver.closeFigure(show=show, fig=self.fig)
253 self.__driver.closeFigure(show=show, fig=self.fig)
254
254
255 axesList = property(getAxesObjList)
255 axesList = property(getAxesObjList)
256
256
257
257
258 class Axes:
258 class Axes:
259
259
260 __driver = mpldriver
260 __driver = mpldriver
261 fig = None
261 fig = None
262 ax = None
262 ax = None
263 plot = None
263 plot = None
264 __missing = 1E30
264 __missing = 1E30
265 __firsttime = None
265 __firsttime = None
266
266
267 __showprofile = False
267 __showprofile = False
268
268
269 xmin = None
269 xmin = None
270 xmax = None
270 xmax = None
271 ymin = None
271 ymin = None
272 ymax = None
272 ymax = None
273 zmin = None
273 zmin = None
274 zmax = None
274 zmax = None
275
275
276 x_buffer = None
276 x_buffer = None
277 z_buffer = None
277 z_buffer = None
278
278
279 decimationx = None
279 decimationx = None
280 decimationy = None
280 decimationy = None
281
281
282 __MAXNUMX = 300
282 __MAXNUMX = 300
283 __MAXNUMY = 150
283 __MAXNUMY = 150
284
284
285 def __init__(self, *args):
285 def __init__(self, *args):
286
286
287 """
287 """
288
288
289 Input:
289 Input:
290 *args : Los parametros necesarios son
290 *args : Los parametros necesarios son
291 fig, nrow, ncol, xpos, ypos, colspan, rowspan
291 fig, nrow, ncol, xpos, ypos, colspan, rowspan
292 """
292 """
293
293
294 ax = self.__driver.createAxes(*args)
294 ax = self.__driver.createAxes(*args)
295 self.fig = args[0]
295 self.fig = args[0]
296 self.ax = ax
296 self.ax = ax
297 self.plot = None
297 self.plot = None
298
298
299 self.__firsttime = True
299 self.__firsttime = True
300 self.idlineList = []
300 self.idlineList = []
301
301
302 self.x_buffer = numpy.array([])
302 self.x_buffer = numpy.array([])
303 self.z_buffer = numpy.array([])
303 self.z_buffer = numpy.array([])
304
304
305 def setText(self, text):
305 def setText(self, text):
306
306
307 self.__driver.setAxesText(self.ax, text)
307 self.__driver.setAxesText(self.ax, text)
308
308
309 def setXAxisAsTime(self):
309 def setXAxisAsTime(self):
310 pass
310 pass
311
311
312 def pline(self, x, y,
312 def pline(self, x, y,
313 xmin=None, xmax=None,
313 xmin=None, xmax=None,
314 ymin=None, ymax=None,
314 ymin=None, ymax=None,
315 xlabel='', ylabel='',
315 xlabel='', ylabel='',
316 title='',
316 title='',
317 **kwargs):
317 **kwargs):
318
318
319 """
319 """
320
320
321 Input:
321 Input:
322 x :
322 x :
323 y :
323 y :
324 xmin :
324 xmin :
325 xmax :
325 xmax :
326 ymin :
326 ymin :
327 ymax :
327 ymax :
328 xlabel :
328 xlabel :
329 ylabel :
329 ylabel :
330 title :
330 title :
331 **kwargs : Los parametros aceptados son
331 **kwargs : Los parametros aceptados son
332
332
333 ticksize
333 ticksize
334 ytick_visible
334 ytick_visible
335 """
335 """
336
336
337 if self.__firsttime:
337 if self.__firsttime:
338
338
339 if xmin == None: xmin = numpy.nanmin(x)
339 if xmin == None: xmin = numpy.nanmin(x)
340 if xmax == None: xmax = numpy.nanmax(x)
340 if xmax == None: xmax = numpy.nanmax(x)
341 if ymin == None: ymin = numpy.nanmin(y)
341 if ymin == None: ymin = numpy.nanmin(y)
342 if ymax == None: ymax = numpy.nanmax(y)
342 if ymax == None: ymax = numpy.nanmax(y)
343
343
344 self.plot = self.__driver.createPline(self.ax, x, y,
344 self.plot = self.__driver.createPline(self.ax, x, y,
345 xmin, xmax,
345 xmin, xmax,
346 ymin, ymax,
346 ymin, ymax,
347 xlabel=xlabel,
347 xlabel=xlabel,
348 ylabel=ylabel,
348 ylabel=ylabel,
349 title=title,
349 title=title,
350 **kwargs)
350 **kwargs)
351
351
352 self.idlineList.append(0)
352 self.idlineList.append(0)
353 self.__firsttime = False
353 self.__firsttime = False
354 return
354 return
355
355
356 self.__driver.pline(self.plot, x, y, xlabel=xlabel,
356 self.__driver.pline(self.plot, x, y, xlabel=xlabel,
357 ylabel=ylabel,
357 ylabel=ylabel,
358 title=title)
358 title=title)
359
359
360 def addpline(self, x, y, idline, **kwargs):
360 def addpline(self, x, y, idline, **kwargs):
361 lines = self.ax.lines
361 lines = self.ax.lines
362
362
363 if idline in self.idlineList:
363 if idline in self.idlineList:
364 self.__driver.set_linedata(self.ax, x, y, idline)
364 self.__driver.set_linedata(self.ax, x, y, idline)
365
365
366 if idline not in(self.idlineList):
366 if idline not in(self.idlineList):
367 self.__driver.addpline(self.ax, x, y, **kwargs)
367 self.__driver.addpline(self.ax, x, y, **kwargs)
368 self.idlineList.append(idline)
368 self.idlineList.append(idline)
369
369
370 return
370 return
371
371
372 def pmultiline(self, x, y,
372 def pmultiline(self, x, y,
373 xmin=None, xmax=None,
373 xmin=None, xmax=None,
374 ymin=None, ymax=None,
374 ymin=None, ymax=None,
375 xlabel='', ylabel='',
375 xlabel='', ylabel='',
376 title='',
376 title='',
377 **kwargs):
377 **kwargs):
378
378
379 if self.__firsttime:
379 if self.__firsttime:
380
380
381 if xmin == None: xmin = numpy.nanmin(x)
381 if xmin == None: xmin = numpy.nanmin(x)
382 if xmax == None: xmax = numpy.nanmax(x)
382 if xmax == None: xmax = numpy.nanmax(x)
383 if ymin == None: ymin = numpy.nanmin(y)
383 if ymin == None: ymin = numpy.nanmin(y)
384 if ymax == None: ymax = numpy.nanmax(y)
384 if ymax == None: ymax = numpy.nanmax(y)
385
385
386 self.plot = self.__driver.createPmultiline(self.ax, x, y,
386 self.plot = self.__driver.createPmultiline(self.ax, x, y,
387 xmin, xmax,
387 xmin, xmax,
388 ymin, ymax,
388 ymin, ymax,
389 xlabel=xlabel,
389 xlabel=xlabel,
390 ylabel=ylabel,
390 ylabel=ylabel,
391 title=title,
391 title=title,
392 **kwargs)
392 **kwargs)
393 self.__firsttime = False
393 self.__firsttime = False
394 return
394 return
395
395
396 self.__driver.pmultiline(self.plot, x, y, xlabel=xlabel,
396 self.__driver.pmultiline(self.plot, x, y, xlabel=xlabel,
397 ylabel=ylabel,
397 ylabel=ylabel,
398 title=title)
398 title=title)
399
399
400 def pmultilineyaxis(self, x, y,
400 def pmultilineyaxis(self, x, y,
401 xmin=None, xmax=None,
401 xmin=None, xmax=None,
402 ymin=None, ymax=None,
402 ymin=None, ymax=None,
403 xlabel='', ylabel='',
403 xlabel='', ylabel='',
404 title='',
404 title='',
405 **kwargs):
405 **kwargs):
406
406
407 if self.__firsttime:
407 if self.__firsttime:
408
408
409 if xmin == None: xmin = numpy.nanmin(x)
409 if xmin == None: xmin = numpy.nanmin(x)
410 if xmax == None: xmax = numpy.nanmax(x)
410 if xmax == None: xmax = numpy.nanmax(x)
411 if ymin == None: ymin = numpy.nanmin(y)
411 if ymin == None: ymin = numpy.nanmin(y)
412 if ymax == None: ymax = numpy.nanmax(y)
412 if ymax == None: ymax = numpy.nanmax(y)
413
413
414 self.plot = self.__driver.createPmultilineYAxis(self.ax, x, y,
414 self.plot = self.__driver.createPmultilineYAxis(self.ax, x, y,
415 xmin, xmax,
415 xmin, xmax,
416 ymin, ymax,
416 ymin, ymax,
417 xlabel=xlabel,
417 xlabel=xlabel,
418 ylabel=ylabel,
418 ylabel=ylabel,
419 title=title,
419 title=title,
420 **kwargs)
420 **kwargs)
421 if self.xmin == None: self.xmin = xmin
421 if self.xmin == None: self.xmin = xmin
422 if self.xmax == None: self.xmax = xmax
422 if self.xmax == None: self.xmax = xmax
423 if self.ymin == None: self.ymin = ymin
423 if self.ymin == None: self.ymin = ymin
424 if self.ymax == None: self.ymax = ymax
424 if self.ymax == None: self.ymax = ymax
425
425
426 self.__firsttime = False
426 self.__firsttime = False
427 return
427 return
428
428
429 self.__driver.pmultilineyaxis(self.plot, x, y, xlabel=xlabel,
429 self.__driver.pmultilineyaxis(self.plot, x, y, xlabel=xlabel,
430 ylabel=ylabel,
430 ylabel=ylabel,
431 title=title)
431 title=title)
432
432
433 def pcolor(self, x, y, z,
433 def pcolor(self, x, y, z,
434 xmin=None, xmax=None,
434 xmin=None, xmax=None,
435 ymin=None, ymax=None,
435 ymin=None, ymax=None,
436 zmin=None, zmax=None,
436 zmin=None, zmax=None,
437 xlabel='', ylabel='',
437 xlabel='', ylabel='',
438 title='', rti = False, colormap='jet',
438 title='', rti = False, colormap='jet',
439 **kwargs):
439 **kwargs):
440
440
441 """
441 """
442 Input:
442 Input:
443 x :
443 x :
444 y :
444 y :
445 x :
445 x :
446 xmin :
446 xmin :
447 xmax :
447 xmax :
448 ymin :
448 ymin :
449 ymax :
449 ymax :
450 zmin :
450 zmin :
451 zmax :
451 zmax :
452 xlabel :
452 xlabel :
453 ylabel :
453 ylabel :
454 title :
454 title :
455 **kwargs : Los parametros aceptados son
455 **kwargs : Los parametros aceptados son
456 ticksize=9,
456 ticksize=9,
457 cblabel=''
457 cblabel=''
458 rti = True or False
458 rti = True or False
459 """
459 """
460
460
461 if self.__firsttime:
461 if self.__firsttime:
462
462
463 if xmin == None: xmin = numpy.nanmin(x)
463 if xmin == None: xmin = numpy.nanmin(x)
464 if xmax == None: xmax = numpy.nanmax(x)
464 if xmax == None: xmax = numpy.nanmax(x)
465 if ymin == None: ymin = numpy.nanmin(y)
465 if ymin == None: ymin = numpy.nanmin(y)
466 if ymax == None: ymax = numpy.nanmax(y)
466 if ymax == None: ymax = numpy.nanmax(y)
467 if zmin == None: zmin = numpy.nanmin(z)
467 if zmin == None: zmin = numpy.nanmin(z)
468 if zmax == None: zmax = numpy.nanmax(z)
468 if zmax == None: zmax = numpy.nanmax(z)
469
469
470
470
471 self.plot = self.__driver.createPcolor(self.ax, x, y, z,
471 self.plot = self.__driver.createPcolor(self.ax, x, y, z,
472 xmin, xmax,
472 xmin, xmax,
473 ymin, ymax,
473 ymin, ymax,
474 zmin, zmax,
474 zmin, zmax,
475 xlabel=xlabel,
475 xlabel=xlabel,
476 ylabel=ylabel,
476 ylabel=ylabel,
477 title=title,
477 title=title,
478 colormap=colormap,
478 colormap=colormap,
479 **kwargs)
479 **kwargs)
480
480
481 if self.xmin == None: self.xmin = xmin
481 if self.xmin == None: self.xmin = xmin
482 if self.xmax == None: self.xmax = xmax
482 if self.xmax == None: self.xmax = xmax
483 if self.ymin == None: self.ymin = ymin
483 if self.ymin == None: self.ymin = ymin
484 if self.ymax == None: self.ymax = ymax
484 if self.ymax == None: self.ymax = ymax
485 if self.zmin == None: self.zmin = zmin
485 if self.zmin == None: self.zmin = zmin
486 if self.zmax == None: self.zmax = zmax
486 if self.zmax == None: self.zmax = zmax
487
487
488 self.__firsttime = False
488 self.__firsttime = False
489 return
489 return
490
490
491 if rti:
491 if rti:
492 self.__driver.addpcolor(self.ax, x, y, z, self.zmin, self.zmax,
492 self.__driver.addpcolor(self.ax, x, y, z, self.zmin, self.zmax,
493 xlabel=xlabel,
493 xlabel=xlabel,
494 ylabel=ylabel,
494 ylabel=ylabel,
495 title=title,
495 title=title,
496 colormap=colormap)
496 colormap=colormap)
497 return
497 return
498
498
499 self.__driver.pcolor(self.plot, z,
499 self.__driver.pcolor(self.plot, z,
500 xlabel=xlabel,
500 xlabel=xlabel,
501 ylabel=ylabel,
501 ylabel=ylabel,
502 title=title)
502 title=title)
503
503
504 def pcolorbuffer(self, x, y, z,
504 def pcolorbuffer(self, x, y, z,
505 xmin=None, xmax=None,
505 xmin=None, xmax=None,
506 ymin=None, ymax=None,
506 ymin=None, ymax=None,
507 zmin=None, zmax=None,
507 zmin=None, zmax=None,
508 xlabel='', ylabel='',
508 xlabel='', ylabel='',
509 title='', rti = True, colormap='jet',
509 title='', rti = True, colormap='jet',
510 maxNumX = None, maxNumY = None,
510 maxNumX = None, maxNumY = None,
511 **kwargs):
511 **kwargs):
512
512
513 if maxNumX == None:
513 if maxNumX == None:
514 maxNumX = self.__MAXNUMX
514 maxNumX = self.__MAXNUMX
515
515
516 if maxNumY == None:
516 if maxNumY == None:
517 maxNumY = self.__MAXNUMY
517 maxNumY = self.__MAXNUMY
518
518
519 if self.__firsttime:
519 if self.__firsttime:
520 self.z_buffer = z
520 self.z_buffer = z
521 self.x_buffer = numpy.hstack((self.x_buffer, x))
521 self.x_buffer = numpy.hstack((self.x_buffer, x))
522
522
523 if xmin == None: xmin = numpy.nanmin(x)
523 if xmin == None: xmin = numpy.nanmin(x)
524 if xmax == None: xmax = numpy.nanmax(x)
524 if xmax == None: xmax = numpy.nanmax(x)
525 if ymin == None: ymin = numpy.nanmin(y)
525 if ymin == None: ymin = numpy.nanmin(y)
526 if ymax == None: ymax = numpy.nanmax(y)
526 if ymax == None: ymax = numpy.nanmax(y)
527 if zmin == None: zmin = numpy.nanmin(z)
527 if zmin == None: zmin = numpy.nanmin(z)
528 if zmax == None: zmax = numpy.nanmax(z)
528 if zmax == None: zmax = numpy.nanmax(z)
529
529
530
530
531 self.plot = self.__driver.createPcolor(self.ax, self.x_buffer, y, z,
531 self.plot = self.__driver.createPcolor(self.ax, self.x_buffer, y, z,
532 xmin, xmax,
532 xmin, xmax,
533 ymin, ymax,
533 ymin, ymax,
534 zmin, zmax,
534 zmin, zmax,
535 xlabel=xlabel,
535 xlabel=xlabel,
536 ylabel=ylabel,
536 ylabel=ylabel,
537 title=title,
537 title=title,
538 colormap=colormap,
538 colormap=colormap,
539 **kwargs)
539 **kwargs)
540
540
541 if self.xmin == None: self.xmin = xmin
541 if self.xmin == None: self.xmin = xmin
542 if self.xmax == None: self.xmax = xmax
542 if self.xmax == None: self.xmax = xmax
543 if self.ymin == None: self.ymin = ymin
543 if self.ymin == None: self.ymin = ymin
544 if self.ymax == None: self.ymax = ymax
544 if self.ymax == None: self.ymax = ymax
545 if self.zmin == None: self.zmin = zmin
545 if self.zmin == None: self.zmin = zmin
546 if self.zmax == None: self.zmax = zmax
546 if self.zmax == None: self.zmax = zmax
547
547
548 self.__firsttime = False
548 self.__firsttime = False
549 return
549 return
550
550
551 self.x_buffer = numpy.hstack((self.x_buffer, x[-1]))
551 self.x_buffer = numpy.hstack((self.x_buffer, x[-1]))
552 self.z_buffer = numpy.hstack((self.z_buffer, z))
552 self.z_buffer = numpy.hstack((self.z_buffer, z))
553
553
554 if self.decimationx == None:
554 if self.decimationx == None:
555 deltax = float(self.xmax - self.xmin)/maxNumX
555 deltax = float(self.xmax - self.xmin)/maxNumX
556 deltay = float(self.ymax - self.ymin)/maxNumY
556 deltay = float(self.ymax - self.ymin)/maxNumY
557
557
558 resolutionx = self.x_buffer[2]-self.x_buffer[0]
558 resolutionx = self.x_buffer[2]-self.x_buffer[0]
559 resolutiony = y[1]-y[0]
559 resolutiony = y[1]-y[0]
560
560
561 self.decimationx = numpy.ceil(deltax / resolutionx)
561 self.decimationx = numpy.ceil(deltax / resolutionx)
562 self.decimationy = numpy.ceil(deltay / resolutiony)
562 self.decimationy = numpy.ceil(deltay / resolutiony)
563
563
564 z_buffer = self.z_buffer.reshape(-1,len(y))
564 z_buffer = self.z_buffer.reshape(-1,len(y))
565
565
566 x_buffer = self.x_buffer[::self.decimationx]
566 x_buffer = self.x_buffer[::self.decimationx]
567 y_buffer = y[::self.decimationy]
567 y_buffer = y[::self.decimationy]
568 z_buffer = z_buffer[::self.decimationx, ::self.decimationy]
568 z_buffer = z_buffer[::self.decimationx, ::self.decimationy]
569 #===================================================
569 #===================================================
570
570
571 x_buffer, y_buffer, z_buffer = self.__fillGaps(x_buffer, y_buffer, z_buffer)
571 x_buffer, y_buffer, z_buffer = self.__fillGaps(x_buffer, y_buffer, z_buffer)
572
572
573 self.__driver.addpcolorbuffer(self.ax, x_buffer, y_buffer, z_buffer, self.zmin, self.zmax,
573 self.__driver.addpcolorbuffer(self.ax, x_buffer, y_buffer, z_buffer, self.zmin, self.zmax,
574 xlabel=xlabel,
574 xlabel=xlabel,
575 ylabel=ylabel,
575 ylabel=ylabel,
576 title=title,
576 title=title,
577 colormap=colormap)
577 colormap=colormap)
578
578
579 def polar(self, x, y,
579 def polar(self, x, y,
580 title='', xlabel='',ylabel='',**kwargs):
580 title='', xlabel='',ylabel='',**kwargs):
581
581
582 if self.__firsttime:
582 if self.__firsttime:
583 self.plot = self.__driver.createPolar(self.ax, x, y, title = title, xlabel = xlabel, ylabel = ylabel)
583 self.plot = self.__driver.createPolar(self.ax, x, y, title = title, xlabel = xlabel, ylabel = ylabel)
584 self.__firsttime = False
584 self.__firsttime = False
585 self.x_buffer = x
585 self.x_buffer = x
586 self.y_buffer = y
586 self.y_buffer = y
587 return
587 return
588
588
589 self.x_buffer = numpy.hstack((self.x_buffer,x))
589 self.x_buffer = numpy.hstack((self.x_buffer,x))
590 self.y_buffer = numpy.hstack((self.y_buffer,y))
590 self.y_buffer = numpy.hstack((self.y_buffer,y))
591 self.__driver.polar(self.plot, self.x_buffer, self.y_buffer, xlabel=xlabel,
591 self.__driver.polar(self.plot, self.x_buffer, self.y_buffer, xlabel=xlabel,
592 ylabel=ylabel,
592 ylabel=ylabel,
593 title=title)
593 title=title)
594
594
595 def __fillGaps(self, x_buffer, y_buffer, z_buffer):
595 def __fillGaps(self, x_buffer, y_buffer, z_buffer):
596
596
597 deltas = x_buffer[1:] - x_buffer[0:-1]
597 deltas = x_buffer[1:] - x_buffer[0:-1]
598 x_median = numpy.median(deltas)
598 x_median = numpy.median(deltas)
599
599
600 index = numpy.where(deltas >= 2*x_median)
600 index = numpy.where(deltas >= 2*x_median)
601
601
602 if len(index[0]) != 0:
602 if len(index[0]) != 0:
603 z_buffer[index[0],::] = self.__missing
603 z_buffer[index[0],::] = self.__missing
604 z_buffer = numpy.ma.masked_inside(z_buffer,0.99*self.__missing,1.01*self.__missing)
604 z_buffer = numpy.ma.masked_inside(z_buffer,0.99*self.__missing,1.01*self.__missing)
605
605
606 return x_buffer, y_buffer, z_buffer
606 return x_buffer, y_buffer, z_buffer
607
607
608
608
609
609
610 No newline at end of file
610
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
General Comments 0
You need to be logged in to leave comments. Login now