QGIS API Documentation  3.6.0-Noosa (5873452)
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 
95  void setPredefinedScales( const QVector<qreal> &scales );
96 
101  QVector<qreal> predefinedScales() const { return mPredefinedScales; }
102 
103  signals:
104 
108  void layerChanged( QgsVectorLayer *layer );
109 
114  void changed();
115 
116  private:
117 
118  QgsLayout *mLayout = nullptr;
119 
120  QgsFeature mFeature;
121  QPointer< QgsVectorLayer > mLayer;
122 
123  // projected geometry cache
124  mutable QMap<long, QgsGeometry> mGeometryCache;
125 
126  //list of predefined scales
127  QVector<qreal> mPredefinedScales;
128 
129  friend class QgsLayoutExporter;
130  friend class TestQgsLayout;
131 
132 };
133 
134 #endif //QGSLAYOUTREPORTCONTEXT_H
135 
136 
137 
#define SIP_TRANSFERTHIS
Definition: qgis_sip.h:46
Stores information relating to the current reporting context for a layout.
A geometry is the spatial representation of a feature.
Definition: qgsgeometry.h:106
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
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.
QVector< qreal > predefinedScales() const
Returns the current list of predefined scales for use with the layout.