def __init__(self, parent=None): QAbstractListModel.__init__(self) self.__items = [] self.parent = parent self._task = None # type: Union[Task, None] self._executor = ThreadExecutor()
def itemData(self, index): mapping = QAbstractListModel.itemData(self, index) if self._is_index_valid(index): items = list(self._other_data[index.row()].items()) else: items = [] for key, value in items: mapping[key] = value return mapping
def itemData(self, index): mapping = QAbstractListModel.itemData(self, index) if self._is_index_valid_for(index, self._other_data): items = list(self._other_data[index.row()].items()) else: items = [] for key, value in items: mapping[key] = value return mapping
def mimeData(self, indexlist): if len(indexlist) <= 0: return None items = [self[i.row()] for i in indexlist] mime = QAbstractListModel.mimeData(self, indexlist) data = pickle.dumps(vars) mime.set_data(self.MIME_TYPE, QByteArray(data)) mime._items = items return mime
def mimeData(self, indexlist): if len(indexlist) <= 0: return None items = [self[i.row()] for i in indexlist] itemdata = [self.itemData(i) for i in indexlist] mime = QAbstractListModel.mimeData(self, indexlist) mime.setData(self.MIME_TYPE, b'see properties: _items, _itemdata') mime.setProperty('_items', items) mime.setProperty('_itemdata', itemdata) return mime
def dropMimeData(self, mime, action, row, column, parent): if action == Qt.IgnoreAction: return True if not mime.hasFormat(self.MIME_TYPE): return False if hasattr(mime, "_vars"): vars_ = mime._vars else: desc = str(mime.data(self.MIME_TYPE)) vars_ = pickle.loads(desc) return QAbstractListModel.dropMimeData(self, mime, action, row, column, parent)
def dropMimeData(self, mime, action, row, column, parent): if action == Qt.IgnoreAction: return True if not mime.hasFormat(self.MIME_TYPE): return False if hasattr(mime, "_vars"): vars_ = mime._vars else: desc = str(mime.data(self.MIME_TYPE)) vars_ = pickle.loads(desc) return QAbstractListModel.dropMimeData( self, mime, action, row, column, parent)
def mimeTypes(self): return [self.MIME_TYPE] + list(QAbstractListModel.mimeTypes(self))
def index(self, row, column=0, parent=QModelIndex()): if self._is_index_valid(row) and column == 0: return QAbstractListModel.createIndex(self, row, column, parent) else: return QModelIndex()
def index(self, row, column=0, parent=QModelIndex()): if self._is_index_valid_for(row, self) and column == 0: return QAbstractListModel.createIndex(self, row, column, parent) else: return QModelIndex()
def __init__(self, show_icon=True): QAbstractListModel.__init__(self) self.icon_path = '' self.show_icon = show_icon self.__items = []