code: def update_changes_after_row_delete(self, row_num):
          
          if row_num in self.changes.copy():
              self.changes.remove(row_num)
          updated_rows = []
          for changed_row in self.changes:
              if changed_row == -1:
                  updated_rows.append(-1)
              if changed_row > row_num:
                  updated_rows.append(changed_row - 1)
              if changed_row < row_num:
                  updated_rows.append(changed_row)
          self.changes = set(updated_rows)
docs: Update self.changes so that row numbers for edited rows are still correct.
          I.e., if row 4 was edited and then row 2 was deleted, row 4 becomes row 3.
          This function updates self.changes to reflect that.