def parent(self, index): child = self.getProxyFromIndex(index) parent = child.parent if parent == self.rootItem: return qt.QModelIndex() if parent is None: return qt.QModelIndex() if parent.row is None: return qt.QModelIndex() else: return self.createIndex(parent.row, 0, parent)
def index(self, row, column, parent): parentItem = self.getProxyFromIndex(parent) if row >= len(parentItem.children): return qt.QModelIndex() child = parentItem.children[row] #force a pointer to child and not use id(child) index = self.createIndex(row, column, child) self._idMap.setdefault(index.internalId(), child) return index
def columnCount(self, parent=qt.QModelIndex()): return len(self.motorShow) + 2
def rowCount(self, parent=qt.QModelIndex()): return len(self.legendList)
def __init__(self, parent=None): qt.QAbstractItemModel.__init__(self, parent) self.rootItem = RootItem( ['File/Group/Dataset', 'Description', 'Shape', 'DType']) self._idMap = {qt.QModelIndex().internalId(): self.rootItem}