QGIS API Documentation  3.21.0-Master (5b68dc587e)
qgssinglesymbolrendererwidget.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgssinglesymbolrendererwidget.h
3  ---------------------
4  begin : November 2009
5  copyright : (C) 2009 by Martin Dobias
6  email : wonder dot sk at gmail 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 QGSSINGLESYMBOLRENDERERWIDGET_H
16 #define QGSSINGLESYMBOLRENDERERWIDGET_H
17 
18 #include "qgsrendererwidget.h"
19 #include "qgis_sip.h"
20 #include "qgis_gui.h"
21 
24 
25 class QMenu;
26 
32 {
33  Q_OBJECT
34 
35  public:
36  static QgsRendererWidget *create( QgsVectorLayer *layer, QgsStyle *style, QgsFeatureRenderer *renderer ) SIP_FACTORY;
37 
40 
41  QgsFeatureRenderer *renderer() override;
42 
43  void setContext( const QgsSymbolWidgetContext &context ) override;
44  void setDockMode( bool dockMode ) override;
45  void disableSymbolLevels() override SIP_SKIP;
46 
47  protected:
48  void setSymbolLevels( const QList< QgsLegendSymbolItem > &levels, bool enabled ) override;
49 
50  private slots:
51  void changeSingleSymbol();
52 
53  void showSymbolLevels();
54 
55  void dataDefinedSizeLegend();
56 
57  private:
58 
59  std::unique_ptr< QgsSingleSymbolRenderer > mRenderer;
60  QgsSymbolSelectorWidget *mSelector = nullptr;
61  std::unique_ptr< QgsSymbol > mSingleSymbol;
62  QAction *mActionLevels = nullptr;
63 };
64 
65 
66 #endif // QGSSINGLESYMBOLRENDERERWIDGET_H
Base class for renderer settings widgets.
virtual QgsFeatureRenderer * renderer()=0
Returns pointer to the renderer (no transfer of ownership)
void setDockMode(bool dockMode) override
Set the widget in dock mode which tells the widget to emit panel widgets and not open dialogs.
virtual void setContext(const QgsSymbolWidgetContext &context)
Sets the context in which the renderer widget is shown, e.g., the associated map canvas and expressio...
virtual void disableSymbolLevels()
Disables symbol level modification on the widget.
virtual void setSymbolLevels(const QList< QgsLegendSymbolItem > &levels, bool enabled)
Sets the symbol levels for the renderer defined in the widget.
Symbol selector widget that can be used to select and build a symbol.
Contains settings which reflect the context in which a symbol (or renderer) widget is shown,...
Represents a vector layer which manages a vector based data sets.
#define SIP_SKIP
Definition: qgis_sip.h:126
#define SIP_FACTORY
Definition: qgis_sip.h:76