Exemplo n.º 1
0
static void
PrepareData(void)
{
  TCHAR sTmp[15];

  filter_data.name[0] = _T('\0');

  wbName->SetCaption(_T("*"));

  if (wpDistance) {  // initialize datafieldenum for Distance
    DataFieldEnum* dfe;
    dfe = (DataFieldEnum*)wpDistance->GetDataField();
    dfe->addEnumText(_T("*"));
    for (unsigned i = 1; i < sizeof(DistanceFilter) / sizeof(DistanceFilter[0]); i++) {
      _stprintf(sTmp, _T("%.0f%s"),
                (double)DistanceFilter[i],
                Units::GetDistanceName());
      dfe->addEnumText(sTmp);
    }
    dfe->SetAsInteger(filter_data.distance_index);
    wpDistance->RefreshDisplay();
  }

  InitializeDirection(false);

  if (wpType) {  // initialize datafieldenum for Type
    DataFieldEnum* dfe;
    dfe = (DataFieldEnum*)wpType->GetDataField();
    dfe->addEnumTexts(TypeFilter);
    dfe->SetAsInteger(filter_data.type_index);
    wpType->RefreshDisplay();
  }
}
Exemplo n.º 2
0
static void
OnTimerNotify(WindowControl * Sender)
{
  (void)Sender;
  if (filter_data.direction_index == 1) {
    Angle a = last_heading - XCSoarInterface::Basic().Heading;
    if (a.as_delta().magnitude_degrees() >= fixed_one) {
      UpdateList();
      InitializeDirection(true);
      wpDirection->RefreshDisplay();
    }
  }
}
Exemplo n.º 3
0
static void
OnTimerNotify(gcc_unused WndForm &sender)
{
  if (filter_data.direction_index == 1 && !XCSoarInterface::Calculated().circling) {
    Angle a = last_heading - CommonInterface::Calculated().heading;
    if (a.AsDelta().AbsoluteDegrees() >= fixed(60)) {
      last_heading = CommonInterface::Calculated().heading;
      UpdateList();
      InitializeDirection(true);
      direction_filter->RefreshDisplay();
    }
  }
}
Exemplo n.º 4
0
static void
OnTimerNotify(gcc_unused WndForm &sender)
{
  if (dialog_state.direction_index == 1 && !XCSoarInterface::Calculated().circling) {
    const Angle heading = CommonInterface::Basic().attitude.heading;
    Angle a = last_heading - heading;
    if (a.AsDelta().AbsoluteDegrees() >= fixed(60)) {
      last_heading = heading;
      UpdateList();
      InitializeDirection(true);
    }
  }
}
Exemplo n.º 5
0
static void
OnGPSUpdate(const MoreData &basic)
{
  if (dialog_state.direction_index == 1 &&
      !CommonInterface::Calculated().circling) {
    const Angle heading = basic.attitude.heading;
    Angle a = last_heading - heading;
    if (a.AsDelta().AbsoluteDegrees() >= fixed(60)) {
      last_heading = heading;
      UpdateList();
      InitializeDirection(true);
    }
  }
}
Exemplo n.º 6
0
static void
PrepareData()
{
  filter_data.name[0] = _T('\0');

  name_button->SetCaption(_T("*"));

  // initialize datafieldenum for Distance
  if (distance_filter) {
    DataFieldEnum* data_field = (DataFieldEnum*)distance_filter->GetDataField();
    data_field->addEnumText(_T("*"));

    TCHAR buffer[15];
    for (unsigned i = 1; i < ARRAY_SIZE(distance_filter_items); i++) {
      _stprintf(buffer, _T("%.0f%s"), (double)distance_filter_items[i],
                Units::GetDistanceName());
      data_field->addEnumText(buffer);
    }

    data_field->SetAsInteger(filter_data.distance_index);
    distance_filter->RefreshDisplay();
  }

  InitializeDirection(false);

  // initialize datafieldenum for Type
  if (type_filter) {
    DataFieldEnum* data_field = (DataFieldEnum*)type_filter->GetDataField();
    data_field->addEnumTexts(type_filter_items);

    const TCHAR *p = GetProfilePathBase(szProfileWaypointFile);
    if (p != NULL)
      data_field->replaceEnumText(TF_FILE_1, p);

    p = GetProfilePathBase(szProfileAdditionalWaypointFile);
    if (p != NULL)
      data_field->replaceEnumText(TF_FILE_2, p);

    data_field->SetAsInteger(filter_data.type_index);
    type_filter->RefreshDisplay();
  }
}
Exemplo n.º 7
0
static void
PrepareData()
{
  dialog_state.name.clear();

  UpdateNameButtonCaption();

  // initialize datafieldenum for Distance
  DataFieldEnum* data_field = (DataFieldEnum*)distance_filter->GetDataField();
  data_field->addEnumText(_T("*"));

  TCHAR buffer[15];
  for (unsigned i = 1; i < ARRAY_SIZE(distance_filter_items); i++) {
    FormatUserDistance(Units::ToSysDistance(fixed(distance_filter_items[i])),
                       buffer);
    data_field->addEnumText(buffer);
  }

  data_field->SetAsInteger(dialog_state.distance_index);
  distance_filter->RefreshDisplay();

  InitializeDirection(false);

  // initialize datafieldenum for Type
  data_field = (DataFieldEnum*)type_filter->GetDataField();
  data_field->addEnumTexts(type_filter_items);

  const TCHAR *p = Profile::GetPathBase(ProfileKeys::WaypointFile);
  if (p != NULL)
    data_field->replaceEnumText((unsigned)TypeFilter::FILE_1, p);

  p = Profile::GetPathBase(ProfileKeys::AdditionalWaypointFile);
  if (p != NULL)
    data_field->replaceEnumText((unsigned)TypeFilter::FILE_2, p);

  data_field->SetAsInteger((int)dialog_state.type_index);
  type_filter->RefreshDisplay();
}