ENH: check for values that switch to internal, can happen with a load cache command

This commit is contained in:
Ken Martin 2001-09-20 15:29:41 -04:00
parent baa28efd10
commit b341539bc1
3 changed files with 16 additions and 10 deletions

View File

@ -601,6 +601,7 @@ void CMakeSetupDialog::FillCacheGUIFromCacheManager()
);
break;
case cmCacheManager::INTERNAL:
m_CacheEntriesList.RemoveProperty(key);
break;
}
}
@ -645,16 +646,6 @@ void CMakeSetupDialog::LoadCacheFromDiskToGUI()
{
m_GeneratorChoiceString = curGen.c_str();
this->UpdateData(FALSE);
// m_GeneratorChoice.SetWindowText(m_GeneratorChoiceString);
// int c = m_GeneratorChoice.GetCount();
// int j = m_GeneratorChoice.FindStringExact(0, curGen.c_str());
// if (j != CB_ERR)
// {
// m_GeneratorChoice.SetCurSel(j);
// }
// m_GeneratorChoice.SelectString(0, curGen.c_str());
// this->UpdateData(FALSE);
}
}
}

View File

@ -614,6 +614,20 @@ void CPropertyList::OnRButtonUp( UINT nFlags, CPoint point )
rect.TopLeft().y + point.y, this, NULL);
}
void CPropertyList::RemoveProperty(const char* name)
{
for(int i =0; i < this->GetCount(); ++i)
{
CPropertyItem* pItem = (CPropertyItem*) GetItemDataPtr(i);
if(pItem->m_propName == name)
{
m_PropertyItems.erase(pItem);
delete pItem;
this->DeleteString(i);
return;
}
}
}
void CPropertyList::OnDelete()
{

View File

@ -67,6 +67,7 @@ public:
int type,
const char* comboItems,
bool reverseOrder);
void RemoveProperty(const char* name);
void HideControls();
std::set<CPropertyItem*> GetItems()
{