void
dailyreminder::SwitchForm(int formType)
{
if (activeFormType == formType)
return;
BaseForm * form = 0;
switch (formType)
{
case AppGlobals::FORM_MAIN:
form = new MainForm();
break;
case AppGlobals::FORM_ADD:
form = new AddForm();
break;
case AppGlobals::FORM_EDIT:
form = new EditForm();
break;
default:
AppAssert(false);
}
form->Initialize();
Frame *pFrame = GetAppFrame()->GetFrame();
// FIXME: we should delete the previously active form somewhere as well,
// but this lets the app crash.
if (activeForm)
pFrame->RemoveControl(*activeForm);
pFrame->AddControl(*form);
pFrame->SetCurrentForm(*form);
form->Draw();
form->Show();
activeForm = form;
activeFormType = formType;
}