-
-
Notifications
You must be signed in to change notification settings - Fork 3k
/
qgssinglebandgrayrendererwidget.h
75 lines (61 loc) · 3.09 KB
/
qgssinglebandgrayrendererwidget.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
/***************************************************************************
qgssinglebandgrayrendererwidget.h
---------------------------------
begin : March 2012
copyright : (C) 2012 by Marco Hugentobler
email : marco at sourcepole dot ch
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef QGSSINGLEBANDGRAYRENDERERWIDGET_H
#define QGSSINGLEBANDGRAYRENDERERWIDGET_H
#include "qgsrasterrendererwidget.h"
#include "qgis_sip.h"
#include "ui_qgssinglebandgrayrendererwidgetbase.h"
#include "qgis_gui.h"
#include "qgscolorramplegendnodesettings.h"
class QgsRasterMinMaxWidget;
/**
* \ingroup gui
* \class QgsSingleBandGrayRendererWidget
*/
class GUI_EXPORT QgsSingleBandGrayRendererWidget: public QgsRasterRendererWidget, private Ui::QgsSingleBandGrayRendererWidgetBase
{
Q_OBJECT
public:
QgsSingleBandGrayRendererWidget( QgsRasterLayer *layer, const QgsRectangle &extent = QgsRectangle() );
static QgsRasterRendererWidget *create( QgsRasterLayer *layer, const QgsRectangle &extent ) SIP_FACTORY { return new QgsSingleBandGrayRendererWidget( layer, extent ); }
QgsRasterRenderer *renderer() SIP_FACTORY override;
void setMapCanvas( QgsMapCanvas *canvas ) override;
/**
* Sets the widget state from the specified renderer.
*/
void setFromRenderer( const QgsRasterRenderer *r );
QString min( int index = 0 ) override { Q_UNUSED( index ) return mMinLineEdit->text(); }
QString max( int index = 0 ) override { Q_UNUSED( index ) return mMaxLineEdit->text(); }
void setMin( const QString &value, int index = 0 ) override;
void setMax( const QString &value, int index = 0 ) override;
int selectedBand( int index = 0 ) override { Q_UNUSED( index ) return mGrayBandComboBox->currentIndex() + 1; }
void doComputations() override;
QgsRasterMinMaxWidget *minMaxWidget() override { return mMinMaxWidget; }
public slots:
//! called when new min/max values are loaded
void loadMinMax( int bandNo, double min, double max );
private slots:
void bandChanged();
void mMinLineEdit_textChanged( const QString & );
void mMaxLineEdit_textChanged( const QString & );
void showLegendSettings();
private:
QgsRasterMinMaxWidget *mMinMaxWidget = nullptr;
bool mDisableMinMaxWidgetRefresh;
QgsColorRampLegendNodeSettings mLegendSettings;
void minMaxModified();
};
#endif // QGSSINGLEBANDGRAYRENDERERWIDGET_H