QGIS API Documentation 4.1.0-Master (9af12b5a203)
Loading...
Searching...
No Matches
qgspointcloudrendererpropertieswidget.h
Go to the documentation of this file.
1/***************************************************************************
2 qgspointcloudrendererpropertieswidget.h
3 ---------------------
4 begin : November 2020
5 copyright : (C) 2020 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
16#ifndef QGSPOINTCLOUDRENDERERPROPERTIESWIDGET_H
17#define QGSPOINTCLOUDRENDERERPROPERTIESWIDGET_H
18
19#include "ui_qgspointcloudrendererpropsdialogbase.h"
20
21#include "qgis_gui.h"
22#include "qgis_sip.h"
26
28class QgsStyle;
30class QgsMapCanvas;
31class QgsMessageBar;
32
39class GUI_EXPORT QgsPointCloudRendererPropertiesWidget : public QgsMapLayerConfigWidget, public QgsExpressionContextGenerator, private Ui::QgsPointCloudRendererPropsDialogBase
40{
41 Q_OBJECT
42
43 public:
47 QgsPointCloudRendererPropertiesWidget( QgsPointCloudLayer *layer, QgsStyle *style, QWidget *parent SIP_TRANSFERTHIS = nullptr );
48
52 void setContext( const QgsSymbolWidgetContext &context );
53
54 void syncToLayer( QgsMapLayer *layer ) final;
55 void setDockMode( bool dockMode ) final;
57
58 public slots:
59
60 void apply() override;
61
62 private slots:
63
64 void rendererChanged();
65
66 void emitWidgetChanged();
67
68 void updateDataDefinedProperty();
69
70 private:
71 // for 3D rendering, see values in qgspointcloud3dsymbolwidget.h
72 const QMap<double, QString> mOverviewSwitchingScaleMap { { 5.0, "Much earlier" }, { 2.0, "Earlier" }, { 1.0, "Normal" }, { 0.5, "Later" } };
73
74 static void initRendererWidgetFunctions();
75 void setOverviewSwitchingScale( double scale );
76 double overviewSwitchingScale() const;
77
78 QgsPointCloudLayer *mLayer = nullptr;
79 QgsStyle *mStyle = nullptr;
80
81 QgsPointCloudRendererWidget *mActiveWidget = nullptr;
82
83 QgsMapCanvas *mMapCanvas = nullptr;
84 QgsMessageBar *mMessageBar = nullptr;
85
86 bool mBlockChangedSignal = false;
87
88 QgsPropertyCollection mDataDefinedProperties;
89
91};
92
93
94#endif // QGSPOINTCLOUDRENDERERPROPERTIESWIDGET_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...
Map canvas is a class for displaying all GIS data types on a canvas.
QgsMapLayerConfigWidget(QgsMapLayer *layer, QgsMapCanvas *canvas, QWidget *parent=nullptr)
A panel widget that can be shown in the map style dock.
virtual void apply()=0
Called when changes to the layer need to be made.
virtual void syncToLayer(QgsMapLayer *layer)
Reset to original (vector layer) values.
Base class for all map layer types.
Definition qgsmaplayer.h:83
A bar for displaying non-blocking messages to the user.
bool dockMode() const
Returns the dock mode state.
virtual void setDockMode(bool dockMode)
Set the widget in dock mode which tells the widget to emit panel widgets and not open dialogs.
Represents a map layer supporting display of point clouds.
void setContext(const QgsSymbolWidgetContext &context)
Sets the context in which the widget is shown, e.g., the associated map canvas and expression context...
QgsPointCloudRendererPropertiesWidget(QgsPointCloudLayer *layer, QgsStyle *style, QWidget *parent=nullptr)
Constructor for QgsPointCloudRendererPropertiesWidget, associated with the specified layer and style ...
Base class for point cloud 2D renderer settings widgets.
A grouped map of multiple QgsProperty objects, each referenced by an integer key value.
A database of saved style entities, including symbols, color ramps, text formats and others.
Definition qgsstyle.h:91
Contains settings which reflect the context in which a symbol (or renderer) widget is shown,...
#define SIP_TRANSFERTHIS
Definition qgis_sip.h:52