move domItem and domModel in xmlwindow
authorBarış Metin <Talip-Baris.Metin@sophia.inria.fr>
Wed, 15 Sep 2010 08:53:20 +0000 (10:53 +0200)
committerBarış Metin <Talip-Baris.Metin@sophia.inria.fr>
Wed, 15 Sep 2010 08:53:20 +0000 (10:53 +0200)
sface/domItem.py [deleted file]
sface/domModel.py [deleted file]
sface/xmlwindow.py

diff --git a/sface/domItem.py b/sface/domItem.py
deleted file mode 100644 (file)
index 8ee3940..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-# from PyQt4.QtXml import QDomNode
-
-class domItem:
-    # wrapper around PyQt4.QtXml.QDomNode
-    # it keeps an hash of childrens for
-    # performance reasons
-
-    def __init__(self, node, row, parent = 0):
-        # node is of type PyQt4.QtXml.QDomNode
-        self.domNode = node
-        self.parentItem = parent
-        self.rowNumber = row
-        self.childItems = {}
-
-    def child(self, i):
-        if i in self.childItems:
-            return self.childItems[i]
-        if i >= 0 and i < self.domNode.childNodes().count():
-            childNode = self.domNode.childNodes().item(i)
-            childItem = domItem(childNode, i, self)
-            self.childItems[i] = childItem
-            return childItem
-        return None
-            
-    def parent(self):
-        return self.parentItem
-
-    def node(self):
-        return self.domNode
-
-    def row(self):
-        return self.rowNumber
-    
diff --git a/sface/domModel.py b/sface/domModel.py
deleted file mode 100644 (file)
index 0c8a103..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-from PyQt4.QtCore import QAbstractItemModel, QVariant, QString, QStringList
-from PyQt4.QtCore import QModelIndex
-from PyQt4.QtCore import Qt
-from PyQt4.QtXml import QDomNode
-from domItem import domItem
-
-class domModel(QAbstractItemModel):
-    def __init__(self, document, parent = 0):
-        QAbstractItemModel.__init__(self, parent)
-        self.domDocument = document
-        self.rootItem = domItem(document, 0);
-
-    def data(self, index, role):
-        if not index.isValid():
-            return QVariant()
-        if role != Qt.DisplayRole:
-            return QVariant()
-        node = index.internalPointer().node()
-        attributeMap = node.attributes()
-
-        col = index.column()
-        if col == 0:
-            if node.nodeType() == QDomNode.ElementNode:
-                qslist = QStringList()
-                for i in range(attributeMap.count()):
-                    attr = attributeMap.item(i)
-                    elem = (attr.nodeName()
-                            .append(QString('="'))
-                            .append(attr.nodeValue())
-                            .append(QString('"')))
-                    qslist.append(elem)
-                return (QString('<').
-                        append(node.nodeName()).
-                        append(' ').
-                        append(qslist.join(' ')).
-                        append('>'))
-            elif node.nodeType() == QDomNode.AttributeNode:
-                return QString('Whozat?!')
-            elif node.nodeType() == QDomNode.TextNode:
-                return node.nodeValue()
-            elif node.nodeType() == QDomNode.CDATASectionNode:
-                return QString('unsupported node type')
-            elif node.nodeType() == QDomNode.EntityReferenceNode:
-                return QString('unsupported node type')
-            elif node.nodeType() == QDomNode.EntityNode:
-                return QString('unsupported node type')
-            elif node.nodeType() == QDomNode.ProcessingInstructionNode:
-                return node.nodeName()
-            elif node.nodeType() == QDomNode.CommentNode:
-                return QString('#').append(node.nodeValue())
-            elif node.nodeType() == QDomNode.DocumentNode:
-                return QString('unsupported node type')
-            elif node.nodeType() == QDomNode.DocumentTypeNode:
-                return QString('unsupported node type')
-            elif node.nodeType() == QDomNode.DocumentFragmentNode:
-                return QString('unsupported node type')
-            elif node.nodeType() == QDomNode.NotationNode:
-                return QString('unsupported node type')
-            elif node.nodeType() == QDomNode.BaseNode:
-                return QString('unsupported node type')
-            elif node.nodeType() == QDomNode.CharacterDataNode:
-                return QString('unsupported node type')
-            else:
-                return QVariant()
-        else:
-            return QVariant()
-
-    def flags(self, index):
-        if not index.isValid():
-            return Qt.ItemIsEnabled
-        # does this `|` thing hold?
-        return Qt.ItemIsEnabled | Qt.ItemIsSelectable
-        
-    def headerData(self, section, orientation, role):
-        if orientation == Qt.Horizontal and role == Qt.DisplayRole:
-            if section == 0:
-                return QString("Do I need an header?")
-            else:
-                return QVariant()
-        else:
-            return QVariant()
-
-    def index(self, row, column, parent):
-        if not parent.isValid():
-            parentItem = self.rootItem
-        else:
-            parentItem = parent.internalPointer()
-
-        childItem = parentItem.child(row)
-        # childItem would be None to say "false"?
-        if childItem:
-            return self.createIndex(row, column, childItem)
-        else:
-            return QModelIndex()
-
-    def parent(self, child):
-        if not child.isValid():
-            return QModelIndex()
-        childItem = child.internalPointer()
-        parentItem = childItem.parent()
-        
-        if not parentItem or parentItem == self.rootItem:
-            return QModelIndex()
-        return self.createIndex(parentItem.row(), 0, parentItem)
-
-    def rowCount(self, parent):
-        if not parent.isValid():
-            parentItem = self.rootItem
-        else:
-            parentItem = parent.internalPointer()
-
-        return parentItem.node().childNodes().count()
-
-    def columnCount(self, parent):
-        # just one column
-        # we'll print tag name (and attributes)
-        # or the tag content
-        return 1
index 951cd16..0171e4e 100644 (file)
 import sys
+
 from PyQt4.QtCore import *
 from PyQt4.QtGui import *
-from PyQt4.QtXml import QDomDocument
-from domModel import domModel
+from PyQt4.QtXml import *
+
 from sface.config import config
 
+
+class DomModel(QAbstractItemModel):
+    def __init__(self, document, parent = 0):
+        QAbstractItemModel.__init__(self, parent)
+        self.domDocument = document
+        self.rootItem = DomItem(document, 0);
+
+    def data(self, index, role):
+        if not index.isValid():
+            return QVariant()
+        if role != Qt.DisplayRole:
+            return QVariant()
+        node = index.internalPointer().node()
+        attributeMap = node.attributes()
+
+        col = index.column()
+        if col == 0:
+            if node.nodeType() == QDomNode.ElementNode:
+                qslist = QStringList()
+                for i in range(attributeMap.count()):
+                    attr = attributeMap.item(i)
+                    elem = (attr.nodeName()
+                            .append(QString('="'))
+                            .append(attr.nodeValue())
+                            .append(QString('"')))
+                    qslist.append(elem)
+                return (QString('<').
+                        append(node.nodeName()).
+                        append(' ').
+                        append(qslist.join(' ')).
+                        append('>'))
+            elif node.nodeType() == QDomNode.AttributeNode:
+                return QString('Whozat?!')
+            elif node.nodeType() == QDomNode.TextNode:
+                return node.nodeValue()
+            elif node.nodeType() == QDomNode.CDATASectionNode:
+                return QString('unsupported node type')
+            elif node.nodeType() == QDomNode.EntityReferenceNode:
+                return QString('unsupported node type')
+            elif node.nodeType() == QDomNode.EntityNode:
+                return QString('unsupported node type')
+            elif node.nodeType() == QDomNode.ProcessingInstructionNode:
+                return node.nodeName()
+            elif node.nodeType() == QDomNode.CommentNode:
+                return QString('#').append(node.nodeValue())
+            elif node.nodeType() == QDomNode.DocumentNode:
+                return QString('unsupported node type')
+            elif node.nodeType() == QDomNode.DocumentTypeNode:
+                return QString('unsupported node type')
+            elif node.nodeType() == QDomNode.DocumentFragmentNode:
+                return QString('unsupported node type')
+            elif node.nodeType() == QDomNode.NotationNode:
+                return QString('unsupported node type')
+            elif node.nodeType() == QDomNode.BaseNode:
+                return QString('unsupported node type')
+            elif node.nodeType() == QDomNode.CharacterDataNode:
+                return QString('unsupported node type')
+            else:
+                return QVariant()
+        else:
+            return QVariant()
+
+    def flags(self, index):
+        if not index.isValid():
+            return Qt.ItemIsEnabled
+        # does this `|` thing hold?
+        return Qt.ItemIsEnabled | Qt.ItemIsSelectable
+        
+    def headerData(self, section, orientation, role):
+        if orientation == Qt.Horizontal and role == Qt.DisplayRole:
+            if section == 0:
+                return QString("Do I need an header?")
+            else:
+                return QVariant()
+        else:
+            return QVariant()
+
+    def index(self, row, column, parent):
+        if not parent.isValid():
+            parentItem = self.rootItem
+        else:
+            parentItem = parent.internalPointer()
+
+        childItem = parentItem.child(row)
+        # childItem would be None to say "false"?
+        if childItem:
+            return self.createIndex(row, column, childItem)
+        else:
+            return QModelIndex()
+
+    def parent(self, child):
+        if not child.isValid():
+            return QModelIndex()
+        childItem = child.internalPointer()
+        parentItem = childItem.parent()
+        
+        if not parentItem or parentItem == self.rootItem:
+            return QModelIndex()
+        return self.createIndex(parentItem.row(), 0, parentItem)
+
+    def rowCount(self, parent):
+        if not parent.isValid():
+            parentItem = self.rootItem
+        else:
+            parentItem = parent.internalPointer()
+
+        return parentItem.node().childNodes().count()
+
+    def columnCount(self, parent):
+        # just one column
+        # we'll print tag name (and attributes)
+        # or the tag content
+        return 1
+
+
+class DomItem:
+    # wrapper around PyQt4.QtXml.QDomNode
+    # it keeps an hash of childrens for
+    # performance reasons
+
+    def __init__(self, node, row, parent = 0):
+        # node is of type PyQt4.QtXml.QDomNode
+        self.domNode = node
+        self.parentItem = parent
+        self.rowNumber = row
+        self.childItems = {}
+
+    def child(self, i):
+        if i in self.childItems:
+            return self.childItems[i]
+        if i >= 0 and i < self.domNode.childNodes().count():
+            childNode = self.domNode.childNodes().item(i)
+            childItem = DomItem(childNode, i, self)
+            self.childItems[i] = childItem
+            return childItem
+        return None
+            
+    def parent(self):
+        return self.parentItem
+
+    def node(self):
+        return self.domNode
+
+    def row(self):
+        return self.rowNumber
+    
+
+
 class XmlWindow(QDialog):
     def __init__(self, parent=None):
         QDialog.__init__(self, parent)
@@ -13,7 +162,7 @@ class XmlWindow(QDialog):
         rspec_file = config.getSliceRSpecFile()
         document.setContent(open(rspec_file,'r').read())
 
-        model = domModel(document, self)
+        model = DomModel(document, self)
         self.view = QTreeView()
         self.view.setModel(model)