QGIS API Documentation  3.22.4-Białowieża (ce8e65e95e)
qgssymbollayerselectionwidget.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgssymbollayerselectionwidget.h
3  ---------------------
4  begin : July 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 QGSSYMBOLLAYERSELECTIONWIDGET_H
16 #define QGSSYMBOLLAYERSELECTIONWIDGET_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 QgsVectorLayer;
29 
37 class GUI_EXPORT QgsSymbolLayerSelectionWidget : public QWidget
38 {
39  Q_OBJECT
40  public:
42  explicit QgsSymbolLayerSelectionWidget( QWidget *parent = nullptr );
43 
45  void setLayer( const QgsVectorLayer *layer );
46 
48  QSet<QgsSymbolLayerId> selection() const;
49 
51  void setSelection( const QSet<QgsSymbolLayerId> &sel );
52 
53  signals:
55  void changed();
56 
57  private:
59  QTreeWidget *mTree;
61  const QgsVectorLayer *mLayer = nullptr;
62 
63  // Mapping between symbol layer id and tree elements
64  QHash<QgsSymbolLayerId, QTreeWidgetItem *> mItems;
65 };
66 
67 #endif
A widget that allows the selection of a list of symbol layers from a layer.
void changed()
Signal emitted when something the configuration is changed.
Represents a vector layer which manages a vector based data sets.