本文整理汇总了C++中InfoBoxData::SetComment方法的典型用法代码示例。如果您正苦于以下问题:C++ InfoBoxData::SetComment方法的具体用法?C++ InfoBoxData::SetComment怎么用?C++ InfoBoxData::SetComment使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类InfoBoxData
的用法示例。
在下文中一共展示了InfoBoxData::SetComment方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
void
UpdateInfoBoxTeamBearingDiff(InfoBoxData &data)
{
const TeamCodeSettings &settings =
CommonInterface::GetComputerSettings().team_code;
const NMEAInfo &basic = CommonInterface::Basic();
const TrafficList &flarm = basic.flarm.traffic;
const TeamInfo &teamcode_info = CommonInterface::Calculated();
if (teamcode_info.teammate_available && basic.track_available) {
// Set Value
Angle Value = teamcode_info.teammate_vector.bearing - basic.track;
data.SetValueFromBearingDifference(Value);
} else
data.SetValueInvalid();
// Set Comment
if (!settings.team_flarm_id.IsDefined())
data.SetCommentInvalid();
else if (!StringIsEmpty(settings.team_flarm_callsign))
data.SetComment(settings.team_flarm_callsign);
else
data.SetComment(_T("???"));
if (flarm.FindTraffic(settings.team_flarm_id) != NULL)
data.SetCommentColor(2);
else
data.SetCommentColor(1);
}
示例2:
void
InfoBoxContentSpeedDolphin::Update(InfoBoxData &data)
{
// Set Value
const DerivedInfo &calculated = CommonInterface::Calculated();
data.SetValueFromSpeed(calculated.V_stf, false);
// Set Comment
if (XCSoarInterface::GetComputerSettings().features.block_stf_enabled)
data.SetComment(_("BLOCK"));
else
data.SetComment(_("DOLPHIN"));
}
示例3:
void
UpdateInfoBoxAltitudeNav(InfoBoxData &data)
{
const MoreData &basic = CommonInterface::Basic();
if (!basic.NavAltitudeAvailable()) {
data.SetInvalid();
if (basic.pressure_altitude_available)
data.SetComment(_("no QNH"));
return;
}
const ComputerSettings &settings_computer = CommonInterface::GetComputerSettings();
if (basic.baro_altitude_available &&
settings_computer.features.nav_baro_altitude_enabled)
data.SetTitle(InfoBoxFactory::GetCaption(InfoBoxFactory::e_H_Baro));
else
data.SetTitle(InfoBoxFactory::GetCaption(InfoBoxFactory::e_HeightGPS));
data.SetValueFromAltitude(basic.nav_altitude);
data.SetCommentFromAlternateAltitude(basic.nav_altitude);
}
示例4: fixed
void
InfoBoxContentTaskTimeUnderMaxHeight::Update(InfoBoxData &data)
{
const CommonStats &common_stats = XCSoarInterface::Calculated().common_stats;
const TaskStats &task_stats = XCSoarInterface::Calculated().task_stats;
const fixed maxheight = fixed(protected_task_manager->
GetOrderedTaskBehaviour().start_max_height);
if (!task_stats.task_valid || !positive(maxheight)
|| !protected_task_manager
|| !positive(common_stats.TimeUnderStartMaxHeight)) {
data.SetInvalid();
return;
}
const int dd = (int)(XCSoarInterface::Basic().time -
common_stats.TimeUnderStartMaxHeight);
TCHAR value[32];
TCHAR comment[32];
FormatTimeTwoLines(value, comment, dd);
data.SetValue(value);
data.SetComment(_("Time Below"));
}
示例5:
void
InfoBoxContentFinalETEVMG::Update(InfoBoxData &data)
{
const NMEAInfo &basic = CommonInterface::Basic();
const TaskStats &task_stats = CommonInterface::Calculated().task_stats;
if (!basic.ground_speed_available || task_stats.task_valid ||
task_stats.total.remaining.IsDefined()) {
data.SetInvalid();
return;
}
const fixed d = task_stats.total.remaining.get_distance();
const fixed &v = basic.ground_speed;
if (!task_stats.task_valid ||
!positive(d) ||
!positive(v)) {
data.SetInvalid();
return;
}
TCHAR HHMMSSsmart[32];
TCHAR SSsmart[32];
const int dd = (int)(d/v);
Units::TimeToTextSmart(HHMMSSsmart, SSsmart, dd);
data.SetValue(HHMMSSsmart);
data.SetComment(SSsmart);
}
示例6: assert
void
UpdateInfoBoxTaskAATimeDelta(InfoBoxData &data)
{
const auto &calculated = CommonInterface::Calculated();
const TaskStats &task_stats = calculated.ordered_task_stats;
const CommonStats &common_stats = calculated.common_stats;
if (!task_stats.has_targets ||
!task_stats.total.IsAchievable()) {
data.SetInvalid();
return;
}
assert(!negative(task_stats.total.time_remaining_start));
fixed diff = task_stats.total.time_remaining_start -
common_stats.aat_time_remaining;
TCHAR value[32];
TCHAR comment[32];
const int dd = abs((int)diff);
FormatTimeTwoLines(value, comment, dd);
data.UnsafeFormatValue(negative(diff) ? _T("-%s") : _T("%s"), value);
data.SetComment(comment);
// Set Color (red/blue/black)
data.SetValueColor(negative(diff) ? 1 :
task_stats.total.time_remaining_start >
common_stats.aat_time_remaining + fixed(5*60) ? 2 : 0);
}
示例7: assert
void
InfoBoxContentTaskAATimeDelta::Update(InfoBoxData &data)
{
const TaskStats &task_stats = XCSoarInterface::Calculated().task_stats;
const CommonStats &common_stats = XCSoarInterface::Calculated().common_stats;
if (!common_stats.ordered_has_targets ||
!task_stats.task_valid || !task_stats.total.IsAchievable()) {
data.SetInvalid();
return;
}
assert(!negative(task_stats.total.time_remaining));
fixed diff = task_stats.total.time_remaining -
common_stats.aat_time_remaining;
TCHAR HHMMSSsmart[32];
TCHAR SSsmart[32];
const int dd = abs((int)diff);
Units::TimeToTextSmart(HHMMSSsmart, SSsmart, dd);
data.UnsafeFormatValue(negative(diff) ? _T("-%s") : _T("%s"), HHMMSSsmart);
data.SetComment(SSsmart);
// Set Color (red/blue/black)
data.SetValueColor(negative(diff) ? 1 :
task_stats.total.time_remaining >
common_stats.aat_time_remaining + fixed(5*60) ? 2 : 0);
}
示例8: fixed
void
UpdateInfoBoxTaskTimeUnderMaxHeight(InfoBoxData &data)
{
const auto &calculated = CommonInterface::Calculated();
const TaskStats &task_stats = calculated.ordered_task_stats;
const CommonStats &common_stats = calculated.common_stats;
const fixed maxheight = fixed(protected_task_manager->
GetOrderedTaskSettings().start_constraints.max_height);
if (!task_stats.task_valid || !positive(maxheight)
|| !protected_task_manager
|| !positive(common_stats.TimeUnderStartMaxHeight)) {
data.SetInvalid();
return;
}
const int dd = (int)(CommonInterface::Basic().time -
common_stats.TimeUnderStartMaxHeight);
TCHAR value[32];
TCHAR comment[32];
FormatTimeTwoLines(value, comment, dd);
data.SetValue(value);
data.SetComment(_("Time Below"));
}
示例9: FormatTimeTwoLines
void
UpdateInfoBoxFinalETEVMG(InfoBoxData &data)
{
const NMEAInfo &basic = CommonInterface::Basic();
const TaskStats &task_stats = CommonInterface::Calculated().task_stats;
if (!basic.ground_speed_available || !task_stats.task_valid ||
!task_stats.total.remaining.IsDefined()) {
data.SetInvalid();
return;
}
const fixed d = task_stats.total.remaining.GetDistance();
const fixed v = basic.ground_speed;
if (!task_stats.task_valid ||
!positive(d) ||
!positive(v)) {
data.SetInvalid();
return;
}
TCHAR value[32];
TCHAR comment[32];
const int dd = (int)(d/v);
FormatTimeTwoLines(value, comment, dd);
data.SetValue(value);
data.SetComment(comment);
}
示例10: vector
void
UpdateInfoBoxNextDistanceNominal(InfoBoxData &data)
{
const Waypoint* way_point = protected_task_manager != NULL
? protected_task_manager->GetActiveWaypoint()
: NULL;
if (!way_point) {
data.SetInvalid();
return;
}
const NMEAInfo &basic = CommonInterface::Basic();
const TaskStats &task_stats = CommonInterface::Calculated().task_stats;
if (!task_stats.task_valid || !basic.location_available) {
data.SetInvalid();
return;
}
const GeoVector vector(basic.location, way_point->location);
if (!vector.IsValid()) {
data.SetInvalid();
return;
}
// Set Value
data.SetValueFromDistance(vector.distance);
data.SetValueColor(task_stats.inside_oz ? 3 : 0);
data.SetComment(vector.bearing);
}
示例11: if
void
UpdateInfoBoxNbrSat(InfoBoxData &data)
{
const NMEAInfo &basic = CommonInterface::Basic();
const GPSState &gps = basic.gps;
data.SetComment(gettext(GetGPSStatus(basic)));
if (!basic.alive)
data.SetComment(_("No GPS"));
else if (gps.satellites_used_available) {
// known number of sats
data.FormatValue(_T("%u"), gps.satellites_used);
} else {
// valid but unknown number of sats
data.SetValueInvalid();
}
}
示例12: arrival_s
void
UpdateInfoBoxStartOpenArrival(InfoBoxData &data)
{
const NMEAInfo &basic = CommonInterface::Basic();
const auto &calculated = CommonInterface::Calculated();
const TaskStats &task_stats = calculated.ordered_task_stats;
const GlideResult ¤t_remaining =
task_stats.current_leg.solution_remaining;
const CommonStats &common_stats = CommonInterface::Calculated().common_stats;
const RoughTimeSpan &open = common_stats.start_open_time_span;
/* reset color that may have been set by a previous call */
data.SetValueColor(0);
if (!basic.time_available || !task_stats.task_valid ||
common_stats.ordered_summary.active != 0 ||
!open.IsDefined() ||
!current_remaining.IsOk()) {
data.SetInvalid();
return;
}
const unsigned arrival_s(basic.time + current_remaining.time_elapsed);
const RoughTime arrival = RoughTime::FromSecondOfDayChecked(arrival_s);
if (open.HasEnded(arrival)) {
data.SetValueInvalid();
data.SetComment(_("Closed"));
} else if (open.HasBegun(arrival)) {
if (open.GetEnd().IsValid()) {
unsigned seconds = SecondsUntil(arrival_s, open.GetEnd());
data.UnsafeFormatValue(_T("%02u:%02u"), seconds / 60, seconds % 60);
data.SetValueColor(3);
} else
data.SetValueInvalid();
data.SetComment(_("Open"));
} else {
unsigned seconds = SecondsUntil(arrival_s, open.GetStart());
data.UnsafeFormatValue(_T("%02u:%02u"), seconds / 60, seconds % 60);
data.SetValueColor(2);
data.SetComment(_("Waiting"));
}
}
示例13: FindNearestVerticalAirspace
void
InfoBoxContentNearestAirspaceVertical::Update(InfoBoxData &data)
{
NearestAirspace nearest = FindNearestVerticalAirspace();
if (!nearest.IsDefined()) {
data.SetInvalid();
return;
}
data.SetValueFromArrival(nearest.distance);
data.SetComment(nearest.airspace->GetName());
}
示例14: FormatUserVerticalSpeed
void
InfoBoxContentSpark::SetVSpeedComment(InfoBoxData &data,
const TraceVariableHistory &var)
{
if (var.empty())
return;
TCHAR sTmp[32];
FormatUserVerticalSpeed(var.last(), sTmp,
ARRAY_SIZE(sTmp));
data.SetComment(sTmp);
data.SetCustom();
}
示例15: FormatUserAltitude
void
InfoBoxContentBarogram::Update(InfoBoxData &data)
{
const MoreData &basic = CommonInterface::Basic();
TCHAR sTmp[32];
if (basic.NavAltitudeAvailable()) {
FormatUserAltitude(basic.nav_altitude, sTmp,
ARRAY_SIZE(sTmp));
data.SetComment(sTmp);
} else
data.SetCommentInvalid();
data.SetCustom();
}