/** * Formats the given length in the given format. * * @param length The length in the current unit of the drawing. * @param format Format of the string. * @param prec Precision of the value (e.g. 0.001 or 1/128 = 0.0078125) & @param showUnit Append unit to the value. */ QString RS_Units::formatLinear(double length, RS2::Unit unit, RS2::LinearFormat format, int prec, bool showUnit) { QString ret; // unit appended to value (e.g. 'mm'): /*QString unitString = ""; if (showUnit) { unitString = unitToSign(unit); }*/ // barbarian display: show as fraction: switch (format) { case RS2::Scientific: ret = formatScientific(length, unit, prec, showUnit); break; case RS2::Decimal: ret = formatDecimal(length, unit, prec, showUnit); break; case RS2::Engineering: ret = formatEngineering(length, unit, prec, showUnit); break; case RS2::Architectural: ret = formatArchitectural(length, unit, prec, showUnit); break; case RS2::Fractional: ret = formatFractional(length, unit, prec, showUnit); break; case RS2::ArchitecturalMetric: ret = formatArchitecturalMetric(length, unit, prec, showUnit); break; default: RS_DEBUG->print(RS_Debug::D_WARNING, "RS_Units::formatLinear: Unknown format"); ret = ""; break; } return ret; }
/** * Formats the given length in the given format. * * \param length The length in the current unit of the drawing. * \param format Format of the string. * \param prec Precision of the value (e.g. 0.001 or 1/128 = 0.0078125) & \param showUnit Append unit to the value. */ QString RUnit::formatLinear(double length, RS::Unit unit, RS::LinearFormat format, int prec, bool showUnit, bool showLeadingZeroes, bool showTrailingZeroes, bool onlyPreciseResult) { QString ret; // imperial display: show as fraction: switch (format) { case RS::Scientific: ret = formatScientific(length, unit, prec, showUnit, showLeadingZeroes, showTrailingZeroes, onlyPreciseResult); break; case RS::Decimal: ret = formatDecimal(length, unit, prec, showUnit, showLeadingZeroes, showTrailingZeroes, onlyPreciseResult); break; case RS::Engineering: ret = formatEngineering(length, unit, prec, showUnit, showLeadingZeroes, showTrailingZeroes, onlyPreciseResult); break; case RS::Architectural: case RS::ArchitecturalStacked: ret = formatArchitectural(length, unit, prec, showUnit, showLeadingZeroes, showTrailingZeroes, onlyPreciseResult); break; case RS::Fractional: case RS::FractionalStacked: ret = formatFractional(length, unit, prec, showUnit, showLeadingZeroes, showTrailingZeroes, onlyPreciseResult); break; default: qWarning() << "RUnit::formatLinear: Unknown format"; ret = ""; break; } return ret; }