dlgProgress::dlgProgress() { _WndForm = dlgLoadFromXML(CallBackTable, ScreenLandscape ? IDR_XML_PROGRESS_L : IDR_XML_PROGRESS_P); LKASSERT(_WndForm); if(_WndForm) { WindowControl* wSplash = _WndForm->FindByName(TEXT("frmSplash")); if(wSplash) { wSplash->SetWidth(_WndForm->GetWidth()); } WindowControl* wText = _WndForm->FindByName(TEXT("frmText")); if(wText) { wText->SetWidth(_WndForm->GetWidth()); wText->SetTop(ScreenSizeY - IBLSCALE(35)); } _WndForm->Show(); _WndForm->Redraw(); } }
// Will return 0 if cancel or error, 1 if details needed, 2 if goto, 3 if alt1, 4 if alt2 short dlgWayQuickShowModal(void){ TCHAR sTmp[128]; wf = dlgLoadFromXML(CallBackTable, ScreenLandscape ? TEXT("dlgWayQuick_L.xml") : TEXT("dlgWayQuick_P.xml"), ScreenLandscape ? IDR_XML_WAYPOINTQUICK_L : IDR_XML_WAYPOINTQUICK_P); if (!wf) return 0; retStatus=0; 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); if (_tcslen(sTmp)>9) { sTmp[9]='\0'; _tcscat(sTmp, _T(" ")); } 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); } } else { _stprintf(sTmp, _T(" %s"),WayPointList[SelectedWaypoint].Name); } } else { _stprintf(sTmp, _T(" %s"),WayPointList[SelectedWaypoint].Name); } wf->SetCaption(sTmp); #ifdef RADIO_ACTIVE const bool bRadioFreq = (_tcstol(WayPointList[SelectedWaypoint].Freq, nullptr, 10) > 0) && RadioPara.Enabled; #else const bool bRadioFreq = false; #endif // RADIO_ACTIVE if (ScreenLandscape) { PixelScalar left = 0; WindowControl* pWnd = wf->FindByName(TEXT("cmdGoto")); if(pWnd) { left = pWnd->GetLeft(); pWnd->SetWidth(ScreenSizeX-NIBLSCALE(5)-left); } pWnd = wf->FindByName(TEXT("cmdSetAlt1")); if(pWnd) { pWnd->SetWidth((ScreenSizeX/2)-NIBLSCALE(5)); pWnd->SetLeft(NIBLSCALE(3)); } pWnd = wf->FindByName(TEXT("cmdSetAlt2")); if(pWnd) { pWnd->SetWidth((ScreenSizeX/2)-NIBLSCALE(7)); pWnd->SetLeft((ScreenSizeX/2)+NIBLSCALE(2)); } pWnd = wf->FindByName(TEXT("cmdDetails")); if(pWnd) { pWnd->SetWidth((ScreenSizeX/2)-NIBLSCALE(5)); pWnd->SetLeft(NIBLSCALE(3)); } pWnd = wf->FindByName(TEXT("cmdTask")); if(pWnd) { pWnd->SetWidth((ScreenSizeX/2)-NIBLSCALE(7)); pWnd->SetLeft((ScreenSizeX/2)+NIBLSCALE(2)); } if(bRadioFreq) { pWnd = wf->FindByName(TEXT("cmdCancel")); if(pWnd) { pWnd->SetLeft(NIBLSCALE(3)); pWnd->SetWidth((ScreenSizeX/2)-NIBLSCALE(5)); } pWnd = wf->FindByName(TEXT("cmdRadioFreq")); if(pWnd) { pWnd->SetWidth((ScreenSizeX/2)-NIBLSCALE(7)); pWnd->SetLeft((ScreenSizeX/2)+NIBLSCALE(2)); } } else { pWnd = wf->FindByName(TEXT("cmdCancel")); if(pWnd) { pWnd->SetLeft(NIBLSCALE(3)); pWnd->SetWidth((ScreenSizeX)-NIBLSCALE(8)); } pWnd = wf->FindByName(TEXT("cmdRadioFreq")); if(pWnd) { pWnd->SetVisible(false); } } } else { if(bRadioFreq) { #warning "TODO : don't work on 4/3 Portrait mode" } else { WindowControl* pWndCancel = wf->FindByName(TEXT("cmdCancel")); WindowControl* pWndFreq = wf->FindByName(TEXT("cmdRadioFreq")); if(pWndCancel && pWndFreq) { pWndCancel->SetTop(pWndFreq->GetTop()); } if(pWndFreq) { pWndFreq->SetVisible(false); } } } wf->ShowModal(); delete wf; wf = NULL; return retStatus; }
static WndForm* InitDualProfile() { WndForm* pWndForm = dlgLoadFromXML(CallBackTable, ScreenLandscape ? IDR_XML_DUALPROFILE_L : IDR_XML_DUALPROFILE_P); if(pWndForm) { WindowControl * pWnd = nullptr; if (ScreenLandscape) { const unsigned int SPACEBORDER = NIBLSCALE(2); const unsigned w = (ScreenSizeX - (SPACEBORDER * 6)) / 5; int lx = SPACEBORDER - 1; // count from 0 pWnd = pWndForm->FindByName(TEXT("cmdAIRCRAFT")); if(pWnd) { pWnd->SetLeft(lx); pWnd->SetWidth(w); } lx += w + SPACEBORDER; pWnd = pWndForm->FindByName(TEXT("cmdPROFILE")); if(pWnd) { pWnd->SetLeft(lx); pWnd->SetWidth(w); } lx += w + SPACEBORDER; pWnd = pWndForm->FindByName(TEXT("cmdDEVICE")); if(pWnd) { pWnd->SetLeft(lx); pWnd->SetWidth(w); } lx += w + SPACEBORDER; pWnd = pWndForm->FindByName(TEXT("cmdPILOT")); if(pWnd) { pWnd->SetLeft(lx); pWnd->SetWidth(w); } lx += w + SPACEBORDER; pWnd = pWndForm->FindByName(TEXT("cmdCLOSE")); if(pWnd) { pWnd->SetLeft(lx); pWnd->SetWidth(w); } } else { const unsigned SPACEBORDER = NIBLSCALE(2); unsigned w = (ScreenSizeX - (SPACEBORDER * 3)) / 2; int h = ScreenSizeY - IBLSCALE(90); // 40+5+40+5 int lx = SPACEBORDER - 1; // count from 0 pWnd = pWndForm->FindByName(TEXT("cmdAIRCRAFT")); if(pWnd) { pWnd->SetLeft(lx); pWnd->SetWidth(w); pWnd->SetTop(h); } lx += w + SPACEBORDER; pWnd = pWndForm->FindByName(TEXT("cmdPROFILE")); if(pWnd) { pWnd->SetLeft(lx); pWnd->SetWidth(w); pWnd->SetTop(h); } w = (ScreenSizeX - (SPACEBORDER * 4)) / 3; lx = SPACEBORDER - 1; // count from 0 pWnd = pWndForm->FindByName(TEXT("cmdDEVICE")); if(pWnd) { pWnd->SetLeft(lx); pWnd->SetWidth(w); pWnd->SetTop(h + IBLSCALE(45)); } lx += w + SPACEBORDER; pWnd = pWndForm->FindByName(TEXT("cmdPILOT")); if(pWnd) { pWnd->SetLeft(lx); pWnd->SetWidth(w); pWnd->SetTop(h + IBLSCALE(45)); } lx += w + SPACEBORDER; pWnd = pWndForm->FindByName(TEXT("cmdCLOSE")); if(pWnd) { pWnd->SetLeft(lx); pWnd->SetWidth(w); pWnd->SetTop(h + IBLSCALE(45)); } } } return pWndForm; }
static WndForm* InitStartup(BYTE mode) { WndForm * pWndForm = dlgLoadFromXML(CallBackTable, ScreenLandscape ? IDR_XML_STARTUP_L : IDR_XML_STARTUP_P); if(pWndForm) { WindowControl * pWndClose = pWndForm->FindByName(TEXT("cmdClose")); WndProperty* pWndProfile = static_cast<WndProperty*>(pWndForm->FindByName(TEXT("prpProfile"))); if (ScreenLandscape) { const int PROFWIDTH = IBLSCALE(256); const int PROFACCEPTWIDTH = NIBLSCALE(60); const int PROFHEIGHT = NIBLSCALE(30); const int PROFSEPARATOR = NIBLSCALE(4); if(pWndClose) { pWndClose->SetWidth(PROFACCEPTWIDTH); pWndClose->SetLeft((((ScreenSizeX - PROFWIDTH - PROFSEPARATOR - PROFACCEPTWIDTH) / 2) + PROFSEPARATOR + PROFWIDTH) - NIBLSCALE(2)); pWndClose->SetHeight(PROFHEIGHT - NIBLSCALE(4)); } if(pWndProfile) { pWndProfile->SetLeft(((ScreenSizeX - PROFWIDTH - PROFSEPARATOR - PROFACCEPTWIDTH) / 2) - NIBLSCALE(2)); pWndProfile->SetHeight(PROFHEIGHT); pWndProfile->SetWidth(PROFWIDTH); } } else { const int PROFWIDTH = IBLSCALE(236); const int PROFHEIGHT = NIBLSCALE(25); int h = ScreenSizeY - IBLSCALE(65); // if(pWndClose) { pWndClose->SetWidth(ScreenSizeX - NIBLSCALE(6)); pWndClose->SetLeft(NIBLSCALE(2)); pWndClose->SetTop(h); } if(pWndProfile) { pWndProfile->SetTop(h + IBLSCALE(35)); pWndProfile->SetLeft(0); pWndProfile->SetHeight(PROFHEIGHT); pWndProfile->SetWidth(PROFWIDTH); } } // // File selection shared by PROFILEs choices // if (pWndProfile) { DataFieldFileReader* dfe = static_cast<DataFieldFileReader*>(pWndProfile->GetDataField()); if(dfe) { if (mode == RUN_PROFILE) { dfe->ScanDirectoryTop(_T(LKD_CONF), _T("*" LKS_PRF)); dfe->addFile(MsgToken(1741), _T("PROFILE_RESET")); dfe->Lookup(startProfileFile); } else if (mode == RUN_AIRCRAFT) { dfe->ScanDirectoryTop(_T(LKD_CONF), _T("*" LKS_AIRCRAFT)); dfe->Lookup(startAircraftFile); } else if (mode == RUN_DEVICE) { dfe->ScanDirectoryTop(_T(LKD_CONF), _T("*" LKS_DEVICE)); dfe->Lookup(startDeviceFile); } else if (mode == RUN_PILOT) { dfe->ScanDirectoryTop(_T(LKD_CONF), _T("*" LKS_PILOT)); dfe->Lookup(startPilotFile); } } pWndProfile->RefreshDisplay(); } } return pWndForm; }
static WndForm* InitFlySim() { WndForm* pWndForm = dlgLoadFromXML(CallBackTable, ScreenLandscape ? IDR_XML_FLYSIM_L : IDR_XML_FLYSIM_P); if(pWndForm) { WindowControl * pWnd = nullptr; if (ScreenLandscape) { #ifdef KOBO const unsigned int SPACEBORDER = 1; const unsigned int w = (ScreenSizeX - (SPACEBORDER * 6)) / 5; #else const unsigned int SPACEBORDER = NIBLSCALE(2); const unsigned int w = (ScreenSizeX - (SPACEBORDER * 5)) / 4; #endif unsigned int lx = SPACEBORDER - 1; // count from 0 pWnd = pWndForm->FindByName(TEXT("cmdFLY")); if(pWnd) { pWnd->SetWidth(w); pWnd->SetLeft(lx); } #ifdef KOBO lx += w + SPACEBORDER; WndButton* pWndNickel = new WndButton(pWndForm, _T("cmdNICKEL"), _T("KOBO"), lx , IBLSCALE(205), w, IBLSCALE(30), &OnNickelClick ); if(pWndNickel) { } #endif lx += w + SPACEBORDER; pWnd = pWndForm->FindByName(TEXT("cmdDUALPROFILE")); if(pWnd) { pWnd->SetWidth(w); pWnd->SetLeft(lx); } lx += w + SPACEBORDER; pWnd = pWndForm->FindByName(TEXT("cmdEXIT")); if(pWnd) { pWnd->SetWidth(w); pWnd->SetLeft(lx); #ifdef KOBO pWnd->SetCaption(MsgToken(1901)); // POWER OFF #endif } lx += w + SPACEBORDER; pWnd = pWndForm->FindByName(TEXT("cmdSIM")); if(pWnd) { pWnd->SetWidth(w); pWnd->SetLeft(lx); } } else { const unsigned SPACEBORDER = NIBLSCALE(2); unsigned w = (ScreenSizeX - (SPACEBORDER * 3)) / 2; int h = ScreenSizeY - IBLSCALE(90); // 40+5+40+5 int lx = SPACEBORDER - 1; // count from 0 pWnd = pWndForm->FindByName(TEXT("cmdFLY")); if(pWnd) { pWnd->SetTop(h + IBLSCALE(45)); pWnd->SetLeft(lx); pWnd->SetHeight(IBLSCALE(40)); pWnd->SetWidth(w); } lx += w + SPACEBORDER; pWnd = pWndForm->FindByName(TEXT("cmdSIM")); if(pWnd) { pWnd->SetTop(h + IBLSCALE(45)); pWnd->SetLeft(lx); pWnd->SetHeight(IBLSCALE(40)); pWnd->SetWidth(w); } #ifdef KOBO lx = SPACEBORDER - 1; // count from 0 WndButton* pWndNickel = new WndButton(pWndForm, _T("cmdNICKEL"), _T("KOBO"), lx , h, w, IBLSCALE(40), &OnNickelClick ); if(pWndNickel) { w = (ScreenSizeX - (SPACEBORDER * 4)) / 3; pWndNickel->SetTop(h); pWndNickel->SetLeft(lx); pWndNickel->SetHeight(IBLSCALE(40)); pWndNickel->SetWidth(w); } lx += w + SPACEBORDER; #else lx = SPACEBORDER - 1; // count from 0 #endif pWnd = pWndForm->FindByName(TEXT("cmdDUALPROFILE")); if(pWnd) { pWnd->SetTop(h); pWnd->SetLeft(lx); pWnd->SetHeight(IBLSCALE(40)); pWnd->SetWidth(w); } lx += w + SPACEBORDER; pWnd = pWndForm->FindByName(TEXT("cmdEXIT")); if(pWnd) { pWnd->SetTop(h); pWnd->SetLeft(lx); pWnd->SetHeight(IBLSCALE(40)); pWnd->SetWidth(w); #ifdef KOBO pWnd->SetCaption(MsgToken(1901)); // POWER OFF #endif } } } return pWndForm; }