def parent(self, index): '''Return parent of *index*.''' if not index.isValid(): return QtCore.QModelIndex() item = index.internalPointer() if not item: return QtCore.QModelIndex() parent = item.parent if not parent or parent == self.root: return QtCore.QModelIndex() return self.createIndex(parent.row, 0, parent)
def index(self, row, column, parent=None): '''Return index for *row* and *column* under *parent*.''' if parent is None: parent = QtCore.QModelIndex() if not self.hasIndex(row, column, parent): return QtCore.QModelIndex() if not parent.isValid(): item = self.root else: item = parent.internalPointer() try: child = item.children[row] except IndexError: return QtCore.QModelIndex() else: return self.createIndex(row, column, child)
def setLocationFromIndex(self, index): '''Set location to *index*.''' if index is None: index = QtCore.QModelIndex() currentIndex = self.view.rootIndex() if index == currentIndex: return self.view.setRootIndex(index) self._updateNavigationBar() selectionModel = self.view.selectionModel() selectionModel.clearSelection() self.locationChanged.emit()