Engauge Digitizer
2
Loading...
Searching...
No Matches
Format
FormatDateTime.h
Go to the documentation of this file.
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_DATE_TIME_H
8
#define FORMAT_DATE_TIME_H
9
10
#include "
CoordUnitsDate.h
"
11
#include "
CoordUnitsTime.h
"
12
#include <QDateTime>
13
#include <QHash>
14
#include <QString>
15
#include <QStringList>
16
#include <QValidator>
17
18
typedef
QHash<CoordUnitsDate, QString>
FormatDate
;
19
typedef
QHash<CoordUnitsTime, QString>
FormatTime
;
20
21
typedef
QHash<CoordUnitsDate, QStringList>
FormatsDate
;
22
typedef
QHash<CoordUnitsTime, QStringList>
FormatsTime
;
23
25
class
FormatDateTime
{
26
public
:
28
FormatDateTime
();
29
31
QString
formatOutput
(
CoordUnitsDate
coordUnitsDate,
32
CoordUnitsTime
coordUnitsTime,
33
double
value
)
const
;
34
37
QValidator::State
parseInput
(
CoordUnitsDate
coordUnitsDate,
38
CoordUnitsTime
coordUnitsTime,
39
const
QString
&
stringUntrimmed
,
40
double
&
value
)
const
;
41
42
private
:
43
44
bool
ambiguityBetweenDateAndTime (
CoordUnitsDate
coordUnitsDate,
45
CoordUnitsTime
coordUnitsTime,
46
const
QString
&
string
)
const
;
47
void
dateTimeLookup (
const
FormatsDate
&
formatsDate
,
48
const
FormatsTime
&
formatsTime
,
49
CoordUnitsDate
coordUnitsDate,
50
CoordUnitsTime
coordUnitsTime,
51
const
QString
&
string
,
52
bool
useQDateTimeElseQRegExp
,
53
double
&
value
,
// Set only if useQDateTimeElseQRegExp=success=true
54
bool
&success)
const
;
55
QDateTime
fromSecsSinceEpoch (
qint64
secs
)
const
;
// Emulate QDateTime::fromSecsSinceEpoch in Qt 5.8
56
void
loadFormatsFormat();
57
void
loadFormatsParseAcceptable();
58
void
loadFormatsParseIncomplete();
59
qint64
toSecsSinceEpoch(
const
QDateTime
&
dt
)
const
;
// Emulate QDateTime::toSecsSinceEpoch in Qt 5.8
60
61
// For formatting output
62
FormatDate
m_formatsDateFormat;
63
FormatTime
m_formatsTimeFormat;
64
65
// For parsing input, using built in Qt date/time parsing according to QDateTime
66
FormatsDate
m_formatsDateParseAcceptable;
67
FormatsTime
m_formatsTimeParseAcceptable;
68
69
// For parsing input, after input has been found to not be Acceptable. Regular expressions are used since Qt date/time
70
// parsing of Intermediate strings does not work. Example, 'J' and 'Ja' would be rejected although they are typed
71
// in the process of entering 'Jan' for the month
72
FormatsDate
m_formatsDateParseIncomplete;
73
FormatsTime
m_formatsTimeParseIncomplete;
74
};
75
76
#endif
// FORMAT_DATE_TIME_H
CoordUnitsDate.h
CoordUnitsDate
CoordUnitsDate
Definition
CoordUnitsDate.h:12
CoordUnitsTime.h
CoordUnitsTime
CoordUnitsTime
Definition
CoordUnitsTime.h:12
INNER_RADIUS_MIN
const int INNER_RADIUS_MIN
Definition
DlgSettingsDigitizeCurve.cpp:35
FormatsDate
QHash< CoordUnitsDate, QStringList > FormatsDate
Definition
FormatDateTime.h:21
FormatsTime
QHash< CoordUnitsTime, QStringList > FormatsTime
Definition
FormatDateTime.h:22
FormatTime
QHash< CoordUnitsTime, QString > FormatTime
Definition
FormatDateTime.h:19
FormatDate
QHash< CoordUnitsDate, QString > FormatDate
Definition
FormatDateTime.h:18
FormatDateTime
Input parsing and output formatting for date/time values.
Definition
FormatDateTime.h:25
FormatDateTime::FormatDateTime
FormatDateTime()
Single constructor.
Definition
FormatDateTime.cpp:14
FormatDateTime::parseInput
QValidator::State parseInput(CoordUnitsDate coordUnitsDate, CoordUnitsTime coordUnitsTime, const QString &stringUntrimmed, double &value) const
Parse the input string into a time value.
Definition
FormatDateTime.cpp:443
FormatDateTime::formatOutput
QString formatOutput(CoordUnitsDate coordUnitsDate, CoordUnitsTime coordUnitsTime, double value) const
Format the date/time value according to date/time format settings.
Definition
FormatDateTime.cpp:127
Generated on Sat Dec 21 2024 18:04:13 for Engauge Digitizer by
1.10.0