QGIS API Documentation 3.99.0-Master (26c88405ac0)
Loading...
Searching...
No Matches
qgssymbolwidgetcontext.h
Go to the documentation of this file.
1/***************************************************************************
2 qgssymbolwidgetcontext.h
3 ------------------------
4 begin : September 2016
5 copyright : (C) 2016 by Nyall Dawson
6 email : nyall dot dawson 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 QGSSYMBOLWIDGETCONTEXT_H
16#define QGSSYMBOLWIDGETCONTEXT_H
17
18#include <memory>
19
20#include "qgis_gui.h"
22
23class QgsMapLayer;
24class QgsMapCanvas;
25class QgsMessageBar;
26
34class GUI_EXPORT QgsSymbolWidgetContext // clazy:exclude=rule-of-three
35{
36 public:
40
47 void setMapCanvas( QgsMapCanvas *canvas );
48
53 QgsMapCanvas *mapCanvas() const;
54
61 void setMessageBar( QgsMessageBar *bar );
62
69
79
87
93 void setAdditionalExpressionContextScopes( const QList<QgsExpressionContextScope> &scopes );
94
99 QList<QgsExpressionContextScope> additionalExpressionContextScopes() const;
100
105 QList<QgsExpressionContextScope *> globalProjectAtlasMapLayerScopes( const QgsMapLayer *layer ) const SIP_FACTORY;
106
115
123 void setSymbolType( Qgis::SymbolType type );
124
125 private:
126 QgsMapCanvas *mMapCanvas = nullptr;
127 QgsMessageBar *mMessageBar = nullptr;
128 std::unique_ptr<QgsExpressionContext> mExpressionContext;
129 QList<QgsExpressionContextScope> mAdditionalScopes;
131};
132
133#endif // QGSSYMBOLWIDGETCONTEXT_H
SymbolType
Symbol types.
Definition qgis.h:610
@ Hybrid
Hybrid symbol.
Definition qgis.h:614
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
Map canvas is a class for displaying all GIS data types on a canvas.
Base class for all map layer types.
Definition qgsmaplayer.h:80
A bar for displaying non-blocking messages to the user.
QList< QgsExpressionContextScope > additionalExpressionContextScopes() const
Returns the list of additional expression context scopes to show as available within the layer.
void setSymbolType(Qgis::SymbolType type)
Sets the associated symbol type, if the widget is being shown as a subcomponent of a parent symbol co...
void setMapCanvas(QgsMapCanvas *canvas)
Sets the map canvas associated with the widget.
QList< QgsExpressionContextScope * > globalProjectAtlasMapLayerScopes(const QgsMapLayer *layer) const
Returns list of scopes: global, project, atlas, map, layer.
void setAdditionalExpressionContextScopes(const QList< QgsExpressionContextScope > &scopes)
Sets a list of additional expression context scopes to show as available within the layer.
QgsSymbolWidgetContext & operator=(const QgsSymbolWidgetContext &other)
void setMessageBar(QgsMessageBar *bar)
Sets the message bar associated with the widget.
QgsSymbolWidgetContext()=default
void setExpressionContext(QgsExpressionContext *context)
Sets the optional expression context used for the widget.
QgsExpressionContext * expressionContext() const
Returns the expression context used for the widget, if set.
QgsMapCanvas * mapCanvas() const
Returns the map canvas associated with the widget.
Qgis::SymbolType symbolType() const
Returns the associated symbol type, if the widget is being shown as a subcomponent of a parent symbol...
QgsMessageBar * messageBar() const
Returns the message bar associated with the widget.
#define SIP_FACTORY
Definition qgis_sip.h:84