Сейчас делаю так
Code: Select all
int Main::NewPlata(wxString name)
{
Plata *find = dynamic_cast<Plata*>( FindWindowByName(name, this));
if(!find == NULL)
if(!find->DocInf.edit)
{
find->SetFocus();
return find->GetId();
}
find = new Plata((wxAuiMDIParentFrame*)wxGetApp().GetTopWindow());
find->Layout();
return find->GetId();
}
Т.е. сколько окошек столько вот таких однообразных функций.
По-моему от этого никуда не уйти, по этому же Netчики и явовцы издеваются над С++.
У кого-нибудь есть соображения на этот счет. Может смысла кода изменить нельзя но можно как-то упростить для понимания поиска и что самое главное дальнейшее добавление и правки его структуру?