QGIS API Documentation 3.41.0-Master (3440c17df1d)
Loading...
Searching...
No Matches
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:
48
56 QgsLayerPropertiesWidget( QgsSymbolLayer *layer, const QgsSymbol *symbol, QgsVectorLayer *vl, QWidget *parent SIP_TRANSFERTHIS = nullptr );
57
63 void setContext( const QgsSymbolWidgetContext &context );
64
69 QgsSymbolWidgetContext context() const;
70
76 void setDockMode( bool dockMode ) override;
77
78 public slots:
79 void layerTypeChanged();
80 void emitSignalChanged();
81
82 signals:
83
87 void changed();
88
93
94 protected:
95 void populateLayerTypes();
96 void updateSymbolLayerWidget( QgsSymbolLayer *layer );
97
99
105 void registerDataDefinedButton( QgsPropertyOverrideButton *button, QgsSymbolLayer::Property key );
106
107 protected: // data
108 QgsSymbolLayer *mLayer = nullptr;
109
110 const QgsSymbol *mSymbol = nullptr;
111 QgsVectorLayer *mVectorLayer = nullptr;
112
113 private slots:
114 void reloadLayer();
115 void mEnabledCheckBox_toggled( bool enabled );
116 void updateProperty();
117
118 private:
119
120 QgsSymbolWidgetContext mContext;
121
122};
123
124#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 a 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.
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 data sets.
#define SIP_TRANSFERTHIS
Definition qgis_sip.h:53