def __init__(self, uiFilterManager, parent=None): super(FilterManagerTreeModel, self).__init__(parent) self.rootItem = filtermanagertreeitem.FilterManagerTreeItem( ("Name", "Type", "Thumbnail")) self.uiFilterManager = uiFilterManager self._loadTreeModel(self.rootItem)
def _loadTreeModel(self, parent): for index, document in enumerate(self.uiFilterManager.documents): rootNode = document.rootNode() columnData = (document.fileName(), "Document", QPixmap.fromImage(document.thumbnail(30, 30)), rootNode, index) item = filtermanagertreeitem.FilterManagerTreeItem( columnData, parent) parent.appendChild(item) childNodes = rootNode.childNodes() if len(childNodes): self._addSubNodes(childNodes[::-1], item, index)
def _addSubNodes(self, nodes, parent, documentIndex): for node in nodes: nodeName = node.name() nodeType = node.type() columnData = ("Unnamed" if nodeName == '' else nodeName, "Untyped" if nodeType == '' else nodeType, QPixmap.fromImage(node.thumbnail(30, 30)), node, documentIndex) item = filtermanagertreeitem.FilterManagerTreeItem( columnData, parent) parent.appendChild(item) childNodes = node.childNodes() if len(childNodes): self._addSubNodes(childNodes[::-1], item, documentIndex)