QGIS API Documentation  3.20.0-Odense (decaadbb31)
qgspointdisplacementrendererwidget.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgspointdisplacementrendererwidget.h
3  ------------------------------------
4  begin : January 26, 2010
5  copyright : (C) 2010 by Marco Hugentobler
6  email : marco at hugis dot net
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 #ifndef QGSPOINTDISPLACEMENTRENDERERWIDGET_H
19 #define QGSPOINTDISPLACEMENTRENDERERWIDGET_H
20 
21 #include "ui_qgspointdisplacementrendererwidgetbase.h"
22 #include "qgis_sip.h"
23 #include "qgsrendererwidget.h"
25 #include "qgis_gui.h"
26 
28 
33 class GUI_EXPORT QgsPointDisplacementRendererWidget: public QgsRendererWidget, public QgsExpressionContextGenerator, private Ui::QgsPointDisplacementRendererWidgetBase
34 {
35  Q_OBJECT
36  public:
37  static QgsRendererWidget *create( QgsVectorLayer *layer, QgsStyle *style, QgsFeatureRenderer *renderer ) SIP_FACTORY;
40 
41  QgsFeatureRenderer *renderer() override;
42  void setContext( const QgsSymbolWidgetContext &context ) override;
43 
45 
46  private:
47  std::unique_ptr< QgsPointDisplacementRenderer > mRenderer;
48 
49  void blockAllSignals( bool block );
50  void setupBlankUi( const QString &layerName );
51 
52  private slots:
53  void mLabelFieldComboBox_currentIndexChanged( const QString &text );
54  void mRendererComboBox_currentIndexChanged( int index );
55  void mPlacementComboBox_currentIndexChanged( int index );
56  void labelFontChanged();
57  void mCircleWidthSpinBox_valueChanged( double d );
58  void mCircleColorButton_colorChanged( const QColor &newColor );
59  void mDistanceSpinBox_valueChanged( double d );
60  void mDistanceUnitWidget_changed();
61  void mLabelColorButton_colorChanged( const QColor &newColor );
62  void mCircleModificationSpinBox_valueChanged( double d );
63  void mLabelDistanceFactorSpinBox_valueChanged( double d );
64  void mScaleDependentLabelsCheckBox_stateChanged( int state );
65  void minLabelScaleChanged( double scale );
66  void mRendererSettingsButton_clicked();
67  void centerSymbolChanged();
68  void updateRendererFromWidget();
69 };
70 
71 #endif // QGSPOINTDISPLACEMENTRENDERERWIDGET_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 renderer that automatically displaces points with the same geographic location.
Base class for renderer settings widgets.
virtual QgsFeatureRenderer * renderer()=0
Returns pointer to the renderer (no transfer of ownership)
virtual void setContext(const QgsSymbolWidgetContext &context)
Sets the context in which the renderer widget is shown, e.g., the associated map canvas and expressio...
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_FACTORY
Definition: qgis_sip.h:76