QGIS API Documentation 3.28.0-Firenze (ed3ad0430f)
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
33class 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 void setContext(const QgsSymbolWidgetContext &context)
Sets the context in which the renderer widget is shown, e.g., the associated map canvas and expressio...
virtual QgsFeatureRenderer * renderer()=0
Returns pointer to the renderer (no transfer of ownership)
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