8ee3940502d325caaaa128056bce23d800d78641
[sface.git] / sface / domItem.py
1 # from PyQt4.QtXml import QDomNode
2
3 class domItem:
4     # wrapper around PyQt4.QtXml.QDomNode
5     # it keeps an hash of childrens for
6     # performance reasons
7
8     def __init__(self, node, row, parent = 0):
9         # node is of type PyQt4.QtXml.QDomNode
10         self.domNode = node
11         self.parentItem = parent
12         self.rowNumber = row
13         self.childItems = {}
14
15     def child(self, i):
16         if i in self.childItems:
17             return self.childItems[i]
18         if i >= 0 and i < self.domNode.childNodes().count():
19             childNode = self.domNode.childNodes().item(i)
20             childItem = domItem(childNode, i, self)
21             self.childItems[i] = childItem
22             return childItem
23         return None
24             
25     def parent(self):
26         return self.parentItem
27
28     def node(self):
29         return self.domNode
30
31     def row(self):
32         return self.rowNumber
33