Engauge Digitizer  2
Public Member Functions | List of all members
FormatCoordsUnitsStrategyNonPolarTheta Class Reference

Format conversions between unformatted and formatted for CoordUnitsNonPolarTheta. More...

#include <FormatCoordsUnitsStrategyNonPolarTheta.h>

Inheritance diagram for FormatCoordsUnitsStrategyNonPolarTheta:
Inheritance graph
Collaboration diagram for FormatCoordsUnitsStrategyNonPolarTheta:
Collaboration graph

Public Member Functions

 FormatCoordsUnitsStrategyNonPolarTheta ()
 Single constructor. More...
 
double formattedToUnformatted (const QString &string, const QLocale &locale, CoordUnitsNonPolarTheta coordUnits, CoordUnitsDate coordUnitsDate, CoordUnitsTime coordUnitsTime) const
 Convert formatted string to simple unformatted number. More...
 
QString unformattedToFormatted (double valueUnformatted, const QLocale &locale, CoordUnitsNonPolarTheta coordUnits, CoordUnitsDate coordUnitsDate, CoordUnitsTime coordUnitsTime, bool isXTheta, const DocumentModelGeneral &modelGeneral, const Transformation &transformation, double valueUnformattedOther) const
 Convert simple unformatted number to formatted string. More...
 
- Public Member Functions inherited from FormatCoordsUnitsStrategyAbstractBase
 FormatCoordsUnitsStrategyAbstractBase ()
 Single constructor. More...
 

Additional Inherited Members

- Protected Member Functions inherited from FormatCoordsUnitsStrategyAbstractBase
int precisionDigitsForRawNumber (double valueUnformatted, double valueUnformattedOther, bool isXTheta, const DocumentModelGeneral &modelGeneral, const Transformation &transformation) const
 Compute precision for outputting an unformatted value, consistent with the resolution at the point where that point lies. More...
 

Detailed Description

Format conversions between unformatted and formatted for CoordUnitsNonPolarTheta.

Definition at line 21 of file FormatCoordsUnitsStrategyNonPolarTheta.h.

Constructor & Destructor Documentation

◆ FormatCoordsUnitsStrategyNonPolarTheta()

FormatCoordsUnitsStrategyNonPolarTheta::FormatCoordsUnitsStrategyNonPolarTheta ( )

Single constructor.

Definition at line 16 of file FormatCoordsUnitsStrategyNonPolarTheta.cpp.

17 {
18 }

Member Function Documentation

◆ formattedToUnformatted()

double FormatCoordsUnitsStrategyNonPolarTheta::formattedToUnformatted ( const QString &  string,
const QLocale &  locale,
CoordUnitsNonPolarTheta  coordUnits,
CoordUnitsDate  coordUnitsDate,
CoordUnitsTime  coordUnitsTime 
) const

Convert formatted string to simple unformatted number.

Definition at line 20 of file FormatCoordsUnitsStrategyNonPolarTheta.cpp.

25 {
26  //LOG4CPP_DEBUG_S ((*mainCat)) << "FormatCoordsUnitsStrategyNonPolarTheta::formattedToUnformatted";
27 
28  double value;
29 
30  switch (coordUnits) {
32  {
33  FormatDateTime format;
34  ENGAUGE_ASSERT (format.parseInput (coordUnitsDate,
35  coordUnitsTime,
36  string,
37  value) == QValidator::Acceptable);
38  }
39  break;
40 
43  {
45  ENGAUGE_ASSERT (format.parseInput (string,
46  value) == QValidator::Acceptable);
47  }
48  break;
49 
51  value = locale.toDouble (string);
52  break;
53 
54  default:
55  LOG4CPP_ERROR_S ((*mainCat)) << "FormatCoordsUnitsStrategyNonPolarTheta::formattedToFormatted";
56  ENGAUGE_ASSERT (false);
57  break;
58  }
59 
60  return value;
61 }
#define LOG4CPP_ERROR_S(logger)
Definition: convenience.h:12
Angular units according to CoordUnitsNonPolarTheta.
log4cpp::Category * mainCat
Definition: Logger.cpp:14
QValidator::State parseInput(CoordUnitsDate coordUnitsDate, CoordUnitsTime coordUnitsTime, const QString &stringUntrimmed, double &value) const
Parse the input string into a time value.
Input parsing and output formatting for date/time values.
QValidator::State parseInput(const QString &stringUntrimmed, double &value) const
Parse the input string into a number value.
#define ENGAUGE_ASSERT(cond)
Drop in replacement for Q_ASSERT if defined(QT_NO_DEBUG) && !defined(QT_FORCE_ASSERTS) define ENGAUGE...
Definition: EngaugeAssert.h:20

◆ unformattedToFormatted()

QString FormatCoordsUnitsStrategyNonPolarTheta::unformattedToFormatted ( double  valueUnformatted,
const QLocale &  locale,
CoordUnitsNonPolarTheta  coordUnits,
CoordUnitsDate  coordUnitsDate,
CoordUnitsTime  coordUnitsTime,
bool  isXTheta,
const DocumentModelGeneral modelGeneral,
const Transformation transformation,
double  valueUnformattedOther 
) const

Convert simple unformatted number to formatted string.

Definition at line 63 of file FormatCoordsUnitsStrategyNonPolarTheta.cpp.

72 {
73  //LOG4CPP_DEBUG_S ((*mainCat)) << "FormatCoordsUnitsStrategyNonPolarTheta::unformattedToFormatted";
74 
75  const char FORMAT ('g');
76 
77  QString valueFormatted;
78 
79  switch (coordUnits) {
81  {
82  FormatDateTime format;
83  valueFormatted = format.formatOutput (coordUnitsDate,
84  coordUnitsTime,
85  valueUnformatted);
86  }
87  break;
88 
91  {
93  valueFormatted = format.formatOutput (coordUnits,
94  valueUnformatted,
95  isXTheta);
96  }
97  break;
98 
100  valueFormatted = locale.toString (valueUnformatted,
101  FORMAT,
102  precisionDigitsForRawNumber (valueUnformatted,
103  valueUnformattedOther,
104  isXTheta,
105  modelGeneral,
106  transformation));
107  break;
108 
109  default:
110  LOG4CPP_ERROR_S ((*mainCat)) << "FormatCoordsUnitsStrategyNonPolarTheta::unformattedToFormatted";
111  ENGAUGE_ASSERT (false);
112  break;
113  }
114 
115  return valueFormatted;
116 }
#define LOG4CPP_ERROR_S(logger)
Definition: convenience.h:12
Angular units according to CoordUnitsNonPolarTheta.
int precisionDigitsForRawNumber(double valueUnformatted, double valueUnformattedOther, bool isXTheta, const DocumentModelGeneral &modelGeneral, const Transformation &transformation) const
Compute precision for outputting an unformatted value, consistent with the resolution at the point wh...
log4cpp::Category * mainCat
Definition: Logger.cpp:14
Input parsing and output formatting for date/time values.
QString formatOutput(CoordUnitsNonPolarTheta coordUnits, double value, bool isXTheta) const
Format the degrees/minutes/seconds value. Distinguishing x/theta versus y/radius is required for N/S/...
#define ENGAUGE_ASSERT(cond)
Drop in replacement for Q_ASSERT if defined(QT_NO_DEBUG) && !defined(QT_FORCE_ASSERTS) define ENGAUGE...
Definition: EngaugeAssert.h:20
QString formatOutput(CoordUnitsDate coordUnitsDate, CoordUnitsTime coordUnitsTime, double value) const
Format the date/time value according to date/time format settings.

The documentation for this class was generated from the following files: