QGIS API Documentation
4.3.0-Master (16eddb2670e)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
gui
raster
qgsrastersinglecolorrendererwidget.cpp
Go to the documentation of this file.
1
/***************************************************************************
2
qgsrastersinglecolorrendererwidget.cpp
3
---------------------------------
4
begin : April 2024
5
copyright : (C) 2024 by Mathieu Pellerin
6
email : mathieu at opengis 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
#include "
qgsrastersinglecolorrendererwidget.h
"
19
20
#include "
qgsrasterdataprovider.h
"
21
#include "
qgsrasterlayer.h
"
22
#include "
qgsrastersinglecolorrenderer.h
"
23
24
#include "moc_qgsrastersinglecolorrendererwidget.cpp"
25
26
QgsRasterSingleColorRendererWidget::QgsRasterSingleColorRendererWidget
(
QgsRasterLayer
*layer,
const
QgsRectangle
&extent )
27
:
QgsRasterRendererWidget
( layer, extent )
28
{
29
setupUi(
this
);
30
31
if
(
mRasterLayer
)
32
{
33
QgsRasterDataProvider
*provider =
mRasterLayer
->dataProvider();
34
if
( !provider )
35
{
36
return
;
37
}
38
39
mBandComboBox->setLayer( layer );
40
41
connect( mBandComboBox, &
QgsRasterBandComboBox::bandChanged
,
this
, [
this
](
int
) { emit
widgetChanged
(); } );
42
connect( mColorButton, &
QgsColorButton::colorChanged
,
this
, [
this
](
const
QColor & ) { emit
widgetChanged
(); } );
43
44
setFromRenderer
( layer->
renderer
() );
45
}
46
}
47
48
QgsRasterRenderer
*
QgsRasterSingleColorRendererWidget::renderer
()
49
{
50
if
( !
mRasterLayer
)
51
{
52
return
nullptr
;
53
}
54
55
QgsRasterDataProvider
*provider =
mRasterLayer
->dataProvider();
56
if
( !provider )
57
{
58
return
nullptr
;
59
}
60
61
QgsRasterSingleColorRenderer
*
renderer
=
new
QgsRasterSingleColorRenderer
( provider, mBandComboBox->currentBand(), mColorButton->color() );
62
return
renderer
;
63
}
64
65
void
QgsRasterSingleColorRendererWidget::setFromRenderer
(
const
QgsRasterRenderer
*r )
66
{
67
const
QgsRasterSingleColorRenderer
*scr =
dynamic_cast<
const
QgsRasterSingleColorRenderer
*
>
( r );
68
if
( scr )
69
{
70
mBandComboBox->setBand( scr->
inputBand
() );
71
mColorButton->setColor( scr->
color
() );
72
}
73
else
74
{
75
mBandComboBox->setBand( 1 );
76
mColorButton->setColor( QColor( 0, 0, 0 ) );
77
}
78
}
QgsColorButton::colorChanged
void colorChanged(const QColor &color)
Emitted whenever a new color is set for the button.
QgsRasterBandComboBox::bandChanged
void bandChanged(int band)
Emitted when the currently selected band changes.
QgsRasterDataProvider
Base class for raster data providers.
Definition
qgsrasterdataprovider.h:94
QgsRasterLayer
Represents a raster layer.
Definition
qgsrasterlayer.h:82
QgsRasterLayer::renderer
QgsRasterRenderer * renderer() const
Returns the raster's renderer.
Definition
qgsrasterlayer.cpp:1930
QgsRasterRendererWidget::mRasterLayer
QgsRasterLayer * mRasterLayer
Definition
qgsrasterrendererwidget.h:150
QgsRasterRendererWidget::QgsRasterRendererWidget
QgsRasterRendererWidget(QgsRasterLayer *layer, const QgsRectangle &extent)
Constructor for QgsRasterRendererWidget.
Definition
qgsrasterrendererwidget.h:51
QgsRasterRendererWidget::widgetChanged
void widgetChanged()
Emitted when something on the widget has changed.
QgsRasterRenderer
Raster renderer pipe that applies colors to a raster.
Definition
qgsrasterrenderer.h:42
QgsRasterSingleColorRendererWidget::QgsRasterSingleColorRendererWidget
QgsRasterSingleColorRendererWidget(QgsRasterLayer *layer, const QgsRectangle &extent=QgsRectangle())
Constructor for QgsRasterSingleColorRendererWidget.
Definition
qgsrastersinglecolorrendererwidget.cpp:26
QgsRasterSingleColorRendererWidget::setFromRenderer
void setFromRenderer(const QgsRasterRenderer *r)
Sets the widget state from the specified renderer.
Definition
qgsrastersinglecolorrendererwidget.cpp:65
QgsRasterSingleColorRendererWidget::renderer
QgsRasterRenderer * renderer() override
Creates a new renderer, using the properties defined in the widget.
Definition
qgsrastersinglecolorrendererwidget.cpp:48
QgsRasterSingleColorRenderer
Raster renderer which renders all data pixels using a single color.
Definition
qgsrastersinglecolorrenderer.h:35
QgsRasterSingleColorRenderer::inputBand
int inputBand() const override
Returns the input band for the renderer, or -1 if no input band is available.
Definition
qgsrastersinglecolorrenderer.cpp:171
QgsRasterSingleColorRenderer::color
QColor color() const
Returns the single color used by the renderer.
Definition
qgsrastersinglecolorrenderer.cpp:150
QgsRectangle
A rectangle specified with double values.
Definition
qgsrectangle.h:47
qgsrasterdataprovider.h
qgsrasterlayer.h
qgsrastersinglecolorrenderer.h
qgsrastersinglecolorrendererwidget.h
Generated on
for QGIS API Documentation by
1.17.0