static void OnLookupClicked(gcc_unused WndButton &Sender) { dlgAirspaceSelect(); }
static void OnLookupClicked(gcc_unused WndButton &Sender) { dlgAirspaceSelect(airspace_database, GetAirspaceWarnings()); }
static void OnLookupClicked(WndButton* pWnd){ (void)pWnd; dlgAirspaceSelect(); }
static void OnLookupClicked(WindowControl * Sender){ (void)Sender; dlgAirspaceSelect(); }
// handle custom keys. Input: key pressed (center, left etc.) // Returns true if handled successfully, false if not // // Passthrough mode for keys>=1000 (custom menu keys) // bool CustomKeyHandler(const int key) { int ckeymode; static bool doinit=true; static int oldModeIndex; if (doinit) { oldModeIndex=LKMODE_INFOMODE;; doinit=false; } if (key>=1000) { ckeymode=key-1000; LKASSERT((ckeymode>=0 && ckeymode<ckTOP)); goto passthrough; } switch(key) { case CKI_BOTTOMCENTER: ckeymode=CustomKeyModeCenter; break; case CKI_BOTTOMLEFT: ckeymode=CustomKeyModeLeft; break; case CKI_BOTTOMRIGHT: ckeymode=CustomKeyModeRight; break; case CKI_BOTTOMICON: ckeymode=CustomKeyModeAircraftIcon; break; case CKI_TOPLEFT: ckeymode=CustomKeyModeLeftUpCorner; break; case CKI_TOPRIGHT: ckeymode=CustomKeyModeRightUpCorner; break; case CKI_CENTERSCREEN: ckeymode=CustomKeyModeCenterScreen; break; default: DoStatusMessage(_T("ERR-725 UNKNOWN CUSTOMKEY")); return false; break; } passthrough: switch(ckeymode) { case ckDisabled: break; case ckZoomIn: PlayResource(TEXT("IDR_WAV_CLICK")); MapWindow::zoom.EventScaleZoom(1); return true; break; case ckZoomInMore: PlayResource(TEXT("IDR_WAV_CLICK")); MapWindow::zoom.EventScaleZoom(2); return true; break; case ckZoomOut: PlayResource(TEXT("IDR_WAV_CLICK")); MapWindow::zoom.EventScaleZoom(-1); return true; break; case ckZoomOutMore: PlayResource(TEXT("IDR_WAV_CLICK")); MapWindow::zoom.EventScaleZoom(-2); return true; break; case ckMenu: ShowMenu(); return true; case ckBackMode: PreviousModeIndex(); MapWindow::RefreshMap(); SoundModeIndex(); return true; case ckToggleMap: //TODO if (ModeIndex==LKMODE_MAP) SetModeIndex(oldModeIndex); else { oldModeIndex=ModeIndex; SetModeIndex(LKMODE_MAP); } MapWindow::RefreshMap(); SoundModeIndex(); return true; case ckTrueWind: PlayResource(TEXT("IDR_WAV_CLICK")); InputEvents::setMode(_T("TrueWind")); return true; case ckTeamCode: PlayResource(TEXT("IDR_WAV_CLICK")); InputEvents::eventSetup(_T("Teamcode")); return true; case ckToggleOverlays: PlayResource(TEXT("IDR_WAV_CLICK")); ToggleMultimapOverlays(); return true; case ckToggleMapLandable: if (ModeIndex==LKMODE_MAP) SetModeIndex(LKMODE_WP); else SetModeIndex(LKMODE_MAP); MapWindow::RefreshMap(); SoundModeIndex(); return true; case ckLandables: SetModeIndex(LKMODE_WP); MapWindow::RefreshMap(); SoundModeIndex(); return true; case ckToggleMapCommons: if (ModeIndex==LKMODE_MAP) SetModeIndex(LKMODE_NAV); else SetModeIndex(LKMODE_MAP); MapWindow::RefreshMap(); SoundModeIndex(); return true; case ckCommons: SetModeIndex(LKMODE_NAV); MapWindow::RefreshMap(); SoundModeIndex(); return true; case ckToggleMapTraffic: if (ModeIndex==LKMODE_MAP) SetModeIndex(LKMODE_TRF); else SetModeIndex(LKMODE_MAP); MapWindow::RefreshMap(); SoundModeIndex(); return true; case ckTraffic: SetModeIndex(LKMODE_TRF); MapWindow::RefreshMap(); SoundModeIndex(); return true; case ckInvertColors: PlayResource(TEXT("IDR_WAV_CLICK")); InputEvents::eventInvertColor(NULL); return true; case ckTimeGates: PlayResource(TEXT("IDR_WAV_CLICK")); InputEvents::eventTimeGates(NULL); return true; case ckMarkLocation: InputEvents::eventMarkLocation(_T("")); return true; case ckAutoZoom: PlayResource(TEXT("IDR_WAV_CLICK")); InputEvents::eventZoom(_T("auto toggle")); InputEvents::eventZoom(_T("auto show")); return true; case ckActiveMap: // NO MORE USED (reserved) return true; case ckBooster: DoStatusMessage(_T("FEEL THE THERMAL")); LKSound(_T("LK_BOOSTER.WAV")); return true; case ckGoHome: PlayResource(TEXT("IDR_WAV_CLICK")); if (ValidWayPoint(HomeWaypoint)) { if ( (ValidTaskPoint(ActiveTaskPoint)) && (Task[ActiveTaskPoint].Index == HomeWaypoint )) { // LKTOKEN _@M82_ = "Already going home" DoStatusMessage(MsgToken(82)); } else { GotoWaypoint(HomeWaypoint); } } else // LKTOKEN _@M465_ = "No Home to go!" DoStatusMessage(MsgToken(465)); return true; case ckPanorama: if (PGZoomTrigger==false) PGZoomTrigger=true; else LastZoomTrigger=0; PlayResource(TEXT("IDR_WAV_CLICK")); return true; case ckMultitargetRotate: RotateOvertarget(); return true; case ckMultitargetMenu: PlayResource(TEXT("IDR_WAV_CLICK")); InputEvents::setMode(_T("MTarget")); return true; case ckBaroToggle: ToggleBaroAltitude(); return true; case ckBasicSetup: PlayResource(TEXT("IDR_WAV_CLICK")); InputEvents::eventSetup(_T("Basic")); return true; case ckSimMenu: PlayResource(TEXT("IDR_WAV_CLICK")); InputEvents::setMode(_T("SIMMENU")); return true; case ckToggleMapAirspace: if (ModeIndex==LKMODE_MAP) SetModeType(LKMODE_WP,WP_AIRSPACES); else SetModeIndex(LKMODE_MAP); MapWindow::RefreshMap(); SoundModeIndex(); return true; case ckAirspaceAnalysis: SetModeType(LKMODE_MAP,MP_MAPASP); MapWindow::RefreshMap(); SoundModeIndex(); return true; case ckOptimizeRoute: PlayResource(TEXT("IDR_WAV_CLICK")); PGOptimizeRoute=!PGOptimizeRoute; if (ISPARAGLIDER && PGOptimizeRoute) { AATEnabled = true; ClearOptimizedTargetPos(); } return true; case ckLockScreen: PlayResource(TEXT("IDR_WAV_CLICK")); InputEvents::eventService(_T("LOCKMODE")); return true; case ckWhereAmI: // no sound here, chime is played by service event InputEvents::eventService(_T("ORACLE")); return true; case ckUseTotalEnergy: PlayResource(TEXT("IDR_WAV_CLICK")); InputEvents::eventService(_T("TOTALEN")); return true; case ckNotepad: PlayResource(TEXT("IDR_WAV_CLICK")); InputEvents::eventChecklist(_T("")); return true; case ckTerrainColors: PlayResource(TEXT("IDR_WAV_CLICK")); InputEvents::eventService(_T("TERRCOL")); return true; case ckNearestAirspace: PlayResource(TEXT("IDR_WAV_CLICK")); InputEvents::eventNearestAirspaceDetails(NULL); return true; case ckOlcAnalysis: PlayResource(TEXT("IDR_WAV_CLICK")); InputEvents::eventSetup(_T("OlcAnalysis")); return true; case ckTerrainColorsBack: PlayResource(TEXT("IDR_WAV_CLICK")); InputEvents::eventService(_T("TERRCOLBACK")); return true; case ckForceFreeFlightRestart: PlayResource(TEXT("IDR_WAV_CLICK")); if (!CALCULATED_INFO.Flying) { DoStatusMessage(MsgToken(922)); // NOT FLYING } else { if (MessageBoxX(MsgToken(1754), _T(""), mbYesNo) == IdYes) { LKSW_ForceFreeFlightRestart=true; } } return true; case ckCustomMenu1: PlayResource(TEXT("IDR_WAV_CLICK")); extern void dlgCustomMenuShowModal(void); InputEvents::eventMode(_T("MYMODE")); return true; case ckTaskCalc: PlayResource(TEXT("IDR_WAV_CLICK")); InputEvents::eventCalculator(NULL); return true; case ckTaskTarget: PlayResource(TEXT("IDR_WAV_CLICK")); InputEvents::eventSetup(_T("Target")); return true; case ckArmAdvance: PlayResource(TEXT("IDR_WAV_CLICK")); InputEvents::eventArmAdvance(_T("toggle")); InputEvents::eventArmAdvance(_T("show")); return true; case ckMessageRepeat: InputEvents::eventRepeatStatusMessage(NULL); return true; case ckWaypointLookup: PlayResource(TEXT("IDR_WAV_CLICK")); InputEvents::eventWaypointDetails(_T("select")); return true; case ckPan: PlayResource(TEXT("IDR_WAV_CLICK")); InputEvents::eventPan(_T("toggle")); return true; case ckWindRose: PlayResource(TEXT("IDR_WAV_CLICK")); UseWindRose=!UseWindRose; return true; case ckFlarmRadar: SetModeType(LKMODE_MAP,MP_RADAR); MapWindow::RefreshMap(); SoundModeIndex(); return true; case ckDeviceA: if(devA() && devA()->Config) { devA()->Config(devA()); } return true; case ckDeviceB: if(devB() && devB()->Config) { devB()->Config(devB()); } return true; case ckDeviceC: if(devC() && devC()->Config) { devC()->Config(devC()); } return true; case ckDeviceD: if(devD() && devD()->Config) { devD()->Config(devD()); } return true; case ckDeviceE: if(devE() && devE()->Config) { devE()->Config(devE()); } return true; case ckDeviceF: if(devF() && devF()->Config) { devF()->Config(devF()); } return true; case ckResetOdometer: PlayResource(TEXT("IDR_WAV_CLICK")); if (MessageBoxX(MsgToken(2229), _T(""), mbYesNo) == IdYes) { LKSW_ResetOdometer=true; } return true; case ckForceLanding: PlayResource(TEXT("IDR_WAV_CLICK")); if ( !CALCULATED_INFO.Flying ) { DoStatusMessage(MsgToken(922)); // NOT FLYING } else { if ( (GPS_INFO.Speed > TakeOffSpeedThreshold) && (!GPS_INFO.NAVWarning) ) { DoStatusMessage(MsgToken(1799)); // STOP MOVING! } else { if (MessageBoxX(MsgToken(2230), _T(""), mbYesNo) == IdYes) { LKSW_ForceLanding=true; } } } return true; case ckResetTripComputer: PlayResource(TEXT("IDR_WAV_CLICK")); if (MessageBoxX(MsgToken(2236), _T(""), mbYesNo) == IdYes) { LKSW_ResetTripComputer=true; } return true; case ckSonarToggle: SonarWarning = !SonarWarning; TCHAR sonarmsg[60]; _stprintf(sonarmsg,_T("%s "),MsgToken(1293)); // SONAR if (SonarWarning) _tcscat(sonarmsg,MsgToken(1643)); // ENABLED else _tcscat(sonarmsg,MsgToken(1600)); // DISABLED DoStatusMessage(sonarmsg,NULL,false); if (SonarWarning) LKSound(TEXT("LK_TONEUP.WAV")); else LKSound(TEXT("LK_TONEDOWN.WAV")); return true; case ckDrawXCToggle: Flags_DrawXC = !Flags_DrawXC; if (EnableSoundModes) { if (!Flags_DrawXC) LKSound(TEXT("LK_TONEUP.WAV")); else LKSound(TEXT("LK_TONEDOWN.WAV")); } return true; case ckResetView: ModeType[LKMODE_MAP] = MP_MOVING; ModeType[LKMODE_INFOMODE]= IM_CRUISE; ModeType[LKMODE_WP] = WP_AIRPORTS; ModeType[LKMODE_NAV] = NV_COMMONS; ModeType[LKMODE_TRF] = TF_LIST; SetModeType(LKMODE_MAP,MP_MOVING); MapWindow::RefreshMap(); SoundModeIndex(); return true; case ckMapOrient: PlayResource(TEXT("IDR_WAV_CLICK")); TCHAR MapOrientMsg[60]; if (MapSpaceMode==MSM_MAP) { DisplayOrientation++; if(DisplayOrientation > TARGETUP) DisplayOrientation = 0; MapWindow::SetAutoOrientation(); // 101008 reset it switch(DisplayOrientation) { case TRACKUP : _stprintf(MapOrientMsg,_T("%s"),MsgToken(737)) ; break; // _@M737_ "Track up" case NORTHUP : _stprintf(MapOrientMsg,_T("%s"),MsgToken(483)) ; break; // _@M483_ "North up" case NORTHCIRCLE : _stprintf(MapOrientMsg,_T("%s"),MsgToken(482)) ; break; // _@M482_ "North circling" case TARGETCIRCLE: _stprintf(MapOrientMsg,_T("%s"),MsgToken(682)) ; break; // _@M682_ "Target circling" _@M485_ "NorthUp above " case NORTHTRACK : _stprintf(MapOrientMsg,_T("%s"),MsgToken(484)) ; break; // _@M484_ "North/track" case NORTHSMART : _stprintf(MapOrientMsg,_T("%s"),MsgToken(481)) ; break; // _@M481_ "North Smart" case TARGETUP : _stprintf(MapOrientMsg,_T("%s"),MsgToken(2349)); break; // _@M2349_"Target up" } DoStatusMessage(MapOrientMsg,NULL,false); } else { SetMMNorthUp(GetSideviewPage(), (GetMMNorthUp(GetSideviewPage())+1)%2); } return true; case ckResetComm: PlayResource(TEXT("IDR_WAV_CLICK")); InputEvents::eventRestartCommPorts(NULL); return true; case ckDspMode: PlayResource(TEXT("IDR_WAV_CLICK")); InputEvents::setMode(_T("Display3")); return true; case ckAirspaceLookup: PlayResource(TEXT("IDR_WAV_CLICK")); dlgAirspaceSelect(); return true; default: DoStatusMessage(_T("ERR-726 INVALID CUSTOMKEY")); StartupStore(_T("... ERR-726 INVALID CUSTOMKEY=%d\n"),ckeymode); break; } return false; }