QGIS API Documentation  3.20.0-Odense (decaadbb31)
qgsrendererrasterpropertieswidget.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsrendererrasterpropertieswidget.h
3  ---------------------
4  begin : May 2016
5  copyright : (C) 2016 by Nathan Woodrow
6  email : woodrow dot nathan 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 #ifndef QGSRENDERERRASTERPROPERTIESDIALOG_H
16 #define QGSRENDERERRASTERPROPERTIESDIALOG_H
17 
18 #include <QObject>
19 #include <QDialog>
20 
21 #include "ui_qgsrendererrasterpropswidgetbase.h"
22 
24 #include "qgsresamplingutils.h"
25 #include "qgis_gui.h"
26 
27 
28 class QgsRasterLayer;
29 class QgsMapCanvas;
31 
36 class GUI_EXPORT QgsRendererRasterPropertiesWidget : public QgsMapLayerConfigWidget, private Ui::QgsRendererRasterPropsWidgetBase
37 {
38  Q_OBJECT
39 
40  public:
41 
48  QgsRendererRasterPropertiesWidget( QgsMapLayer *layer, QgsMapCanvas *canvas, QWidget *parent = nullptr );
49 
56  void setMapCanvas( QgsMapCanvas *canvas );
57 
61  QgsRasterRendererWidget *currentRenderWidget() { return mRendererWidget; }
62 
63  public slots:
65  void rendererChanged();
66 
68  void apply() override;
69 
74  void syncToLayer( QgsRasterLayer *layer );
75 
76  private slots:
78  void mResetColorRenderingBtn_clicked();
79 
81  void toggleSaturationControls( int grayscaleMode );
82 
84  void toggleColorizeControls( bool colorizeEnabled );
85 
86  void refreshAfterStyleChanged();
87 
92  void updateGammaSpinBox( int value );
93 
98  void updateGammaSlider( double value );
99 
100  private:
101  void setRendererWidget( const QString &rendererName );
102 
103  QgsRasterLayer *mRasterLayer = nullptr;
104  QgsRasterRendererWidget *mRendererWidget = nullptr;
105 
106  QgsResamplingUtils mResamplingUtils;
107 };
108 
109 #endif // QGSRENDERERRASTERPROPERTIESDIALOG_H
Map canvas is a class for displaying all GIS data types on a canvas.
Definition: qgsmapcanvas.h:86
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:70
Represents a raster layer.
QgsRasterRendererWidget * currentRenderWidget()
Returns the active render widget.