def index(self, row, column, parent): parentNode = self.getNode(parent) if row < 0 and row >= parentNode.childCount(): return QtCore.QModelIndex() childItem = parentNode.child(row) if childItem: return self.createIndex(row, column, childItem) return QtCore.QModelIndex()
def parent(self, index): node = self.getNode(index) parentNode = node.parent() if parentNode == self._rootNode: return QtCore.QModelIndex() if parentNode is None: return QtCore.QModelIndex() row = parentNode.row() return self.createIndex(row, 0, parentNode)
def removeRows(self, position, rows, parent=QtCore.QModelIndex()): self.beginRemoveRows(parent, position, position + rows - 1) success = None for row in range(rows): success = self._node_list.pop(position) self.endRemoveRows() return success
def removeRows(self, position, rows, parent=QtCore.QModelIndex()): parentNode = self.getNode(parent) self.beginRemoveRows(parent, position, position + rows - 1) success = None for row in range(rows): success = parentNode.removeChild(position) self.endRemoveRows() return success
def rowCount(self, parent=QtCore.QModelIndex()): parentNode = None if not parent.isValid(): parentNode = self._rootNode else: parentNode = parent.internalPointer() if parentNode is None: return 0 return parentNode.childCount()
def insertRows(self, position, rows, parent=QtCore.QModelIndex()): self.beginInsertRows(parent, position, position + rows - 1) success = None nodeType = self.defaultNodeType() for row in range(rows): childCount = len(self._node_list) childNode = nodeType('untitled' + str(childCount)) success = self._node_list.insert(position, childNode) self.endInsertRows() return success
def insertRows(self, position, rows, parent=QtCore.QModelIndex()): parentNode = self.getNode(parent) self.beginInsertRows(parent, position, position + rows - 1) success = None nodeType = self.defaultNodeType() for row in range(rows): childCount = parentNode.childCount() childNode = nodeType('untitled' + str(childCount)) success = parentNode.insertChild(position, childNode) self.endInsertRows() return success
def rowCount(self, parent=QtCore.QModelIndex()): return len(self._stringDataList)
def removeRows(self, row, count, parent=QtCore.QModelIndex()): self.beginRemoveRows(QtCore.QModelIndex(), row, row + count - 1) del self._stringDataList[row:row + count] self.endRemoveRows() return True
def insertRows(self, row, count, parent=QtCore.QModelIndex()): self.beginInsertRows(QtCore.QModelIndex(), row, row + count - 1) self._stringDataList[row:row] = [('', None)] * count self.endInsertRows() return True
def rowCount(self, parent=QtCore.QModelIndex()): return len(self._node_list)
def columnCount(self, parent=QtCore.QModelIndex()): column_names = self.columnNames() return len(column_names.keys())