code: def replace_all(self, findpositions, find_string, replace_string):
          
          # Mark content as changed
          post_command_event(self.main_window, self.ContentChangedMsg)
  
          for findpos in findpositions:
              old_code = self.grid.code_array(findpos)
              new_code = old_code.replace(find_string, replace_string)
  
              self.grid.code_array[findpos] = new_code
  
          statustext = _("Replaced {no_cells} cells.")
          statustext = statustext.format(no_cells=len(findpositions))
  
          post_command_event(self.main_window, self.StatusBarMsg,
                             text=statustext)
  
          self.grid.ForceRefresh()
docs: Replaces occurrences of find_string with replace_string at findpos
  
          and marks content as changed
  
          Parameters
          ----------
  
          findpositions: List of 3-Tuple of Integer
          \tPositions in grid that shall be replaced
          find_string: String
          \tString to be overwritten in the cell
          replace_string: String
          \tString to be used for replacement