QString Quasar::getInfoString(const StelCore* core, const InfoStringGroup& flags) const { QString str; QTextStream oss(&str); double mag = getVMagnitude(core, false); if (flags&Name) { oss << "<h2>" << designation << "</h2>"; } if (flags&Extra1) oss << q_("Type: <b>%1</b>").arg(q_("quasar")) << "<br />"; if (flags&Magnitude) { if (core->getSkyDrawer()->getFlagHasAtmosphere()) { if (bV!=0) { oss << q_("Magnitude: <b>%1</b> (extincted to: <b>%2</b>. B-V: <b>%3</b>)").arg(QString::number(mag, 'f', 2), QString::number(getVMagnitude(core, true), 'f', 2), QString::number(bV, 'f', 2)) << "<br />"; } else { oss << q_("Magnitude: <b>%1</b> (extincted to: <b>%2</b>)").arg(QString::number(mag, 'f', 2), QString::number(getVMagnitude(core, true), 'f', 2)) << "<br />"; } } else { if (bV!=0) { oss << q_("Magnitude: <b>%1</b> (B-V: <b>%2</b>)").arg(mag, 0, 'f', 2).arg(bV, 0, 'f', 2) << "<br />"; } else { oss << q_("Magnitude: <b>%1</b>").arg(mag, 0, 'f', 2) << "<br />"; } } if (AMagnitude!=0) { oss << q_("Absolute Magnitude: %1").arg(AMagnitude, 0, 'f', 2) << "<br />"; } } // Ra/Dec etc. oss << getPositionInfoString(core, flags); if (flags&Extra1) { if (redshift>0) { oss << q_("Z (redshift): %1").arg(redshift) << "<br />"; } } postProcessInfoString(str, flags); return str; }
QString TelescopeClient::getInfoString(const StelCore* core, const InfoStringGroup& flags) const { QString str; QTextStream oss(&str); if (flags&Name) { oss << "<h2>" << nameI18n << "</h2>"; } oss << getPositionInfoString(core, flags); postProcessInfoString(str, flags); return str; }
QString TleTraj::getInfoString(const StelCore *core, const InfoStringGroup& flags) const { QString str; QTextStream oss(&str); if (flags&Name) { oss << "<h2>" << name << "</h2><br>"; } oss << getPositionInfoString(core, flags); if (flags&Extra1) { oss << QString("Range (m): <b>%1</b>").arg(curData.d) << "<br>"; } postProcessInfoString(str, flags); return str; }
QString StarWrapperBase::getInfoString(const StelCore *core, const InfoStringGroup& flags) const { QString str; QTextStream oss(&str); if (flags&Magnitude) { oss << q_("Magnitude: <b>%1</b> (B-V: %2)").arg(QString::number(getVMagnitude(core, false), 'f', 2), QString::number(getBV(), 'f', 2)) << "<br>"; if (core->getSkyDrawer()->getFlagHasAtmosphere()) { oss << q_("Apparent Magnitude: <b>%1</b> (by extinction)").arg(QString::number(getVMagnitude(core, true), 'f', 2)) << "<br>"; } } oss << getPositionInfoString(core, flags); StelObject::postProcessInfoString(str, flags); return str; }
QString Supernova::getInfoString(const StelCore* core, const InfoStringGroup& flags) const { QString str; QTextStream oss(&str); double mag = getVMagnitude(core, false); if (flags&Name) { oss << "<h2>" << designation; if (note.size()!=0) oss << " (" << q_(note) << ")"; oss << "</h2>"; } if (flags&Extra1) oss << q_("Type: <b>%1</b>").arg(q_("supernova")) << "<br />"; if (flags&Magnitude && mag <= core->getSkyDrawer()->getLimitMagnitude()) { if (core->getSkyDrawer()->getFlagHasAtmosphere()) oss << q_("Magnitude: <b>%1</b> (extincted to: <b>%2</b>)").arg(QString::number(getVMagnitude(core, false), 'f', 2), QString::number(getVMagnitude(core, true), 'f', 2)) << "<br>"; else oss << q_("Magnitude: <b>%1</b>").arg(mag, 0, 'f', 2) << "<br>"; } // Ra/Dec etc. oss << getPositionInfoString(core, flags); if (flags&Extra1) { oss << q_("Type of supernova: %1").arg(sntype) << "<br>"; if (distance>0) oss << q_("Distance: %1 Light Years").arg(distance*1000) << "<br>"; } postProcessInfoString(str, flags); return str; }
QString Nova::getInfoString(const StelCore* core, const InfoStringGroup& flags) const { QString str; QTextStream oss(&str); double mag = getVMagnitude(core); if (flags&Name) { QString name = novaName.isEmpty() ? QString("<h2>%1</h2>").arg(designation) : QString("<h2>%1 (%2)</h2>").arg(novaName).arg(designation); oss << name; } if (flags&ObjectType) oss << q_("Type: <b>%1</b> (%2)").arg(q_("nova")).arg(novaType) << "<br />"; if (flags&Magnitude) { if (core->getSkyDrawer()->getFlagHasAtmosphere()) oss << q_("Magnitude: <b>%1</b> (extincted to: <b>%2</b>)").arg(QString::number(mag, 'f', 2), QString::number(getVMagnitudeWithExtinction(core), 'f', 2)) << "<br>"; else oss << q_("Magnitude: <b>%1</b>").arg(mag, 0, 'f', 2) << "<br>"; } // Ra/Dec etc. oss << getPositionInfoString(core, flags); if (flags&Extra) { oss << q_("Maximum brightness: %1").arg(getMaxBrightnessDate(peakJD)) << "<br>"; if (distance>0) { //TRANSLATORS: Unit of measure for distance - Light Years oss << q_("Distance: %1 ly").arg(distance*1000) << "<br>"; } } postProcessInfoString(str, flags); return str; }
QString MinorPlanet::getInfoString(const StelCore *core, const InfoStringGroup &flags) const { //Mostly copied from Planet::getInfoString(): QString str; QTextStream oss(&str); double az_app, alt_app; StelUtils::rectToSphe(&az_app,&alt_app,getAltAzPosApparent(core)); Q_UNUSED(az_app); if (flags&Name) { oss << "<h2>"; if (minorPlanetNumber) oss << QString("(%1) ").arg(minorPlanetNumber); if (nameIsProvisionalDesignation) oss << provisionalDesignationHtml; else oss << getNameI18n(); // UI translation can differ from sky translation oss.setRealNumberNotation(QTextStream::FixedNotation); oss.setRealNumberPrecision(1); if (sphereScale != 1.f) oss << QString::fromUtf8(" (\xC3\x97") << sphereScale << ")"; oss << "</h2>"; if (!nameIsProvisionalDesignation && !provisionalDesignationHtml.isEmpty()) { oss << QString(q_("Provisional designation: %1")).arg(provisionalDesignationHtml); oss << "<br>"; } } if (flags&ObjectType && getPlanetType()!=isUNDEFINED) { oss << q_("Type: <b>%1</b>").arg(q_(getPlanetTypeString())) << "<br />"; } if (flags&Magnitude) { if (core->getSkyDrawer()->getFlagHasAtmosphere() && (alt_app>-3.0*M_PI/180.0)) // Don't show extincted magnitude much below horizon where model is meaningless. oss << q_("Magnitude: <b>%1</b> (extincted to: <b>%2</b>)").arg(QString::number(getVMagnitude(core), 'f', 2), QString::number(getVMagnitudeWithExtinction(core), 'f', 2)) << "<br>"; else oss << q_("Magnitude: <b>%1</b>").arg(getVMagnitude(core), 0, 'f', 2) << "<br>"; } if (flags&AbsoluteMagnitude) { //TODO: Make sure absolute magnitude is a sane value //If the H-G system is not used, use the default radius/albedo mechanism if (slopeParameter < 0) { oss << q_("Absolute Magnitude: %1").arg(getVMagnitude(core) - 5. * (std::log10(getJ2000EquatorialPos(core).length()*AU/PARSEC)-1.), 0, 'f', 2) << "<br>"; } else { oss << q_("Absolute Magnitude: %1").arg(absoluteMagnitude, 0, 'f', 2) << "<br>"; } } oss << getPositionInfoString(core, flags); if (flags&Distance) { double distanceAu = getJ2000EquatorialPos(core).length(); double distanceKm = AU * distanceAu; if (distanceAu < 0.1) { // xgettext:no-c-format oss << QString(q_("Distance: %1AU (%2 km)")) .arg(distanceAu, 0, 'f', 6) .arg(distanceKm, 0, 'f', 3); } else { // xgettext:no-c-format oss << QString(q_("Distance: %1AU (%2 Mio km)")) .arg(distanceAu, 0, 'f', 3) .arg(distanceKm / 1.0e6, 0, 'f', 3); } oss << "<br>"; } float aSize = 2.*getAngularSize(core)*M_PI/180.; if (flags&Size && aSize>1e-6) oss << q_("Apparent diameter: %1").arg(StelUtils::radToDmsStr(aSize, true)) << "<br>"; // If semi-major axis not zero then calculate and display orbital period for asteroid in days double siderealPeriod = getSiderealPeriod(); if ((flags&Extra) && (siderealPeriod>0)) { // TRANSLATORS: Sidereal (orbital) period for solar system bodies in days and in Julian years (symbol: a) oss << q_("Sidereal period: %1 days (%2 a)").arg(QString::number(siderealPeriod, 'f', 2)).arg(QString::number(siderealPeriod/365.25, 'f', 3)) << "<br>"; } postProcessInfoString(str, flags); return str; }
QString MinorPlanet::getInfoString(const StelCore *core, const InfoStringGroup &flags) const { //Mostly copied from Planet::getInfoString(): QString str; QTextStream oss(&str); if (flags&Name) { oss << "<h2>"; if (minorPlanetNumber) oss << QString("(%1) ").arg(minorPlanetNumber); if (nameIsProvisionalDesignation) oss << provisionalDesignationHtml; else oss << q_(properName); // UI translation can differ from sky translation oss.setRealNumberNotation(QTextStream::FixedNotation); oss.setRealNumberPrecision(1); if (sphereScale != 1.f) oss << QString::fromUtf8(" (\xC3\x97") << sphereScale << ")"; oss << "</h2>"; if (!nameIsProvisionalDesignation && !provisionalDesignationHtml.isEmpty()) { oss << QString(q_("Provisional designation: %1")).arg(provisionalDesignationHtml); oss << "<br>"; } } if (flags&ObjectType) { if (pType.length()>0) oss << q_("Type: <b>%1</b>").arg(q_(pType)) << "<br />"; } if (flags&Magnitude) { if (core->getSkyDrawer()->getFlagHasAtmosphere()) oss << q_("Magnitude: <b>%1</b> (extincted to: <b>%2</b>)").arg(QString::number(getVMagnitude(core), 'f', 2), QString::number(getVMagnitudeWithExtinction(core), 'f', 2)) << "<br>"; else oss << q_("Magnitude: <b>%1</b>").arg(getVMagnitude(core), 0, 'f', 2) << "<br>"; } if (flags&AbsoluteMagnitude) { //TODO: Make sure absolute magnitude is a sane value //If the H-G system is not used, use the default radius/albedo mechanism if (slopeParameter < 0) { oss << q_("Absolute Magnitude: %1").arg(getVMagnitude(core) - 5. * (std::log10(getJ2000EquatorialPos(core).length()*AU/PARSEC)-1.), 0, 'f', 2) << "<br>"; } else { oss << q_("Absolute Magnitude: %1").arg(absoluteMagnitude, 0, 'f', 2) << "<br>"; } } oss << getPositionInfoString(core, flags); if (flags&Distance) { double distanceAu = getJ2000EquatorialPos(core).length(); double distanceKm = AU * distanceAu; if (distanceAu < 0.1) { // xgettext:no-c-format oss << QString(q_("Distance: %1AU (%2 km)")) .arg(distanceAu, 0, 'f', 6) .arg(distanceKm, 0, 'f', 3); } else { // xgettext:no-c-format oss << QString(q_("Distance: %1AU (%2 Mio km)")) .arg(distanceAu, 0, 'f', 3) .arg(distanceKm / 1.0e6, 0, 'f', 3); } oss << "<br>"; } if (flags&Size) oss << q_("Apparent diameter: %1").arg(StelUtils::radToDmsStr(2.*getAngularSize(core)*M_PI/180., true)) << "<br>"; // If semi-major axis not zero then calculate and display orbital period for asteroid in days double siderealPeriod = getSiderealPeriod(); if ((flags&Extra) && (siderealPeriod>0)) { // TRANSLATORS: Sidereal (orbital) period for solar system bodies in days and in Julian years (symbol: a) oss << q_("Sidereal period: %1 days (%2 a)").arg(QString::number(siderealPeriod, 'f', 2)).arg(QString::number(siderealPeriod/365.25, 'f', 3)) << "<br>"; } //This doesn't work, even if setOpenExternalLinks(true) is used in InfoPanel /* if (flags&Extra) oss << QString("<br><a href=\"http://ssd.jpl.nasa.gov/sbdb.cgi?sstr=%1\">JPL Small-Body Database Browser</a>").arg( (minorPlanetNumber) ? QString::number(minorPlanetNumber) : englishName ); */ postProcessInfoString(str, flags); return str; }
QString Comet::getInfoString(const StelCore *core, const InfoStringGroup &flags) const { //Mostly copied from Planet::getInfoString(): QString str; QTextStream oss(&str); if (flags&Name) { oss << "<h2>"; oss << q_(englishName); // UI translation can differ from sky translation oss.setRealNumberNotation(QTextStream::FixedNotation); oss.setRealNumberPrecision(1); if (sphereScale != 1.f) oss << QString::fromUtf8(" (\xC3\x97") << sphereScale << ")"; oss << "</h2>"; } if (flags&Extra1) { if (pType.length()>0) oss << q_("Type: <b>%1</b>").arg(q_(pType)) << "<br />"; } if (flags&Magnitude) { if (core->getSkyDrawer()->getFlagHasAtmosphere()) oss << q_("Magnitude: <b>%1</b> (extincted to: <b>%2</b>)").arg(QString::number(getVMagnitude(core, false), 'f', 2), QString::number(getVMagnitude(core, true), 'f', 2)) << "<br>"; else oss << q_("Magnitude: <b>%1</b>").arg(getVMagnitude(core, false), 0, 'f', 2) << "<br>"; } if (flags&AbsoluteMagnitude) { //TODO: Make sure absolute magnitude is a sane value //If the two parameter magnitude system is not use, don't display this //value. (Using radius/albedo doesn't make any sense for comets.) if (slopeParameter >= 0) oss << q_("Absolute Magnitude: %1").arg(absoluteMagnitude, 0, 'f', 2) << "<br>"; } oss << getPositionInfoString(core, flags); if (flags&Distance) { double distanceAu = getJ2000EquatorialPos(core).length(); if (distanceAu < 0.1) { double distanceKm = AU * distanceAu; // xgettext:no-c-format oss << QString(q_("Distance: %1AU (%2 km)")) .arg(distanceAu, 0, 'f', 8) .arg(distanceKm, 0, 'f', 0); } else { // xgettext:no-c-format oss << q_("Distance: %1AU").arg(distanceAu, 0, 'f', 8); } oss << "<br>"; } /* if (flags&Size) oss << q_("Apparent diameter: %1").arg(StelUtils::radToDmsStr(2.*getAngularSize(core)*M_PI/180., true)); */ // If semi-major axis not zero then calculate and display orbital period for comet in days double siderealPeriod = getSiderealPeriod(); if ((flags&Extra1) && (siderealPeriod>0)) { // TRANSLATORS: Sidereal (orbital) period for solar system bodies in days and in Julian years (symbol: a) oss << q_("Sidereal period: %1 days (%2 a)").arg(QString::number(siderealPeriod, 'f', 2)).arg(QString::number(siderealPeriod/365.25, 'f', 3)) << "<br>"; } postProcessInfoString(str, flags); return str; }
QString Nebula::getInfoString(const StelCore *core, const InfoStringGroup& flags) const { QString str; QTextStream oss(&str); if ((flags&Name) || (flags&CatalogNumber)) oss << "<h2>"; if (nameI18!="" && flags&Name) { oss << getNameI18n(); } if (flags&CatalogNumber) { if (nameI18!="" && flags&Name) oss << " ("; QStringList catIds; if ((M_nb > 0) && (M_nb < 111)) catIds << QString("M %1").arg(M_nb); if ((C_nb > 0) && (C_nb < 110)) catIds << QString("C %1").arg(C_nb); if (NGC_nb > 0) catIds << QString("NGC %1").arg(NGC_nb); if (IC_nb > 0) catIds << QString("IC %1").arg(IC_nb); if ((B_nb > 0) && (B_nb <= 370)) catIds << QString("B %1").arg(B_nb); if ((Sh2_nb > 0) && (Sh2_nb <= 313)) catIds << QString("Sh 2-%1").arg(Sh2_nb); if ((VdB_nb > 0) && (VdB_nb <= 158)) catIds << QString("VdB %1").arg(VdB_nb); if ((RCW_nb > 0) && (RCW_nb <= 182)) catIds << QString("RCW %1").arg(RCW_nb); if ((LDN_nb > 0) && (LDN_nb <= 1802)) catIds << QString("LDN %1").arg(LDN_nb); if ((LBN_nb > 0) && (LBN_nb <= 1125)) catIds << QString("LBN %1").arg(LBN_nb); if ((Cr_nb > 0) && (Cr_nb <= 471)) catIds << QString("Cr %1").arg(Cr_nb); if ((Mel_nb > 0) && (Mel_nb <= 245)) catIds << QString("Mel %1").arg(Mel_nb); oss << catIds.join(" - "); if (nameI18!="" && flags&Name) oss << ")"; } if ((flags&Name) || (flags&CatalogNumber)) oss << "</h2>"; if (flags&ObjectType) oss << q_("Type: <b>%1</b>").arg(getTypeString()) << "<br>"; if (mag < 50 && flags&Magnitude) { if (nType == NebDn) { oss << q_("Opacity: <b>%1</b>").arg(getVMagnitude(core), 0, 'f', 2) << "<br>"; } else { if (core->getSkyDrawer()->getFlagHasAtmosphere()) oss << q_("Magnitude: <b>%1</b> (extincted to: <b>%2</b>)").arg(QString::number(getVMagnitude(core), 'f', 2), QString::number(getVMagnitudeWithExtinction(core), 'f', 2)) << "<br>"; else oss << q_("Magnitude: <b>%1</b>").arg(getVMagnitude(core), 0, 'f', 2) << "<br>"; } } if (nType != NebDn && mag < 50 && flags&Extra) { if (core->getSkyDrawer()->getFlagHasAtmosphere()) { if (getSurfaceBrightness(core)<99 && getSurfaceBrightnessWithExtinction(core)<99) oss << q_("Surface brightness: <b>%1</b> (extincted to: <b>%2</b>)").arg(QString::number(getSurfaceBrightness(core), 'f', 2), QString::number(getSurfaceBrightnessWithExtinction(core), 'f', 2)) << "<br>"; } else { if (getSurfaceBrightness(core)<99) oss << q_("Surface brightness: <b>%1</b>").arg(QString::number(getSurfaceBrightness(core), 'f', 2)) << "<br>"; } } if (flags&Extra) { if (nType==NebHII) { if (LBN_nb!=0) oss << q_("Brightness: %1").arg(brightnessClass) << "<br>"; else { oss << qc_("Form: %1","HII Region").arg(getHIIFormTypeString()) << "<br>"; oss << qc_("Structure: %1","HII Region").arg(getHIIStructureTypeString()) << "<br>"; oss << q_("Brightness: %1").arg(getHIIBrightnessTypeString()) << "<br>"; } } if (nType==NebHa) { oss << q_("Brightness: %1").arg(getHaBrightnessTypeString()) << "<br>"; } } oss << getPositionInfoString(core, flags); if (angularSize>0 && flags&Size) oss << q_("Size: %1").arg(StelUtils::radToDmsStr(angularSize*M_PI/180.)) << "<br>"; postProcessInfoString(str, flags); return str; }
QString Nebula::getInfoString(const StelCore *core, const InfoStringGroup& flags) const { QString str; QTextStream oss(&str); if ((flags&Name) || (flags&CatalogNumber)) oss << "<h2>"; if (nameI18!="" && flags&Name) { oss << getNameI18n(); } if (flags&CatalogNumber) { if (nameI18!="" && flags&Name) oss << " ("; QStringList catIds; if ((M_nb > 0) && (M_nb < 111)) catIds << QString("M %1").arg(M_nb); if (NGC_nb > 0) catIds << QString("NGC %1").arg(NGC_nb); if (IC_nb > 0) catIds << QString("IC %1").arg(IC_nb); if ((C_nb > 0) && (C_nb < 110)) catIds << QString("C %1").arg(C_nb); oss << catIds.join(" - "); if (nameI18!="" && flags&Name) oss << ")"; } if ((flags&Name) || (flags&CatalogNumber)) oss << "</h2>"; if (flags&ObjectType) oss << q_("Type: <b>%1</b>").arg(getTypeString()) << "<br>"; if (mag < 50 && flags&Magnitude) { if (core->getSkyDrawer()->getFlagHasAtmosphere()) { oss << q_("Magnitude: <b>%1</b> (extincted to: <b>%2</b>)").arg(QString::number(getVMagnitude(core), 'f', 2), QString::number(getVMagnitudeWithExtinction(core), 'f', 2)) << "<br>"; if (getSurfaceBrightness(core)<99 && getSurfaceBrightnessWithExtinction(core)<99) oss << q_("Surface brightness: <b>%1</b> (extincted to: <b>%2</b>)").arg(QString::number(getSurfaceBrightness(core), 'f', 2), QString::number(getSurfaceBrightnessWithExtinction(core), 'f', 2)) << "<br>"; } else { oss << q_("Magnitude: <b>%1</b>").arg(getVMagnitude(core), 0, 'f', 2) << "<br>"; if (getSurfaceBrightness(core)<99) oss << q_("Surface brightness: <b>%1</b>").arg(QString::number(getSurfaceBrightness(core), 'f', 2)) << "<br>"; } } oss << getPositionInfoString(core, flags); if (angularSize>0 && flags&Size) oss << q_("Size: %1").arg(StelUtils::radToDmsStr(angularSize*M_PI/180.)) << "<br>"; postProcessInfoString(str, flags); return str; }
QString StarWrapper1::getInfoString(const StelCore *core, const InfoStringGroup& flags) const { QString str; QTextStream oss(&str); if (s->hip) { if ((flags&Name) || (flags&CatalogNumber)) oss << "<h2>"; const QString commonNameI18 = StarMgr::getCommonName(s->hip); const QString sciName = StarMgr::getSciName(s->hip); bool nameWasEmpty=true; if (flags&Name) { if (commonNameI18!="" || sciName!="") { oss << commonNameI18 << (commonNameI18 == "" ? "" : " "); if (commonNameI18!="" && sciName!="") oss << "("; oss << (sciName=="" ? "" : sciName); if (commonNameI18!="" && sciName!="") oss << ")"; nameWasEmpty=false; } } if ((flags&CatalogNumber) && (flags&Name) && !nameWasEmpty) oss << " - "; if (flags&CatalogNumber || (nameWasEmpty && (flags&Name))) oss << "HIP " << s->hip; if (s->componentIds) oss << " " << StarMgr::convertToComponentIds(s->componentIds); if ((flags&Name) || (flags&CatalogNumber)) oss << "</h2>"; } if (flags&Magnitude) { if (core->getSkyDrawer()->getFlagHasAtmosphere()) oss << q_("Magnitude: <b>%1</b> (extincted to: <b>%2</b>. B-V: <b>%3</b>)").arg(QString::number(getVMagnitude(core, false), 'f', 2), QString::number(getVMagnitude(core, true), 'f', 2), QString::number(s->getBV(), 'f', 2)) << "<br>"; else oss << q_("Magnitude: <b>%1</b> (B-V: <b>%2</b>)").arg(QString::number(getVMagnitude(core, false), 'f', 2), QString::number(s->getBV(), 'f', 2)) << "<br>"; } if ((flags&AbsoluteMagnitude) && s->plx && !isNan(s->plx) && !isInf(s->plx)) oss << q_("Absolute Magnitude: %1").arg(getVMagnitude(core, false)+5.*(1.+std::log10(0.00001*s->plx)), 0, 'f', 2) << "<br>"; oss << getPositionInfoString(core, flags); if (s->spInt && flags&Extra1) { oss << q_("Spectral Type: %1").arg(StarMgr::convertToSpectralType(s->spInt)) << "<br>"; } if ((flags&Distance) && s->plx && !isNan(s->plx) && !isInf(s->plx)) oss << q_("Distance: %1 Light Years").arg((AU/(SPEED_OF_LIGHT*86400*365.25)) / (s->plx*((0.00001/3600)*(M_PI/180))), 0, 'f', 2) << "<br>"; if (s->plx && flags&Extra2) oss << q_("Parallax: %1\"").arg(0.00001*s->plx, 0, 'f', 5) << "<br>"; StelObject::postProcessInfoString(str, flags); return str; }
QString Galaxy::getInfoString(const StelCore* core, const InfoStringGroup& flags) const { QString str; QTextStream oss(&str); if (flags&Name) { oss << "<h2>" << designation << "</h2>"; } if (flags&Extra1) { oss << q_("Type: <b>%1</b>").arg(q_("Galaxy (POGS)")) << "<br />"; } // Ra/Dec etc. oss << getPositionInfoString(core, flags); if (flags&Extra1) { if (period>0) { //TRANSLATORS: Unit of measure for period - seconds oss << q_("Barycentric period: %1 s").arg(QString::number(period, 'f', 16)) << "<br>"; } if (pderivative>0) { oss << q_("Time derivative of barycentric period: %1").arg(QString::number(pderivative, 'e', 5)) << "<br>"; } if (dmeasure>0) { oss << QString("%1 %2 %3<sup>-3</sup> %4 %5") .arg(q_("Dispersion measure:")) .arg(QString::number(dmeasure, 'f', 3)) //TRANSLATORS: Unit of measure for distance - centimeters .arg(q_("cm")) .arg(QChar(0x00B7)) //TRANSLATORS: Unit of measure for distance - parsecs .arg(q_("pc")); oss << "<br>"; } double edot = getEdot(period, pderivative); if (edot>0) { oss << q_("Spin down energy loss rate: %1 ergs/s").arg(QString::number(edot, 'e', 2)) << "<br>"; } if (bperiod>0) { oss << q_("Binary period of pulsar: %1 days").arg(QString::number(bperiod, 'f', 12)) << "<br>"; } if (eccentricity>0) { oss << q_("Eccentricity: %1").arg(QString::number(eccentricity, 'f', 10)) << "<br>"; } if (parallax>0) { //TRANSLATORS: Unit of measure for annual parallax - milliarcseconds oss << q_("Annual parallax: %1 mas").arg(parallax) << "<br>"; } if (distance>0) { oss << q_("Distance based on electron density model: %1 kpc (%2 ly)").arg(distance).arg(distance*3261.563777) << "<br>"; } if (w50>0) { oss << q_("Profile width at 50% of peak: %1 ms").arg(QString::number(w50, 'f', 2)) << "<br>"; } if (s400>0) { oss << QString("%1 %2%3: %4 %5") // TRANSLATORS: Full phrase is "Time averaged flux density at XXXMHz" .arg(q_("Time averaged flux density at")) .arg(400) // TRANSLATORS: Unit of measurement of frequency .arg(q_("MHz")) .arg(QString::number(s400, 'f', 2)) // TRANSLATORS: mJy is milliJansky(10-26W/m2/Hz) .arg(q_("mJy")) << "<br>"; } if (s600>0) { oss << QString("%1 %2%3: %4 %5") // TRANSLATORS: Full phrase is "Time averaged flux density at XXXMHz" .arg(q_("Time averaged flux density at")) .arg(600) // TRANSLATORS: Unit of measurement of frequency .arg(q_("MHz")) .arg(QString::number(s600, 'f', 2)) // TRANSLATORS: mJy is milliJansky(10-26W/m2/Hz) .arg(q_("mJy")) << "<br>"; } if (s1400>0) { oss << QString("%1 %2%3: %4 %5") // TRANSLATORS: Full phrase is "Time averaged flux density at XXXMHz" .arg(q_("Time averaged flux density at")) .arg(1400) // TRANSLATORS: Unit of measurement of frequency .arg(q_("MHz")) .arg(QString::number(s1400, 'f', 2)) // TRANSLATORS: mJy is milliJansky(10-26W/m2/Hz) .arg(q_("mJy")) << "<br>"; } if (notes.length()>0) { oss << "<br>" << q_("Notes: %1").arg(getGalaxyTypeInfoString(notes)) << "<br>"; } } postProcessInfoString(str, flags); return str; }