本文整理汇总了C++中InfoBoxData::UnsafeFormatComment方法的典型用法代码示例。如果您正苦于以下问题:C++ InfoBoxData::UnsafeFormatComment方法的具体用法?C++ InfoBoxData::UnsafeFormatComment怎么用?C++ InfoBoxData::UnsafeFormatComment使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类InfoBoxData
的用法示例。
在下文中一共展示了InfoBoxData::UnsafeFormatComment方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
void
InfoBoxContentOLCSpeed::Update(InfoBoxData &data)
{
const ComputerSettings &settings_computer =
CommonInterface::GetComputerSettings();
if (!settings_computer.contest.enable || !protected_task_manager) {
data.SetInvalid();
return;
}
int result_index =
(settings_computer.contest.contest == Contest::OLC_LEAGUE) ? 0 : -1;
const ContestResult& result_olc =
CommonInterface::Calculated().contest_stats.GetResult(result_index);
if (result_olc.score < fixed(1)) {
data.SetInvalid();
return;
}
// Set Value
data.SetValueFromSpeed(result_olc.GetSpeed());
data.UnsafeFormatComment(_T("%.1f pts"), (double)result_olc.score);
}
示例2: iround
void
InfoBoxContentFlightLevel::Update(InfoBoxData &data)
{
const NMEAInfo &basic = CommonInterface::Basic();
const ComputerSettings &settings_computer =
CommonInterface::GetComputerSettings();
if (basic.pressure_altitude_available) {
fixed Altitude = Units::ToUserUnit(basic.pressure_altitude, Unit::FEET);
// Title color black
data.SetTitleColor(0);
// Set Value
data.UnsafeFormatValue(_T("%03d"), iround(Altitude / 100));
// Set Comment
data.UnsafeFormatComment(_T("%dft"), iround(Altitude));
} else if (basic.gps_altitude_available &&
settings_computer.pressure_available) {
// Take gps altitude as baro altitude. This is inaccurate but still fits our needs.
const AtmosphericPressure &qnh = settings_computer.pressure;
fixed Altitude = Units::ToUserUnit(qnh.QNHAltitudeToPressureAltitude(basic.gps_altitude), Unit::FEET);
// Title color red
data.SetTitleColor(1);
// Set Value
data.UnsafeFormatValue(_T("%03d"), iround(Altitude / 100));
// Set Comment
data.UnsafeFormatComment(_T("%dft"), iround(Altitude));
} else if ((basic.baro_altitude_available || basic.gps_altitude_available) &&
!settings_computer.pressure_available) {
data.SetInvalid();
data.SetComment(_("no QNH"));
} else {
data.SetInvalid();
}
}
示例3:
void
UpdateInfoBoxTimeUTC(InfoBoxData &data)
{
const NMEAInfo &basic = CommonInterface::Basic();
if (!basic.time_available) {
data.SetInvalid();
return;
}
// Set Value
const BrokenDateTime t = basic.date_time_utc;
data.UnsafeFormatValue(_T("%02d:%02d"), t.hour, t.minute);
// Set Comment
data.UnsafeFormatComment(_T("%02d"), t.second);
}
示例4: FormatLocalTimeHHMM
void
UpdateInfoBoxTimeLocal(InfoBoxData &data)
{
const NMEAInfo &basic = CommonInterface::Basic();
const ComputerSettings &settings = CommonInterface::GetComputerSettings();
if (!basic.time_available) {
data.SetInvalid();
return;
}
// Set Value
FormatLocalTimeHHMM(data.value.buffer(), (int)basic.time,
settings.utc_offset);
// Set Comment
data.UnsafeFormatComment(_T("%02u"), basic.date_time_utc.second);
}
示例5: DetectCurrentTime
void
InfoBoxContentFinalETA::Update(InfoBoxData &data)
{
const TaskStats &task_stats = XCSoarInterface::Calculated().task_stats;
if (!task_stats.task_valid || !task_stats.total.IsAchievable()) {
data.SetInvalid();
return;
}
int dd = (int)task_stats.total.solution_remaining.time_elapsed +
DetectCurrentTime(XCSoarInterface::Basic());
const BrokenTime t = BrokenTime::FromSecondOfDayChecked(abs(dd));
// Set Value
data.UnsafeFormatValue(_T("%02u:%02u"), t.hour, t.minute);
// Set Comment
data.UnsafeFormatComment(_T("%02u"), t.second);
}
示例6: unsigned
void
UpdateInfoBoxFinalETA(InfoBoxData &data)
{
const TaskStats &task_stats = CommonInterface::Calculated().task_stats;
const BrokenTime &now_local = CommonInterface::Calculated().date_time_local;
if (!task_stats.task_valid || !task_stats.total.IsAchievable() ||
!now_local.IsPlausible()) {
data.SetInvalid();
return;
}
const BrokenTime t = now_local +
unsigned(task_stats.total.solution_remaining.time_elapsed);
// Set Value
data.UnsafeFormatValue(_T("%02u:%02u"), t.hour, t.minute);
// Set Comment
data.UnsafeFormatComment(_T("%02u"), t.second);
}
示例7:
void
InfoBoxContentOLC::Update(InfoBoxData &data)
{
if (!XCSoarInterface::GetComputerSettings().task.enable_olc ||
!protected_task_manager) {
data.SetInvalid();
return;
}
const ContestResult& result_olc =
XCSoarInterface::Calculated().contest_stats.GetResult();
if (result_olc.score < fixed_one) {
data.SetInvalid();
return;
}
// Set Value
data.SetValueFromDistance(result_olc.distance);
data.UnsafeFormatComment(_T("%.1f pts"), (double)result_olc.score);
}
示例8: switch
void
UpdateInfoBoxBattery(InfoBoxData &data)
{
#ifdef HAVE_BATTERY
bool DisplaySupplyVoltageAsValue=false;
switch (Power::External::Status) {
case Power::External::OFF:
if (CommonInterface::Basic().battery_level_available)
data.UnsafeFormatComment(_T("%s; %d%%"),
_("AC Off"),
(int)CommonInterface::Basic().battery_level);
else
data.SetComment(_("AC Off"));
break;
case Power::External::ON:
if (!CommonInterface::Basic().voltage_available)
data.SetComment(_("AC ON"));
else{
DisplaySupplyVoltageAsValue = true;
data.SetValueFromVoltage(CommonInterface::Basic().voltage);
}
break;
case Power::External::UNKNOWN:
default:
data.SetCommentInvalid();
}
#ifndef ANDROID
switch (Power::Battery::Status){
case Power::Battery::HIGH:
case Power::Battery::LOW:
case Power::Battery::CRITICAL:
case Power::Battery::CHARGING:
if (Power::Battery::RemainingPercentValid){
#endif
if (!DisplaySupplyVoltageAsValue)
data.SetValueFromPercent(Power::Battery::RemainingPercent);
else
data.SetCommentFromPercent(Power::Battery::RemainingPercent);
#ifndef ANDROID
}
else
if (!DisplaySupplyVoltageAsValue)
data.SetValueInvalid();
else
data.SetCommentInvalid();
break;
case Power::Battery::NOBATTERY:
case Power::Battery::UNKNOWN:
if (!DisplaySupplyVoltageAsValue)
data.SetValueInvalid();
else
data.SetCommentInvalid();
}
#endif
return;
#endif
if (CommonInterface::Basic().voltage_available) {
data.SetValueFromVoltage(CommonInterface::Basic().voltage);
return;
} else if (CommonInterface::Basic().battery_level_available) {
data.SetValueFromPercent(CommonInterface::Basic().battery_level);
return;
}
data.SetInvalid();
}