QGIS API Documentation 3.99.0-Master (a26b91b364d)
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
26class QgsPrintLayout;
27class QgsLayoutAtlas;
28class QgsMessageBar;
29
37class 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 mAtlasLimitCoverageLayerRenderCheckBox_stateChanged( int state );
52 void mAtlasHideCoverageCheckBox_stateChanged( int state );
53 void mAtlasSingleFileCheckBox_stateChanged( int state );
54 void mAtlasSortFeatureCheckBox_stateChanged( int state );
55 void changesSortFeatureExpression( const QString &expression, bool valid );
56 void mAtlasSortFeatureDirectionButton_clicked();
57 void mAtlasFeatureFilterEdit_editingFinished();
58 void mAtlasFeatureFilterButton_clicked();
59 void mAtlasFeatureFilterCheckBox_stateChanged( int state );
60 void pageNameExpressionChanged( const QString &expression, bool valid );
61 void changeFileFormat();
62 void updateGuiElements();
63 void updateAtlasFeatures();
64
65 private:
66 QPointer<QgsPrintLayout> mLayout;
67 QgsLayoutAtlas *mAtlas = nullptr;
68 QgsMessageBar *mMessageBar = nullptr;
69 bool mBlockUpdates = false;
70
71 void blockAllSignals( bool b );
72 void checkLayerType( QgsVectorLayer *layer );
73};
74
75#endif // QGSLAYOUTATLASWIDGET_H
Widget for configuring the properties of a layout atlas.
Used to render QgsLayout as an atlas, by iterating over the features from an associated vector layer.
Base class for all map layer types.
Definition qgsmaplayer.h:78
A bar for displaying non-blocking messages to the user.
Print layout, a QgsLayout subclass for static or atlas-based layouts.
Represents a vector layer which manages a vector based dataset.