void ShowAirspaceListDialog(const Airspaces &_airspaces, ProtectedAirspaceWarningManager *_airspace_warnings) { airspace_warnings = _airspace_warnings; airspaces = &_airspaces; location = CommonInterface::Basic().location; PrepareAirspaceSelectDialog(); AirspaceListDialog dialog2; airspace_list_control->SetItemRenderer(&dialog2); airspace_list_control->SetCursorHandler(&dialog2); AirspaceFilterListener listener; name_control->GetDataField()->SetListener(&listener); distance_control->GetDataField()->SetListener(&listener); direction_control->GetDataField()->SetListener(&listener); type_control->GetDataField()->SetListener(&listener); UpdateList(); const ScopeGPSListener l(CommonInterface::GetLiveBlackboard(), OnGPSUpdate); dialog->ShowModal(); delete dialog; }
void dlgAirspaceSelect(const Airspaces &airspace_database, ProtectedAirspaceWarningManager *_airspace_warnings) { airspace_warnings = _airspace_warnings; PrepareAirspaceSelectDialog(); GeoPoint Location = XCSoarInterface::Basic().location; AirspaceSorter g_airspace_sorter(airspace_database, Location, Units::ToUserDistance(fixed_one)); airspace_sorter = &g_airspace_sorter; UpdateList(); wf->ShowModal(); delete wf; }