void SiteConfigPanel::Prepare(ContainerWindow &parent, const PixelRect &rc) { buttonWaypoints = ((WndButton *)ConfigPanel::GetForm().FindByName(_T("cmdWaypoints"))); assert (buttonWaypoints); buttonWaypoints->SetOnClickNotify(OnWaypoints); WndProperty *wp = Add(_T(""), 0, true); wp->SetText(GetPrimaryDataPath()); wp->SetEnabled(false); AddFileReader(_("Map database"), _("The name of the file (.xcm) containing terrain, topography, and optionally " "waypoints, their details and airspaces."), szProfileMapFile, _T("*.xcm\0*.lkm\0")); AddFileReader(_("Waypoints"), _("Primary waypoints file. Supported file types are Cambridge/WinPilot files (.dat), " "Zander files (.wpz) or SeeYou files (.cup)."), szProfileWaypointFile, _T("*.dat\0*.xcw\0*.cup\0*.wpz\0*.wpt\0")); AddFileReader(_("More waypoints"), _("Secondary waypoints file. This may be used to add waypoints for a competition."), szProfileAdditionalWaypointFile, _T("*.dat\0*.xcw\0*.cup\0*.wpz\0*.wpt\0")); SetExpertRow(AdditionalWaypointFile); AddFileReader(_("Watched waypoints"), _("Waypoint file containing special waypoints for which additional computations like " "calculation of arrival height in map display always takes place. Useful for " "waypoints like known reliable thermal sources (e.g. powerplants) or mountain passes."), szProfileWatchedWaypointFile, _T("*.dat\0*.xcw\0*.cup\0*.wpz\0*.wpt\0")); SetExpertRow(WatchedWaypointFile); AddFileReader(_("Airspaces"), _("The file name of the primary airspace file."), szProfileAirspaceFile, _T("*.txt\0*.air\0*.sua\0")); AddFileReader(_("More airspaces"), _("The file name of the secondary airspace file."), szProfileAdditionalAirspaceFile, _T("*.txt\0*.air\0*.sua\0")); SetExpertRow(AdditionalAirspaceFile); AddFileReader(_("Terrain file"), _("The name of the file containing digital elevation terrain data."), szProfileTerrainFile, _T("*.jp2\0")); SetExpertRow(TerrainFile); AddFileReader(_("Topography file"), _("Specifies the file defining the topographical features."), szProfileTopographyFile, _T("*.tpl\0")); SetExpertRow(TopographyFile); AddFileReader(_("Waypoint details"), _("The file may contain extracts from enroute supplements or other contributed " "information about individual waypoints and airfields."), szProfileAirfieldFile, _T("*.txt\0")); SetExpertRow(AirfieldFile); }
void SiteConfigPanel::Prepare(ContainerWindow &parent, const PixelRect &rc) { WndProperty *wp = Add(_T(""), 0, true); wp->SetText(GetPrimaryDataPath().c_str()); wp->SetEnabled(false); AddFile(_("Map database"), _("The name of the file (.xcm) containing terrain, topography, and optionally " "waypoints, their details and airspaces."), ProfileKeys::MapFile, _T("*.xcm\0*.lkm\0"), FileType::MAP); AddFile(_("Waypoints"), _("Primary waypoints file. Supported file types are Cambridge/WinPilot files (.dat), " "Zander files (.wpz) or SeeYou files (.cup)."), ProfileKeys::WaypointFile, WAYPOINT_FILE_PATTERNS, FileType::WAYPOINT); AddFile(_("More waypoints"), _("Secondary waypoints file. This may be used to add waypoints for a competition."), ProfileKeys::AdditionalWaypointFile, WAYPOINT_FILE_PATTERNS, FileType::WAYPOINT); SetExpertRow(AdditionalWaypointFile); AddFile(_("Watched waypoints"), _("Waypoint file containing special waypoints for which additional computations like " "calculation of arrival height in map display always takes place. Useful for " "waypoints like known reliable thermal sources (e.g. powerplants) or mountain passes."), ProfileKeys::WatchedWaypointFile, WAYPOINT_FILE_PATTERNS, FileType::WAYPOINT); SetExpertRow(WatchedWaypointFile); AddFile(_("Airspaces"), _("The file name of the primary airspace file."), ProfileKeys::AirspaceFile, _T("*.txt\0*.air\0*.sua\0"), FileType::AIRSPACE); AddFile(_("More airspaces"), _("The file name of the secondary airspace file."), ProfileKeys::AdditionalAirspaceFile, _T("*.txt\0*.air\0*.sua\0"), FileType::AIRSPACE); SetExpertRow(AdditionalAirspaceFile); AddFile(_("Waypoint details"), _("The file may contain extracts from enroute supplements or other contributed " "information about individual waypoints and airfields."), ProfileKeys::AirfieldFile, _T("*.txt\0")); SetExpertRow(AirfieldFile); }
void WindSettingsPanel::Prepare(ContainerWindow &parent, const PixelRect &rc) { RowFormWidget::Prepare(parent, rc); const NMEAInfo &basic = CommonInterface::Basic(); const WindSettings &settings = CommonInterface::GetComputerSettings().wind; const MapSettings &map_settings = CommonInterface::GetMapSettings(); static gcc_constexpr_data StaticEnumChoice auto_wind_list[] = { { AUTOWIND_NONE, N_("Manual"), N_("When the algorithm is switched off, the pilot is responsible for setting the wind estimate.") }, { AUTOWIND_CIRCLING, N_("Circling"), N_("Requires only a GPS source.") }, { AUTOWIND_ZIGZAG, N_("ZigZag"), N_("Requires GPS and an intelligent vario with airspeed output.") }, { AUTOWIND_CIRCLING | AUTOWIND_ZIGZAG, N_("Both"), N_("Use ZigZag and circling.") }, { 0 } }; AddEnum(_("Auto wind"), _("This allows switching on or off the automatic wind algorithm."), auto_wind_list, settings.GetLegacyAutoWindMode()); AddBoolean(_("External wind"), _("If enabled, then the wind vector received from external devices overrides " "XCSoar's internal wind calculation."), settings.use_external_wind); AddBoolean(_("Trail drift"), _("Determines whether the snail trail is drifted with the wind " "when displayed in circling mode."), map_settings.trail_drift_enabled); if (edit_manual_wind) { external_wind = settings.use_external_wind && basic.external_wind_available; SpeedVector manual_wind = CommonInterface::Calculated().GetWindOrZero(); WndProperty *wp = AddFloat(_("Speed"), _("Manual adjustment of wind speed."), _T("%.0f %s"), _T("%.0f"), fixed_zero, Units::ToUserWindSpeed(Units::ToSysUnit(fixed(200), Unit::KILOMETER_PER_HOUR)), fixed_one, false, Units::ToUserWindSpeed(manual_wind.norm)); wp->SetEnabled(!external_wind); DataFieldFloat &df = *(DataFieldFloat *)wp->GetDataField(); df.SetUnits(Units::GetWindSpeedName()); wp->RefreshDisplay(); wp = AddFloat(_("Direction"), _("Manual adjustment of wind direction."), _T("%.0f°"), _T("%.0f"), fixed_zero, fixed(355), fixed(5), false, manual_wind.bearing.Degrees()); wp->SetEnabled(!external_wind); } }