void ShowMapItemListDialog(const MapItemList &list, const DialogLook &dialog_look, const MapLook &look, const TrafficLook &traffic_look, const FinalGlideBarLook &final_glide_look, const MapSettings &settings, ProtectedAirspaceWarningManager *airspace_warnings) { switch (list.size()) { case 0: /* no map items in the list */ return; case 1: /* only one map item, show it */ ShowMapItemDialog(*list[0], airspace_warnings); break; default: /* more than one map item: show a list */ int i = ShowMapItemListDialog(list, dialog_look, look, traffic_look, final_glide_look, settings); assert(i >= -1 && i < (int)list.size()); if (i >= 0) ShowMapItemDialog(*list[i], airspace_warnings); } }
void ShowMapItemListDialog(SingleWindow &parent, const GeoVector &_vector, const MapItemList &_list, short _elevation, const MapLook &_look, const TrafficLook &_traffic_look, const MapSettings &_settings, ProtectedAirspaceWarningManager *_airspace_warnings) { switch (_list.size()) { case 0: /* no map items in the list */ return; case 1: /* only one map item, show it */ ShowMapItemDialog(*_list[0], parent); break; default: /* more than one map item: show a list */ vector = _vector; list = &_list; elevation = _elevation; look = &_look; traffic_look = &_traffic_look; settings = &_settings; airspace_warnings = _airspace_warnings; int i = ShowMapItemListDialog(parent); assert(i >= -1 && i < (int)_list.size()); if (i >= 0) ShowMapItemDialog(*_list[i], parent); } }