本文整理汇总了C++中StaticString::empty方法的典型用法代码示例。如果您正苦于以下问题:C++ StaticString::empty方法的具体用法?C++ StaticString::empty怎么用?C++ StaticString::empty使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类StaticString
的用法示例。
在下文中一共展示了StaticString::empty方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Visit
virtual void Visit(const TCHAR* path, const TCHAR* filename) {
time_t this_time = LogFileDate(current_year, filename);
if (oldest_path.empty() || oldest_time > this_time) {
oldest_time = this_time;
oldest_path = path;
}
}
示例2: LoadFlarmDatabases
void
InputEvents::eventFlarmDetails(gcc_unused const TCHAR *misc)
{
LoadFlarmDatabases();
StaticString<4> callsign;
callsign.clear();
if (!TextEntryDialog(CommonInterface::main_window, callsign,
_("Competition ID")) ||
callsign.empty())
return;
FlarmId ids[30];
unsigned count = FlarmDetails::FindIdsByCallSign(callsign, ids, 30);
if (count > 0) {
FlarmId id = dlgFlarmDetailsListShowModal(
XCSoarInterface::main_window, _("Show details:"), ids, count);
if (id.IsDefined())
dlgFlarmTrafficDetailsShowModal(id);
} else {
ShowMessageBox(_("Unknown competition number"),
_("Not found"), MB_OK | MB_ICONINFORMATION);
}
}
示例3: Visit
void Visit(Path path, Path filename) override {
time_t this_time = LogFileDate(current_year, filename.c_str());
if (oldest_path.empty() || oldest_time > this_time) {
oldest_time = this_time;
oldest_path = path.c_str();
}
}
示例4:
static void
_split(const StaticString &str, char sep, vector<OutputString> &output) {
output.clear();
if (!str.empty()) {
string::size_type start, pos;
start = 0;
while ((pos = str.find(sep, start)) != string::npos) {
output.push_back(str.substr(start, pos - start));
start = pos + 1;
}
output.push_back(str.substr(start));
}
}
示例5: openOomAdjFile
/**
* Linux-only way to change OOM killer configuration for
* current process. Requires root privileges, which we
* should have.
*/
static void
setOomScore(const StaticString &score) {
if (score.empty()) {
return;
}
FILE *f;
OomFileType type;
f = openOomAdjFile("w", type);
if (f != NULL) {
fwrite(score.data(), 1, score.size(), f);
fclose(f);
}
}
示例6:
bool
PopupMessage::Message::AppendTo(StaticString<2000> &buffer, unsigned now)
{
if (IsUnknown())
// ignore unknown messages
return false;
if (texpiry < now) {
texpiry = tstart - 1;
// reset expiry so we don't refresh
return false;
}
if (!buffer.empty())
buffer.append(_T("\r\n"));
buffer.append(text);
return true;
}
示例7: Visit
void Visit(const TCHAR *path, const TCHAR *filename) {
// Create a TaskFile instance to determine how many
// tasks are inside of this task file
TaskFile* task_file = TaskFile::Create(path);
if (task_file == NULL)
return;
// Get base name of the task file
const TCHAR* base_name = BaseName(path);
// Count the tasks in the task file
unsigned count = task_file->Count();
// For each task in the task file
for (unsigned i = 0; i < count; i++) {
// Copy base name of the file into task name
StaticString<256> name;
name = (base_name != NULL) ? base_name : path;
// If the task file holds more than one task
if (count > 1) {
if (i < task_file->namesuffixes.size() &&
task_file->namesuffixes[i]) {
name += _T(": ");
name += task_file->namesuffixes[i];
} else {
// .. append " - Task #[n]" suffix to the task name
name.AppendFormat(_T(": %s #%2d"), _("Task"), i + 1);
}
}
// Add the task to the TaskStore
store.push_back(TaskStore::Item(path, name.empty() ? path : name, i));
}
// Remove temporary TaskFile instance
delete task_file;
}
示例8: empty
bool empty() const {
return mode.empty();
}
示例9: if
void
GlueMapWindow::DrawMapScale(Canvas &canvas, const PixelRect &rc,
const MapWindowProjection &projection) const
{
if (!projection.IsValid())
return;
StaticString<80> buffer;
fixed map_width = projection.GetScreenWidthMeters();
const Font &font = *look.overlay_font;
canvas.Select(font);
FormatUserMapScale(map_width, buffer.buffer(), true);
PixelSize text_size = canvas.CalcTextSize(buffer);
const PixelScalar text_padding_x = Layout::GetTextPadding();
const PixelScalar height = font.GetCapitalHeight()
+ Layout::GetTextPadding();
PixelScalar x = 0;
look.map_scale_left_icon.Draw(canvas, 0, rc.bottom - height);
x += look.map_scale_left_icon.GetSize().cx;
canvas.DrawFilledRectangle(x, rc.bottom - height,
x + 2 * text_padding_x + text_size.cx,
rc.bottom, COLOR_WHITE);
canvas.SetBackgroundTransparent();
canvas.SetTextColor(COLOR_BLACK);
x += text_padding_x;
canvas.DrawText(x,
rc.bottom - font.GetAscentHeight() - Layout::Scale(1),
buffer);
x += text_padding_x + text_size.cx;
look.map_scale_right_icon.Draw(canvas, x, rc.bottom - height);
buffer.clear();
if (GetMapSettings().auto_zoom_enabled)
buffer = _T("AUTO ");
switch (follow_mode) {
case FOLLOW_SELF:
break;
case FOLLOW_PAN:
buffer += _T("PAN ");
break;
}
const UIState &ui_state = GetUIState();
if (ui_state.auxiliary_enabled) {
buffer += ui_state.panel_name;
buffer += _T(" ");
}
if (Basic().gps.replay)
buffer += _T("REPLAY ");
else if (Basic().gps.simulator) {
buffer += _("Simulator");
buffer += _T(" ");
}
if (GetComputerSettings().polar.ballast_timer_active)
buffer.AppendFormat(
_T("BALLAST %d LITERS "),
(int)GetComputerSettings().polar.glide_polar_task.GetBallastLitres());
if (weather != nullptr && weather->GetParameter() > 0) {
const TCHAR *label = weather->ItemLabel(weather->GetParameter());
if (label != nullptr)
buffer += label;
}
if (!buffer.empty()) {
int y = rc.bottom - height;
TextInBoxMode mode;
mode.vertical_position = TextInBoxMode::VerticalPosition::ABOVE;
mode.shape = LabelShape::OUTLINED;
TextInBox(canvas, buffer, 0, y, mode, rc, nullptr);
}
}
示例10: if
void
GlueMapWindow::DrawMapScale(Canvas &canvas, const PixelRect &rc,
const MapWindowProjection &projection) const
{
RenderMapScale(canvas, projection, rc, look.overlay);
if (!projection.IsValid())
return;
StaticString<80> buffer;
buffer.clear();
if (GetMapSettings().auto_zoom_enabled)
buffer = _T("AUTO ");
switch (follow_mode) {
case FOLLOW_SELF:
break;
case FOLLOW_PAN:
buffer += _T("PAN ");
break;
}
const UIState &ui_state = GetUIState();
if (ui_state.auxiliary_enabled) {
buffer += ui_state.panel_name;
buffer += _T(" ");
}
if (Basic().gps.replay)
buffer += _T("REPLAY ");
else if (Basic().gps.simulator) {
buffer += _("Simulator");
buffer += _T(" ");
}
if (GetComputerSettings().polar.ballast_timer_active)
buffer.AppendFormat(
_T("BALLAST %d LITERS "),
(int)GetComputerSettings().polar.glide_polar_task.GetBallastLitres());
if (rasp_renderer != nullptr) {
const TCHAR *label = rasp_renderer->GetLabel();
if (label != nullptr)
buffer += gettext(label);
}
if (!buffer.empty()) {
const Font &font = *look.overlay.overlay_font;
canvas.Select(font);
const unsigned height = font.GetCapitalHeight()
+ Layout::GetTextPadding();
int y = rc.bottom - height;
TextInBoxMode mode;
mode.vertical_position = TextInBoxMode::VerticalPosition::ABOVE;
mode.shape = LabelShape::OUTLINED;
TextInBox(canvas, buffer, 0, y, mode, rc, nullptr);
}
}
示例11: glide_state
void
WaypointInfoWidget::Prepare(ContainerWindow &parent, const PixelRect &rc)
{
RowFormWidget::Prepare(parent, rc);
const MoreData &basic = CommonInterface::Basic();
const DerivedInfo &calculated = CommonInterface::Calculated();
const ComputerSettings &settings = CommonInterface::GetComputerSettings();
StaticString<64> buffer;
if (!waypoint.comment.empty())
AddMultiLine(waypoint.comment.c_str());
if (waypoint.radio_frequency.IsDefined() &&
waypoint.radio_frequency.Format(buffer.buffer(),
buffer.MAX_SIZE) != NULL) {
buffer += _T(" MHz");
AddReadOnly(_("Radio frequency"), NULL, buffer);
}
if (waypoint.runway.IsDirectionDefined())
buffer.UnsafeFormat(_T("%02u"), waypoint.runway.GetDirectionName());
else
buffer.clear();
if (waypoint.runway.IsLengthDefined()) {
if (!buffer.empty())
buffer += _T("; ");
TCHAR length_buffer[16];
FormatSmallUserDistance(length_buffer,
fixed(waypoint.runway.GetLength()));
buffer += length_buffer;
}
if (!buffer.empty())
AddReadOnly(_("Runway"), NULL, buffer);
if (FormatGeoPoint(waypoint.location,
buffer.buffer(), buffer.MAX_SIZE) != NULL)
AddReadOnly(_("Location"), NULL, buffer);
FormatUserAltitude(waypoint.elevation,
buffer.buffer(), buffer.MAX_SIZE);
AddReadOnly(_("Elevation"), NULL, buffer);
if (basic.time_available) {
const SunEphemeris::Result sun =
SunEphemeris::CalcSunTimes(waypoint.location, basic.date_time_utc,
fixed(GetUTCOffset()) / 3600);
const unsigned sunrisehours = (int)sun.time_of_sunrise;
const unsigned sunrisemins = (int)((sun.time_of_sunrise - fixed(sunrisehours)) * 60);
const unsigned sunset_hour = (int)sun.time_of_sunset;
const unsigned sunset_minute = (int)((sun.time_of_sunset - fixed(sunset_hour)) * 60);
buffer.UnsafeFormat(_T("%02u:%02u - %02u:%02u"), sunrisehours, sunrisemins, sunset_hour, sunset_minute);
AddReadOnly(_("Daylight time"), NULL, buffer);
}
if (basic.location_available) {
const GeoVector vector = basic.location.DistanceBearing(waypoint.location);
TCHAR distance_buffer[32];
FormatUserDistanceSmart(vector.distance, distance_buffer,
ARRAY_SIZE(distance_buffer));
FormatBearing(buffer.buffer(), buffer.MAX_SIZE,
vector.bearing, distance_buffer);
AddReadOnly(_("Bearing and Distance"), NULL, buffer);
}
if (basic.location_available && basic.NavAltitudeAvailable() &&
settings.polar.glide_polar_task.IsValid()) {
const GlideState glide_state(basic.location.DistanceBearing(waypoint.location),
waypoint.elevation + settings.task.safety_height_arrival,
basic.nav_altitude,
calculated.GetWindOrZero());
GlidePolar gp0 = settings.polar.glide_polar_task;
gp0.SetMC(fixed(0));
AddGlideResult(_("Alt. diff. MC 0"),
MacCready::Solve(settings.task.glide,
gp0, glide_state));
AddGlideResult(_("Alt. diff. MC safety"),
MacCready::Solve(settings.task.glide,
calculated.glide_polar_safety,
glide_state));
AddGlideResult(_("Alt. diff. MC current"),
MacCready::Solve(settings.task.glide,
settings.polar.glide_polar_task,
glide_state));
}
}
示例12: HasCaption
bool HasCaption() const {
return !caption.empty();
}
示例13: IsDefined
bool IsDefined() const {
return !name.empty() || distance_index > 0 ||
direction_index > 0 || type_index != TypeFilter::ALL;
}
示例14: if
void
TrafficListWidget::OnPaintItem(Canvas &canvas, const PixelRect rc,
unsigned index)
{
assert(index < items.size());
Item &item = items[index];
assert(item.IsFlarm()
#ifdef HAVE_SKYLINES_TRACKING_HANDLER
|| item.IsSkyLines()
#endif
);
item.AutoLoad();
const FlarmNetRecord *record = item.record;
const TCHAR *callsign = item.callsign;
const DialogLook &look = UIGlobals::GetDialogLook();
const Font &name_font = *look.list.font_bold;
const Font &small_font = *look.small_font;
const unsigned text_padding = Layout::GetTextPadding();
const unsigned frame_padding = text_padding / 2;
TCHAR tmp_id[10];
item.id.Format(tmp_id);
canvas.Select(name_font);
StaticString<256> tmp;
if (item.IsFlarm()) {
if (record != NULL)
tmp.Format(_T("%s - %s - %s"),
callsign, record->registration.c_str(), tmp_id);
else if (callsign != NULL)
tmp.Format(_T("%s - %s"), callsign, tmp_id);
else
tmp.Format(_T("%s"), tmp_id);
#ifdef HAVE_SKYLINES_TRACKING_HANDLER
} else if (item.IsSkyLines()) {
tmp.UnsafeFormat(_T("SkyLines %u"), item.skylines_id);
#endif
} else {
tmp = _T("?");
}
const int name_x = rc.left + text_padding, name_y = rc.top + text_padding;
if (item.color != FlarmColor::NONE) {
const TrafficLook &traffic_look = UIGlobals::GetLook().traffic;
switch (item.color) {
case FlarmColor::NONE:
case FlarmColor::COUNT:
gcc_unreachable();
case FlarmColor::GREEN:
canvas.Select(traffic_look.team_pen_green);
break;
case FlarmColor::BLUE:
canvas.Select(traffic_look.team_pen_blue);
break;
case FlarmColor::YELLOW:
canvas.Select(traffic_look.team_pen_yellow);
break;
case FlarmColor::MAGENTA:
canvas.Select(traffic_look.team_pen_magenta);
break;
}
canvas.SelectHollowBrush();
const PixelSize size = canvas.CalcTextSize(tmp);
canvas.Rectangle(name_x - frame_padding,
name_y - frame_padding,
name_x + size.cx + frame_padding,
name_y + size.cy + frame_padding);
}
canvas.DrawText(name_x, name_y, tmp);
if (record != NULL) {
tmp.clear();
if (!record->pilot.empty())
tmp = record->pilot.c_str();
if (!record->plane_type.empty()) {
if (!tmp.empty())
tmp.append(_T(" - "));
tmp.append(record->plane_type);
}
if (!record->airfield.empty()) {
if (!tmp.empty())
tmp.append(_T(" - "));
//.........这里部分代码省略.........
示例15: if
static void
PaintListItem(Canvas &canvas, const PixelRect rc, unsigned index)
{
assert(array[index].IsDefined());
const FlarmId id = array[index];
const DialogLook &look = UIGlobals::GetDialogLook();
const Font &name_font = *look.list.font;
const Font &small_font = *look.small_font;
canvas.SetTextColor(COLOR_BLACK);
TCHAR tmp_id[10];
id.Format(tmp_id);
const FlarmRecord *record = FlarmNet::FindRecordById(id);
const TCHAR *callsign = FlarmDetails::LookupCallsign(id);
canvas.Select(name_font);
StaticString<256> tmp;
if (record != NULL)
tmp.Format(_T("%s - %s - %s"), callsign, record->registration, tmp_id);
else if (callsign != NULL)
tmp.Format(_T("%s - %s"), callsign, tmp_id);
else
tmp.Format(_T("%s"), tmp_id);
canvas.text_clipped(rc.left + Layout::FastScale(2),
rc.top + Layout::FastScale(2), rc, tmp);
canvas.Select(small_font);
tmp.clear();
if (record != NULL) {
if (!StringIsEmpty(record->pilot))
tmp = record->pilot;
if (!StringIsEmpty(record->plane_type)) {
if (!tmp.empty())
tmp.append(_T(" - "));
tmp.append(record->plane_type);
}
if (!StringIsEmpty(record->airfield)) {
if (!tmp.empty())
tmp.append(_T(" - "));
tmp.append(record->airfield);
}
}
if (tmp.empty())
tmp = _("No further information");
canvas.text_clipped(rc.left + Layout::FastScale(2),
rc.top + name_font.GetHeight() + Layout::FastScale(4),
rc, tmp);
}