QGIS API Documentation  3.17.0-Master (df2c9ff931)
qgslayoutreportcontext.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgslayoutreportcontext.h
3  -------------------
4  begin : July 2017
5  copyright : (C) 2017 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 #ifndef QGSLAYOUTREPORTCONTEXT_H
17 #define QGSLAYOUTREPORTCONTEXT_H
18 
19 #include "qgis_core.h"
20 #include "qgsfeature.h"
21 #include "qgslayout.h"
22 
23 #include <QtGlobal>
24 #include <QPointer>
25 
32 class CORE_EXPORT QgsLayoutReportContext : public QObject
33 {
34 
35  Q_OBJECT
36 
37  public:
38 
43 
53  void setFeature( const QgsFeature &feature );
54 
62  QgsFeature feature() const { return mFeature; }
63 
74 
79  QgsVectorLayer *layer() const;
80 
88  void setLayer( QgsVectorLayer *layer );
89 
96  Q_DECL_DEPRECATED void setPredefinedScales( const QVector<qreal> &scales ) SIP_DEPRECATED;
97 
103  Q_DECL_DEPRECATED QVector<qreal> predefinedScales() const SIP_DEPRECATED { return mPredefinedScales; }
104 
105  signals:
106 
110  void layerChanged( QgsVectorLayer *layer );
111 
116  void changed();
117 
118  private:
119 
120  QgsLayout *mLayout = nullptr;
121 
122  QgsFeature mFeature;
123  QPointer< QgsVectorLayer > mLayer;
124 
125  // projected geometry cache
126  mutable QMap<long, QgsGeometry> mGeometryCache;
127 
128  //list of predefined scales
129  QVector<qreal> mPredefinedScales;
130 
131  friend class QgsLayoutExporter;
132  friend class TestQgsLayout;
133 
134 };
135 
136 #endif //QGSLAYOUTREPORTCONTEXT_H
137 
138 
139 
#define SIP_TRANSFERTHIS
Definition: qgis_sip.h:53
Stores information relating to the current reporting context for a layout.
A geometry is the spatial representation of a feature.
Definition: qgsgeometry.h:123
The feature class encapsulates a single feature including its id, geometry and a list of field/values...
Definition: qgsfeature.h:55
const QgsCoordinateReferenceSystem & crs
Base class for layouts, which can contain items such as maps, labels, scalebars, etc.
Definition: qgslayout.h:49
#define SIP_DEPRECATED
Definition: qgis_sip.h:106
Q_DECL_DEPRECATED QVector< qreal > predefinedScales() const
Returns the current list of predefined scales for use with the layout.
Handles rendering and exports of layouts to various formats.
This class represents a coordinate reference system (CRS).
QgsFeature feature() const
Returns the current feature for evaluating the layout.
Represents a vector layer which manages a vector based data sets.