Engauge Digitizer  2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 ( )

Single constructor.

Definition at line 16 of file FormatCoordsUnitsStrategyNonPolarTheta.cpp.

17 {
18 }

Member Function Documentation

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 }
QValidator::State parseInput(CoordUnitsDate coordUnitsDate, CoordUnitsTime coordUnitsTime, const QString &stringUntrimmed, double &value) const
Parse the input string into a time value.
#define LOG4CPP_ERROR_S(logger)
Definition: convenience.h:12
QValidator::State parseInput(const QString &stringUntrimmed, double &value) const
Parse the input string into a number value.
Angular units according to CoordUnitsNonPolarTheta.
log4cpp::Category * mainCat
Definition: Logger.cpp:14
Input parsing and output formatting for date/time values.
#define ENGAUGE_ASSERT(cond)
Drop in replacement for Q_ASSERT if defined(QT_NO_DEBUG) &amp;&amp; !defined(QT_FORCE_ASSERTS) define ENGAUGE...
Definition: EngaugeAssert.h:20
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 }
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 LOG4CPP_ERROR_S(logger)
Definition: convenience.h:12
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...
Angular units according to CoordUnitsNonPolarTheta.
QString formatOutput(CoordUnitsDate coordUnitsDate, CoordUnitsTime coordUnitsTime, double value) const
Format the date/time value according to date/time format settings.
log4cpp::Category * mainCat
Definition: Logger.cpp:14
Input parsing and output formatting for date/time values.
#define ENGAUGE_ASSERT(cond)
Drop in replacement for Q_ASSERT if defined(QT_NO_DEBUG) &amp;&amp; !defined(QT_FORCE_ASSERTS) define ENGAUGE...
Definition: EngaugeAssert.h:20

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