Beispiel #1
0
	def importprc(self):
		filename = QtGui.QFileDialog.getOpenFileName(self, 'Open file', '',
		"Prc Xml Model(*.pxm);; Data file (*.dat *.data)")
		if len(filename) == 0: return
		if filename[-4:] == ".pxm" or filename[-4:] == ".PXM":
			self.readpxm(filename)
			return
		fdil = QtGui.QInputDialog(self)
		fdil.setLabelText("Select order of PRC function")
		fdil.setComboBoxEditable(False)
		fdil.setComboBoxItems(["first order", "second order"])
		ok = fdil.exec_()
		function = fdil.textValue()
		if not ok: return
		if self.importer == None:
			self.importer = importprc.importprc()
		if function != "first order" :
			self.importer.readfile(filename,fx="2")
		else:
			self.importer.readfile(filename)
		newprc = self.importer.getglprc()
		if newprc.gsyn == None :
			newprc.gsyn = []
			for i in xrange( len( newprc.data[0][1]) ):
				dok = False
				while not dok:
					double,ok = QtGui.QInputDialog.getText(self,"PRC Editor","Set gsyn value for column %d in imported file"%i)
					double,dok = double.toDouble()
				newprc.gsyn.append("%g"%double)
		else:
			newprc.gsyn = string.split(newprc.gsyn,',')
		if len( newprc.gsyn ) != len( newprc.data[0][1])  :
			for i in xrange( len( newprc.data[0][1]) - len( newprc.gsyn ) ):
				dok = False
				while not dok:
					double,ok = QtGui.QInputDialog.getText(self,"PRC Editor","Set gsyn value for column %d in imported file"%(i+len( newprc.gsyn )-1) )
					double,dok = double.toDouble()
				newprc.gsyn.append("%g"%double)
		elif (len( newprc.gsyn) < len( newprc.data[0][2]) ) and (newprc.f2 == True):
			for i in xrange( len( newprc.data[0][2]) -len( newprc.gsyn ) ):
				dok = False
				while not dok:
					double,ok = QtGui.QInputDialog.getText(self,"PRC Editor","Set gsyn value for column %d in imported file"%i)
					double,dok = double.toDouble()
				newprc.gsyn.append("%g"%double)
		self.importer.gsyn=string.join(newprc.gsyn,',')
		if self.prc != None:
			newprc.id=self.prc.id
			newprc.name=self.prc.name
			del self.prc
		self.prc = newprc
		self.readprc()
Beispiel #2
0
	def readpxm(self,filename):
		pparser = importprc.prcparcerpxm(mode="list")
		parser=make_parser()
		parser.setContentHandler(pparser)
		parser.parse(filename.toUtf8().data())
		fdil = QtGui.QInputDialog(self)
		fdil.setLabelText("Select exctracted PRC function")
		fdil.setComboBoxEditable(False)
		fdil.setComboBoxItems(pparser.prclst)
		ok = fdil.exec_()
		function = fdil.textValue()
		if not ok: return
		self.clear()
		if self.importer != None:
			del self.importer
		self.importer = importprc.importprc()
		self.importer.name = function
		self.importer.readfile(filename.toUtf8().data(),format="pxm")
		if self.prc != None:
			del self.prc
		self.prc = self.importer.getglprc()
		self.prc.gsyn = string.split(self.prc.gsyn,',')
		self.readprc()