QGIS API Documentation 3.41.0-Master (cea29feecf2)
Loading...
Searching...
No Matches
qgssinglebandpseudocolorrendererwidget.h
Go to the documentation of this file.
1/***************************************************************************
2 qgssinglebandpseudocolorrendererwidget.h
3 ----------------------------------------
4 begin : February 2012
5 copyright : (C) 2012 by Marco Hugentobler
6 email : marco at sourcepole dot ch
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 QGSSINGLEBANDCOLORRENDERERWIDGET_H
19#define QGSSINGLEBANDCOLORRENDERERWIDGET_H
20
22#include "qgis_sip.h"
23#include "qgscolorrampshader.h"
24#include "qgsrasterrenderer.h"
25#include "ui_qgssinglebandpseudocolorrendererwidgetbase.h"
26#include "qgis_gui.h"
27
29
38class GUI_EXPORT QgsSingleBandPseudoColorRendererWidget : public QgsRasterRendererWidget, private Ui::QgsSingleBandPseudoColorRendererWidgetBase
39{
40 Q_OBJECT
41
42 public:
45
47 static QgsRasterRendererWidget *create( QgsRasterLayer *layer, const QgsRectangle &extent ) SIP_FACTORY { return new QgsSingleBandPseudoColorRendererWidget( layer, extent ); }
48
50 void setMapCanvas( QgsMapCanvas *canvas ) override;
51 void doComputations() override;
52 QgsRasterMinMaxWidget *minMaxWidget() override;
53
57 void setFromRenderer( const QgsRasterRenderer *r );
58
59 QString min( int index = 0 ) override
60 {
61 Q_UNUSED( index )
62 return mMinLineEdit->text();
63 }
64 QString max( int index = 0 ) override
65 {
66 Q_UNUSED( index )
67 return mMaxLineEdit->text();
68 }
69 void setMin( const QString &value, int index = 0 ) override;
70 void setMax( const QString &value, int index = 0 ) override;
71 int selectedBand( int index = 0 ) override
72 {
73 Q_UNUSED( index )
74 return mBandComboBox->currentBand();
75 }
76
77 public slots:
79 void loadMinMax( int bandNo, double min, double max );
81 void loadMinMaxFromTree( double min, double max );
82
83 private slots:
84 void bandChanged();
85 void mMinLineEdit_textChanged( const QString & );
86 void mMaxLineEdit_textChanged( const QString & );
87 void mMinLineEdit_textEdited( const QString &text );
88 void mMaxLineEdit_textEdited( const QString &text );
89
90 private:
91 void setLineEditValue( QLineEdit *lineEdit, double value );
92 double lineEditValue( const QLineEdit *lineEdit ) const;
93
94 QgsRasterMinMaxWidget *mMinMaxWidget = nullptr;
95 int mMinMaxOrigin;
96
97 void minMaxModified();
98
99 // Convert min/max to localized display value with maximum precision for the current data type
100 QString displayValueWithMaxPrecision( const double value );
101
102 friend class TestQgsSingleBandPseudoColorRendererWidget;
103};
104
105#endif // QGSSINGLEBANDCOLORRENDERERWIDGET_H
Map canvas is a class for displaying all GIS data types on a canvas.
Represents a raster layer.
Abstract base class for widgets which configure a QgsRasterRenderer.
virtual void setMax(const QString &value, int index=0)
virtual void setMin(const QString &value, int index=0)
virtual QgsRasterRenderer * renderer()=0
Creates a new renderer, using the properties defined in the widget.
Raster renderer pipe that applies colors to a raster.
A rectangle specified with double values.
Single band pseudo color renderer widget consists of a color ramp shader widget, a raster min max wid...
static QgsRasterRendererWidget * create(QgsRasterLayer *layer, const QgsRectangle &extent)
Creates new raster renderer widget.
#define SIP_FACTORY
Definition qgis_sip.h:76