19 std::string option, std::string from_unit,
int from_precision,
double& multiplier,
double& offset, std::string& to_unit,
int& to_precision
79 const std::string& option,
const std::string& from_unit,
int from_precision,
double& multiplier,
double& offset, std::string& to_unit,
int& to_precision
103 inline UnitConverter(
const std::string& unit,
int sig_digits);
112 bool set(
const std::string& unit,
int sig_digits);
138 [[nodiscard]] std::string
getString(
double value)
const;
145 [[nodiscard]]
inline std::string getUnit()
const;
152 [[nodiscard]]
inline int getSigDigits()
const;
159 [[nodiscard]]
inline bool isValid()
const;
182 [[nodiscard]]
double getOrgValue(
const std::string& value,
double def = 0.0)
const;
199 std::string _options;
203 int _originalSigDigits{0};
207 std::string _originalUnit;
215 double _multiplier{1.0};
228 set(unit, sig_digits);
243 return _valid ? _unit : _originalUnit;
248 return _valid ? _sigDigits : _originalSigDigits;
Encapsulates the std::function() template.
Definition TClosure.h:14
unit conversion class to easy the pain of conversions in dialogs.
Definition UnitConversion.h:90
bool isValid() const
Returns if there is a valid conversion present.
Definition UnitConversion.h:236
bool set(const std::string &unit, int sig_digits)
Retrieves the unit conversion using the passed values.
double getOrgValue(double value) const
Gets original value from the past converted value.
UnitConverter()=default
Default constructor.
bool set()
Retrieves the unit conversion using the current set values and passes them to the global function ge...
void clear()
clear the conversion and make it invalid.
Definition UnitConversion.h:231
std::string getUnit() const
Returns the unit after conversion.
Definition UnitConversion.h:241
std::string getString(double value) const
Returns the converted value as a string using the digits.
double getOrgValue(const std::string &value, double def=0.0) const
Gets the original value from the past string which may contain a calculation.
double getValue(double value) const
Gets the converted value from an original one.
int getSigDigits() const
Gets the significant digits after conversion.
Definition UnitConversion.h:246
#define _GII_CLASS
Definition gii/global.h:38
#define _GII_FUNC
Definition gii/global.h:37
Definition Application.h:10
TClosure< bool, UnitConversionEvent & > UnitConversionServerClosure
Type of the server callback function.
Definition UnitConversion.h:51
_GII_FUNC bool getUnitConversion(const std::string &option, const std::string &from_unit, int from_precision, double &multiplier, double &offset, std::string &to_unit, int &to_precision)
Returns true if a conversion could be made. Calculation to convert are: From -> To calculation: n...
_GII_FUNC void setUnitConversionHandler(const UnitConversionServerClosure &closure={})
Sets the callback function for a security server.
Structure passed to handle unit conversions.
Definition UnitConversion.h:14
std::string & _to_unit
New precision after conversion.
Definition UnitConversion.h:41
int _from_precision
Decimals of current unit. (can be negative)
Definition UnitConversion.h:35
double & _offset
offset value.
Definition UnitConversion.h:39
int & _to_precision
New unit string.
Definition UnitConversion.h:43
UnitConversionEvent(std::string option, std::string from_unit, int from_precision, double &multiplier, double &offset, std::string &to_unit, int &to_precision)
Constructor.
Definition UnitConversion.h:18
double & _multiplier
Multiplication factor.
Definition UnitConversion.h:37
std::string _option
Special conversion option code.
Definition UnitConversion.h:31
std::string _from_unit
current unit string.
Definition UnitConversion.h:33