int wxGISAcceleratorTable::Add(wxAcceleratorEntry entry) { int cmd(wxID_ANY); bool bAdd(true); for(size_t i = 0; i < m_AccelEntryArray.size(); ++i) { if(m_AccelEntryArray[i].GetKeyCode() == entry.GetKeyCode() && m_AccelEntryArray[i].GetFlags() == entry.GetFlags()) { cmd = m_AccelEntryArray[i].GetCommand(); m_AccelEntryArray[i] = entry; bAdd = false; } if(m_AccelEntryArray[i].GetCommand() == entry.GetCommand()) { m_AccelEntryArray[i] = entry; bAdd = false; } } if(bAdd) m_AccelEntryArray.push_back(entry); bHasChanges = true; return cmd; }