bool dlgAirspaceShowModal(bool coloredit){ colormode = coloredit; WndForm *wf = dlgLoadFromXML(CallBackTable, ScreenLandscape ? IDR_XML_AIRSPACE_L : IDR_XML_AIRSPACE_P); if (!wf) return false; WndListFrame* wAirspaceList = (WndListFrame*)wf->FindByName(TEXT("frmAirspaceList")); LKASSERT(wAirspaceList!=NULL); wAirspaceList->SetBorderKind(BORDERLEFT); wAirspaceList->SetEnterCallback(OnAirspaceListEnter); WndOwnerDrawFrame* wAirspaceListEntry = (WndOwnerDrawFrame*)wf->FindByName(TEXT("frmAirspaceListEntry")); if(wAirspaceListEntry) { wAirspaceListEntry->SetCanFocus(true); } UpdateList(wAirspaceList); changed = false; wf->ShowModal(); delete wf; return changed; }
void dlgWeatherShowModal() { WndForm *wf = LoadDialog(nullptr, UIGlobals::GetMainWindow(), _T("IDR_XML_WEATHER")); if (wf == NULL) return; WndProperty* wp; wp = (WndProperty*)wf->FindByName(_T("prpTime")); assert(wp != nullptr); DataFieldEnum *dfe = (DataFieldEnum *)wp->GetDataField(); dfe->addEnumText(_("Now")); for (unsigned i = 1; i < RasterWeather::MAX_WEATHER_TIMES; i++) { if (RASP.isWeatherAvailable(i)) { TCHAR timetext[10]; _stprintf(timetext, _T("%04d"), RASP.IndexToTime(i)); dfe->addEnumText(timetext, i); } } dfe->Set(RASP.GetTime()); wp->RefreshDisplay(); wp = (WndProperty *)wf->FindByName(_T("prpDisplayItem")); assert(wp != nullptr); dfe = (DataFieldEnum *)wp->GetDataField(); dfe->EnableItemHelp(true); dfe->addEnumText(_("Terrain")); for (int i = 1; i <= 15; i++) { const TCHAR *label = RASP.ItemLabel(i); if (label != NULL) dfe->AddChoice(i, label, nullptr, RASP.ItemHelp(i)); } dfe->Set(RASP.GetParameter()); wp->RefreshDisplay(); wf->ShowModal(); wp = (WndProperty *)wf->FindByName(_T("prpTime")); assert(wp != nullptr); dfe = (DataFieldEnum *)wp->GetDataField(); RASP.SetTime(dfe->GetValue()); wp = (WndProperty *)wf->FindByName(_T("prpDisplayItem")); assert(wp != nullptr); dfe = (DataFieldEnum *)wp->GetDataField(); RASP.SetParameter(dfe->GetValue()); delete wf; }
bool ConfigPanel::FinishFileField(WndForm &wf, const TCHAR *control_name, const TCHAR *profile_key) { const WndProperty *wp = (const WndProperty *)wf.FindByName(control_name); return wp != NULL && FinishFileField(*wp, profile_key); }
void SetFormControlEnabled(WndForm &form, const TCHAR *control_name, bool enabled) { Window *window = form.FindByName(control_name); assert(window != NULL); window->set_enabled(enabled); }
void ShowFormControl(WndForm &form, const TCHAR *control_name, bool visible) { Window *window = form.FindByName(control_name); assert(window != NULL); window->set_visible(visible); }
void ShowOptionalFormControl(WndForm &form, const TCHAR *control_name, bool visible) { Window *window = form.FindByName(control_name); if (window != NULL) window->set_visible(visible); }
void ConfigPanel::InitFileField(WndForm &wf, const TCHAR *control_name, const TCHAR *profile_key, const TCHAR *filters) { WndProperty *wp = (WndProperty *)wf.FindByName(control_name); assert(wp != NULL); InitFileField(*wp, profile_key, filters); }
fixed GetFormValueFixed(const WndForm &form, const TCHAR *control_name) { const WndProperty *control = (const WndProperty *)form.FindByName(control_name); assert(control != NULL); const DataFieldFloat &df = *(const DataFieldFloat *)control->GetDataField(); return df.GetAsFixed(); }
void dlgProgress::SetProgressText(const TCHAR* szText) { WindowControl* wText = _WndForm->FindByName(TEXT("frmText")); if(wText) { wText->SetCaption(szText); wText->Redraw(); #ifndef USE_GDI MainWindow.Refresh(); #endif } }
// checklistmode: 0=notepad 1=logbook 2=... void dlgChecklistShowModal(short checklistmode){ WndListFrame* wDetails = NULL; WndOwnerDrawFrame* wDetailsEntry = NULL; InitNotepad(); LoadChecklist(checklistmode); // check if loaded really something WndForm* wf = dlgLoadFromXML(CallBackTable, ScreenLandscape ? IDR_XML_CHECKLIST_L : IDR_XML_CHECKLIST_P); aTextLine.clear(); if (!wf) goto deinit; wf->SetKeyDownNotify(FormKeyDown); ((WndButton *)wf->FindByName(TEXT("cmdClose")))->SetOnClickNotify(OnCloseClicked); wDetails = (WndListFrame*)wf->FindByName(TEXT("frmDetails")); if (!wDetails) { StartupStore(_T("..... NOTEPAD ERROR NULL frmDetails!\n")); goto deinit; } wDetails->SetBorderKind(BORDERLEFT); wDetailsEntry = (WndOwnerDrawFrame*)wf->FindByName(TEXT("frmDetailsEntry")); if (!wDetailsEntry) { StartupStore(_T("..... NOTEPAD ERROR NULL frmDetailsEntry!\n")); goto deinit; } wDetailsEntry->SetCanFocus(true); page = 0; NextPage(wf, 0); wf->ShowModal(); deinit: delete wf; DeinitNotepad(); }
void SetFormValue(WndForm &form, const TCHAR *control_name, const TCHAR *value) { assert(control_name != NULL); assert(value != NULL); WndProperty *ctl = (WndProperty *)form.FindByName(control_name); assert(ctl != NULL); ctl->SetText(value); }
int GetFormValueInteger(const WndForm &form, const TCHAR *control_name) { assert(control_name != NULL); const WndProperty *control = (const WndProperty *)form.FindByName(control_name); assert(control != NULL); return control->GetDataField()->GetAsInteger(); }
void LoadFormProperty(WndForm &form, const TCHAR *control_name, unsigned int value) { assert(control_name != NULL); WndProperty *ctl = (WndProperty *)form.FindByName(control_name); if (ctl == NULL) return; ctl->GetDataField()->SetAsInteger(value); ctl->RefreshDisplay(); }
void LoadFormProperty(WndForm &form, const TCHAR *control_name, fixed value) { assert(control_name != NULL); WndProperty *ctl = (WndProperty *)form.FindByName(control_name); if (ctl == NULL) return; DataFieldFloat &df = *(DataFieldFloat *)ctl->GetDataField(); df.Set(value); ctl->RefreshDisplay(); }
bool GetFormValueBoolean(const WndForm &form, const TCHAR *control_name) { assert(control_name != NULL); const WndProperty *control = (const WndProperty *)form.FindByName(control_name); assert(control != NULL); const DataFieldBoolean &df = *(const DataFieldBoolean *)control->GetDataField(); return df.GetAsBoolean(); }
void LoadFormProperty(WndForm &form, const TCHAR *control_name, fixed value) { assert(control_name != NULL); WndProperty *ctl = (WndProperty *)form.FindByName(control_name); assert(ctl != NULL); DataFieldFloat &df = *(DataFieldFloat *)ctl->GetDataField(); assert(df.GetType() == DataField::TYPE_REAL); df.Set(value); ctl->RefreshDisplay(); }
BOOL CDevCProbe::Config(PDeviceDescriptor_t d){ if(m_pDevice != d) { StartupStore(_T("C-Probe Config : Invalide device descriptor%s"), NEWLINE); return FALSE; } WndForm* wf = dlgLoadFromXML(CallBackTable, IDR_XML_DEVCPROBE); if(wf) { WndButton *wBt = NULL; wBt = (WndButton *)wf->FindByName(TEXT("cmdClose")); if(wBt){ wBt->SetOnClickNotify(OnCloseClicked); } wBt = (WndButton *)wf->FindByName(TEXT("cmdSetCompassCal")); if(wBt){ wBt->SetOnClickNotify(OnCompassCalClicked); } wBt = (WndButton *)wf->FindByName(TEXT("cmdSetCalGyro")); if(wBt){ wBt->SetOnClickNotify(OnCalGyroClicked); } wBt = (WndButton *)wf->FindByName(TEXT("cmdZeroDeltaPress")); if(wBt){ wBt->SetOnClickNotify(OnZeroDeltaPressClicked); } GetFirmwareVersion(m_pDevice); wf->SetTimerNotify(1000, OnTimer); wf->ShowModal(); delete wf; wf=NULL; } return TRUE; }
void LoadFormProperty(WndForm &form, const TCHAR *control_name, bool value) { assert(control_name != NULL); WndProperty *ctl = (WndProperty *)form.FindByName(control_name); if (ctl == NULL) return; DataFieldBoolean &df = *(DataFieldBoolean *)ctl->GetDataField(); assert(df.GetType() == DataField::TYPE_BOOLEAN); df.Set(value); ctl->RefreshDisplay(); }
void LoadFormProperty(WndForm &form, const TCHAR *control_name, UnitGroup_t unit_group, int value) { assert(control_name != NULL); WndProperty *ctl = (WndProperty *)form.FindByName(control_name); if (ctl == NULL) return; Units_t unit = Units::GetUserUnitByGroup(unit_group); DataField *df = ctl->GetDataField(); df->SetUnits(Units::GetUnitName(unit)); df->SetAsInteger(iround(Units::ToUserUnit(fixed(value), unit))); ctl->RefreshDisplay(); }
void LoadOptionalFormProperty(WndForm &form, const TCHAR *control_name, UnitGroup_t unit_group, fixed value) { assert(control_name != NULL); WndProperty *ctl = (WndProperty *)form.FindByName(control_name); if (ctl == NULL) return; Units_t unit = Units::GetUserUnitByGroup(unit_group); DataFieldFloat &df = *(DataFieldFloat *)ctl->GetDataField(); assert(df.GetType() == DataField::TYPE_REAL); df.SetUnits(Units::GetUnitName(unit)); df.SetAsInteger(iround(Units::ToUserUnit(fixed(value), unit))); ctl->RefreshDisplay(); }
void LoadFormProperty(WndForm &form, const TCHAR *control_name, const StaticEnumChoice *list, unsigned value) { assert(control_name != NULL); WndProperty *ctl = (WndProperty *)form.FindByName(control_name); assert(ctl != NULL); DataFieldEnum &df = *(DataFieldEnum *)ctl->GetDataField(); assert(df.GetType() == DataField::TYPE_ENUM); if (list[0].help != NULL) df.EnableItemHelp(true); df.AddChoices(list); df.Set(value); ctl->RefreshDisplay(); }
static void OnAcknowledgeClicked(WndButton* pWnd){ (void)pWnd; { ScopeLock guard(CAirspaceManager::Instance().MutexRef()); CAirspace* airspace = CAirspaceManager::Instance().GetAirspacesForDetails(); if(airspace) { if (airspace_copy.Enabled()) { CAirspaceManager::Instance().AirspaceDisable(*airspace); } else { CAirspaceManager::Instance().AirspaceEnable(*airspace); } } } WndForm* wf = pWnd->GetParentWndForm(); if(wf) { WndFrame *wPicto = ((WndFrame *)wf->FindByName(TEXT("frmAirspacePicto"))); if(wPicto) { wPicto->Redraw(); } SetValues(wf); } PlayResource(TEXT("IDR_WAV_CLICK")); }
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; }
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; }