QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
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
28class QgsRasterLayer;
29class QgsMapCanvas;
31
36class 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
55 void setMapCanvas( QgsMapCanvas *canvas );
56
60 QgsRasterRendererWidget *currentRenderWidget() { return mRendererWidget; }
61
62 public slots:
64 void rendererChanged();
65
67 void apply() override;
68
69
70#ifdef __clang__
71#pragma clang diagnostic push
72#pragma clang diagnostic ignored "-Woverloaded-virtual"
73#endif
74
79 void syncToLayer( QgsRasterLayer *layer );
80#ifdef __clang__
81#pragma clang diagnostic pop
82#endif
83
84 private slots:
86 void mResetColorRenderingBtn_clicked();
87
89 void toggleSaturationControls( int grayscaleMode );
90
92 void toggleColorizeControls( bool colorizeEnabled );
93
94 void refreshAfterStyleChanged();
95
100 void updateGammaSpinBox( int value );
101
106 void updateGammaSlider( double value );
107
108 private:
109 static void initRendererWidgetFunctions();
110 void setRendererWidget( const QString &rendererName );
111
112 QgsRasterLayer *mRasterLayer = nullptr;
113 QgsRasterRendererWidget *mRendererWidget = nullptr;
114
115 QgsResamplingUtils mResamplingUtils;
116};
117
118#endif // QGSRENDERERRASTERPROPERTIESDIALOG_H
Map canvas is a class for displaying all GIS data types on a canvas.
Definition: qgsmapcanvas.h:93
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:75
Represents a raster layer.
Abstract base class for widgets which configure a QgsRasterRenderer.
QgsRasterRendererWidget * currentRenderWidget()
Returns the active render widget.