Engauge Digitizer  2
FormatDegreesMinutesSecondsBase.h
1 /******************************************************************************************************
2  * (C) 2014 markummitchell@github.com. This file is part of Engauge Digitizer, which is released *
3  * under GNU General Public License version 2 (GPLv2) or (at your option) any later version. See file *
4  * LICENSE or go to gnu.org/licenses for details. Distribution requires prior written permission. *
5  ******************************************************************************************************/
6 
7 #ifndef FORMAT_DEGREES_MINUTES_SECONDS_BASE_H
8 #define FORMAT_DEGREES_MINUTES_SECONDS_BASE_H
9 
10 #include <QString>
11 #include <QValidator>
12 
15  public:
19 
23  QValidator::State parseInput (const QString &stringUntrimmed,
24  double &value) const;
25 
26  protected:
27 
29  QString formatOutputDegreesMinutesSeconds (double value) const;
30 
32  QString formatOutputDegreesMinutesSecondsNsew (double value,
33  bool isNsHemisphere) const;
34 
35  private:
36 
37  void stripSymbols (QString &field0,
38  QString &field1,
39  QString &field2) const;
40 };
41 
42 #endif // FORMAT_DEGREES_MINUTES_SECONDS_BASE_H
Common input parsing and output formatting for degrees/minutes/seconds values.
QString formatOutputDegreesMinutesSecondsNsew(double value, bool isNsHemisphere) const
Format as degrees, minutes and seconds with hemisphere.
QString formatOutputDegreesMinutesSeconds(double value) const
Format as degrees, minutes and seconds without hemisphere.
QValidator::State parseInput(const QString &stringUntrimmed, double &value) const
Parse the input string into a number value.