int dlgAirspacePatternsShowModal(void){ if (!Layout::landscape) { wf = LoadDialog(CallBackTable, XCSoarInterface::main_window, _T("IDR_XML_AIRSPACEPATTERNS_L")); } else { wf = LoadDialog(CallBackTable, XCSoarInterface::main_window, _T("IDR_XML_AIRSPACEPATTERNS")); } if (!wf) return -1; assert(wf!=NULL); WndListFrame *wAirspacePatternsList = (WndListFrame*)wf->FindByName(_T("frmAirspacePatternsList")); assert(wAirspacePatternsList!=NULL); wAirspacePatternsList->SetActivateCallback(OnAirspacePatternsListEnter); wAirspacePatternsList->SetPaintItemCallback(OnAirspacePatternsPaintListItem); wAirspacePatternsList->SetLength(NUMAIRSPACEBRUSHES); int result = wf->ShowModal(); result = result == mrOK ? (int)wAirspacePatternsList->GetCursorIndex() : -1; // now retrieve back the properties... delete wf; wf = NULL; return result; }