def __openPersistantViewOnRowInserted(self, parent, start, end): model = self.model() for row in range(start, end): index = model.index(row, 2, qt.QModelIndex()) self.openPersistentEditor(index) index = model.index(row, 3, qt.QModelIndex()) self.openPersistentEditor(index)
def removeRows(self, row, count, parent=qt.QModelIndex()): # while the tablempdel is already connected to the data model self.__peakSelectionModel.changed.disconnect(self.__invalidateModel) self.beginRemoveRows(parent, row, row + count - 1) for i in reversed(range(count)): peakModel = self.__peakSelectionModel[row + i] self.requestRemovePeak.emit(peakModel) self.endRemoveRows() # while the tablempdel is already connected to the data model self.__peakSelectionModel.changed.connect(self.__invalidateModel) return True
def data(self, index=qt.QModelIndex(), role=qt.Qt.DisplayRole): peakModel = self.__peakSelectionModel[index.row()] column = index.column() if role == qt.Qt.DecorationRole: if column == 0: color = peakModel.color() pixmap = qt.QPixmap(16, 16) pixmap.fill(color) icon = qt.QIcon(pixmap) return icon else: return None if role == qt.Qt.DisplayRole or role == qt.Qt.EditRole: if column == 0: return peakModel.name() if column == 1: return len(peakModel.coords()) if column == 2: return peakModel.ringNumber() return None
def columnCount(self, parent=qt.QModelIndex()): return 4
def rowCount(self, parent=qt.QModelIndex()): return len(self.__peakSelectionModel)
def __invalidateItem(self, index): index1 = self.index(index, 0, qt.QModelIndex()) index2 = self.index(index, self.columnCount() - 1, qt.QModelIndex()) self.dataChanged.emit(index1, index2)
def __openPersistantViewOnModelReset(self): model = self.model() index = qt.QModelIndex() row = model.rowCount(index) self.__onRowInserted(index, 0, row)