def insert(self, fileName): # nodes = [] links = [] dom = QtXml.QDomDocument(self.name) file = QtCore.QFile(fileName) if file.open(QtCore.QIODevice.ReadOnly): if dom.setContent(file): root = dom.documentElement() if root.nodeName() == 'node': #print ':: parsing node from XML ...' nodes.append(self.addNodeFromXML(root)) self.correct_id(nodes, links) elif root.nodeName() == 'nodenet': #print ':: parsing nodenet from XML ...' nodeNet = NodeNetwork('tmp', root) nodeNet.fileName = fileName (nodes, links) = self.add(nodeNet) else: print('!! unknown XML document format') file.close() #if DEBUG_MODE : print '>> NodeNetwork( %s ).insert node_id = %d link_id = %d' % ( self.name, self.node_id, self.link_id ) #if DEBUG_MODE : self.printInfo () return (nodes, links)
def scanXmlNodes(self, filename): # dom = QtXml.QDomDocument('') nodeFilename = self.dirName + '/' + self.liblevel + filename file = QtCore.QFile(self.libdir.filePath(filename)) if file.open(QtCore.QIODevice.ReadOnly): if dom.setContent(file): node = dom.documentElement() if node.nodeName() == 'nodenet' or node.nodeName() == 'node': nodeName = node.attributes().namedItem('name').nodeValue() nodeType = node.attributes().namedItem('type').nodeValue() nodeAuthor = node.attributes().namedItem( 'author').nodeValue() nodeIcon = node.attributes().namedItem('icon').nodeValue() nodeHelp = '' help_tag = node.namedItem('help') if not help_tag.isNull(): nodeHelp = help_tag.toElement().text() item = QtGui.QStandardItem(nodeName) item.setEditable(False) if not usePySide: item.setData(QtCore.QVariant(nodeAuthor), QtCore.Qt.UserRole + 1) item.setData(QtCore.QVariant(nodeType), QtCore.Qt.UserRole + 2) item.setData(QtCore.QVariant(nodeHelp), QtCore.Qt.UserRole + 3) item.setData(QtCore.QVariant(nodeFilename), QtCore.Qt.UserRole + 4) item.setData(QtCore.QVariant(nodeIcon), QtCore.Qt.UserRole + 5) else: item.setData(nodeAuthor, QtCore.Qt.UserRole + 1) item.setData(nodeType, QtCore.Qt.UserRole + 2) item.setData(nodeHelp, QtCore.Qt.UserRole + 3) item.setData(nodeFilename, QtCore.Qt.UserRole + 4) item.setData(nodeIcon, QtCore.Qt.UserRole + 5) if node.nodeName() == 'nodenet': # set Blue color for nodenet items brush = QtGui.QBrush() brush.setColor(QtCore.Qt.blue) item.setForeground(brush) item.setWhatsThis('nodenet') else: item.setWhatsThis('node') self.parentItem.appendRow(item) file.close()
def save(self): # result = False dom = QtXml.QDomDocument(self.name) self.parseToXML(dom) file = QtCore.QFile(self.fileName) if file.open(QtCore.QIODevice.WriteOnly): if file.write(dom.toByteArray()) != -1: result = True file.close() return result
def saveSettings(self): # result = False dom = QtXml.QDomDocument('renderers') root = dom.createElement('renderers') for preset in self.presetsList: xml_preset = preset.parseToXML(dom) root.appendChild(xml_preset) dom.appendChild(root) file = QtCore.QFile(self.fileName) if file.open(QtCore.QIODevice.WriteOnly | QtCore.QIODevice.Text): if file.write(dom.toByteArray()) != -1: result = True file.close() return result
def readSettings(self, fileName): # dom = QtXml.QDomDocument('renderers') file = QtCore.QFile(fileName) if file.open(QtCore.QIODevice.ReadOnly): if dom.setContent(file): self.fileName = fileName root = dom.documentElement() if root.nodeName() == 'renderers': print(':: Read Settings from preset file %s ...' % fileName) xml_presetList = root.elementsByTagName('preset') for i in range(0, xml_presetList.length()): preset = meRendererInfo() preset.parseFromXML(xml_presetList.item(i)) self.presetsList.append(preset) else: print '!! unknown Renderer Preset XML document format' file.close()