Skip to content

Commit 8d415e5

Browse files
committed
Add widget for single band gray raster renderer
1 parent a4f4f05 commit 8d415e5

File tree

6 files changed

+220
-19
lines changed

6 files changed

+220
-19
lines changed

src/app/qgsrasterlayerproperties.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
#include "qgsrasterrendererregistry.h"
4343
#include "qgsmultibandcolorrendererwidget.h"
4444
#include "qgspalettedrendererwidget.h"
45+
#include "qgssinglebandgrayrendererwidget.h"
4546
#include "qgssinglebandpseudocolorrendererwidget.h"
4647

4748
#include <QTableWidgetItem>
@@ -339,6 +340,7 @@ QgsRasterLayerProperties::QgsRasterLayerProperties( QgsMapLayer* lyr, QgsMapCanv
339340
QgsRasterRendererRegistry::instance()->insertWidgetFunction( "paletted", QgsPalettedRendererWidget::create );
340341
QgsRasterRendererRegistry::instance()->insertWidgetFunction( "multibandcolor", QgsMultiBandColorRendererWidget::create );
341342
QgsRasterRendererRegistry::instance()->insertWidgetFunction( "singlebandpseudocolor", QgsSingleBandPseudoColorRendererWidget::create );
343+
QgsRasterRendererRegistry::instance()->insertWidgetFunction( "singlebandgray", QgsSingleBandGrayRendererWidget::create );
342344

343345
//fill available renderers into combo box
344346
QList< QgsRasterRendererRegistryEntry > rendererEntries = QgsRasterRendererRegistry::instance()->entries();

src/core/raster/qgsrasterrendererregistry.cpp

Lines changed: 3 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
#include "qgsrasterrendererregistry.h"
1919
#include "qgsmultibandcolorrenderer.h"
2020
#include "qgspalettedrasterrenderer.h"
21+
#include "qgssinglebandgrayrenderer.h"
2122
#include "qgssinglebandpseudocolorrenderer.h"
2223

2324
QgsRasterRendererRegistryEntry::QgsRasterRendererRegistryEntry( const QString& theName, const QString& theVisibleName,
@@ -50,24 +51,8 @@ QgsRasterRendererRegistry::QgsRasterRendererRegistry()
5051
QgsMultiBandColorRenderer::create, 0 ) );
5152
insert( QgsRasterRendererRegistryEntry( "singlebandpseudocolor", QObject::tr( "Singleband pseudocolor" ),
5253
QgsSingleBandPseudoColorRenderer::create, 0 ) );
53-
54-
#if 0
55-
//add entry for palleted renderer
56-
QgsRasterRendererRegistryEntry palettedEntry;
57-
palettedEntry.name = "paletted";
58-
palettedEntry.visibleName = QObject::tr( "Paletted" );
59-
palettedEntry.rendererCreateFunction = QgsPalettedRasterRenderer::create;
60-
//widget function will be assigned later in raster properties dialog with QgsRasterRendererRegistry::insertWidgetFunction
61-
palettedEntry.widgetCreateFunction = 0;
62-
insert( palettedEntry );
63-
64-
QgsRasterRendererRegistryEntry multiBandColorEntry;
65-
multiBandColorEntry.name = "multibandcolor";
66-
multiBandColorEntry.visibleName = QObject::tr( "Multiband color" );
67-
palettedEntry.rendererCreateFunction = QgsMultiBandColorRenderer::create;
68-
multiBandColorEntry.widgetCreateFunction = 0;
69-
insert( multiBandColorEntry );
70-
#endif //0
54+
insert( QgsRasterRendererRegistryEntry( "singlebandgray", QObject::tr( "Singleband gray" ),
55+
QgsSingleBandGrayRenderer::create, 0 ) );
7156
}
7257

7358
QgsRasterRendererRegistry::~QgsRasterRendererRegistry()
@@ -85,7 +70,6 @@ void QgsRasterRendererRegistry::insertWidgetFunction( const QString& rendererNam
8570
{
8671
return;
8772
}
88-
8973
mEntries[rendererName].widgetCreateFunction = func;
9074
}
9175

src/gui/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ SET(QGIS_GUI_SRCS
33

44
raster/qgsmultibandcolorrendererwidget.cpp
55
raster/qgspalettedrendererwidget.cpp
6+
raster/qgssinglebandgrayrendererwidget.cpp
67
raster/qgssinglebandpseudocolorrendererwidget.cpp
78

89
symbology-ng/qgsbrushstylecombobox.cpp
@@ -86,6 +87,7 @@ SET(QGIS_GUI_MOC_HDRS
8687

8788
raster/qgspalettedrendererwidget.h
8889
raster/qgsmultibandcolorrendererwidget.h
90+
raster/qgssinglebandgrayrendererwidget.h
8991
raster/qgssinglebandpseudocolorrendererwidget.h
9092

9193
symbology-ng/qgsdashspacedialog.h
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/***************************************************************************
2+
qgssinglebandgrayrendererwidget.h
3+
---------------------------------
4+
begin : March 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+
#include "qgssinglebandgrayrendererwidget.h"
19+
20+
QgsSingleBandGrayRendererWidget::QgsSingleBandGrayRendererWidget( QgsRasterLayer* layer ): QgsRasterRendererWidget( layer )
21+
{
22+
setupUi( this );
23+
}
24+
25+
QgsSingleBandGrayRendererWidget::~QgsSingleBandGrayRendererWidget()
26+
{
27+
}
28+
29+
QgsRasterRenderer* QgsSingleBandGrayRendererWidget::renderer()
30+
{
31+
return 0; //soon...
32+
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/***************************************************************************
2+
qgssinglebandgrayrendererwidget.h
3+
---------------------------------
4+
begin : March 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 QGSSINGLEBANDGRAYRENDERERWIDGET_H
19+
#define QGSSINGLEBANDGRAYRENDERERWIDGET_H
20+
21+
#include "qgsrasterrendererwidget.h"
22+
#include "ui_qgssinglebandgrayrendererwidgetbase.h"
23+
24+
class QgsSingleBandGrayRendererWidget: public QgsRasterRendererWidget, private Ui::QgsSingleBandGrayRendererWidgetBase
25+
{
26+
Q_OBJECT
27+
public:
28+
QgsSingleBandGrayRendererWidget( QgsRasterLayer* layer );
29+
~QgsSingleBandGrayRendererWidget();
30+
31+
static QgsRasterRendererWidget* create( QgsRasterLayer* layer ) { return new QgsSingleBandGrayRendererWidget( layer ); }
32+
33+
QgsRasterRenderer* renderer();
34+
};
35+
36+
#endif // QGSSINGLEBANDGRAYRENDERERWIDGET_H
Lines changed: 145 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,145 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<ui version="4.0">
3+
<class>QgsSingleBandGrayRendererWidgetBase</class>
4+
<widget class="QWidget" name="QgsSingleBandGrayRendererWidgetBase">
5+
<property name="geometry">
6+
<rect>
7+
<x>0</x>
8+
<y>0</y>
9+
<width>400</width>
10+
<height>300</height>
11+
</rect>
12+
</property>
13+
<property name="windowTitle">
14+
<string>Form</string>
15+
</property>
16+
<layout class="QGridLayout" name="gridLayout_3">
17+
<item row="0" column="0">
18+
<layout class="QGridLayout" name="gridLayout">
19+
<item row="0" column="0">
20+
<widget class="QLabel" name="mGrayBandLabel">
21+
<property name="text">
22+
<string>Gray band</string>
23+
</property>
24+
</widget>
25+
</item>
26+
<item row="0" column="1">
27+
<widget class="QComboBox" name="mGrayBandComboBox"/>
28+
</item>
29+
<item row="1" column="0">
30+
<widget class="QLabel" name="mContrastEnhancementLabel">
31+
<property name="text">
32+
<string>Contrast enhancement</string>
33+
</property>
34+
</widget>
35+
</item>
36+
<item row="1" column="1">
37+
<widget class="QComboBox" name="mContrastEnhancementComboBox"/>
38+
</item>
39+
</layout>
40+
</item>
41+
<item row="1" column="0">
42+
<layout class="QHBoxLayout" name="horizontalLayout">
43+
<item>
44+
<widget class="QLabel" name="mMinLabel">
45+
<property name="text">
46+
<string>Min</string>
47+
</property>
48+
</widget>
49+
</item>
50+
<item>
51+
<widget class="QLineEdit" name="mMinLineEdit"/>
52+
</item>
53+
<item>
54+
<widget class="QLabel" name="mMaxLabel">
55+
<property name="text">
56+
<string>Max</string>
57+
</property>
58+
</widget>
59+
</item>
60+
<item>
61+
<widget class="QLineEdit" name="mMaxLineEdit"/>
62+
</item>
63+
</layout>
64+
</item>
65+
<item row="2" column="0">
66+
<widget class="QGroupBox" name="mLoadMinMaxValuesGroupBox">
67+
<property name="title">
68+
<string>Load min-/max values</string>
69+
</property>
70+
<layout class="QGridLayout" name="gridLayout_2">
71+
<item row="0" column="0">
72+
<widget class="QRadioButton" name="mEstimateRadioButton">
73+
<property name="text">
74+
<string>Estimate (faster)</string>
75+
</property>
76+
</widget>
77+
</item>
78+
<item row="0" column="1" colspan="2">
79+
<spacer name="horizontalSpacer_3">
80+
<property name="orientation">
81+
<enum>Qt::Horizontal</enum>
82+
</property>
83+
<property name="sizeHint" stdset="0">
84+
<size>
85+
<width>254</width>
86+
<height>20</height>
87+
</size>
88+
</property>
89+
</spacer>
90+
</item>
91+
<item row="1" column="0">
92+
<widget class="QRadioButton" name="mActualRadioButton">
93+
<property name="text">
94+
<string>Actual (slower)</string>
95+
</property>
96+
</widget>
97+
</item>
98+
<item row="1" column="1" colspan="2">
99+
<spacer name="horizontalSpacer_2">
100+
<property name="orientation">
101+
<enum>Qt::Horizontal</enum>
102+
</property>
103+
<property name="sizeHint" stdset="0">
104+
<size>
105+
<width>254</width>
106+
<height>20</height>
107+
</size>
108+
</property>
109+
</spacer>
110+
</item>
111+
<item row="2" column="0">
112+
<widget class="QRadioButton" name="mCurrentExtentRadioButton">
113+
<property name="text">
114+
<string>CurrentExtent</string>
115+
</property>
116+
</widget>
117+
</item>
118+
<item row="2" column="1">
119+
<spacer name="horizontalSpacer">
120+
<property name="orientation">
121+
<enum>Qt::Horizontal</enum>
122+
</property>
123+
<property name="sizeHint" stdset="0">
124+
<size>
125+
<width>197</width>
126+
<height>20</height>
127+
</size>
128+
</property>
129+
</spacer>
130+
</item>
131+
<item row="2" column="2">
132+
<widget class="QPushButton" name="mLoadPushButton">
133+
<property name="text">
134+
<string>Load</string>
135+
</property>
136+
</widget>
137+
</item>
138+
</layout>
139+
</widget>
140+
</item>
141+
</layout>
142+
</widget>
143+
<resources/>
144+
<connections/>
145+
</ui>

0 commit comments

Comments
 (0)