def editLink(self, row: int, name: str, color: str, points: str): """Edit a link.""" for i, e in enumerate((name, color, points)): item = QTableWidgetItem(e) item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) if i == 1: item.setIcon(color_icon(e)) self.setItem(row, i, item)
def edit_point(self, row: int, links: str, type_str: str, color: str, x: str, y: str): """Edit a point.""" for i, e in enumerate([f'Point{row}', links, type_str, color, x, y, f"({x}, {y})"]): item = QTableWidgetItem(str(e)) item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) if i == 3: item.setIcon(color_icon(e)) self.setItem(row, i, item)
def editArgs(self, row: int, Links: str, Type: str, Color: str, x: float, y: float): """Edite a point.""" for i, e in enumerate([ 'Point{}'.format(row), Links, Type, Color, x, y, "({}, {})".format(x, y) ]): item = QTableWidgetItem(str(e)) item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) if i == 3: item.setIcon(colorIcons(e)) self.setItem(row, i, item)
def __rename(self, arg1: Sequence[str], arg2: Sequence[str]): """Adjust link name in all dependents, if link name are changed. """ if arg2[0] == arg1[0]: return for index in _no_empty_string(arg2[2].split(',')): row = int(index.replace('Point', '')) new_links = self.point_table.item(row, 1).text().split(',') item = QTableWidgetItem(','.join( _no_empty_string( w.replace(arg2[0], arg1[0]) for w in new_links))) item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) self.point_table.setItem(row, 1, item)
def rename(self, Args1: Tuple[str], Args2: Tuple[str]): """Adjust link name in all dependents, if link name are changed. """ if Args2[0] == Args1[0]: return for index in noNoneString(Args2[2].split(',')): row = int(index.replace('Point', '')) newLinks = self.PointTable.item(row, 1).text().split(',') item = QTableWidgetItem(','.join(noNoneString([ w.replace(Args2[0], Args1[0]) for w in newLinks ]))) item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) self.PointTable.setItem(row, 1, item)
def writeRows(self, items1: Sequence[int], items2: Sequence[int] ): """Write table function. + Append the point that relate with these links. + Remove the point that irrelevant with these links. """ for row in items1: newPoints = self.LinkTable.item(row, 2).text().split(',') newPoints.append('Point{}'.format(self.row)) item = QTableWidgetItem(','.join(noNoneString(newPoints))) item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) self.LinkTable.setItem(row, 2, item) for row in items2: newPoints = self.LinkTable.item(row, 2).text().split(',') newPoints.remove('Point{}'.format(self.row)) item = QTableWidgetItem(','.join(noNoneString(newPoints))) item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) self.LinkTable.setItem(row, 2, item)
def writeRows(self, name: str, items1: Sequence[int], items2: Sequence[int] ): """Write table function. + Append the link that relate with these points. + Remove the link that irrelevant with these points. """ for row in items1: newLinks = self.PointTable.item(row, 1).text().split(',') newLinks.append(name) item = QTableWidgetItem(','.join(noNoneString(newLinks))) item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) self.PointTable.setItem(row, 1, item) for row in items2: newLinks = self.PointTable.item(row, 1).text().split(',') if name: newLinks.remove(name) item = QTableWidgetItem(','.join(noNoneString(newLinks))) item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) self.PointTable.setItem(row, 1, item)
def __set_cell(self, row: int, links: List[str]): item = QTableWidgetItem(','.join(_no_empty_string(links))) item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) self.point_table.setItem(row, 1, item)
def setCell(self, row: int, links: List[str]): item = QTableWidgetItem(','.join(noNoneString(links))) item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) self.PointTable.setItem(row, 1, item)
def setCell(self, row: int, points: List): item = QTableWidgetItem(','.join(noNoneString(points))) item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) self.LinkTable.setItem(row, 2, item)