void dlgTaskCalculatorShowModal(SingleWindow &parent) { wf = LoadDialog(CallBackTable, parent, _T("IDR_XML_TASKCALCULATOR")); if (!wf) return; GlidePolar polar = protected_task_manager.get_glide_polar(); fixed CRUISE_EFFICIENCY_enter = polar.get_cruise_efficiency(); emc = XCSoarInterface::Calculated().task_stats.effective_mc; cruise_efficiency = CRUISE_EFFICIENCY_enter; // find start value for range #ifdef OLD_TASK Range = task.AdjustAATTargets(2.0); #endif RefreshCalculator(); #ifdef OLD_TASK if (!task.getSettings().AATEnabled || !task.ValidTaskPoint(task.getActiveIndex() + 1)) ((WndButton *)wf->FindByName(_T("Optimise")))->hide(); if (!task.ValidTaskPoint(task.getActiveIndex())) ((WndButton *)wf->FindByName(_T("Target")))->hide(); #endif if (wf->ShowModal() == mrCancel) { // todo: restore task settings. #ifdef OLD_TASK GlidePolar::SetMacCready(MACCREADY_enter); GlidePolar::SetCruiseEfficiency(CRUISE_EFFICIENCY_enter); #endif } delete wf; wf = NULL; }