void
TaskDefaultsConfigPanel::OnModified(DataField &df)
{
    if (IsDataField(StartType, df))
        SetStartLabel();
    else if (IsDataField(FinishType, df))
        SetFinishLabel();
}
Example #2
0
void
TaskPropertiesPanel::OnModified(DataField &df)
{
  if (IsDataField(FAI_FINISH_HEIGHT, df))
    OnFAIFinishHeightChange((DataFieldBoolean &)df);
  else if (IsDataField(TASK_TYPE, df))
    OnTaskTypeChange((DataFieldEnum &)df);
}
void
MapDisplayConfigPanel::OnModified(DataField &df)
{
    if (IsDataField(OrientationCruise, df) ||
            IsDataField(OrientationCircling, df) ||
            IsDataField(MapShiftBias, df)) {
        UpdateVisibilities();
    }
}
Example #4
0
void
DeviceEditWidget::OnModified(DataField &df)
{
  if (IsDataField(Port, df) || IsDataField(Driver, df) ||
      IsDataField(K6Bt, df))
    UpdateVisibilities();

  if (listener != NULL)
    listener->OnModified(*this);
}
void
TrackingConfigPanel::OnModified(DataField &df)
{
    if (IsDataField(SL_ENABLED, df)) {
        const DataFieldBoolean &dfb = (const DataFieldBoolean &)df;
        SetSkyLinesEnabled(dfb.GetAsBoolean());
    } else if (IsDataField(LT24Enabled, df)) {
        const DataFieldBoolean &dfb = (const DataFieldBoolean &)df;
        SetEnabled(dfb.GetAsBoolean());
    }
}
void
AirspaceConfigPanel::OnModified(DataField &df)
{
  if (IsDataField(AirspaceDisplay, df)) {
    const DataFieldEnum &dfe = (const DataFieldEnum &)df;
    AirspaceDisplayMode mode = (AirspaceDisplayMode)dfe.GetValue();
    ShowDisplayControls(mode);
  } else if (IsDataField(AirspaceWarnings, df)) {
    const DataFieldBoolean &dfb = (const DataFieldBoolean &)df;
    ShowWarningControls(dfb.GetAsBoolean());
  }
}
Example #7
0
void
RouteConfigPanel::OnModified(DataField &df)
{
  if (IsDataField(RoutePlannerMode, df)) {
    RoutePlannerConfig::Mode mode =
      (RoutePlannerConfig::Mode)df.GetAsInteger();
    ShowRouteControls(mode != RoutePlannerConfig::Mode::NONE);
  } else if (IsDataField(TurningReach, df)) {
    RoutePlannerConfig::ReachMode mode =
      (RoutePlannerConfig::ReachMode)df.GetAsInteger();
    ShowReachControls(mode != RoutePlannerConfig::ReachMode::OFF);
  }
}
Example #8
0
void
TaskCalculatorPanel::OnModified(DataField &df)
{
  if (IsDataField(MC, df)) {
    const DataFieldFloat &dff = (const DataFieldFloat &)df;
    fixed mc = Units::ToSysVSpeed(dff.GetAsFixed());
    ActionInterface::SetManualMacCready(mc);
    Refresh();
  } else if (IsDataField(CRUISE_EFFICIENCY, df)) {
    const DataFieldFloat &dff = (const DataFieldFloat &)df;
    SetCruiseEfficiency(dff.GetAsFixed() / 100);
  }
}
Example #9
0
void
FlightSetupPanel::OnModified(DataField &df)
{
  if (IsDataField(Ballast, df)) {
    const DataFieldFloat &dff = (const DataFieldFloat &)df;
    SetBallastLitres(dff.GetAsFixed());
  } else if (IsDataField(Bugs, df)) {
    const DataFieldFloat &dff = (const DataFieldFloat &)df;
    SetBugs(fixed(1) - (dff.GetAsFixed() / 100));
  } else if (IsDataField(QNH, df)) {
    const DataFieldFloat &dff = (const DataFieldFloat &)df;
    SetQNH(Units::FromUserPressure(dff.GetAsFixed()));
  }
}
Example #10
0
void
RouteConfigPanel::OnModified(DataField &df)
{
  if (IsDataField(RoutePlannerMode, df)) {
    const DataFieldEnum &dfe = (const DataFieldEnum &)df;
    RoutePlannerConfig::Mode mode =
      (RoutePlannerConfig::Mode)dfe.GetValue();
    ShowRouteControls(mode != RoutePlannerConfig::Mode::NONE);
  } else if (IsDataField(TurningReach, df)) {
    const DataFieldEnum &dfe = (const DataFieldEnum &)df;
    RoutePlannerConfig::ReachMode mode =
      (RoutePlannerConfig::ReachMode)dfe.GetValue();
    ShowReachControls(mode != RoutePlannerConfig::ReachMode::OFF);
  }
}
Example #11
0
void
TaskCalculatorPanel::OnSpecial(DataField &df)
{
  if (IsDataField(MC, df)) {
    const DerivedInfo &calculated = CommonInterface::Calculated();
    if (positive(calculated.time_climb)) {
      fixed mc = calculated.total_height_gain / calculated.time_climb;
      DataFieldFloat &dff = (DataFieldFloat &)df;
      dff.Set(Units::ToUserVSpeed(mc));
      ActionInterface::SetManualMacCready(mc);
      Refresh();
    }
  } else if (IsDataField(CRUISE_EFFICIENCY, df)) {
    GetCruiseEfficiency();
  }
}
Example #12
0
  void OnModified(DataField &df) override {
    if (IsDataField(INFOBOX, df)) {
      const DataFieldEnum &dfe = (const DataFieldEnum &)df;
      SetCurrentInfoBox(dfe.GetValue());
    } else if (IsDataField(CONTENT, df)) {
      const DataFieldEnum &dfe = (const DataFieldEnum &)df;

      auto new_value = (InfoBoxFactory::Type)dfe.GetValue();
      if (new_value == data.contents[current_preview])
        return;

      changed = true;
      data.contents[current_preview] = new_value;
      previews[current_preview].Invalidate();
      RefreshEditContentDescription();
    }
  }
void
SymbolsConfigPanel::OnModified(DataField &df)
{
  if (IsDataField(Trail, df)) {
    TrailSettings::Length trail_length = (TrailSettings::Length)df.GetAsInteger();
    ShowTrailControls(trail_length != TrailSettings::Length::OFF);
  }
}
Example #14
0
void
GaugesConfigPanel::OnModified(DataField &df)
{
  if (IsDataField(FinalGlideBarDisplayModeControl, df)) {
    const DataFieldEnum &dfe = (const DataFieldEnum &)df;
    FinalGlideBarDisplayMode fgbdm = (FinalGlideBarDisplayMode)dfe.GetValue();
    SetRowVisible(EnableFinalGlideBarMC0, fgbdm != FinalGlideBarDisplayMode::OFF);
  }
}
Example #15
0
void
TimeConfigPanel::OnModified(DataField &df)
{
  if (IsDataField(UTCOffset, df)) {
    DataFieldFloat &df2 = (DataFieldFloat &)df;
    int ival = iround(df2.GetAsFixed() * 3600);
    SetLocalTime(ival);
  }
}
void
SymbolsConfigPanel::OnModified(DataField &df)
{
  if (IsDataField(TRAIL_LENGTH, df)) {
    const DataFieldEnum &dfe = (const DataFieldEnum &)df;
    TrailSettings::Length trail_length = (TrailSettings::Length)dfe.GetValue();
    ShowTrailControls(trail_length != TrailSettings::Length::OFF);
  }
}
Example #17
0
void
TrackingConfigPanel::OnModified(DataField &df)
{
#ifdef HAVE_SKYLINES_TRACKING
  if (IsDataField(SL_ENABLED, df)) {
    const DataFieldBoolean &dfb = (const DataFieldBoolean &)df;
    SetSkyLinesEnabled(dfb.GetAsBoolean());
    return;
  }
#endif

#ifdef HAVE_LIVETRACK24
  if (IsDataField(LT24Enabled, df)) {
    const DataFieldBoolean &dfb = (const DataFieldBoolean &)df;
    SetEnabled(dfb.GetAsBoolean());
  }
#endif
}
Example #18
0
void
TaskStatusPanel::OnModified(DataField &df)
{
  if (IsDataField(MC, df)) {
    const DataFieldFloat &dff = (const DataFieldFloat &)df;
    auto mc = Units::ToSysVSpeed(dff.GetAsFixed());
    ActionInterface::SetManualMacCready(mc);
    Refresh();
  }
}
void
TerrainDisplayConfigPanel::OnModified(DataField &df)
{
  if (IsDataField(EnableTerrain, df)) {
    const DataFieldBoolean &dfb = (const DataFieldBoolean &)df;
    terrain_settings.enable = dfb.GetAsBoolean();
    ShowTerrainControls();
  } else {
    UpdateTerrainPreview();
  }
}
Example #20
0
void
UnitsConfigPanel::OnModified(DataField &df)
{
  if (IsDataField(UnitsPreset, df)) {
    const DataFieldEnum &dfe = (const DataFieldEnum &)df;
    int result = dfe.GetValue();
    if (result > 0) {
      // First selection means not to load any preset.
      const UnitSetting &units = Units::Store::Read(result - 1);
      UpdateUnitFields(units);
    }
  } else
    PresetCheck();
}
void
TerrainDisplayConfigPanel::OnModified(DataField &df)
{
  if (IsDataField(EnableTerrain, df)) {
    const DataFieldBoolean &dfb = (const DataFieldBoolean &)df;
    terrain_settings.enable = dfb.GetAsBoolean();
    ShowTerrainControls();
  } else {
    terrain_settings.slope_shading = (SlopeShading)
      GetValueInteger(TerrainSlopeShading);
    terrain_settings.contrast = PercentToByte(GetValueInteger(TerrainContrast));
    terrain_settings.brightness =
      PercentToByte(GetValueInteger(TerrainBrightness));
    terrain_settings.ramp = GetValueInteger(TerrainColors);

    // Invalidate terrain preview
    if (terrain != NULL)
      ((WndOwnerDrawFrame &)GetRow(TerrainPreview)).Invalidate();
  }
}
Example #22
0
void
FlightSetupPanel::OnSpecial(DataField &df)
{
  if (IsDataField(Ballast, df))
    FlipBallastTimer();
}
Example #23
0
void
TimeConfigPanel::OnModified(DataField &df)
{
  if (IsDataField(UTCOffset, df))
    SetLocalTime(df.GetAsInteger());
}
Example #24
0
void
TimeConfigPanel::OnModified(DataField &df)
{
  if (IsDataField(UTCOffset, df))
    SetLocalTime(RoughTimeDelta::FromSeconds(df.GetAsInteger()));
}
Example #25
0
FIX::FieldBase Message::extractField( const std::string& string, std::string::size_type& pos, 
                                      const DataDictionary* pSessionDD /*= 0*/, const DataDictionary* pAppDD /*= 0*/, 
                                      const Group* pGroup /*= 0*/ )
{
  std::string::const_iterator const tagStart = string.begin() + pos;
  std::string::const_iterator const strEnd = string.end();

  std::string::const_iterator const equalSign = std::find( tagStart, strEnd, '=' );
  if( equalSign == strEnd )
    throw InvalidMessage("Equal sign not found in field");

  int field = 0;
  IntConvertor::convert( tagStart, equalSign, field );

  std::string::const_iterator const valueStart = equalSign + 1;

  std::string::const_iterator soh = std::find( valueStart, strEnd, '\001' );
  if ( soh == strEnd )
    throw InvalidMessage("SOH not found at end of field");

  if ( IsDataField( field, pSessionDD, pAppDD ) )
  {
    // Assume length field is 1 less.
    int lenField = field - 1;
    // Special case for Signature which violates above assumption.
    if ( field == FIELD::Signature ) lenField = FIELD::SignatureLength;

    if ( pGroup && pGroup->isSetField( lenField ) )
    {
      const std::string& fieldLength = pGroup->getField( lenField );
      soh = valueStart + atol( fieldLength.c_str() );
    }
    else
    {
      FIX::FieldMap *lenMap;
      if ( isHeaderField( lenField ) )
      {
          lenMap = &m_header;
      }
      else
      {
          lenMap = this;
      }
      if ( lenMap->isSetField( lenField ) )
      {
        const std::string& fieldLength = lenMap->getField( lenField );
        soh = valueStart + atol( fieldLength.c_str() );
      }
    }
  }

  std::string::const_iterator const tagEnd = soh + 1;
  pos = std::distance( string.begin(), tagEnd );

  return FieldBase (
    field,
    valueStart,
    soh,
    tagStart, 
    tagEnd );
}
void
WaypointDisplayConfigPanel::OnModified(DataField &df)
{
  if (IsDataField(AppUseSWLandablesRendering, df))
    UpdateVisibilities();
}
Example #27
0
void
PlaneEditWidget::OnModified(DataField &df)
{
  if (IsDataField(REGISTRATION, df))
    UpdateCaption();
}
Example #28
0
 /* virtual methods from DataFieldListener */
 void OnModified(DataField &df) override {
   if (IsDataField(ITEM, df))
     UpdateTimeControl();
   else if (IsDataField(TIME, df))
     OnTimeModified((const DataFieldEnum &)df);
 }