Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
    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()
Exemplo n.º 3
0
    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
Exemplo n.º 4
0
    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
Exemplo n.º 5
0
    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()