QGIS API Documentation
3.26.3-Buenos Aires (65e4edfdad)
src
core
numericformats
qgsnumericformat.cpp
Go to the documentation of this file.
1
/***************************************************************************
2
qgsnumericformat.cpp
3
-------------------
4
begin : January 2020
5
copyright : (C) 2020 by Nyall Dawson
6
email : nyall dot dawson at gmail dot com
7
8
***************************************************************************
9
* *
10
* This program is free software; you can redistribute it and/or modify *
11
* it under the terms of the GNU General Public License as published by *
12
* the Free Software Foundation; either version 2 of the License, or *
13
* (at your option) any later version. *
14
* *
15
***************************************************************************/
16
17
#include "
qgsnumericformat.h
"
18
#include "
qgsxmlutils.h
"
19
#include "
qgsreadwritecontext.h
"
20
21
#include <QLocale>
22
23
QgsNumericFormatContext::QgsNumericFormatContext
()
24
{
25
const
QLocale l;
26
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
27
mThousandsSep = l.groupSeparator();
28
mDecimalSep = l.decimalPoint();
29
mPercent = l.percent();
30
mZeroDigit = l.zeroDigit();
31
mNegativeSign = l.negativeSign();
32
mPositiveSign = l.positiveSign();
33
mExponential = l.exponential();
34
#else
35
// With Qt6, these methods return strings to be prepared
36
// for utf-16 surrogates
37
// Do we care? If yes, we need to switch all members of QgsNumericFormatContext to QString
38
mThousandsSep = l.groupSeparator().at( 0 );
39
mDecimalSep = l.decimalPoint().at( 0 );
40
mPercent = l.percent().at( 0 );
41
mZeroDigit = l.zeroDigit().at( 0 );
42
mNegativeSign = l.negativeSign().at( 0 );
43
mPositiveSign = l.positiveSign().at( 0 );
44
mExponential = l.exponential().at( 0 );
45
#endif
46
}
47
48
int
QgsNumericFormat::sortKey
()
49
{
50
return
DEFAULT_SORT_KEY
;
51
}
52
53
double
QgsNumericFormat::suggestSampleValue
()
const
54
{
55
return
1234.56789123456;
56
}
57
58
void
QgsNumericFormat::writeXml
( QDomElement &element, QDomDocument &document,
const
QgsReadWriteContext
&context )
const
59
{
60
const
QVariantMap config =
configuration
( context );
61
const
QDomElement configElement =
QgsXmlUtils::writeVariant
( config, document );
62
element.appendChild( configElement );
63
element.setAttribute( QStringLiteral(
"id"
),
id
() );
64
}
65
66
bool
QgsNumericFormat::operator==
(
const
QgsNumericFormat
&other )
const
67
{
68
return
id
() == other.
id
() &&
configuration
(
QgsReadWriteContext
() ) == other.
configuration
(
QgsReadWriteContext
() );
69
}
70
71
bool
QgsNumericFormat::operator!=
(
const
QgsNumericFormat
&other )
const
72
{
73
return
!
operator==
( other );
74
}
QgsReadWriteContext
The class is used as a container of context for various read/write operations on other objects.
Definition:
qgsreadwritecontext.h:34
qgsreadwritecontext.h
QgsNumericFormat
A numeric formatter allows for formatting a numeric value for display, using a variety of different f...
Definition:
qgsnumericformat.h:259
QgsNumericFormat::id
virtual QString id() const =0
Returns a unique id for this numeric format.
QgsNumericFormat::suggestSampleValue
virtual double suggestSampleValue() const
Returns a suggested sample value which nicely represents the current format configuration.
Definition:
qgsnumericformat.cpp:53
QgsNumericFormat::operator!=
bool operator!=(const QgsNumericFormat &other) const
Definition:
qgsnumericformat.cpp:71
qgsxmlutils.h
QgsNumericFormat::configuration
virtual QVariantMap configuration(const QgsReadWriteContext &context) const =0
Returns the current configuration of the formatter.
qgsnumericformat.h
QgsNumericFormat::operator==
bool operator==(const QgsNumericFormat &other) const
Definition:
qgsnumericformat.cpp:66
QgsNumericFormat::writeXml
void writeXml(QDomElement &element, QDomDocument &document, const QgsReadWriteContext &context) const
Writes the format to an XML element.
Definition:
qgsnumericformat.cpp:58
QgsNumericFormat::DEFAULT_SORT_KEY
static constexpr int DEFAULT_SORT_KEY
Definition:
qgsnumericformat.h:354
QgsNumericFormatContext::QgsNumericFormatContext
QgsNumericFormatContext()
Constructor for QgsNumericFormatContext.
Definition:
qgsnumericformat.cpp:23
QgsXmlUtils::writeVariant
static QDomElement writeVariant(const QVariant &value, QDomDocument &doc)
Write a QVariant to a QDomElement.
Definition:
qgsxmlutils.cpp:106
QgsNumericFormat::sortKey
virtual int sortKey()
Returns a sorting key value, where formats with a lower sort key will be shown earlier in lists.
Definition:
qgsnumericformat.cpp:48
Generated on Sun Sep 11 2022 00:03:17 for QGIS API Documentation by
1.8.17