def delete(self, index): """ Delete wire :param index: :return: """ row = len(self.wires) self.beginRemoveRows(QtCore.QModelIndex(), row - 1, row - 1) self.wires.pop(index) self.endRemoveRows()
def parent(self, index): """Get the parent node of an index.""" node = self.get_node(index) parent = node.parent if parent == self.root: return QtCore.QModelIndex() return self.createIndex(parent.row, 0, parent)
def addPieces(self, pixmap): self.beginRemoveRows(QtCore.QModelIndex(), 0, 24) self.pixmaps = [] self.locations = [] self.endRemoveRows() for y in range(5): for x in range(5): pieceImage = pixmap.copy(x * 80, y * 80, 80, 80) self.addPiece(pieceImage, QtCore.QPoint(x, y))
def add(self, wire: Wire): """ Add wire :param wire: :return: """ row = len(self.wires) self.beginInsertRows(QtCore.QModelIndex(), row, row) self.wires.append(wire) self.endInsertRows()
def _on_remove_support_pressed(self): if not self.target or not self.current_support: return self.service.remove_support(self.target, self.current_support) self.supports_widget.takeItem( self.supports_widget.currentIndex().row()) self._refresh_add_list() self.characters_widget.setCurrentIndex(QtCore.QModelIndex()) self.current_supports = self.service.get_supports_for_character( self.target)
def addPiece(self, pixmap, location): if random.random() < 0.5: row = 0 else: row = len(self.pixmaps) self.beginInsertRows(QtCore.QModelIndex(), row, row) self.pixmaps.insert(row, pixmap) self.locations.insert(row, location) self.endInsertRows()
def delete(self, index): """ Delete wire :param index: :return: """ row = self.rowCount() self.beginRemoveRows(QtCore.QModelIndex(), row - 1, row - 1) self.tower.wires_in_tower.pop(index) self.endRemoveRows()
def add(self, wire: WireInTower): """ Add wire :param wire: :return: """ row = self.rowCount() self.beginInsertRows(QtCore.QModelIndex(), row, row) self.tower.wires_in_tower.append(wire) self.endInsertRows()
def rowCount(self, parent=QtCore.QModelIndex()): if parent.column() > 0: return 0 if not parent.isValid(): parentItem = self._rootItem else: parentItem = parent.internalPointer() return parentItem.childCount()
def load_data(self, peaks): """ The peaks structure is of the format: [(index, (x, y)), ...] """ self.peaks = peaks self.beginResetModel() self.beginInsertRows(QtCore.QModelIndex(), 0, self.rowCount()) self.endInsertRows() self.endResetModel()
def parent(self, model_index): """return parent index by child index if the item has no parent, an invalid QModelIndex is returned @param model_index: QModelIndex of child @retval QModelIndex of parent """ if not model_index.isValid(): return QtCore.QModelIndex() child = model_index.internalPointer() parent = child.parent() if parent == self.root_node: return QtCore.QModelIndex() return self.createIndex(parent.row(), 0, parent)
def removeRows(self, position: int, rows: int, index: QtCore.QModelIndex = QtCore.QModelIndex()) -> bool: self.beginRemoveRows(index.parent(), position, position + rows - 1) for row in range(rows): self._deleled_files.append(self._data['filename'][position]) self._data.remove_row(position) self._mask.remove_row(position) self.endRemoveRows() return True
def appendTransaction(self, data): """Appends the data at the end of table""" count = self.rowCount() self.beginInsertRows(QtCore.QModelIndex(), count, count) with sqlite3.connect('test2.db') as conn: _ = conn.execute( 'insert into transactionsnew (empid, date, credit, debit) values (:empid, :date, :credit, :debit)', data) self.setEmployee(data['empid']) self.endInsertRows()
def removeRow(self, row=-1, index=QtCore.QModelIndex()): ''' ''' if row == -1: row = self.rowCount() - 1 self.beginRemoveRows(index, row, row) if row > -1 and row < self.rowCount(): self.__data.pop(row) self.endRemoveRows() return True
def append_entity(self, entity): """Appends a new row to the end of the model. """ model = self.model().sourceModel() model.beginInsertRows(QtCore.QModelIndex(), model.rowCount(), model.rowCount()) model.internal_data.append(entity) model.endInsertRows() self.setCurrentIndex(self.count() - 1)
def filterAcceptsRow(self, source_row, parent=QtCore.QModelIndex()): if not self._entity_type: return True index = self.sourceModel().index(source_row, 0) entity = index.data(EntityRole) if not entity: return True if 'type' in entity and entity['type'] != self._entity_type: return False return True
def removeRows(self, row, count, parent=QtCore.QModelIndex()): """Remove rows from the list.""" if row < 0 or count < 0 or (row + count) > self.rowCount(): return False self.beginRemoveRows(parent, row, row + count - 1) del self.postCardList[row:(row + count)] self.endRemoveRows() return True
def removeRows(self, row, count, parent=None): #again we only remove one row at a time #you also can't delte the first account which is the admin print(row) if row == 0 or row >= self.rowCount() or count != 1: return False self.beginRemoveRows(QtCore.QModelIndex(), row, row) account = self.accounts[row] self.db_manager.remove_account(account) self.accounts.pop(row) self.endRemoveRows()
def find_named_folder(self, name): """Find a folder with a given name.""" node = self.get_node(QtCore.QModelIndex()) for row in range(len(node.children)): child = node.children[row] if child.name == name: return self.createIndex(row, 0, child) return None
def index(self, row, column, parent): """Create an index at a specific location.""" parent = self.get_node(parent) if row < len(parent.children): child_item = parent.children[row] if child_item: return self.createIndex(row, column, child_item) return QtCore.QModelIndex()
def removeState(self, stateName: str) -> Optional[RSIPy.State]: if not stateName in self.states: return None currentRow = self.getStateIndex(stateName).row() self.beginRemoveRows(QtC.QModelIndex(), currentRow, currentRow) state = self.states.pop(stateName) self.endRemoveRows() return state
def index(self, row, column, parent=QtCore.QModelIndex()): ''' Returns a QModelIndex according to given data. :param row: Returns a QModelIndex with this row index. :type row: int :param column: Returns a QModelIndex with this column index. :type column: int :param parent: Default QModelIndex :type parent: QModelIndex :return: QModelIndex if data corresponding to row and column was found. Empty QModelIndex if not. :rtype: QModelIndex ''' if row > -1 and column > -1: if row < len(self.dataList) and column < len(self.headers): return self.createIndex(row, column, self.dataList[row][column]) else: return QtCore.QModelIndex() else: return QtCore.QModelIndex()
def on_trade_occurred(self, team: str, now: float, order_id: int, side: Side, volume: int, price: int, fee: int) -> None: """Callback when a trade occurs.""" if team == self.team: self.beginInsertRows(QtCore.QModelIndex(), 0, 0) self._row_count += 1 self.__trades.append( ("%.3f" % now, order_id, ("Sell", "Buy")[side], volume, price // 100, "%.2f" % (-fee / 100.0))) self.endInsertRows()
def index(self, row, column, parent): """Returns a QModelIndex().""" if not parent.isValid(): parentNode = self.rootNode else: parentNode = parent.internalPointer() childItem = parentNode.getChild(row) if not childItem: return QtCore.QModelIndex() return self.createIndex(row, column, childItem)
def extend(self, items): """Merge a list of items into this model.""" parent = QtCore.QModelIndex() start = len(self.items) end = start + len(items) - 1 self.beginInsertRows(parent, start, end) self.items.extend(items) self.endInsertRows() if not self.limited: self.sort() self.changed.emit()
def markUninstalled(self, items): """Mark a list of items as uninstalled.""" for item in items: self._installed.remove(item) parent = QtCore.QModelIndex() parentNode = self.getNode(parent) self.dataChanged.emit( self.index(0, 0, parent), self.index(len(parentNode.children) - 1, 0, parent))
def test_todo_editor(self): from PySide2 import QtCore import bookmarks.todo_editor as todo_editor widget = todo_editor.TodoEditorWidget(QtCore.QModelIndex()) widget.add_item( idx=0, text=u'Hello world', checked=False) widget.add_item( idx=1, text=u'Hello world', checked=True) widget.add_item(idx=2, text='file://test.com', checked=False) widget.add_item(idx=0, text='First item', checked=False) widget.open()
def rowCount(self, index=QtCore.QModelIndex()): """Return the tables number of rows. Args: index (QtCore.QModelIndex): Used to locate data in a data model. Returns: int: The tables number of rows. """ return len(self.events)
def removeAt(self, i, count=1): """ Removes count number of items from index position i and notifies any views. i must be a valid index position in the model (i.e., 0 <= i < size()), as must as i + count - 1. """ self.beginRemoveRows(QtCore.QModelIndex(), i, i + count - 1) for cpt in range(count): obj = self._objects.pop(i) self._dereferenceItem(obj) self.endRemoveRows() self.countChanged.emit()
def columnCount(self, index=QtCore.QModelIndex()): """Return the table number of columns. Args: index (QtCore.QModelIndex): Used to locate data in a data model. Returns: int: The tables number of columns. """ return len(self.column_names)