From 90086d3e313460158dbc7a0e357fab020f48e573 Mon Sep 17 00:00:00 2001 From: Ladislav Michl Date: Mon, 1 Dec 2025 15:21:18 +0100 Subject: [PATCH] Revert "[Base]retrieve unit text" This reverts both pointless and broken commit c9fffa67893f. --- src/Base/UnitsApi.cpp | 5 ----- src/Base/UnitsApi.h | 1 - src/Base/UnitsSchema.cpp | 33 --------------------------------- src/Base/UnitsSchema.h | 1 - 4 files changed, 40 deletions(-) diff --git a/src/Base/UnitsApi.cpp b/src/Base/UnitsApi.cpp index 21e912c6de..9dde081c38 100644 --- a/src/Base/UnitsApi.cpp +++ b/src/Base/UnitsApi.cpp @@ -66,11 +66,6 @@ std::string UnitsApi::getBasicLengthUnit() return schemas->currentSchema()->getBasicLengthUnit(); } -std::string UnitsApi::getUnitText(const Quantity& quant) -{ - return schemas->currentSchema()->getUnitText(quant); -} - void UnitsApi::setDecimals(const int prec) { decimals = prec; diff --git a/src/Base/UnitsApi.h b/src/Base/UnitsApi.h index af2c9a9257..077f4d5210 100644 --- a/src/Base/UnitsApi.h +++ b/src/Base/UnitsApi.h @@ -67,7 +67,6 @@ public: static bool isMultiUnitAngle(); static bool isMultiUnitLength(); static std::string getBasicLengthUnit(); - static std::string getUnitText(const Quantity& quant); static std::size_t getDefSchemaNum() { diff --git a/src/Base/UnitsSchema.cpp b/src/Base/UnitsSchema.cpp index 76261749df..decf368f9f 100644 --- a/src/Base/UnitsSchema.cpp +++ b/src/Base/UnitsSchema.cpp @@ -35,8 +35,6 @@ #include "Exception.h" #include "Quantity.h" -#include "Console.h" - using Base::UnitsSchema; using Base::UnitsSchemaSpec; @@ -145,34 +143,3 @@ int UnitsSchema::getNum() const { return static_cast(spec.num); } - - -//! return the unit text for this quantity in this schema. ex 10 mm => "mm" -//! a more general approach than getBasicLengthUnit. -//! TODO: some common code here with translate() -std::string UnitsSchema::getUnitText(const Base::Quantity& quant) const -{ - std::string typeString = quant.getUnit().getTypeString(); // "Area", "Mass", ... - const auto value = quant.getValue(); - - // TODO: some common code here with translate() - if (!spec.translationSpecs.contains(typeString)) { - Base::Console().log("Schema %s has no entry for %s\n", getName().c_str(), typeString.c_str()); - return {}; - } - auto unitSpecs = spec.translationSpecs.at(typeString); - - auto isSuitable = [&](const UnitTranslationSpec& row) { - return row.threshold > value || row.threshold == 0; - }; - - const auto unitSpec = std::ranges::find_if(unitSpecs, isSuitable); - if (unitSpec == unitSpecs.end()) { - throw RuntimeError( - "Suitable threshold not found (2). Schema: " + spec.name - + " value: " + std::to_string(value) - ); - } - - return unitSpec->unitString; -} diff --git a/src/Base/UnitsSchema.h b/src/Base/UnitsSchema.h index 2b42131413..e1583826a0 100644 --- a/src/Base/UnitsSchema.h +++ b/src/Base/UnitsSchema.h @@ -50,7 +50,6 @@ public: [[nodiscard]] std::string getName() const; [[nodiscard]] std::string getDescription() const; [[nodiscard]] int getNum() const; - [[nodiscard]] std::string getUnitText(const Quantity& quant) const; std::string translate(const Quantity& quant) const; std::string translate(const Quantity& quant, double& factor, std::string& unitString) const;