def METHOD_NAME(self, evt):
    modifier = self.modifierRadio.GetStringSelection()
    if modifier == 'Shift':
        prefix = 'shift-'
    elif modifier == 'Control':
        prefix = 'control-'
    else:
        prefix = ''
    specialKey = self.specialKeyCombo.GetStringSelection()
    if specialKey == '':
        newKeyStr= prefix + self.keyEntry.GetValue().lower()
    else:
        newKeyStr = specialKey
    if newKeyStr != self.currKey:
        if newKeyStr in list(base.direct.hotKeyMap.keys()):
            print('a hotkey is to be overridden with %s' % newKeyStr)
            oldKeyDesc = base.direct.hotKeyMap[newKeyStr]
            msg = 'The hotkey is already assigned to %s\n'%oldKeyDesc[0] +\
                  'Do you want to override this?'
            dialog = wx.MessageDialog(None, msg, 'Hot Key exists!',
                                    wx.YES_NO | wx.NO_DEFAULT | wx.ICON_QUESTION)
            result = dialog.ShowModal()
            if result == wx.ID_YES:
                base.direct.hotKeyMap[newKeyStr] = base.direct.hotKeyMap[self.currKey]
                base.direct.hotKeyMap['__removed__' + newKeyStr] = oldKeyDesc
                del base.direct.hotKeyMap[self.currKey]
        else:
            base.direct.hotKeyMap[newKeyStr] = base.direct.hotKeyMap[self.currKey]
            del base.direct.hotKeyMap[self.currKey]
    self.Destroy()