QGIS API Documentation  3.22.4-Białowieża (ce8e65e95e)
qgsmasksourceselectionwidget.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsmasksourceselectionwidget.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 QGSMASKSOURCESELECTIONWIDGET_H
16 #define QGSMASKSOURCESELECTIONWIDGET_H
17 
18 // We don't want to expose this in the public API
19 #define SIP_NO_FILE
20 
21 #include <QWidget>
22 #include "qgis_sip.h"
23 #include "qgis_gui.h"
25 
26 class QTreeWidget;
27 class QTreeWidgetItem;
28 class QgsSymbolLayer;
29 
38 class GUI_EXPORT QgsMaskSourceSelectionWidget : public QWidget
39 {
40  Q_OBJECT
41  public:
42  struct MaskSource
43  {
45  QString layerId;
46 
48  bool isLabeling = false;
49 
52  };
53 
55  explicit QgsMaskSourceSelectionWidget( QWidget *parent = nullptr );
56 
58  void update();
59 
61  QList<MaskSource> selection() const;
62 
64  void setSelection( const QList<MaskSource> &sel );
65 
66  signals:
68  void changed();
69 
70  private:
71  QTreeWidget *mTree;
72  QHash<QgsSymbolLayerReference, QTreeWidgetItem *> mItems;
73 };
74 
75 #endif
A widget that allows the selection of a list of sources for selective masking.
void changed()
Emitted when an item was changed.
We may need stable references to symbol layers, when pointers to symbol layers is not usable (when a ...
QgsSymbolLayerId symbolLayerId
The symbol layer id.