QGIS API Documentation  3.16.0-Hannover (43b64b13f3)
qgsmaskingwidget.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsmaskingwidget.h
3  ---------------------
4  begin : September 2019
5  copyright : (C) 2019 by Hugo Mercier
6  email : hugo dot mercier at oslandia dot com
7  ***************************************************************************
8  * *
9  * This program is free software; you can redistribute it and/or modify *
10  * it under the terms of the GNU General Public License as published by *
11  * the Free Software Foundation; either version 2 of the License, or *
12  * (at your option) any later version. *
13  * *
14  ***************************************************************************/
15 #ifndef QGSMASKINGWIDGET_H
16 #define QGSMASKINGWIDGET_H
17 
18 // We don't want to expose this in the public API
19 #define SIP_NO_FILE
20 
21 #include <QPointer>
22 
23 #include "qgspanelwidget.h"
24 #include "ui_qgsmaskingwidgetbase.h"
25 #include "qgis_sip.h"
26 #include "qgis_gui.h"
27 
28 class QgsMessageBarItem;
29 
37 class GUI_EXPORT QgsMaskingWidget: public QgsPanelWidget, private Ui::QgsMaskingWidgetBase
38 {
39  Q_OBJECT
40  public:
42  QgsMaskingWidget( QWidget *parent = nullptr );
43 
45  void setLayer( QgsVectorLayer *layer );
46 
48  void apply();
49 
51  bool hasBeenPopulated();
52 
53  signals:
55  void widgetChanged();
56 
57  protected:
58 
59  void showEvent( QShowEvent * ) override;
60 
61  private slots:
62 
66  void onSelectionChanged();
67 
68  private:
69  QgsVectorLayer *mLayer = nullptr;
71  void populate();
72 
73  QPointer<QgsMessageBarItem> mMessageBarItem;
74  bool mMustPopulate = false;
75 };
76 
77 #endif
QgsMaskingWidget::widgetChanged
void widgetChanged()
Emitted when a change is performed.
QgsMaskingWidget
Main widget for the configuration of mask sources and targets.
Definition: qgsmaskingwidget.h:38
QgsPanelWidget
Base class for any widget that can be shown as a inline panel.
Definition: qgspanelwidget.h:30
QgsMessageBarItem
Represents an item shown within a QgsMessageBar widget.
Definition: qgsmessagebaritem.h:39
qgis_sip.h
QgsVectorLayer
Represents a vector layer which manages a vector based data sets.
Definition: qgsvectorlayer.h:387
qgspanelwidget.h