code: def on_apply(self, event):
          '''called on apply'''
          for label in self.setting_map.keys():
              setting = self.setting_map[label]
              ctrl = self.controls[label]
              value = ctrl.GetValue()
              if str(value) != str(setting.value):
                  oldvalue = setting.value
                  if not setting.set(value):
                      print("Invalid value %s for %s" % (value, setting.name))
                      continue
                  if str(oldvalue) != str(setting.value):
                      self.parent_pipe.send(settingf on_apply(self, event):
          '''called on apply'''
          for label in self.setting_map.keys():
              setting = self.setting_map[label]
              ctrl = self.controls[label]
              value = ctrl.GetValue()
              if str(value) != str(setting.value):
                  oldvalue = setting.value
                  if not setting.set(value):
                      print("Invalid value %s for %s" % (value, setting.name))
                      continue
                  if str(oldvalue) != str(setting.value):
                      self.parent_pipe.send(setting)
docs: called on apply