code: def delete_selection(self, selection=None):
          
  
          # Mark content as changed
          post_command_event(self.main_window, self.ContentChangedMsg)
  
          if selection is None:
              selection = self.get_selection()
  
          current_table = self.grid.current_table
  
          for row, col, tab in self.grid.code_array.dict_grid.keys():
              if tab == current_table and (row, col) in selection:
                  self.grid.actions.delete_cell((row, col, tab))
  
          self.grid.code_array.result_cache.clear()
docs: Deletes selection, marks content as changed
  
          If selection is None then the current grid selection is used.
  
          Parameters
          ----------
  
          selection: Selection, defaults to None
          \tSelection that shall be deleted