X-Git-Url: http://git.onelab.eu/?p=sface.git;a=blobdiff_plain;f=sface%2FdomItem.py;fp=sface%2FdomItem.py;h=8ee3940502d325caaaa128056bce23d800d78641;hp=0000000000000000000000000000000000000000;hb=be96cc0a7b9a9fc857698998c01dc4f227d3ca93;hpb=cd1f30ca7ef981e5c9c5c83eae26db9e1f4e5d5a diff --git a/sface/domItem.py b/sface/domItem.py new file mode 100644 index 0000000..8ee3940 --- /dev/null +++ b/sface/domItem.py @@ -0,0 +1,33 @@ +# 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 +