Ejemplo n.º 1
0
void
Profile::Load(UISettings &settings)
{
  Load(settings.display);

  Get(szProfileMenuTimeout, settings.menu_timeout);

  Get(szProfileUseCustomFonts, settings.custom_fonts);

  Get(szProfileEnableTAGauge, settings.enable_thermal_assistant_gauge);
  Get(szProfileEnableFinalGlideBarMC0, settings.final_glide_bar_mc0_enabled);

  GetEnum(szProfileAppStatusMessageAlignment, settings.popup_message_position);

  GetEnum(szProfileHapticFeedback, settings.haptic_feedback);

  GetEnum(szProfileLatLonUnits, settings.coordinate_format);

  LoadUnits(settings.units);
  Load(settings.map);
  Load(settings.info_boxes);
  Load(settings.vario);
  Load(settings.traffic);
  Load(settings.pages);
  Load(settings.dialog);
}
EntityFactory::EntityFactory()
{
	LoadUnits(UNIT_DEFINITION);
	LoadDecors(DECOR_DEFINITION);
	Item::InitBehaviors();
	LoadItems(ITEM_DEFINITION);
}
Ejemplo n.º 3
0
void
Profile::Load(FormatSettings &settings)
{
  GetEnum(ProfileKeys::LatLonUnits, settings.coordinate_format);
  LoadUnits(settings.units);
}
Ejemplo n.º 4
0
void
Profile::Use()
{
  unsigned Temp = 0;

  LogStartUp(_T("Read registry settings"));

  OrderedTaskBehaviour &osettings_task = 
    XCSoarInterface::SetSettingsComputer().ordered_defaults;

  TaskBehaviour &settings_task = 
    XCSoarInterface::SetSettingsComputer();

  Get(szProfileFinishMinHeight,
		  osettings_task.finish_min_height);
  Get(szProfileStartHeightRef,
		  osettings_task.start_max_height_ref);
  Get(szProfileStartMaxHeight,
		  osettings_task.start_max_height);
  Get(szProfileStartMaxSpeed,
		  osettings_task.start_max_speed);

  Get(szProfileStartMaxHeightMargin,
		  settings_task.start_max_height_margin);
  Get(szProfileStartMaxSpeedMargin,
		  settings_task.start_max_speed_margin);

  unsigned sdtemp = 0;
  Get(szProfileStartType, sdtemp);
  settings_task.sector_defaults.start_type =
      (AbstractTaskFactory::LegalPointType_t)sdtemp;
  Get(szProfileStartRadius,
      settings_task.sector_defaults.start_radius);

  Get(szProfileTurnpointType, sdtemp);
      settings_task.sector_defaults.turnpoint_type =
          (AbstractTaskFactory::LegalPointType_t)sdtemp;
  Get(szProfileTurnpointRadius,
      settings_task.sector_defaults.turnpoint_radius);

  Get(szProfileFinishType, sdtemp);
      settings_task.sector_defaults.finish_type =
          (AbstractTaskFactory::LegalPointType_t)sdtemp;
  Get(szProfileFinishRadius,
      settings_task.sector_defaults.finish_radius);

  Get(szProfileTaskType, sdtemp);
      settings_task.task_type_default =
          (TaskBehaviour::Factory_t)sdtemp;

  Get(szProfileAATMinTime,
      osettings_task.aat_min_time);

  Get(szProfileAATTimeMargin,
      settings_task.optimise_targets_margin);

  LoadUnits();
  Profile::GetInfoBoxManagerConfig(infoBoxManagerConfig);

  SETTINGS_MAP &settings_map = XCSoarInterface::SetSettingsMap();

  bool orientation_found = false;

  Temp = NORTHUP;
  if (Get(szProfileOrientationCircling, Temp))
    orientation_found = true;

  switch (Temp) {
  case TRACKUP:
    settings_map.OrientationCircling = TRACKUP;
    break;
  case NORTHUP:
    settings_map.OrientationCircling = NORTHUP;
    break;
  case TARGETUP:
    settings_map.OrientationCircling = TARGETUP;
    break;
  }

  Temp = NORTHUP;
  if (Get(szProfileOrientationCruise, Temp))
    orientation_found = true;

  switch (Temp) {
  case TRACKUP:
    settings_map.OrientationCruise = TRACKUP;
    break;
  case NORTHUP:
    settings_map.OrientationCruise = NORTHUP;
    break;
  case TARGETUP:
    settings_map.OrientationCruise = TARGETUP;
    break;
  }

  if (!orientation_found) {
    Temp = 1;
    Get(szProfileDisplayUpValue, Temp);
    switch (Temp) {
    case 0:
      settings_map.OrientationCruise = TRACKUP;
      settings_map.OrientationCircling = TRACKUP;
      break;
    case 1:
      settings_map.OrientationCruise = NORTHUP;
      settings_map.OrientationCircling = NORTHUP;
      break;
    case 2:
      settings_map.OrientationCruise = TRACKUP;
      settings_map.OrientationCircling = NORTHUP;
      break;
    case 3:
      settings_map.OrientationCruise = TRACKUP;
      settings_map.OrientationCircling = TARGETUP;
      break;
    case 4:
      settings_map.OrientationCruise = NORTHUP;
      settings_map.OrientationCircling = TRACKUP;
      break;
    }
  }

  GetEnum(szProfileMapShiftBias, settings_map.MapShiftBias);

  settings_map.waypoint.LoadFromProfile();

  SETTINGS_COMPUTER &settings_computer =
    XCSoarInterface::SetSettingsComputer();

  Get(szProfileSafetyAltitudeArrival,
      settings_computer.safety_height_arrival);
  Get(szProfileSafetyAltitudeTerrain,
      settings_computer.route_planner.safety_height_terrain);

  LoadAirspaceConfig();

  GetEnum(szProfileSnailTrail, settings_map.trail_length);

  Get(szProfileTrailDrift,
      settings_map.EnableTrailDrift);

  Get(szProfileDetourCostMarker,
      settings_map.EnableDetourCostMarker);

  GetEnum(szProfileDisplayTrackBearing, settings_map.DisplayTrackBearing);

  Get(szProfileDrawTopography,
      settings_map.EnableTopography);

  LoadTerrainRendererSettings(settings_map.terrain);

  GetEnum(szProfileFinalGlideTerrain,
          settings_computer.FinalGlideTerrain);

  Get(szProfileAutoWind,
      settings_computer.AutoWindMode);

  Get(szProfileExternalWind,
      settings_computer.ExternalWind);

  Get(szProfileCircleZoom,
      settings_map.CircleZoom);

  Get(szProfileMaxAutoZoomDistance,
      settings_map.MaxAutoZoomDistance);

  Get(szProfileHomeWaypoint,
      settings_computer.HomeWaypoint);

  settings_computer.HomeLocationAvailable =
    GetGeoPoint(szProfileHomeLocation, settings_computer.HomeLocation);

  Get(szProfileSnailWidthScale,
      settings_map.SnailScaling);

  GetEnum(szProfileSnailType, settings_map.SnailType);

  Get(szProfileTeamcodeRefWaypoint,
      settings_computer.TeamCodeRefWaypoint);

  Get(szProfileSoundVolume,
      settings_computer.SoundVolume);

  Get(szProfileSoundDeadband,
      settings_computer.SoundDeadband);

  Get(szProfileSoundAudioVario,
      settings_computer.EnableSoundVario);

  Get(szProfileSoundTask,
      settings_computer.EnableSoundTask);

  Get(szProfileSoundModes,
      settings_computer.EnableSoundModes);

#ifdef HAVE_BLANK
  Get(szProfileAutoBlank,
      settings_map.EnableAutoBlank);
#endif

  if (Get(szProfileAverEffTime, Temp))
    settings_computer.AverEffTime = Temp;

  Get(szProfileDebounceTimeout, XCSoarInterface::debounceTimeout);

  /* JMW broken
  if (Get(szProfileAccelerometerZero, Temp))
    AccelerometerZero = Temp;
  if (AccelerometerZero==0.0) {
    AccelerometerZero= 100.0;
    Temp = 100;
    Set(szProfileAccelerometerZero, Temp);
  }
  */

  // new appearance variables
 
  Get(szProfileAppInverseInfoBox,
		  Appearance.InverseInfoBox);

  GetEnum(szProfileAppInfoBoxBorder, Appearance.InfoBoxBorder);
  GetEnum(szProfileAppStatusMessageAlignment, Appearance.StateMessageAlign);
  GetEnum(szProfileAppTextInputStyle, Appearance.TextInputStyle);
  GetEnum(szProfileAppDialogTabStyle, Appearance.DialogTabStyle);
  GetEnum(szProfileAppDialogStyle, DialogStyleSetting);

  Get(szProfileAppInfoBoxColors,
		  Appearance.InfoBoxColors);

  Get(szProfileAutoMc, settings_computer.auto_mc);
  GetEnum(szProfileAutoMcMode, settings_computer.auto_mc_mode);

  if (GetEnum(szProfileOLCRules, settings_computer.contest))
  {
      if ( settings_computer.contest == OLC_Sprint )
        settings_computer.contest = OLC_League; // Handle out-dated Sprint rule in profile
  }

  Get(szProfileEnableExternalTriggerCruise,
      settings_computer.EnableExternalTriggerCruise);

  Get(szProfileUTCOffset,
      settings_computer.UTCOffset);
  if (settings_computer.UTCOffset > 12 * 3600)
    settings_computer.UTCOffset -= 24 * 3600;

  Get(szProfileBlockSTF,
      settings_computer.EnableBlockSTF);
  Get(szProfileAutoZoom,
      settings_map.AutoZoom);
  Get(szProfileMenuTimeout,
      XCSoarInterface::MenuTimeoutMax);
  Get(szProfileLoggerShort,
      settings_computer.LoggerShortName);
  Get(szProfileEnableFLARMMap,
      settings_map.EnableFLARMMap);
  Get(szProfileEnableFLARMGauge,
      settings_map.EnableFLARMGauge);
  Get(szProfileAutoCloseFlarmDialog,
      settings_map.AutoCloseFlarmDialog);
  Get(szProfileEnableTAGauge,
      settings_map.EnableTAGauge);
  Get(szProfileEnableThermalProfile,
      settings_map.EnableThermalProfile);

  Get(szProfileGliderScreenPosition,
      settings_map.GliderScreenPosition);
  Get(szProfileSetSystemTimeFromGPS,
      settings_map.SetSystemTimeFromGPS);
  Get(szProfileUseCustomFonts,
      Appearance.UseCustomFonts);
  Get(szProfileVoiceClimbRate,
      settings_computer.EnableVoiceClimbRate);
  Get(szProfileVoiceTerrain,
      settings_computer.EnableVoiceTerrain);
  Get(szProfileVoiceWaypointDistance,
      settings_computer.EnableVoiceWaypointDistance);
  Get(szProfileVoiceTaskAltitudeDifference,
      settings_computer.EnableVoiceTaskAltitudeDifference);
  Get(szProfileVoiceMacCready,
      settings_computer.EnableVoiceMacCready);
  Get(szProfileVoiceNewWaypoint,
      settings_computer.EnableVoiceNewWaypoint);
  Get(szProfileVoiceInSector,
      settings_computer.EnableVoiceInSector);
  Get(szProfileVoiceAirspace,
      settings_computer.EnableVoiceAirspace);
  Get(szProfileEnableNavBaroAltitude,
      settings_computer.EnableNavBaroAltitude);
  Get(szProfileLoggerTimeStepCruise,
      settings_computer.LoggerTimeStepCruise);
  Get(szProfileLoggerTimeStepCircling,
      settings_computer.LoggerTimeStepCircling);

  if (Get(szProfileSafetyMacCready, Temp))
    settings_computer.safety_mc = fixed(Temp) / 10;

  GetEnum(szProfileAbortTaskMode, settings_computer.abort_task_mode);

  GetEnum(szProfileRoutePlannerMode, settings_computer.route_planner.mode);

  Get(szProfileRoutePlannerAllowClimb,
      settings_computer.route_planner.allow_climb);

  Get(szProfileRoutePlannerUseCeiling,
      settings_computer.route_planner.use_ceiling);

  GetEnum(szProfileTurningReach,
          settings_computer.route_planner.reach_calc_mode);

  GetEnum(szProfileReachPolarMode,
          settings_computer.route_planner.reach_polar_mode);

  if (Get(szProfileRiskGamma, Temp))
    settings_computer.risk_gamma = fixed(Temp) / 10;

  if (Get(szProfileWindArrowStyle, Temp))
    settings_map.WindArrowStyle = Temp;

  Get(szProfileDisableAutoLogger,
      settings_computer.DisableAutoLogger);

  GetEnum(szProfileAircraftSymbol, Appearance.AircraftSymbol);
}
Ejemplo n.º 5
0
void
Profile::Load(const ProfileMap &map, FormatSettings &settings)
{
  map.GetEnum(ProfileKeys::LatLonUnits, settings.coordinate_format);
  LoadUnits(map, settings.units);
}