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()
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()