void
InputEvents::eventTaskTransition(const TCHAR *misc)
{
  if (protected_task_manager == NULL)
    return;

  if (StringIsEqual(misc, _T("start"))) {
    const StartStats &start_stats =
      CommonInterface::Calculated().ordered_task_stats.start;
    if (!start_stats.task_started)
      return;

    TCHAR TempAll[120];
    _stprintf(TempAll, _T("\r\n%s: %s\r\n%s:%s\r\n%s: %s"),
              _("Altitude"),
              FormatUserAltitude(start_stats.altitude).c_str(),
              _("Speed"),
              FormatUserSpeed(start_stats.ground_speed, true).c_str(),
              _("Time"),
              FormatLocalTimeHHMM((int)start_stats.time,
                                  CommonInterface::GetComputerSettings().utc_offset).c_str());
    Message::AddMessage(_("Task start"), TempAll);
  } else if (StringIsEqual(misc, _T("next"))) {
    Message::AddMessage(_("Next turnpoint"));
  } else if (StringIsEqual(misc, _T("finish"))) {
    Message::AddMessage(_("Task finished"));
  }
}
Beispiel #2
0
void
InputEvents::eventTaskTransition(const TCHAR *misc)
{
  if (protected_task_manager == NULL)
    return;

  if (StringIsEqual(misc, _T("start"))) {
    AircraftState start_state = protected_task_manager->GetStartState();

    TCHAR TempTime[40];
    TCHAR TempAlt[40];
    TCHAR TempSpeed[40];
    
    FormatSignedTimeHHMM(TempTime, (int)TimeLocal((int)start_state.time));
    FormatUserAltitude(start_state.altitude, TempAlt, true);
    FormatUserSpeed(start_state.ground_speed,TempSpeed, true);
    
    TCHAR TempAll[120];
    _stprintf(TempAll, _T("\r\nAltitude: %s\r\nSpeed:%s\r\nTime: %s"),
              TempAlt, TempSpeed, TempTime);
    Message::AddMessage(_("Task start"), TempAll);
  } else if (StringIsEqual(misc, _T("tp"))) {
    Message::AddMessage(_("Next turnpoint"));
  } else if (StringIsEqual(misc, _T("finish"))) {
    Message::AddMessage(_("Task finished"));
  } else if (StringIsEqual(misc, _T("ready"))) {
    Message::AddMessage(_("In sector, arm advance when ready"));
  }
}
Beispiel #3
0
gcc_const
static inline StringBuffer<TCHAR, 32>
FormatUserSpeed(double value, bool precision=true)
{
  StringBuffer<TCHAR, 32> buffer;
  FormatUserSpeed(value, buffer.data(), true, precision);
  return buffer;
}
Beispiel #4
0
void
InfoBoxData::SetCommentFromSpeed(fixed new_value, bool precision)
{
  FormatUserSpeed(new_value, comment.buffer(), true, precision);
}
Beispiel #5
0
void
InfoBoxData::SetValueFromSpeed(fixed new_value, bool precision)
{
  FormatUserSpeed(new_value, value.buffer(), false, precision);
  SetValueUnit(Units::current.speed_unit);
}