QGIS API Documentation  3.16.0-Hannover (43b64b13f3)
qgslayoutmeasurement.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgslayoutmeasurement.h
3  --------------------
4  begin : June 2017
5  copyright : (C) 2017 by Nyall Dawson
6  email : nyall dot dawson at gmail dot com
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 #ifndef QGSLAYOUTMEASUREMENT_H
19 #define QGSLAYOUTMEASUREMENT_H
20 
21 #include "qgis_core.h"
22 
23 #include "qgsunittypes.h"
24 
33 class CORE_EXPORT QgsLayoutMeasurement
34 {
35  public:
36 
43 
48  double length() const { return mLength; }
49 
54  void setLength( const double length ) { mLength = length; }
55 
60  QgsUnitTypes::LayoutUnit units() const { return mUnits; }
61 
67  void setUnits( const QgsUnitTypes::LayoutUnit units ) { mUnits = units; }
68 
73  QString encodeMeasurement() const;
74 
79  static QgsLayoutMeasurement decodeMeasurement( const QString &string );
80 
81  bool operator==( QgsLayoutMeasurement other ) const;
82  bool operator!=( QgsLayoutMeasurement other ) const;
83 
87  QgsLayoutMeasurement operator+( double v ) const;
88 
92  QgsLayoutMeasurement operator+=( double v );
93 
97  QgsLayoutMeasurement operator-( double v ) const;
98 
102  QgsLayoutMeasurement operator-=( double v );
103 
107  QgsLayoutMeasurement operator*( double v ) const;
108 
112  QgsLayoutMeasurement operator*=( double v );
113 
117  QgsLayoutMeasurement operator/( double v ) const;
118 
122  QgsLayoutMeasurement operator/=( double v );
123 
124 #ifdef SIP_RUN
125  SIP_PYOBJECT __repr__();
126  % MethodCode
127  QString str = QStringLiteral( "<QgsLayoutMeasurement: %1 %2 >" ).arg( sipCpp->length() ).arg( QgsUnitTypes::toAbbreviatedString( sipCpp->units() ) );
128  sipRes = PyUnicode_FromString( str.toUtf8().constData() );
129  % End
130 #endif
131 
132  private:
133 
134  double mLength = 0.0;
136 
137 };
138 
139 #endif // QGSLAYOUTMEASUREMENT_H
QgsLayoutMeasurement::setUnits
void setUnits(const QgsUnitTypes::LayoutUnit units)
Sets the units for the measurement.
Definition: qgslayoutmeasurement.h:67
operator==
bool operator==(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
Definition: qgsfeatureiterator.h:400
QgsLayoutMeasurement::length
double length() const
Returns the length of the measurement.
Definition: qgslayoutmeasurement.h:48
QgsLayoutMeasurement::setLength
void setLength(const double length)
Sets the length of the measurement.
Definition: qgslayoutmeasurement.h:54
QgsUnitTypes::toAbbreviatedString
static Q_INVOKABLE QString toAbbreviatedString(QgsUnitTypes::DistanceUnit unit)
Returns a translated abbreviation representing a distance unit.
Definition: qgsunittypes.cpp:269
QgsUnitTypes::LayoutUnit
LayoutUnit
Layout measurement units.
Definition: qgsunittypes.h:181
qgsunittypes.h
operator/
QgsMargins operator/(const QgsMargins &margins, double divisor)
Returns a QgsMargins object that is formed by dividing the components of the given margins by the giv...
Definition: qgsmargins.h:262
operator!=
bool operator!=(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
Definition: qgsfeatureiterator.h:405
QgsLayoutMeasurement::units
QgsUnitTypes::LayoutUnit units() const
Returns the units for the measurement.
Definition: qgslayoutmeasurement.h:60
operator*
QgsMargins operator*(const QgsMargins &margins, double factor)
Returns a QgsMargins object that is formed by multiplying each component of the given margins by fact...
Definition: qgsmargins.h:242
operator-
QgsInterval operator-(const QDateTime &dt1, const QDateTime &dt2)
Returns the interval between two datetimes.
Definition: qgsinterval.cpp:138
operator+
QDateTime operator+(const QDateTime &start, const QgsInterval &interval)
Adds an interval to a datetime.
Definition: qgsinterval.cpp:144
QgsUnitTypes::LayoutMillimeters
@ LayoutMillimeters
Millimeters.
Definition: qgsunittypes.h:182
QgsLayoutMeasurement
This class provides a method of storing measurements for use in QGIS layouts using a variety of diffe...
Definition: qgslayoutmeasurement.h:34