void AirspaceListWidget::OnActivateItem(unsigned i) { if (items.empty()) { assert(i == 0); return; } assert(i < items.size()); dlgAirspaceDetails(items[i].GetAirspace(), airspace_warnings); }
static void OnAirspaceListEnter(unsigned i) { if (AirspaceSelectInfo.empty()) { assert(i == 0); return; } assert(i < AirspaceSelectInfo.size()); dlgAirspaceDetails(*AirspaceSelectInfo[i].airspace, airspace_warnings); }
void AirspaceListDialog::OnActivateItem(unsigned i) { if (airspace_list.empty()) { assert(i == 0); return; } assert(i < airspace_list.size()); dlgAirspaceDetails(airspace_list[i].GetAirspace(), airspace_warnings); }
static void OnPaintListItem(Canvas &canvas, const PixelRect rc, unsigned i) { if (AirspaceSelectInfo.empty()) { assert(i == 0); canvas.text(rc.left + Layout::FastScale(2), rc.top + Layout::FastScale(2), _("No Match!")); return; } assert(i < AirspaceSelectInfo.size()); const AbstractAirspace &airspace = *AirspaceSelectInfo[i].airspace; int w0, w1, w2, w3, x1, x2, x3; w0 = rc.right - rc.left - Layout::FastScale(4); w1 = canvas.CalcTextWidth(_T("XXX")); w2 = canvas.CalcTextWidth(_T(" 000km")); w3 = canvas.CalcTextWidth(_T(" 000")_T(DEG)); x1 = w0-w1-w2-w3; canvas.text_clipped(rc.left + Layout::FastScale(2), rc.top + Layout::FastScale(2), x1 - Layout::FastScale(5), airspace.GetNameText().c_str()); // left justified canvas.text(rc.left + x1, rc.top + Layout::FastScale(2), airspace.GetTypeText(true)); StaticString<12> sTmp; // right justified after airspace type sTmp.Format(_T("%d%s"), (int)AirspaceSelectInfo[i].Distance, Units::GetDistanceName()); x2 = w0 - w3 - canvas.CalcTextWidth(sTmp); canvas.text(rc.left + x2, rc.top + Layout::FastScale(2), sTmp); // right justified after distance FormatBearing(sTmp.buffer(), sTmp.MAX_SIZE, AirspaceSelectInfo[i].Direction); x3 = w0 - canvas.CalcTextWidth(sTmp); canvas.text(rc.left + x3, rc.top + Layout::FastScale(2), sTmp); }
void AirspaceListWidget::OnPaintItem(Canvas &canvas, const PixelRect rc, unsigned i) { if (items.empty()) { assert(i == 0); canvas.DrawText(rc.left + Layout::GetTextPadding(), rc.top + Layout::GetTextPadding(), _("No Match!")); return; } assert(i < items.size()); const AbstractAirspace &airspace = items[i].GetAirspace(); AirspaceListRenderer::Draw( canvas, rc, airspace, items[i].GetVector(location, airspaces->GetProjection()), UIGlobals::GetDialogLook(), UIGlobals::GetMapLook().airspace, CommonInterface::GetMapSettings().airspace); }