27 def index(self, row, column, parent):
28 if not self.hasIndex(row, column, parent):
32 parentItem = parent.internalPointer()
37 childItem = parentItem.child(row)
39 return self.createIndex(row, column, childItem)
71 def data(self, index, role):
72 if not index.isValid():
75 item = index.internalPointer()
77 if role == Qt.ItemDataRole.UserRole + 1:
80 if role == Qt.ItemDataRole.UserRole + 2:
83 if role == Qt.ItemDataRole.UserRole + 3:
86 if role != Qt.ItemDataRole.DisplayRole
and role != Qt.ItemDataRole.DecorationRole:
89 return item.data(index.column())
105 rootNode = document.rootNode()
106 columnData = (document.fileName(),
108 QPixmap.fromImage(document.thumbnail(30, 30)),
112 parent.appendChild(item)
114 childNodes = rootNode.childNodes()
120 nodeName = node.name()
121 nodeType = node.type()
122 columnData = (
"Unnamed" if nodeName ==
'' else nodeName,
123 "Untyped" if nodeType ==
'' else nodeType,
124 QPixmap.fromImage(node.thumbnail(30, 30)),
128 parent.appendChild(item)
130 childNodes = node.childNodes()
132 self.
_addSubNodes(childNodes[::-1], item, documentIndex)