QGIS API Documentation 3.43.0-Master (c67cf405802)
qgslayerpropertieswidget.h
Go to the documentation of this file.
1/***************************************************************************
2 qgslayerpropertieswidget.h
3 ---------------------
4 begin : June 2012
5 copyright : (C) 2012 by Martin Dobias
6 email : aruntheguy at gmail.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
16#ifndef QGSLAYERPROPERTIESWIDGET_H
17#define QGSLAYERPROPERTIESWIDGET_H
18
19#include "ui_widget_layerproperties.h"
22#include "qgssymbollayer.h"
23
24class QgsSymbol;
25class QgsSymbolLayer;
27class QgsVectorLayer;
28class QgsMapCanvas;
29class QgsPanelWidget;
30
31#include <QMap>
32#include <QStandardItemModel>
33#include "qgis_gui.h"
34
43class GUI_EXPORT QgsLayerPropertiesWidget : public QgsPanelWidget, public QgsExpressionContextGenerator, private Ui::LayerPropertiesWidget
44{
45 Q_OBJECT
46
47 public:
55 QgsLayerPropertiesWidget( QgsSymbolLayer *layer, const QgsSymbol *symbol, QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
56
62 void setContext( const QgsSymbolWidgetContext &context );
63
68 QgsSymbolWidgetContext context() const;
69
75 void setDockMode( bool dockMode ) override;
76
77 public slots:
78 void layerTypeChanged();
79 void emitSignalChanged();
80
81 signals:
82
86 void changed();
87
92
93 protected:
94 void populateLayerTypes();
95 void updateSymbolLayerWidget( QgsSymbolLayer *layer );
96
98
104 void registerDataDefinedButton( QgsPropertyOverrideButton *button, QgsSymbolLayer::Property key );
105
106 protected: // data
107 QgsSymbolLayer *mLayer = nullptr;
108
109 const QgsSymbol *mSymbol = nullptr;
110 QgsVectorLayer *mVectorLayer = nullptr;
111
112 private slots:
113 void reloadLayer();
114 void mEnabledCheckBox_toggled( bool enabled );
115 void updateProperty();
116
117 private:
118 QgsSymbolWidgetContext mContext;
119};
120
121#endif //QGSLAYERPROPERTIESWIDGET_H
Abstract interface for generating an expression context.
virtual QgsExpressionContext createExpressionContext() const =0
This method needs to be reimplemented in all classes which implement this interface and return an exp...
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
A widget which allows configuration of the properties of a single QgsSymbolLayer.
void changeLayer(QgsSymbolLayer *layer)
Emitted when the symbol layer is changed in the widget.
void changed()
Emitted when the symbol layer configuration is changed in the widget.
Map canvas is a class for displaying all GIS data types on a canvas.
Base class for any widget that can be shown as an inline panel.
virtual void setDockMode(bool dockMode)
Set the widget in dock mode which tells the widget to emit panel widgets and not open dialogs.
A button for controlling property overrides which may apply to a widget.
Abstract base class for widgets used to configure QgsSymbolLayer classes.
Abstract base class for symbol layers.
Property
Data definable properties.
Contains settings which reflect the context in which a symbol (or renderer) widget is shown,...
Abstract base class for all rendered symbols.
Definition qgssymbol.h:231
Represents a vector layer which manages a vector based dataset.
#define SIP_TRANSFERTHIS
Definition qgis_sip.h:53