27 #include "../../../common.h"
28 #include "../../../raster.h"
29 #include "../../../se.h"
39 #include "ui_RasterSymbolizerDialogForm.h"
43 m_ui(new Ui::RasterSymbolizerDialogForm),
44 m_channelSelectionWidget(0),
46 m_overlapBehaviorWidget(0),
48 m_shadedReliefWidget(0),
49 m_imageOutlineWidget(0),
52 m_symbolizer(new te::se::RasterSymbolizer),
71 m_ui->m_stackedWidget->setCurrentIndex(0);
105 int opacity = m_sliderWidget->getValue();
106 double seOpacity = opacity / 100.;
108 qStrOpacity.setNum(seOpacity);
113 if(m_channelSelectionWidget)
115 m_symbolizer->setChannelSelection(m_channelSelectionWidget->getChannelSelection());
120 m_symbolizer->setContrastEnhancement(m_contrastWidget->getContrastEnhancement());
123 if(m_imageOutlineWidget)
125 m_symbolizer->setImageOutline(m_imageOutlineWidget->getImageOutline());
128 if(m_overlapBehaviorWidget)
130 m_symbolizer->setOverlapBehavior(m_overlapBehaviorWidget->getOverlapBehavior());
133 if(m_shadedReliefWidget)
135 m_symbolizer->setShadedRelief(m_shadedReliefWidget->getShadedRelief());
140 m_symbolizer->setColorMap(m_colorMap);
158 return m_symbolizer->
clone();
165 if(m_channelSelectionWidget)
167 m_channelSelectionWidget->setProperty(m_property->getBandProperties());
174 m_ui->m_stackedWidget->setCurrentIndex(1);
180 m_sliderWidget->
setTitle(tr(
"Opacity"));
181 m_sliderWidget->setMinMaxValues(0, 100);
182 m_sliderWidget->setDefaultValue(100);
184 QGridLayout* layout =
new QGridLayout(m_ui->m_stackedWidget->currentWidget());
186 layout->setAlignment(Qt::AlignTop);
187 layout->addWidget(m_sliderWidget);
193 m_ui->m_stackedWidget->setCurrentIndex(2);
195 if(!m_channelSelectionWidget)
199 QGridLayout* layout =
new QGridLayout(m_ui->m_stackedWidget->currentWidget());
201 layout->setAlignment(Qt::AlignTop);
202 layout->addWidget(m_channelSelectionWidget);
206 m_channelSelectionWidget->
setProperty(m_property->getBandProperties());
213 m_ui->m_stackedWidget->setCurrentIndex(3);
215 if(!m_colorMapWidget)
219 QGridLayout* layout =
new QGridLayout(m_ui->m_stackedWidget->currentWidget());
221 layout->setAlignment(Qt::AlignTop);
222 layout->addWidget(m_colorMapWidget);
225 m_colorMapWidget->setColorMap(m_colorMap);
229 m_colorMapWidget->setRaster(m_raster);
236 m_ui->m_stackedWidget->setCurrentIndex(4);
238 if(!m_contrastWidget)
242 QGridLayout* layout =
new QGridLayout(m_ui->m_stackedWidget->currentWidget());
244 layout->setAlignment(Qt::AlignTop);
245 layout->addWidget(m_contrastWidget);
251 m_ui->m_stackedWidget->setCurrentIndex(5);
253 if(!m_imageOutlineWidget)
257 QGridLayout* layout =
new QGridLayout(m_ui->m_stackedWidget->currentWidget());
259 layout->setAlignment(Qt::AlignTop);
260 layout->addWidget(m_imageOutlineWidget);
262 if(m_symbolizer->getImageOutline())
264 m_imageOutlineWidget->
setImageOutline(m_symbolizer->getImageOutline());
271 m_ui->m_stackedWidget->setCurrentIndex(6);
273 if(!m_overlapBehaviorWidget)
277 QGridLayout* layout =
new QGridLayout(m_ui->m_stackedWidget->currentWidget());
279 layout->setAlignment(Qt::AlignTop);
280 layout->addWidget(m_overlapBehaviorWidget);
286 m_ui->m_stackedWidget->setCurrentIndex(7);
288 if(!m_shadedReliefWidget)
292 QGridLayout* layout =
new QGridLayout(m_ui->m_stackedWidget->currentWidget());
294 layout->setAlignment(Qt::AlignTop);
295 layout->addWidget(m_shadedReliefWidget);
301 m_ui->m_stackedWidget->setCurrentIndex(1);
307 QGridLayout* layout =
new QGridLayout(m_ui->m_stackedWidget->currentWidget());
309 layout->setAlignment(Qt::AlignTop);
310 layout->addWidget(m_rasterWidget);
317 m_rasterWidget->setRasterSymbolizer(m_symbolizer);
ParameterValue * getOpacity() const
The RasterSymbolizer describes how to render raster/matrix-coverage data (e.g., satellite photos...
A widget used to build OverlapBehavior element.
void onOverlapBehaviorClicked()
void onShadedReliefClicked()
ParameterValue * clone() const
It creates a new copy of this object.
ParameterValue * getOffset() const
te::se::ChannelSelection * getChannelSelection() const
std::auto_ptr< Ui::RasterSymbolizerDialogForm > m_ui
Dialog form.
~RasterSymbolizerDialog()
Destructor.
A widget used to build ContrastEnhancement element.
void updateUi()
Updates the widget form based on internal mark element.
A Symbolizer describes how a feature is to appear on a map.
A dialog used to build a ShadedRelief element.
A widget used to build Symbolizer element.
void onContrastEnhancementClicked()
RasterSymbolizerDialog(QWidget *parent=0, Qt::WindowFlags f=0)
Constructs a RasterSymbolizerDialog dialog which is a child of parent, with widget flags set to f...
A ColorMap defines either the colors of a pallette-type raster source or the mapping of numeric pixel...
void setRasterSymbolizer(const te::se::RasterSymbolizer *rs)
A dialog used to build a ColorMap element.
Symbolizer * clone() const
It creates a new copy of this object.
void setTitle(QString value)
A widget used to configure a Raster Symbolizer SE element.
void setGain(ParameterValue *p)
void onChannelSelectionClicked()
ParameterValue * getGain() const
A dialog used to build a ContrastEnhancementWidget element.
void setProperty(std::vector< te::rst::BandProperty * > &p)
Sets the band information.
A dialog used to build a ChannelSelection element.
A dialog used to build a OverlapBehaviorWidget element.
An abstract class for raster data strucutures.
A dialog used to build a ImageOutlineWidget element.
void setBandProperty(std::vector< te::rst::BandProperty * > bp)
ChannelSelection * clone() const
It creates a new copy of this object.
te::se::Symbolizer * getRasterSymbolizer() const
void setImageOutline(const te::se::ImageOutline *io)
The "ParameterValueType" uses WFS-Filter expressions to give values for SE graphic parameters...
void onImageOutlineClicked()
void setRasterProperty(te::rst::Raster *r, te::rst::RasterProperty *p)
Sets the raster information.
A widget used to configure a Raster Symbolizer SE element.