void MacCreadyEditPanel::Prepare(ContainerWindow &parent, const PixelRect &rc) { LoadWindow(call_back_table, parent, _T("IDR_XML_INFOBOXMACCREADYEDIT")); TCHAR caption[16]; WndButton *button = (WndButton *)form.FindByName(_T("cmdPlusBig")); assert(button != NULL); FormatUserVerticalSpeed( Units::ToSysVSpeed(GetUserVerticalSpeedStep() * 5), caption, false); button->SetCaption(caption); button = (WndButton *)form.FindByName(_T("cmdPlusSmall")); assert(button != NULL); FormatUserVerticalSpeed( Units::ToSysVSpeed(GetUserVerticalSpeedStep()), caption, false); button->SetCaption(caption); button = (WndButton *)form.FindByName(_T("cmdMinusBig")); assert(button != NULL); FormatUserVerticalSpeed( Units::ToSysVSpeed(-GetUserVerticalSpeedStep() * 5), caption, false); button->SetCaption(caption); button = (WndButton *)form.FindByName(_T("cmdMinusSmall")); assert(button != NULL); FormatUserVerticalSpeed( Units::ToSysVSpeed(-GetUserVerticalSpeedStep()), caption, false); button->SetCaption(caption); }
static void RefreshView() { wTaskView->invalidate(); OrderedTaskPoint* tp = ordered_task->get_tp(active_index); if (!tp) return; Refreshing = true; // tell onChange routines not to save form! TPLabelObservationZone ozv; ObservationZoneConstVisitor &visitor = ozv; visitor.Visit(*tp->get_oz()); WndFrame* wfrm = NULL; wfrm = ((WndFrame*)wf->FindByName(_T("lblType"))); if (wfrm) wfrm->SetCaption(OrderedTaskPointName(ordered_task->get_factory().getType(*tp))); WndButton* wb; wb = ((WndButton*)wf->FindByName(_T("butPrevious"))); if (wb) wb->set_enabled(active_index > 0); wb = ((WndButton*)wf->FindByName(_T("butNext"))); if (wb) wb->set_enabled(active_index < (ordered_task->task_size() - 1)); wb = (WndButton*)wf->FindByName(_T("cmdOptionalStarts")); assert(wb); wb->set_visible(active_index == 0); if (ordered_task->optional_start_points_size() == 0) wb->SetCaption(_("Enable Alternate Starts")); else { TCHAR tmp[50]; _stprintf(tmp, _T("%s (%d)"), _("Edit Alternates"), ordered_task->optional_start_points_size()); wb->SetCaption(tmp); } EnableSizeEdit(ordered_task->get_factory_type() != TaskBehaviour::FACTORY_FAI_GENERAL); TCHAR bufType[100]; TCHAR bufNamePrefix[100]; TPLabelTaskPoint tpv(bufType, bufNamePrefix); TaskPointConstVisitor &tp_visitor = tpv; tp_visitor.Visit(*tp); wf->SetCaption(tpv.textType); wfrm = ((WndFrame*)wf->FindByName(_T("lblLocation"))); if (wfrm) { TCHAR buff[100]; _stprintf(buff, _T("%s %s"), tpv.textNamePrefix, tp->get_waypoint().Name.c_str()); wfrm->SetCaption(buff); } Refreshing = false; // reactivate onChange routines }
static void OnPauseClicked(WndButton &button) { paused = !paused; if (paused) { button.SetCaption(_("Resume")); device->SetMonitor(NULL); } else { button.SetCaption(_("Pause")); device->SetMonitor(bridge); } }
void PortMonitorGlue::TogglePause() { paused = !paused; if (paused) { pause_button->SetCaption(_("Resume")); device.SetMonitor(nullptr); } else { pause_button->SetCaption(_("Pause")); device.SetMonitor(&bridge); } }
static void UpdateButton(const TCHAR *button, const TCHAR *caption) { WndButton* b = (WndButton*)dialog->FindByName(button); assert(b != NULL); b->SetCaption(caption); }
void FlightSetupPanel::SetButtons() { dump_button->SetVisible(polar_settings.glide_polar_task.HasBallast()); const ComputerSettings &settings = CommonInterface::GetComputerSettings(); dump_button->SetCaption(settings.polar.ballast_timer_active ? _("Stop") : _("Dump")); }
void WifiListWidget::UpdateButtons() { const unsigned cursor = GetList().GetCursorIndex(); if (cursor < networks.size()) { const auto &info = networks[cursor]; if (info.id >= 0) { connect_button->SetCaption(_("Remove")); connect_button->SetEnabled(true); } else if (info.signal_level >= 0) { connect_button->SetCaption(_("Connect")); connect_button->SetEnabled(true); } } else { connect_button->SetEnabled(false); } }
void TaskListPanel::OnMoreClicked() { more = !more; more_button->SetCaption(more ? _("Less") : _("More")); task_store->Scan(more); RefreshView(); }
static void SetButtons() { WndButton* wb; if ((wb = (WndButton *)wf->FindByName(_T("cmdDump"))) != NULL) { wb->set_visible(glide_polar.HasBallast()); wb->SetCaption(XCSoarInterface::GetComputerSettings().ballast_timer_active ? _("Stop") : _("Dump")); } }
static void UpdateAckButton() { assert(airspace); if (airspace_warnings == NULL) return; WndButton* ack = (WndButton*)wf->FindByName(_T("cmdAcknowledge")); assert(ack != NULL); ack->SetCaption(airspace_warnings->get_ack_day(*airspace) ? _("Enable") : _("Ack Day")); }
// Called periodically to show new airspace warning messages to user // return 1 only for requesting run analysis // This is called by WINMAIN thread, every second (1hz) short ShowAirspaceWarningsToUser() { if (msg.originator != NULL) return 0; // Dialog already open bool there_is_message = CAirspaceManager::Instance().PopWarningMessage(&msg); if (!there_is_message) return 0; // no message to display airspace_copy = CAirspaceManager::Instance().GetAirspaceCopy(msg.originator); bool ackdialog_required = false; TCHAR msgbuf[128]; // which message we need to show? switch (msg.event) { default: // normally not show DoStatusMessage(TEXT("Unknown airspace warning message")); break; //Unknown msg type case aweNone: case aweMovingInsideFly: // normal, no msg, normally this msg type shouldn't get here case awePredictedEnteringFly: // normal, no msg, normally this msg type shouldn't get here case aweMovingOutsideNonfly: // normal, no msg, normally this msg type shouldn't get here break; case awePredictedLeavingFly: case aweNearOutsideFly: case aweLeavingFly: case awePredictedEnteringNonfly: case aweNearInsideNonfly: case aweEnteringNonfly: case aweMovingInsideNonfly: // repeated messages case aweMovingOutsideFly: // repeated messages ackdialog_required = true; break; case aweEnteringFly: // LKTOKEN _@M1240_ "Entering" if( _tcsnicmp( airspace_copy.Name(), airspace_copy.TypeName() ,_tcslen(airspace_copy.TypeName())) == 0) _stprintf(msgbuf,TEXT("%s %s"),gettext(TEXT("_@M1240_")),airspace_copy.Name()); else _stprintf(msgbuf,TEXT("%s %s %s"),gettext(TEXT("_@M1240_")),airspace_copy.TypeName(),airspace_copy.Name()); // wsprintf(msgbuf, TEXT("%s %s %s "), gettext(TEXT("_@M1240_")),airspace_copy.TypeName(), airspace_copy.Name()); DoStatusMessage(msgbuf); break; case aweLeavingNonFly: // LKTOKEN _@M1241_ "Leaving" if( _tcsnicmp( airspace_copy.Name(), airspace_copy.TypeName() ,_tcslen(airspace_copy.TypeName())) == 0) _stprintf(msgbuf,TEXT("%s %s"),gettext(TEXT("_@M1241_")),airspace_copy.Name()); else _stprintf(msgbuf,TEXT("%s %s %s"),gettext(TEXT("_@M1241_")),airspace_copy.TypeName(),airspace_copy.Name()); // wsprintf(msgbuf, TEXT("%s %s %s"), gettext(TEXT("_@M1241_")),airspace_copy.TypeName(), airspace_copy.Name()); DoStatusMessage(msgbuf); break; } // show dialog to user if needed if (ackdialog_required && (airspace_copy.WarningLevel() == msg.warnlevel)) { if (!ScreenLandscape) dlg = dlgLoadFromXML(CallBackTable, NULL, hWndMainWindow, TEXT("IDR_XML_LKAIRSPACEWARNING_L")); else dlg = dlgLoadFromXML(CallBackTable, NULL, hWndMainWindow, TEXT("IDR_XML_LKAIRSPACEWARNING")); if (dlg==NULL) { StartupStore(_T("------ LKAirspaceWarning setup FAILED!%s"),NEWLINE); //@ 101027 return 0; } dlg->SetKeyDownNotify(OnKeyDown); dlg->SetTimerNotify(OnTimer); timer_counter = AirspaceWarningDlgTimeout; // Auto closing dialog in x secs WndButton *wb = (WndButton*)dlg->FindByName(TEXT("cmdAckForTime")); if (wb) { TCHAR stmp2[40]; wsprintf(stmp2,TEXT("%s (%dmin)"), gettext(TEXT("_@M46_")), AcknowledgementTime/60); wb->SetCaption(stmp2); } dlgLKAirspaceFill(); #ifndef DISABLEAUDIO if (EnableSoundModes) LKSound(_T("LK_AIRSPACE.WAV")); // 100819 #endif if( _tcsnicmp( airspace_copy.Name(), airspace_copy.TypeName() ,_tcslen(airspace_copy.TypeName())) == 0) _stprintf(msgbuf,TEXT("%s"),airspace_copy.Name()); else _stprintf(msgbuf,TEXT("%s %s"),airspace_copy.TypeName(),airspace_copy.Name()); // _stprintf(msgbuf,_T("%s: %s %s"),gettext(_T("_@M68_")),airspace_copy.TypeName(),airspace_copy.Name()); dlg->SetCaption(msgbuf); dlg->ShowModal(); delete dlg; dlg = NULL; } msg.originator = NULL; // If we clicked on Analysis button, we shall return 1 and the calling function will // detect and take care of it. // 120128 unused, we call directly eventSetup return 1; }
void dlgLKAirspaceFill() { if (msg.warnlevel != airspace_copy.WarningLevel()) { // we can automatically close the dialog when the warning level changes, probably new msg waiting in the queue dlg->SetModalResult(mrOK); } //Fill up dialog data WndProperty* wp; WndButton* wb; wp = (WndProperty*)dlg->FindByName(TEXT("prpReason")); if (wp) { switch (msg.event) { default: // Normally not show // LKTOKEN _@M765_ "Unknown" wp->SetText(gettext(TEXT("_@M765_"))); break; case aweNone: // LKTOKEN _@M479_ "None" wp->SetText(gettext(TEXT("_@M479_"))); break; case aweMovingInsideFly: // LKTOKEN _@M1242_ "Flying inside FLY zone" wp->SetText(gettext(TEXT("_@M1242_"))); break; case awePredictedLeavingFly: // LKTOKEN _@M1243_ "Predicted leaving FLY zone" wp->SetText(gettext(TEXT("_@M1243_"))); break; case aweNearOutsideFly: // LKTOKEN _@M1244_ "Near leaving FLY zone" wp->SetText(gettext(TEXT("_@M1244_"))); break; case aweLeavingFly: // LKTOKEN _@M1245_ "Leaving FLY zone" wp->SetText(gettext(TEXT("_@M1245_"))); break; case awePredictedEnteringFly: // LKTOKEN _@M1246_ "Predicted entering FLY zone" wp->SetText(gettext(TEXT("_@M1246_"))); break; case aweEnteringFly: // LKTOKEN _@M1247_ "Entering FLY zone" wp->SetText(gettext(TEXT("_@M1247_"))); break; case aweMovingOutsideFly: // LKTOKEN _@M1248_ "Flying outside FLY zone" wp->SetText(gettext(TEXT("_@M1248_"))); break; // Events for NON-FLY zones case aweMovingOutsideNonfly: // LKTOKEN _@M1249_ "Flying outside NOFLY zone" wp->SetText(gettext(TEXT("_@M1249_"))); break; case awePredictedEnteringNonfly: // LKTOKEN _@M1250_ "Predicted entering NOFLY zone" wp->SetText(gettext(TEXT("_@M1250_"))); break; case aweNearInsideNonfly: // LKTOKEN _@M1251_ "Near entering NOFLY zone" wp->SetText(gettext(TEXT("_@M1251_"))); break; case aweEnteringNonfly: // LKTOKEN _@M1252_ "Entering NOFLY zone" wp->SetText(gettext(TEXT("_@M1252_"))); break; case aweMovingInsideNonfly: // LKTOKEN _@M1253_ "Flying inside NOFLY zone" wp->SetText(gettext(TEXT("_@M1253_"))); break; case aweLeavingNonFly: // LKTOKEN _@M1254_ "Leaving NOFLY zone" wp->SetText(gettext(TEXT("_@M1254_"))); break; }//sw switch (airspace_copy.WarningLevel()) { case awYellow: wp->SetBackColor(RGB_YELLOW); wp->SetForeColor(RGB_BLACK); break; case awRed: wp->SetBackColor(RGB_RED); break; default: break; } wp->RefreshDisplay(); } #if 0 // unused but available for sometime wp = (WndProperty*)dlg->FindByName(TEXT("prpState")); if (wp) { switch (airspace_copy.WarningLevel()) { default: // LKTOKEN _@M765_ "Unknown" wp->SetText(gettext(TEXT("_@M765_"))); break; case awNone: // LKTOKEN _@M479_ "None" wp->SetText(gettext(TEXT("_@M479_"))); break; case awYellow: // LKTOKEN _@M1255_ "YELLOW WARNING" wp->SetText(gettext(TEXT("_@M1255_"))); wp->SetBackColor(RGB_YELLOW); wp->SetForeColor(RGB_BLACK); break; case awRed: // LKTOKEN _@M1256_ "RED WARNING" wp->SetText(gettext(TEXT("_@M1256_"))); wp->SetBackColor(RGB_RED); break; }//sw wp->RefreshDisplay(); } wp = (WndProperty*)dlg->FindByName(TEXT("prpName")); if (wp) { wp->SetText(airspace_copy.Name()); wp->RefreshDisplay(); } #endif int hdist; int vdist; int bearing; bool inside; TCHAR stmp[21]; TCHAR buffer[80]; wp = (WndProperty*)dlg->FindByName(TEXT("prpType")); if (wp) { if (airspace_copy.Flyzone()) { wsprintf(buffer,TEXT("%s %s"), gettext(TEXT("FLY")), airspace_copy.TypeName()); } else { wsprintf(buffer,TEXT("%s %s"), gettext(TEXT("NOFLY")), airspace_copy.TypeName()); } wp->SetText( buffer ); // wp->SetBackColor( airspace_copy.TypeColor()); // wp->SetForeColor( ContrastTextColor(airspace_copy.TypeColor())); wp->RefreshDisplay(); } // Unfortunatelly virtual methods don't work on copied instances // we have to ask airspacemanager to perform the required calculations //inside = airspace_copy.CalculateDistance(&hdist, &bearing, &vdist); //inside = CAirspaceManager::Instance().AirspaceCalculateDistance(msg.originator, &hdist, &bearing, &vdist); bool distances_ready = airspace_copy.GetDistanceInfo(inside, hdist, bearing, vdist); wp = (WndProperty*)dlg->FindByName(TEXT("prpHDist")); if (wp) { TCHAR stmp2[40]; if (distances_ready) { Units::FormatUserDistance((double)abs(hdist),stmp, 10); if (hdist<0) { // LKTOKEN _@M1257_ "to leave" wsprintf(stmp2, TEXT("%s %s"), stmp, gettext(TEXT("_@M1257_"))); } else { // LKTOKEN _@M1258_ "to enter" wsprintf(stmp2,TEXT("%s %s"), stmp, gettext(TEXT("_@M1258_"))); } } else { // no distance info calculated // LKTOKEN _@M1259_ "Too far, not calculated" wsprintf(stmp2,gettext(TEXT("_@M1259_"))); } wp->SetText(stmp2); wp->RefreshDisplay(); } wp = (WndProperty*)dlg->FindByName(TEXT("prpVDist")); if (wp) { TCHAR stmp2[40]; if (distances_ready) { Units::FormatUserAltitude((double)abs(vdist),stmp, 10); if (vdist<0) { // LKTOKEN _@M1260_ "below" wsprintf(stmp2,TEXT("%s %s"), stmp, gettext(TEXT("_@M1260_"))); } else { // LKTOKEN _@M1261_ "above" wsprintf(stmp2,TEXT("%s %s"), stmp, gettext(TEXT("_@M1261_"))); } } else { // no distance info calculated // LKTOKEN _@M1259_ "Too far, not calculated" wsprintf(stmp2,gettext(TEXT("_@M1259_"))); } wp->SetText(stmp2); wp->RefreshDisplay(); } wp = (WndProperty*)dlg->FindByName(TEXT("prpTopAlt")); if (wp) { TCHAR stmp2[40]; CAirspaceManager::Instance().GetAirspaceAltText(stmp2, 40, airspace_copy.Top()); wp->SetText(stmp2); wp->RefreshDisplay(); } wp = (WndProperty*)dlg->FindByName(TEXT("prpBaseAlt")); if (wp) { TCHAR stmp2[40]; CAirspaceManager::Instance().GetAirspaceAltText(stmp2, 40, airspace_copy.Base()); wp->SetText(stmp2); wp->RefreshDisplay(); } wb = (WndButton*)dlg->FindByName(TEXT("cmdClose")); if (wb) { TCHAR stmp2[40]; wsprintf(stmp2,TEXT("%s (%d)"), gettext(TEXT("_@M186_")), timer_counter); wb->SetCaption(stmp2); } }
static void RefreshView() { wTaskView->Invalidate(); OrderedTaskPoint &tp = ordered_task->GetPoint(active_index); dock->SetWidget(new PanelWidget()); ObservationZonePoint &oz = tp.GetObservationZone(); const bool is_fai_general = ordered_task->GetFactoryType() == TaskFactoryType::FAI_GENERAL; properties_widget = CreateObservationZoneEditWidget(oz, is_fai_general); if (properties_widget != nullptr) { properties_widget->SetListener(&listener); dock->SetWidget(properties_widget); } WndFrame* wfrm = nullptr; wfrm = ((WndFrame*)wf->FindByName(_T("lblType"))); if (wfrm) wfrm->SetCaption(OrderedTaskPointName(ordered_task->GetFactory().GetType(tp))); SetFormControlEnabled(*wf, _T("butPrevious"), active_index > 0); SetFormControlEnabled(*wf, _T("butNext"), active_index < (ordered_task->TaskSize() - 1)); WndButton* wb; wb = (WndButton*)wf->FindByName(_T("cmdOptionalStarts")); assert(wb); wb->SetVisible(active_index == 0); if (!ordered_task->HasOptionalStarts()) wb->SetCaption(_("Enable Alternate Starts")); else { StaticString<50> tmp; tmp.Format(_T("%s (%d)"), _("Edit Alternates"), ordered_task->GetOptionalStartPointCount()); wb->SetCaption(tmp); } CheckBoxControl &score_exit = *(CheckBoxControl *) wf->FindByName(_T("ScoreExit")); if (tp.GetType() == TaskPointType::AST) { const ASTPoint &ast = (const ASTPoint &)tp; score_exit.Show(); score_exit.SetState(ast.GetScoreExit()); } else score_exit.Hide(); StaticString<100> name_prefix_buffer, type_buffer; switch (tp.GetType()) { case TaskPointType::START: type_buffer = _("Start point"); name_prefix_buffer = _T("Start: "); break; case TaskPointType::AST: type_buffer = _("Task point"); name_prefix_buffer.Format(_T("%d: "), active_index); break; case TaskPointType::AAT: type_buffer = _("Assigned area point"); name_prefix_buffer.Format(_T("%d: "), active_index); break; case TaskPointType::FINISH: type_buffer = _("Finish point"); name_prefix_buffer = _T("Finish: "); break; default: gcc_unreachable(); } wf->SetCaption(type_buffer); wfrm = ((WndFrame*)wf->FindByName(_T("lblLocation"))); if (wfrm) { StaticString<100> buffer; buffer.Format(_T("%s %s"), name_prefix_buffer.c_str(), tp.GetWaypoint().name.c_str()); wfrm->SetCaption(buffer); } }
void AnalysisWidget::SetCalcCaption(const TCHAR *caption) { details_button.SetCaption(caption); SetCalcVisibility(!StringIsEmpty(caption)); }
static void RefreshView() { wTaskView->invalidate(); OrderedTaskPoint* tp = ordered_task->get_tp(active_index); if (!tp) return; Refreshing = true; // tell onChange routines not to save form! ShowFormControl(*wf, _T("frmOZLine"), false); ShowFormControl(*wf, _T("frmOZSector"), false); ShowFormControl(*wf, _T("frmOZCylinder"), false); const ObservationZonePoint &oz = *tp->get_oz(); switch (oz.shape) { case ObservationZonePoint::SECTOR: case ObservationZonePoint::ANNULAR_SECTOR: ShowFormControl(*wf, _T("frmOZSector"), true); LoadFormProperty(*wf, _T("prpOZSectorRadius"), ugDistance, ((const SectorZone &)oz).getRadius()); LoadFormProperty(*wf, _T("prpOZSectorStartRadial"), ((const SectorZone &)oz).getStartRadial().value_degrees()); LoadFormProperty(*wf, _T("prpOZSectorFinishRadial"), ((const SectorZone &)oz).getEndRadial().value_degrees()); if (oz.shape == ObservationZonePoint::ANNULAR_SECTOR) { LoadFormProperty(*wf, _T("prpOZSectorInnerRadius"), ugDistance, ((const AnnularSectorZone &)oz).getInnerRadius()); ShowFormControl(*wf, _T("prpOZSectorInnerRadius"), true); } else ShowFormControl(*wf, _T("prpOZSectorInnerRadius"), false); break; case ObservationZonePoint::LINE: ShowFormControl(*wf, _T("frmOZLine"), true); LoadFormProperty(*wf, _T("prpOZLineLength"), ugDistance, ((const LineSectorZone &)oz).getLength()); break; case ObservationZonePoint::CYLINDER: ShowFormControl(*wf, _T("frmOZCylinder"), true); LoadFormProperty(*wf, _T("prpOZCylinderRadius"), ugDistance, ((const CylinderZone &)oz).getRadius()); break; default: break; } WndFrame* wfrm = NULL; wfrm = ((WndFrame*)wf->FindByName(_T("lblType"))); if (wfrm) wfrm->SetCaption(OrderedTaskPointName(ordered_task->get_factory().getType(*tp))); SetFormControlEnabled(*wf, _T("butPrevious"), active_index > 0); SetFormControlEnabled(*wf, _T("butNext"), active_index < (ordered_task->TaskSize() - 1)); WndButton* wb; wb = (WndButton*)wf->FindByName(_T("cmdOptionalStarts")); assert(wb); wb->set_visible(active_index == 0); if (ordered_task->optional_start_points_size() == 0) wb->SetCaption(_("Enable Alternate Starts")); else { TCHAR tmp[50]; _stprintf(tmp, _T("%s (%d)"), _("Edit Alternates"), ordered_task->optional_start_points_size()); wb->SetCaption(tmp); } EnableSizeEdit(ordered_task->get_factory_type() != TaskBehaviour::FACTORY_FAI_GENERAL); TCHAR bufType[100]; TCHAR bufNamePrefix[100]; switch (tp->GetType()) { case TaskPoint::START: _tcscpy(bufType, _T("Start point")); _tcscpy(bufNamePrefix, _T("Start: ")); break; case TaskPoint::AST: _tcscpy(bufType, _T("Task point")); _stprintf(bufNamePrefix, _T("%d: "), active_index); break; case TaskPoint::AAT: _tcscpy(bufType, _T("Assigned area point")); _stprintf(bufNamePrefix, _T("%d: "), active_index); break; case TaskPoint::FINISH: _tcscpy(bufType, _T("Finish point")); _tcscpy(bufNamePrefix, _T("Finish: ")); break; default: assert(true); break; } wf->SetCaption(bufType); wfrm = ((WndFrame*)wf->FindByName(_T("lblLocation"))); if (wfrm) { TCHAR buff[100]; _stprintf(buff, _T("%s %s"), bufNamePrefix, tp->GetWaypoint().name.c_str()); wfrm->SetCaption(buff); } Refreshing = false; // reactivate onChange routines }
static void SetValues(void) { WndProperty* wp; WndButton *wb; TCHAR buffer[80]; TCHAR buffer2[160]; // must contain buffer int bearing; int hdist; int vdist; bool inside = false; { CCriticalSection::CGuard guard(CAirspaceManager::Instance().MutexRef()); CAirspace* airspace = CAirspaceManager::Instance().GetAirspacesForDetails(); if(airspace) { // Get an object instance copy with actual values airspace_copy = CAirspaceManager::Instance().GetAirspaceCopy(airspace); inside = CAirspaceManager::Instance().AirspaceCalculateDistance( airspace, &hdist, &bearing, &vdist); } else { // error : CAirspaceManager are closed ? return; } } if (wf!=NULL) { TCHAR capbuffer[250]; _stprintf(capbuffer,_T("%s ("),airspace_copy.Name()); if (airspace_copy.Enabled()) { _tcscat(capbuffer,gettext(TEXT("_@M1643_"))); // ENABLED } else { _tcscat(capbuffer,gettext(TEXT("_@M1600_"))); // DISABLED } _tcscat(capbuffer,_T(")")); // DISABLED wf->SetCaption(capbuffer); } wp = (WndProperty*)wf->FindByName(TEXT("prpType")); if (wp) { if (airspace_copy.Flyzone()) { _stprintf(buffer,TEXT("%s %s"), CAirspaceManager::Instance().GetAirspaceTypeText(airspace_copy.Type()), gettext(TEXT("FLY"))); /* if( _tcsnicmp( airspace_copy.Name(), airspace_copy.TypeName() ,_tcslen(airspace_copy.TypeName())) == 0) _stprintf(buffer,TEXT("%s"),airspace_copy.Name()); else _stprintf(buffer,TEXT("%s %s"),airspace_copy.TypeName() // fixed strings max. 20 ,airspace_copy.Name()); // NAME_SIZE 30 => max. 30 char */ } else { _stprintf(buffer,TEXT("%s %s"), gettext(TEXT("NOFLY")), CAirspaceManager::Instance().GetAirspaceTypeText(airspace_copy.Type())); } wp->SetText( buffer ); // wp->SetBackColor( airspace_copy.TypeColor()); // wp->SetForeColor( ContrastTextColor(airspace_copy.TypeColor())); wp->RefreshDisplay(); } wp = (WndProperty*)wf->FindByName(TEXT("prpTop")); if (wp) { CAirspaceManager::Instance().GetAirspaceAltText(buffer, sizeof(buffer)/sizeof(buffer[0]), airspace_copy.Top()); wp->SetText(buffer); wp->RefreshDisplay(); } wp = (WndProperty*)wf->FindByName(TEXT("prpBase")); if (wp) { CAirspaceManager::Instance().GetAirspaceAltText(buffer, sizeof(buffer)/sizeof(buffer[0]), airspace_copy.Base()); wp->SetText(buffer); wp->RefreshDisplay(); } wp = (WndProperty*)wf->FindByName(TEXT("prpRange")); if (wp) { Units::FormatUserDistance(abs(hdist), buffer, 20); if (inside) { // LKTOKEN _@M359_ = "Inside" wp->SetCaption(gettext(TEXT("_@M359_"))); } if (hdist < 0) { // LKTOKEN _@M1257_ "to leave" _stprintf(buffer2, TEXT("%s %d%s %s"), buffer, iround(bearing), gettext(_T("_@M2179_")), gettext(TEXT("_@M1257_"))); } else { // LKTOKEN _@M1258_ "to enter" _stprintf(buffer2, TEXT("%s %d%s %s"), buffer, iround(bearing), gettext(_T("_@M2179_")), gettext(TEXT("_@M1258_"))); } wp->SetText(buffer2); wp->RefreshDisplay(); } // ONLY for DIAGNOSTICS- ENABLE ALSO XML #if 0 wp = (WndProperty*)wf->FindByName(TEXT("prpWarnLevel")); if (wp) { switch (airspace_copy.WarningLevel()) { default: // LKTOKEN _@M765_ "Unknown" wp->SetText(gettext(TEXT("_@M765_"))); break; case awNone: // LKTOKEN _@M479_ "None" wp->SetText(gettext(TEXT("_@M479_"))); break; case awYellow: // LKTOKEN _@M1255_ "YELLOW WARNING" wp->SetText(gettext(TEXT("_@M1255_"))); break; case awRed: // LKTOKEN _@M1256_ "RED WARNING" wp->SetText(gettext(TEXT("_@M1256_"))); break; }//sw wp->RefreshDisplay(); } wp = (WndProperty*)wf->FindByName(TEXT("prpAckLevel")); if (wp) { if (airspace_copy.Enabled()) { switch (airspace_copy.WarningAckLevel()) { default: // LKTOKEN _@M765_ "Unknown" wp->SetText(gettext(TEXT("_@M765_"))); break; case awNone: // LKTOKEN _@M479_ "None" wp->SetText(gettext(TEXT("_@M479_"))); break; case awYellow: // LKTOKEN _@M1267_ "Yellow acknowledged" wp->SetText(gettext(TEXT("_@M1267_"))); break; case awRed: // LKTOKEN _@M1268_ "Red acknowledged" wp->SetText(gettext(TEXT("_@M1268_"))); break; }//sw } else { // LKTOKEN _@M1269_ "Disabled" wp->SetText(gettext(TEXT("_@M1269_"))); } wp->RefreshDisplay(); } #endif wb = (WndButton*)wf->FindByName(TEXT("cmdFly")); if (wb) { if (airspace_copy.Flyzone()) { // LKTOKEN _@M1271_ "NOFLY" wb->SetCaption(gettext(TEXT("_@M1271_"))); } else { // LKTOKEN _@M1270_ "FLY" wb->SetCaption(gettext(TEXT("_@M1270_"))); } wb->Redraw(); } wb = (WndButton*)wf->FindByName(TEXT("cmdSelect")); if (wb) { if (airspace_copy.Selected()) { wb->SetCaption(gettext(TEXT("_@M1656_"))); // SELECTED! } else { wb->SetCaption(gettext(TEXT("_@M1654_"))); // SELECT } wb->Redraw(); } wb = (WndButton*)wf->FindByName(TEXT("cmdAcknowledge")); if (wb) { if (airspace_copy.Enabled()) { // LKTOKEN _@M1283_ "Disable" wb->SetCaption(gettext(TEXT("_@M1283_"))); } else { // LKTOKEN _@M1282_ "Enable" wb->SetCaption(gettext(TEXT("_@M1282_"))); } wb->Redraw(); } }
void TaskPointWidget::RefreshView() { map.Invalidate(); OrderedTaskPoint &tp = ordered_task->GetPoint(active_index); properties_dock.SetWidget(new PanelWidget()); ObservationZonePoint &oz = tp.GetObservationZone(); const bool is_fai_general = ordered_task->GetFactoryType() == TaskFactoryType::FAI_GENERAL; properties_widget = CreateObservationZoneEditWidget(oz, is_fai_general); if (properties_widget != nullptr) { properties_widget->SetListener(this); properties_dock.SetWidget(properties_widget); } type_label.SetCaption(OrderedTaskPointName(ordered_task->GetFactory().GetType(tp))); previous_button->SetEnabled(active_index > 0); next_button->SetEnabled(active_index < (ordered_task->TaskSize() - 1)); optional_starts.SetVisible(active_index == 0); if (!ordered_task->HasOptionalStarts()) optional_starts.SetCaption(_("Enable Alternate Starts")); else { StaticString<50> tmp; tmp.Format(_T("%s (%d)"), _("Edit Alternates"), ordered_task->GetOptionalStartPointCount()); optional_starts.SetCaption(tmp); } if (tp.GetType() == TaskPointType::AST) { const ASTPoint &ast = (const ASTPoint &)tp; score_exit.Show(); score_exit.SetState(ast.GetScoreExit()); } else score_exit.Hide(); StaticString<100> name_prefix_buffer, type_buffer; switch (tp.GetType()) { case TaskPointType::START: type_buffer = _("Start point"); name_prefix_buffer = _T("Start: "); break; case TaskPointType::AST: type_buffer = _("Task point"); name_prefix_buffer.Format(_T("%d: "), active_index); break; case TaskPointType::AAT: type_buffer = _("Assigned area point"); name_prefix_buffer.Format(_T("%d: "), active_index); break; case TaskPointType::FINISH: type_buffer = _("Finish point"); name_prefix_buffer = _T("Finish: "); break; default: gcc_unreachable(); } dialog.SetCaption(type_buffer); { StaticString<100> buffer; buffer.Format(_T("%s %s"), name_prefix_buffer.c_str(), tp.GetWaypoint().name.c_str()); waypoint_name.SetCaption(buffer); } }
static void SetValues(WndForm* wf) { WndProperty* wp; WndButton *wb; TCHAR buffer[80]; TCHAR buffer2[160]; // must contain buffer int bearing; int hdist; int vdist; bool inside = false; { ScopeLock guard(CAirspaceManager::Instance().MutexRef()); CAirspace* airspace = CAirspaceManager::Instance().GetAirspacesForDetails(); if(airspace) { // Get an object instance copy with actual values airspace_copy = CAirspaceManager::Instance().GetAirspaceCopy(airspace); inside = CAirspaceManager::Instance().AirspaceCalculateDistance( airspace, &hdist, &bearing, &vdist); } else { // error : CAirspaceManager are closed ? return; } } if (wf!=NULL) { TCHAR capbuffer[250]; _stprintf(capbuffer,_T("%s ("),airspace_copy.Name()); if (airspace_copy.Enabled()) { _tcscat(capbuffer,MsgToken(1643)); // ENABLED } else { _tcscat(capbuffer,MsgToken(1600)); // DISABLED } _tcscat(capbuffer,_T(")")); // DISABLED wf->SetCaption(capbuffer); } wp = (WndProperty*)wf->FindByName(TEXT("prpType")); if (wp) { if (airspace_copy.Flyzone()) { _stprintf(buffer,TEXT("%s %s"), CAirspaceManager::GetAirspaceTypeText(airspace_copy.Type()), TEXT("FLY")); /* if( _tcsnicmp( airspace_copy.Name(), airspace_copy.TypeName() ,_tcslen(airspace_copy.TypeName())) == 0) _stprintf(buffer,TEXT("%s"),airspace_copy.Name()); else _stprintf(buffer,TEXT("%s %s"),airspace_copy.TypeName() // fixed strings max. 20 ,airspace_copy.Name()); // NAME_SIZE 30 => max. 30 char */ } else { _stprintf(buffer,TEXT("%s %s"), TEXT("NOFLY"), CAirspaceManager::GetAirspaceTypeText(airspace_copy.Type())); } wp->SetText( buffer ); // wp->SetBackColor( airspace_copy.TypeColor()); // wp->SetForeColor( ContrastTextColor(airspace_copy.TypeColor())); wp->RefreshDisplay(); } wp = (WndProperty*)wf->FindByName(TEXT("prpTop")); if (wp) { CAirspaceManager::Instance().GetAirspaceAltText(buffer, sizeof(buffer)/sizeof(buffer[0]), airspace_copy.Top()); wp->SetText(buffer); wp->RefreshDisplay(); } wp = (WndProperty*)wf->FindByName(TEXT("prpBase")); if (wp) { CAirspaceManager::Instance().GetAirspaceAltText(buffer, sizeof(buffer)/sizeof(buffer[0]), airspace_copy.Base()); wp->SetText(buffer); wp->RefreshDisplay(); } wp = (WndProperty*)wf->FindByName(TEXT("prpRange")); if (wp) { Units::FormatUserDistance(abs(hdist), buffer, 20); if (inside) { // LKTOKEN _@M359_ = "Inside" wp->SetCaption(MsgToken(359)); } if (hdist < 0) { // LKTOKEN _@M1257_ "to leave" _stprintf(buffer2, TEXT("%s %d%s %s"), buffer, iround(bearing), MsgToken(2179), MsgToken(1257)); } else { // LKTOKEN _@M1258_ "to enter" _stprintf(buffer2, TEXT("%s %d%s %s"), buffer, iround(bearing), MsgToken(2179), MsgToken(1258)); } wp->SetText(buffer2); wp->RefreshDisplay(); } WindowControl* wDetails = wf->FindByName(TEXT("cmdDetails")); { ScopeLock guard(CAirspaceManager::Instance().MutexRef()); CAirspace* airspace = CAirspaceManager::Instance().GetAirspacesForDetails(); if(airspace->Comment() != NULL) { if(_tcslen(airspace->Comment()) > 10 ) { WindowControl* wSelect = wf->FindByName(TEXT("cmdSelect")); if(wSelect) { wSelect->SetLeft(IBLSCALE(155)); wSelect->SetWidth(IBLSCALE(80)); } wDetails->SetLeft(IBLSCALE(80)); wDetails->SetWidth(IBLSCALE(75)); wDetails->Enable(true); } else wDetails->Enable(false); } } #ifdef RADIO_ACTIVE WindowControl* wFreq = wf->FindByName(TEXT("cmdSFrequency")); if (wFreq) { bool bRadio = false; if(RadioPara.Enabled) { double fASFrequency = ExtractFrequency((TCHAR*)airspace_copy.Name()); if(!ValidFrequency(fASFrequency)) { fASFrequency = ExtractFrequency((TCHAR*)airspace_copy.Comment()); } if(ValidFrequency(fASFrequency)) { WindowControl* wClose = wf->FindByName(TEXT("cmdClose")); if(wClose) { wClose->SetLeft(IBLSCALE(115)); wClose->SetWidth(IBLSCALE(120)); } wFreq->SetLeft(IBLSCALE(3)); wFreq->SetWidth(IBLSCALE(110)); _stprintf(buffer2,_T("%7.3fMHz"),fASFrequency); wFreq->SetCaption(buffer2); wFreq->Redraw(); bRadio = true; } } wFreq->SetVisible(bRadio); } #else WndProperty* wFreq = wf->FindByName(TEXT("cmdSFrequency")); if (wFreq) { wFreq->Hide(); } #endif // RADIO_ACTIVE // ONLY for DIAGNOSTICS- ENABLE ALSO XML #if 0 wp = (WndProperty*)wf->FindByName(TEXT("prpWarnLevel")); if (wp) { switch (airspace_copy.WarningLevel()) { default: // LKTOKEN _@M765_ "Unknown" wp->SetText(MsgToken(765)); break; case awNone: // LKTOKEN _@M479_ "None" wp->SetText(MsgToken(479)); break; case awYellow: // LKTOKEN _@M1255_ "YELLOW WARNING" wp->SetText(MsgToken(1255)); break; case awRed: // LKTOKEN _@M1256_ "RED WARNING" wp->SetText(MsgToken(1256)); break; }//sw wp->RefreshDisplay(); } wp = (WndProperty*)wf->FindByName(TEXT("prpAckLevel")); if (wp) { if (airspace_copy.Enabled()) { switch (airspace_copy.WarningAckLevel()) { default: // LKTOKEN _@M765_ "Unknown" wp->SetText(MsgToken(765)); break; case awNone: // LKTOKEN _@M479_ "None" wp->SetText(MsgToken(479)); break; case awYellow: // LKTOKEN _@M1267_ "Yellow acknowledged" wp->SetText(MsgToken(1267)); break; case awRed: // LKTOKEN _@M1268_ "Red acknowledged" wp->SetText(MsgToken(1268)); break; }//sw } else { // LKTOKEN _@M1269_ "Disabled" wp->SetText(MsgToken(1269)); } wp->RefreshDisplay(); } #endif wb = (WndButton*)wf->FindByName(TEXT("cmdFly")); if (wb) { if (airspace_copy.Flyzone()) { // LKTOKEN _@M1271_ "NOFLY" wb->SetCaption(MsgToken(1271)); } else { // LKTOKEN _@M1270_ "FLY" wb->SetCaption(MsgToken(1270)); } wb->Redraw(); } wb = (WndButton*)wf->FindByName(TEXT("cmdSelect")); if (wb) { if (airspace_copy.Selected()) { wb->SetCaption(MsgToken(1656)); // SELECTED! } else { wb->SetCaption(MsgToken(1654)); // SELECT } wb->Redraw(); } wb = (WndButton*)wf->FindByName(TEXT("cmdAcknowledge")); if (wb) { if (airspace_copy.Enabled()) { // LKTOKEN _@M1283_ "Disable" wb->SetCaption(MsgToken(1283)); } else { // LKTOKEN _@M1282_ "Enable" wb->SetCaption(MsgToken(1282)); } wb->Redraw(); } }
void dlgWayPointDetailsShowModal(short mypage){ TCHAR sTmp[128]; double sunsettime; int sunsethours; int sunsetmins; WndProperty *wp; if (!ScreenLandscape) { char filename[MAX_PATH]; LocalPathS(filename, TEXT("dlgWayPointDetails_L.xml")); wf = dlgLoadFromXML(CallBackTable, filename, hWndMainWindow, TEXT("IDR_XML_WAYPOINTDETAILS_L")); } else { char filename[MAX_PATH]; LocalPathS(filename, TEXT("dlgWayPointDetails.xml")); wf = dlgLoadFromXML(CallBackTable, filename, hWndMainWindow, TEXT("IDR_XML_WAYPOINTDETAILS")); } nTextLines = 0; if (!wf) return; wInfo = ((WndFrame *)wf->FindByName(TEXT("frmInfos"))); wCommand = ((WndFrame *)wf->FindByName(TEXT("frmCommands"))); wSpecial = ((WndFrame *)wf->FindByName(TEXT("frmSpecial"))); wDetails = (WndListFrame*)wf->FindByName(TEXT("frmDetails")); LKASSERT(wInfo!=NULL); LKASSERT(wCommand!=NULL); LKASSERT(wSpecial!=NULL); LKASSERT(wDetails!=NULL); // Resize Frames up to real screen size on the right. wInfo->SetBorderKind(BORDERLEFT); wCommand->SetBorderKind(BORDERLEFT); wSpecial->SetBorderKind(BORDERLEFT); wDetails->SetBorderKind(BORDERLEFT); wCommand->SetVisible(false); wSpecial->SetVisible(false); // // CAPTION: top line in black // // if SeeYou waypoint if (WPLSEL.Format == LKW_CUP) { TCHAR ttmp[50]; // and it is landable if ((WPLSEL.Style>1) && (WPLSEL.Style<6) ) { _stprintf(sTmp, TEXT("%s "), WPLSEL.Name); // ICAO name probably, let's print it if ( _tcslen(WPLSEL.Code)==4 ) { _stprintf(ttmp,_T("(%s) "),WPLSEL.Code); _tcscat(sTmp, ttmp); } if ( _tcslen(WPLSEL.Freq)>0 ) { _stprintf(ttmp,_T("%s "),WPLSEL.Freq); _tcscat(sTmp, ttmp); } if ( WPLSEL.RunwayDir>=0 ) { _stprintf(ttmp,_T("RW %d "),WPLSEL.RunwayDir); _tcscat(sTmp, ttmp); } if ( WPLSEL.RunwayLen>0 ) { // we use Altitude instead of distance, to keep meters and feet _stprintf(ttmp,_T("%.0f%s"),Units::ToUserAltitude((double)WPLSEL.RunwayLen), Units::GetAltitudeName()); _tcscat(sTmp, ttmp); } wf->SetCaption(sTmp); } else { _stprintf(sTmp, TEXT("%s: "), wf->GetCaption()); _tcscat(sTmp, WayPointList[SelectedWaypoint].Name); wf->SetCaption(sTmp); } } else { _stprintf(sTmp, TEXT("%s: "), wf->GetCaption()); _tcscat(sTmp, WayPointList[SelectedWaypoint].Name); wf->SetCaption(sTmp); } // // Waypoint Comment // wp = ((WndProperty *)wf->FindByName(TEXT("prpWpComment"))); LKASSERT(wp); if (WayPointList[SelectedWaypoint].Comment==NULL) wp->SetText(_T("")); else wp->SetText(WayPointList[SelectedWaypoint].Comment); wp->SetButtonSize(16); // // Lat and Lon // Units::CoordinateToString( WayPointList[SelectedWaypoint].Longitude, WayPointList[SelectedWaypoint].Latitude, sTmp, sizeof(sTmp)-1); wp = ((WndProperty *)wf->FindByName(TEXT("prpCoordinate"))); LKASSERT(wp); wp->SetText(sTmp); // // Waypoint Altitude // Units::FormatUserAltitude(WayPointList[SelectedWaypoint].Altitude, sTmp, sizeof(sTmp)-1); wp = ((WndProperty *)wf->FindByName(TEXT("prpAltitude"))); LKASSERT(wp); wp->SetText(sTmp); // // SUNSET at waypoint // sunsettime = DoSunEphemeris(WayPointList[SelectedWaypoint].Longitude, WayPointList[SelectedWaypoint].Latitude); sunsethours = (int)sunsettime; sunsetmins = (int)((sunsettime-sunsethours)*60); _stprintf(sTmp, TEXT("%02d:%02d"), sunsethours, sunsetmins); ((WndProperty *)wf->FindByName(TEXT("prpSunset")))->SetText(sTmp); // // Distance and bearing // double distance, bearing; DistanceBearing(GPS_INFO.Latitude, GPS_INFO.Longitude, WayPointList[SelectedWaypoint].Latitude, WayPointList[SelectedWaypoint].Longitude, &distance, &bearing); TCHAR DistanceText[MAX_PATH]; Units::FormatUserDistance(distance, DistanceText, 10); ((WndProperty *)wf->FindByName(TEXT("prpDistance")))->SetText(DistanceText); _stprintf(sTmp, TEXT("%d")TEXT(DEG), iround(bearing)); ((WndProperty *)wf->FindByName(TEXT("prpBearing")))->SetText(sTmp); // // Altitude reqd at mc 0 // double alt=0; alt = CALCULATED_INFO.NavAltitude - GlidePolar::MacCreadyAltitude(0.0, distance, bearing, CALCULATED_INFO.WindSpeed, CALCULATED_INFO.WindBearing, 0, 0, true, 0)- WayPointList[SelectedWaypoint].Altitude; if (SafetyAltitudeMode==1 || WayPointCalc[SelectedWaypoint].IsLandable) alt-=(SAFETYALTITUDEARRIVAL/10); _stprintf(sTmp, TEXT("%.0f %s"), alt*ALTITUDEMODIFY, Units::GetAltitudeName()); wp = ((WndProperty *)wf->FindByName(TEXT("prpMc0"))); if (wp) wp->SetText(sTmp); // alt reqd at current mc alt = CALCULATED_INFO.NavAltitude - GlidePolar::MacCreadyAltitude(MACCREADY, distance, bearing, CALCULATED_INFO.WindSpeed, CALCULATED_INFO.WindBearing, 0, 0, true, 0)- WayPointList[SelectedWaypoint].Altitude; if (SafetyAltitudeMode==1 || WayPointCalc[SelectedWaypoint].IsLandable) alt-=(SAFETYALTITUDEARRIVAL/10); _stprintf(sTmp, TEXT("%.0f %s"), alt*ALTITUDEMODIFY, Units::GetAltitudeName()); wp = ((WndProperty *)wf->FindByName(TEXT("prpMc2"))); if (wp) { wp->SetText(sTmp); } wf->SetKeyDownNotify(FormKeyDown); ((WndButton *)wf->FindByName(TEXT("cmdClose")))->SetOnClickNotify(OnCloseClicked); // We DONT use PREV anymore ((WndButton *)wf->FindByName(TEXT("cmdPrev")))->SetVisible(false); // // Details (WAYNOTES) page // wDetailsEntry = (WndOwnerDrawFrame*)wf->FindByName(TEXT("frmDetailsEntry")); LKASSERT(wDetailsEntry!=NULL); wDetailsEntry->SetCanFocus(true); nTextLines = TextToLineOffsets(WayPointList[SelectedWaypoint].Details, LineOffsets, MAXLINES); // ScrollbarWidth is initialised from DrawScrollBar in WindowControls, so it might not be ready here if ( wDetails->ScrollbarWidth == -1) { #if defined (PNA) #define SHRINKSBFACTOR 1.0 // shrink width factor. Range .1 to 1 where 1 is very "fat" #else #define SHRINKSBFACTOR 0.75 // shrink width factor. Range .1 to 1 where 1 is very "fat" #endif wDetails->ScrollbarWidth = (int) (SCROLLBARWIDTH_INITIAL * ScreenDScale * SHRINKSBFACTOR); } wDetailsEntry->SetWidth(wDetails->GetWidth() - wDetails->ScrollbarWidth - 5); WndButton *wb; TCHAR captmp[200]; // Resize also buttons wb = ((WndButton *)wf->FindByName(TEXT("cmdInserInTask"))); if (wb) { wb->SetOnClickNotify(OnInserInTaskClicked); wb->SetWidth(wCommand->GetWidth()-wb->GetLeft()*2); if ((ActiveWayPoint<0) || !ValidTaskPoint(0)) { // this is going to be the first tp (ActiveWayPoint 0) _stprintf(captmp,_T("%s"),MsgToken(1824)); // insert as START } else { LKASSERT(ActiveWayPoint>=0 && ValidTaskPoint(0)); int indexInsert = max(ActiveWayPoint,0); // safe check if (indexInsert==0) { _stprintf(captmp,_T("%s"),MsgToken(1824)); // insert as START } else { LKASSERT(ValidWayPoint(Task[indexInsert].Index)); _stprintf(captmp,_T("%s <%s>"),MsgToken(1825),WayPointList[ Task[indexInsert].Index ].Name); // insert before xx } } wb->SetCaption(captmp); } wb = ((WndButton *)wf->FindByName(TEXT("cmdAppendInTask1"))); if (wb) { wb->SetOnClickNotify(OnAppendInTask1Clicked); wb->SetWidth(wCommand->GetWidth()-wb->GetLeft()*2); } wb = ((WndButton *)wf->FindByName(TEXT("cmdAppendInTask2"))); if (wb) { wb->SetOnClickNotify(OnAppendInTask2Clicked); wb->SetWidth(wCommand->GetWidth()-wb->GetLeft()*2); } wb = ((WndButton *)wf->FindByName(TEXT("cmdRemoveFromTask"))); if (wb) { wb->SetOnClickNotify(OnRemoveFromTaskClicked); wb->SetWidth(wCommand->GetWidth()-wb->GetLeft()*2); } wb = ((WndButton *)wf->FindByName(TEXT("cmdReplace"))); if (wb) { wb->SetWidth(wCommand->GetWidth()-wb->GetLeft()*2); int tmpIdx = -1; if (ValidTaskPoint(ActiveWayPoint)) tmpIdx = Task[ActiveWayPoint].Index; if( ValidTaskPoint(PanTaskEdit)) tmpIdx = RealActiveWaypoint; if(tmpIdx != -1) { wb->SetOnClickNotify(OnReplaceClicked); _stprintf(captmp,_T("%s <%s>"),MsgToken(1826),WayPointList[tmpIdx ].Name); // replace xx } else { _stprintf(captmp,_T("( %s )"),MsgToken(555)); } wb->SetCaption(captmp); } wb = ((WndButton *)wf->FindByName(TEXT("cmdNewHome"))); if (wb) { wb->SetOnClickNotify(OnNewHomeClicked); wb->SetWidth(wSpecial->GetWidth()-wb->GetLeft()*2); } wb = ((WndButton *)wf->FindByName(TEXT("cmdTeamCode"))); if (wb) { wb->SetOnClickNotify(OnTeamCodeClicked); wb->SetWidth(wSpecial->GetWidth()-wb->GetLeft()*2); } page = mypage; NextPage(0); wf->ShowModal(); delete wf; wf = NULL; }
void NetworkWidget::UpdateButtons() { toggle_wifi_button->SetCaption(GetWifiToggleCaption()); wifi_button->SetEnabled(IsKoboWifiOn()); }