//------------------------------------------------------------------------------ // Assign code to key definition //------------------------------------------------------------------------------ void CKeyMap::Assign(int cde,CKeyDefinition *kdf) { Tag ks = kdf->GetSet(); kdf->SetCode(cde); std::map<Tag,CKeySet*>::iterator it = kset.find(ks); if (it == kset.end()) return; CKeySet *set = (*it).second; set->StoreKeyDef(kdf); return; }
//------------------------------------------------------------------------------ // Swap key code //------------------------------------------------------------------------------ void CKeyMap::SwapCode(CKeyDefinition *kdf,int nc) { Tag ks = kdf->GetSet(); int cd = kdf->GetCode(); kdf->SetCode(0); std::map<Tag,CKeySet*>::iterator it = kset.find(ks); if (it != kset.end()) return; // No set CKeySet *set = (*it).second; set->ClearCode(cd); //---Set the new code ---------------------------- kdf->SetCode(nc); set->StoreKeyDef(kdf); return; }