docs: def apply_changes(self, event):
          """
          applies the changes in the various attribute boxes of this object to all highlighted fit objects in the logger, these changes are reflected both in this object and in the Zeq_GUI parent object.
          @param: event -> the wx.ButtonEvent that triggered this function
          """
  
          new_name = self.name_box.GetLineText(0)
          new_color = self.color_box.GetValue()
          new_tmin = self.tmin_box.GetValue()
          new_tmax = self.tmax_box.GetValue()
  
          next_i = -1
          changed_i = []
          while True:
              next_i = self.logger.GetNextSelected(next_i)
              if next_i == -1:
                  break
              specimen = self.fit_list[next_i][1]
              fit = self.fit_list[next_i][0]
              if new_name:
                  if new_name not in [x.name for x in self.parent.pmag_results_data['specimens'][specimen]]: fit.name = new_name
              if new_color:
                  fit.color = self.color_dict[new_color]
              #testing
              not_both = True
              if new_tmin and new_tmax:
                  if fit == self.parent.current_fit:
                      self.parent.tmin_box.SetStringSelection(new_tmin)
                      self.parent.tmax_box.SetStringSelection(new_tmax)
                  fit.put(specimen,self.parent.COORDINATE_SYSTEM, self.parent.get_PCA_parameters(specimen,fit,new_tmin,new_tmax,self.parent.COORDINATE_SYSTEM,fit.PCA_type))
                  not_both = False
              if new_tmin and not_both:
                  if fit == self.parent.current_fit:
                      self.parent.tmin_box.SetStringSelection(new_tmin)
                  fit.put(specimen,self.parent.COORDINATE_SYSTEM, self.parent.get_PCA_parameters(specimen,fit,new_tmin,fit.tmax,self.parent.COORDINATE_SYSTEM,fit.PCA_type))
              if new_tmax and not_both:
                  if fit == self.parent.current_fit:
                      self.parent.tmax_box.SetStringSelection(new_tmax)
                  fit.put(specimen,self.parent.COORDINATE_SYSTEM, self.parent.get_PCA_parameters(specimen,fit,fit.tmin,new_tmax,self.parent.COORDINATE_SYSTEM,fit.PCA_type))
              changed_i.append(next_i)
  
          offset = 0
          for i in changed_i:
              i -= offset
              v = self.update_logger_entry(i)
              if v == "s":
                  offset += 1
  
          self.parent.update_selection()