QGIS API Documentation  3.21.0-Master (909859188c)
qgspointcloudrgbrendererwidget.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgspointcloudrgbrendererwidget.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 /***************************************************************************
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 QGSPOINTCLOUDRGBRENDERERWIDGET_H
19 #define QGSPOINTCLOUDRGBRENDERERWIDGET_H
20 
22 #include "ui_qgspointcloudrgbrendererwidgetbase.h"
23 #include "qgis_gui.h"
24 
26 class QgsPointCloudLayer;
27 class QgsStyle;
28 class QLineEdit;
30 
31 #define SIP_NO_FILE
32 
34 
35 class GUI_EXPORT QgsPointCloudRgbRendererWidget: public QgsPointCloudRendererWidget, private Ui::QgsPointCloudRgbRendererWidgetBase
36 {
37  Q_OBJECT
38 
39  public:
40  QgsPointCloudRgbRendererWidget( QgsPointCloudLayer *layer, QgsStyle *style );
42 
43  QgsPointCloudRenderer *renderer() override;
44  private slots:
45 
46  void mRedMinLineEdit_textChanged( const QString & );
47  void mRedMaxLineEdit_textChanged( const QString & );
48  void mGreenMinLineEdit_textChanged( const QString & );
49  void mGreenMaxLineEdit_textChanged( const QString & );
50  void mBlueMinLineEdit_textChanged( const QString & );
51  void mBlueMaxLineEdit_textChanged( const QString & );
52 
53  void emitWidgetChanged();
54 
55  void redAttributeChanged();
56  void greenAttributeChanged();
57  void blueAttributeChanged();
58 
59  private:
60  void setFromRenderer( const QgsPointCloudRenderer *r );
61 
62  void createValidators();
63  void setCustomMinMaxValues( QgsPointCloudRgbRenderer *r );
65  void setMinMaxValue( const QgsContrastEnhancement *ce, QLineEdit *minEdit, QLineEdit *maxEdit );
66 
67  void minMaxModified();
68 
69  bool mBlockChangedSignal = false;
70  int mDisableMinMaxWidgetRefresh = 0;
71 
72 };
73 
75 
76 #endif // QGSPOINTCLOUDRGBRENDERERWIDGET_H
Manipulates raster or point cloud pixel values so that they enhanceContrast or clip into a specified ...
Represents a map layer supporting display of point clouds.
Base class for point cloud 2D renderer settings widgets.
virtual QgsPointCloudRenderer * renderer()=0
Returns a new instance of a renderer as defined by the settings in the widget.
Abstract base class for 2d point cloud renderers.
An RGB renderer for 2d visualisation of point clouds using embedded red, green and blue attributes.