static void SetValues(bool first=false) { WndProperty* wp; wp = (WndProperty*)wf->FindByName(TEXT("prpTaskFinishLine")); if (wp) { DataField* dfe = wp->GetDataField(); if (first) { // LKTOKEN _@M210_ = "Cylinder" dfe->addEnumText(MsgToken(210)); // LKTOKEN _@M393_ = "Line" dfe->addEnumText(MsgToken(393)); // LKTOKEN _@M274_ = "FAI Sector" dfe->addEnumText(MsgToken(274)); } dfe->Set(FinishLine); wp->RefreshDisplay(); } wp = (WndProperty*)wf->FindByName(TEXT("prpTaskFinishRadius")); if (wp) { wp->GetDataField()->SetAsFloat(round(FinishRadius*DISTANCEMODIFY*DISTANCE_ROUNDING)/DISTANCE_ROUNDING); wp->GetDataField()->SetUnits(Units::GetDistanceName()); wp->RefreshDisplay(); } wp = (WndProperty*)wf->FindByName(TEXT("prpTaskStartLine")); if (wp) { DataField* dfe = wp->GetDataField(); if (first) { // LKTOKEN _@M210_ = "Cylinder" dfe->addEnumText(MsgToken(210)); // LKTOKEN _@M393_ = "Line" dfe->addEnumText(MsgToken(393)); // LKTOKEN _@M274_ = "FAI Sector" dfe->addEnumText(MsgToken(274)); } dfe->SetDetachGUI(true); // disable call to OnAATEnabled dfe->Set(StartLine); dfe->SetDetachGUI(false); wp->RefreshDisplay(); } wp = (WndProperty*)wf->FindByName(TEXT("prpTaskStartRadius")); if (wp) { wp->GetDataField()->SetAsFloat(round(StartRadius*DISTANCEMODIFY*DISTANCE_ROUNDING)/DISTANCE_ROUNDING); wp->GetDataField()->SetUnits(Units::GetDistanceName()); wp->RefreshDisplay(); } wp = (WndProperty*)wf->FindByName(TEXT("prpTaskFAISector")); if (wp) { // 110223 CAN ANYONE PLEASE CHECK WHAT THE HACK IS A BOOL FOR BILL GATES? BECAUSE IF FALSE IS -1 THEN // WE HAVE MANY PROBLEMS! I THINK IT IS TIME TO GO BACK TO bool AND GET RID OF MS BOOLS!! // wp->SetVisible((AATEnabled==0) || (twItemIndex >0) ); DataField* dfe = wp->GetDataField(); if (first) { // LKTOKEN _@M210_ = "Cylinder" dfe->addEnumText(MsgToken(210)); // LKTOKEN _@M274_ = "FAI Sector" dfe->addEnumText(MsgToken(274)); dfe->addEnumText(LKGetText(TEXT("DAe 0.5/10"))); // LKTOKEN _@M393_ = "Line" dfe->addEnumText(MsgToken(393)); } dfe->SetDetachGUI(true); // disable call to OnAATEnabled dfe->Set(SectorType); dfe->SetDetachGUI(false); wp->RefreshDisplay(); } wp = (WndProperty*)wf->FindByName(TEXT("prpTaskSectorRadius")); if (wp) { wp->SetVisible(AATEnabled==0); wp->GetDataField()->SetAsFloat(round(SectorRadius*DISTANCEMODIFY*DISTANCE_ROUNDING)/DISTANCE_ROUNDING); wp->GetDataField()->SetUnits(Units::GetDistanceName()); wp->RefreshDisplay(); } wp = (WndProperty*)wf->FindByName(TEXT("prpAutoAdvance")); if (wp) { DataField* dfe = wp->GetDataField(); if (first) { // LKTOKEN _@M418_ = "Manual" dfe->addEnumText(MsgToken(418)); // LKTOKEN _@M897_ "Auto" dfe->addEnumText(MsgToken(897)); // LKTOKEN _@M97_ = "Arm" dfe->addEnumText(MsgToken(97)); // LKTOKEN _@M96_ = "Arm start" dfe->addEnumText(MsgToken(96)); // LKTOKEN _@M1798_ = "Arm TPs" dfe->addEnumText(MsgToken(1798)); } dfe->Set(AutoAdvance); wp->RefreshDisplay(); } wp = (WndProperty*)wf->FindByName(TEXT("prpMinTime")); if (wp) { wp->SetVisible(AATEnabled>0 && (!PGOptimizeRoute || !ISPARAGLIDER)); wp->GetDataField()->SetAsFloat(AATTaskLength); wp->RefreshDisplay(); } wp = (WndProperty*)wf->FindByName(TEXT("prpEnableMultipleStartPoints")); if (wp) { wp->SetVisible(!ISPARAGLIDER); wp->GetDataField()->Set(EnableMultipleStartPoints); wp->RefreshDisplay(); } wp = (WndProperty*)wf->FindByName(TEXT("prpAATEnabled")); if (wp) { if (ISPARAGLIDER && PGOptimizeRoute) { wp->SetVisible(false); AATEnabled=true; wp->RefreshDisplay(); } else { bool aw = (AATEnabled != 0); wp->GetDataField()->Set(aw); wp->RefreshDisplay(); } } WndButton* wb; wb = (WndButton *)wf->FindByName(TEXT("EditStartPoints")); if (wb) { wb->SetVisible(EnableMultipleStartPoints!=0 && !ISPARAGLIDER); } }
static void SetWaypointValues(bool first=false) { WndProperty* wp; wp = (WndProperty*)wf->FindByName(TEXT("prpAATType")); if (wp) { DataField* dfe = wp->GetDataField(); if (first) { // LKTOKEN _@M210_ = "Cylinder" dfe->addEnumText(MsgToken(210)); // LKTOKEN _@M590_ = "Sector" dfe->addEnumText(MsgToken(590)); if(DoOptimizeRoute()) { // Conical ESS dfe->addEnumText(MsgToken(2175)); // Circle ESS dfe->addEnumText(MsgToken(2189)); } } dfe->SetDetachGUI(true); // disable call to OnAATEnabled dfe->Set(Task[twItemIndex].AATType); dfe->SetDetachGUI(false); wp->RefreshDisplay(); } WindowControl* pFrm = wf->FindByName(_T("frmCircle")); if(pFrm) { pFrm->SetVisible((Task[twItemIndex].AATType==0) || (Task[twItemIndex].AATType==3)); } pFrm = wf->FindByName(_T("frmSector")); if(pFrm) { pFrm->SetVisible(Task[twItemIndex].AATType==1); } pFrm = wf->FindByName(_T("frmCone")); if(pFrm) { pFrm->SetVisible(Task[twItemIndex].AATType==2); } wp = (WndProperty*)wf->FindByName(TEXT("prpAATCircleRadius")); if (wp) { wp->GetDataField()->SetAsFloat(round(Task[twItemIndex].AATCircleRadius *DISTANCEMODIFY*DISTANCE_ROUNDING)/DISTANCE_ROUNDING); wp->GetDataField()->SetUnits(Units::GetDistanceName()); wp->RefreshDisplay(); } wp = (WndProperty*)wf->FindByName(TEXT("prpAATSectorRadius")); if (wp) { wp->GetDataField()->SetAsFloat(round(Task[twItemIndex].AATSectorRadius *DISTANCEMODIFY*DISTANCE_ROUNDING)/DISTANCE_ROUNDING); wp->GetDataField()->SetUnits(Units::GetDistanceName()); wp->RefreshDisplay(); } wp = (WndProperty*)wf->FindByName(TEXT("prpAATStartRadial")); if (wp) { wp->GetDataField()->SetAsFloat(Task[twItemIndex].AATStartRadial); wp->RefreshDisplay(); } wp = (WndProperty*)wf->FindByName(TEXT("prpAATFinishRadial")); if (wp) { wp->GetDataField()->SetAsFloat(Task[twItemIndex].AATFinishRadial); wp->RefreshDisplay(); } wp = (WndProperty*)wf->FindByName(TEXT("prpOutCircle")); if (wp) { DataField* dfe = wp->GetDataField(); if (dfe) { if (first) { // LKTOKEN _@M2226_ = "Enter" dfe->addEnumText(MsgToken(2145)); // LKTOKEN _@M2227_ = "Exit" dfe->addEnumText(MsgToken(2146)); } dfe->Set(Task[twItemIndex].OutCircle); } wp->SetVisible(DoOptimizeRoute()); wp->RefreshDisplay(); } wp = (WndProperty*)wf->FindByName(TEXT("prpConeSlope")); if (wp) { wp->GetDataField()->SetAsFloat(Task[twItemIndex].PGConeSlope); wp->RefreshDisplay(); } wp = (WndProperty*)wf->FindByName(TEXT("prpConeBase")); if (wp) { wp->GetDataField()->SetAsFloat(Task[twItemIndex].PGConeBase*ALTITUDEMODIFY); wp->GetDataField()->SetUnits(Units::GetAltitudeName()); wp->RefreshDisplay(); } wp = (WndProperty*)wf->FindByName(TEXT("prpConeRadius")); if (wp) { wp->GetDataField()->SetAsFloat(round(Task[twItemIndex].PGConeBaseRadius *DISTANCEMODIFY*DISTANCE_ROUNDING)/DISTANCE_ROUNDING); wp->GetDataField()->SetUnits(Units::GetDistanceName()); wp->RefreshDisplay(); } }