Пример #1
0
    def parent(self, index):
        if not index.isValid():
            return QtCore.QModelIndex()

        childItem = index.internalPointer()
        parentItem = childItem.parent()

        if parentItem is None or parentItem == self._rootItem:
            return QtCore.QModelIndex()

        return self.createIndex(parentItem.row(), 0, parentItem)
Пример #2
0
 def index(self, row, column, parent=QtCore.QModelIndex()):
     if not self.hasIndex(row, column, parent):
         return QtCore.QModelIndex()
     if not parent.isValid():
         parentItem = self._rootItem
     else:
         parentItem = parent.internalPointer()
     childItem = parentItem.child(row)
     if childItem:
         return self.createIndex(row, column, childItem)
     return QtCore.QModelIndex()
Пример #3
0
 def onGotoNode(self, *args):
     label = self.sender()
     persistent_index = label.parent().index()
     index = QtCore.QModelIndex(persistent_index)
     tree = self.viewWidget()
     tree.setRootIndex(index)
     tree.setCurrentIndex(index.child(0, 0))
Пример #4
0
    def hasChildren(self, parent=QtCore.QModelIndex()):
        if parent.column() > 0:
            return 0
        if not parent.isValid():
            parentItem = self._rootItem
        else:
            parentItem = parent.internalPointer()

        if parentItem is None:
            return False
        return parentItem.hasChildren()
Пример #5
0
    def rowCount(self, parent=QtCore.QModelIndex()):
        if parent.column() > 0:
            return 0

        if not parent.isValid():
            parentItem = self._rootItem
        else:
            parentItem = parent.internalPointer()
        if parentItem is None:
            return 0
        return parentItem.childCount()
Пример #6
0
 def columnCount(self, parent=QtCore.QModelIndex()):
     return len(self.ColumnRoles)