示例#1
0
    def removeSegment(self, line: pg.InfiniteLine, modify_track=True):
        index = self.segments.index(line)
        # would be silly to remove beginning or end line
        if index == 0 or index == len(self.segments) - 1:
            return
        label = self.names[index]

        self.segments.remove(line)
        self.names.remove(label)

        self.vb.removeItem(line)
        self.vb.removeItem(label)

        if modify_track:
            self.track.delete_merge_left(index)
        self.calcPartitionNamePlacement(self.names[index - 1],
                                        index - 1,
                                        emit_signal=False)
        self.updateBounds(self.segments[index - 1], index - 1)
        self.updateBounds(self.segments[index], index)
        if modify_track:
            self.item.delete_segment.emit(index)

        line.deleteLater()
        label.deleteLater()