QGIS API Documentation  3.20.0-Odense (decaadbb31)
qgslayoutatlaswidget.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgslayoutatlaswidget.h
3  ---------------------------
4  begin : October 2012
5  copyright : (C) 2012 Hugo Mercier
6  email : hugo dot mercier at oslandia 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 #ifndef QGSLAYOUTATLASWIDGET_H
18 #define QGSLAYOUTATLASWIDGET_H
19 
20 // We don't want to expose this in the public API
21 #define SIP_NO_FILE
22 
23 #include "qgis_gui.h"
24 #include "ui_qgslayoutatlaswidgetbase.h"
25 
26 class QgsPrintLayout;
27 class QgsLayoutAtlas;
28 class QgsMessageBar;
29 
37 class GUI_EXPORT QgsLayoutAtlasWidget: public QWidget, private Ui::QgsLayoutAtlasWidgetBase
38 {
39  Q_OBJECT
40  public:
42  QgsLayoutAtlasWidget( QWidget *parent, QgsPrintLayout *layout );
44  void setMessageBar( QgsMessageBar *bar );
45 
46  private slots:
47  void mUseAtlasCheckBox_stateChanged( int state );
48  void changeCoverageLayer( QgsMapLayer *layer );
49  void mAtlasFilenamePatternEdit_editingFinished();
50  void mAtlasFilenameExpressionButton_clicked();
51  void mAtlasHideCoverageCheckBox_stateChanged( int state );
52  void mAtlasSingleFileCheckBox_stateChanged( int state );
53  void mAtlasSortFeatureCheckBox_stateChanged( int state );
54  void changesSortFeatureExpression( const QString &expression, bool valid );
55  void mAtlasSortFeatureDirectionButton_clicked();
56  void mAtlasFeatureFilterEdit_editingFinished();
57  void mAtlasFeatureFilterButton_clicked();
58  void mAtlasFeatureFilterCheckBox_stateChanged( int state );
59  void pageNameExpressionChanged( const QString &expression, bool valid );
60  void changeFileFormat();
61  void updateGuiElements();
62  void updateAtlasFeatures();
63 
64  private:
65  QPointer< QgsPrintLayout > mLayout;
66  QgsLayoutAtlas *mAtlas = nullptr;
67  QgsMessageBar *mMessageBar = nullptr;
68  bool mBlockUpdates = false;
69 
70  void blockAllSignals( bool b );
71  void checkLayerType( QgsVectorLayer *layer );
72 };
73 
74 #endif // QGSLAYOUTATLASWIDGET_H
Widget for configuring the properties of a layout atlas.
Class used to render QgsLayout as an atlas, by iterating over the features from an associated vector ...
Base class for all map layer types.
Definition: qgsmaplayer.h:70
A bar for displaying non-blocking messages to the user.
Definition: qgsmessagebar.h:61
Print layout, a QgsLayout subclass for static or atlas-based layouts.
Represents a vector layer which manages a vector based data sets.