def moveTreeItem(self, treeItem, newParentTreeItem, newRow):
oldParentTreeItem = treeItem.parentItem
oldRow = oldParentTreeItem.childItems.index(treeItem)
#self.beginMoveRows(self.getIndex(oldParentTreeItem), oldRow, oldRow, self.getIndex(newParentTreeItem), newRow)
self.insertTreeItem(treeItem, newParentTreeItem, newRow)
self.removeTreeItemByRow(oldParentTreeItem, oldRow)
#self.endMoveRows()
def insertTreeItem(self, childItem, parentItem, childRow=0):
#insert a tree item as a new child of a parent item at a given row
#childItem.parentItem = parentItem
if childRow <= parentItem.childCount():
parentIndex = self.getIndex(parentItem)
self.beginInsertRows(parentIndex, childRow, childRow)
parentItem.childItems.insert(childRow, childItem)
self.endInsertRows()
else:
print "Error in insertTreeItem: row is larger row count: " + str(row) + " > " + str(parentItem.childCount())
def removeTreeItem(self, treeItem):
parentItem = treeItem.parentItem
row = treeItem.row()
self.removeTreeItemByRow(parentItem, row)
def removeTreeItemByRow(self, parentItem, row):
parentIndex = self.getIndex(parentItem)
self.beginRemoveRows(parentIndex, row, row)
del parentItem.childItems[row]
self.endRemoveRows()
def moveTreeItem(self, treeItem, newParentTreeItem, newRow):
oldParentTreeItem = treeItem.parentItem
oldRow = oldParentTreeItem.childItems.index(treeItem)
#self.beginMoveRows(self.getIndex(oldParentTreeItem), oldRow, oldRow, self.getIndex(newParentTreeItem), newRow)
self.insertTreeItem(treeItem, newParentTreeItem, newRow)
self.removeTreeItemByRow(oldParentTreeItem, oldRow)
#self.endMoveRows()
def insertTreeItem(self, childItem, parentItem, childRow=0):
#insert a tree item as a new child of a parent item at a given row
#childItem.parentItem = parentItem
if childRow <= parentItem.childCount():
parentIndex = self.getIndex(parentItem)
self.beginInsertRows(parentIndex, childRow, childRow)
parentItem.childItems.insert(childRow, childItem)
self.endInsertRows()
else:
print "Error in insertTreeItem: row is larger row count: " + str(row) + " > " + str(parentItem.childCount())
def removeTreeItem(self, treeItem):
parentItem = treeItem.parentItem
row = treeItem.row()
self.removeTreeItemByRow(parentItem, row)
def removeTreeItemByRow(self, parentItem, row):
parentIndex = self.getIndex(parentItem)
self.beginRemoveRows(parentIndex, row, row)
del parentItem.childItems[row]
self.endRemoveRows()
To copy to clipboard, switch view to plain text mode
Bookmarks