code: def on_saveButton(self, event, grid):
          
          wait = wx.BusyInfo("Please wait, working...")
          wx.SafeYield()
  
          if self.grid_frame.drop_down_menu:  # unhighlight selected columns, etc.
              self.grid_frame.drop_down_menu.clean_up()
  
          # remove '**' and '^^' from col labels
          starred_cols, hatted_cols = grid.remove_starred_labels()
  
          grid.SaveEditControlValue() # locks in value in cell currently edited
          grid.HideCellEditControl() # removes focus from cell that was being edited
  
          if grid.changes:
              self.onSave(grid)
  
          for col in starred_cols:
              label = grid.GetColLabelValue(col)
              grid.SetColLabelValue(col, label + '**')
          for col in hatted_cols:
              label = grid.GetColLabelValue(col)
              grid.SetColLabelValue(col, label + '^^')
          del wait
docs: saves any editing of the grid but does not continue to the next window