27 #include "../../../dataaccess/utils/Utils.h"
28 #include "../../../maptools/AbstractLayer.h"
29 #include "../../../raster/RasterProperty.h"
30 #include "../../../raster/BandProperty.h"
41 #include <QScrollArea>
44 : QDockWidget(title, parent, flags),
57 m_currentLayer = layer;
63 m_tabWidget->setTabEnabled(0, status);
64 m_tabWidget->setTabEnabled(1, status);
65 m_tabWidget->setTabEnabled(2, status);
66 m_tabWidget->setTabEnabled(3, status);
76 QWidget* w =
new QWidget(
this);
78 QGridLayout* layout =
new QGridLayout(w);
82 layout->addWidget(m_styleController, 0, 0);
83 m_styleController->setMaximumHeight(300);
85 connect(m_styleController, SIGNAL(mapRefresh()),
this, SLOT(onMapRefresh()));
90 m_tabWidget =
new QTabWidget(w);
91 m_tabWidget->setTabPosition(QTabWidget::South);
92 layout->addWidget(m_tabWidget, 1, 0);
93 m_tabWidget->setMinimumWidth(360);
97 m_tabWidget->addTab(m_polyWidget, tr(
"Polygons"));
98 connect(m_polyWidget, SIGNAL(symbolizerChanged()),
this, SLOT(onPolygonSymbolizerChanged()));
102 m_tabWidget->addTab(m_lineWidget, tr(
"Lines"));
103 connect(m_lineWidget, SIGNAL(symbolizerChanged()),
this, SLOT(onLineSymbolizerChanged()));
107 m_tabWidget->addTab(m_pointWidget, tr(
"Points"));
108 connect(m_pointWidget, SIGNAL(symbolizerChanged()),
this, SLOT(onPointSymbolizerChanged()));
112 m_tabWidget->addTab(m_rasterWidget, tr(
"Raster"));
113 connect(m_rasterWidget, SIGNAL(symbolizerChanged()),
this, SLOT(onRasterSymbolizerChanged()));
124 if(s->
getType() ==
"PolygonSymbolizer")
126 m_tabWidget->setCurrentWidget(m_polyWidget);
127 m_tabWidget->setTabEnabled(0,
true);
128 m_polyWidget->setSymbolizer(dynamic_cast<te::se::PolygonSymbolizer*>(s));
130 else if(s->
getType() ==
"LineSymbolizer")
132 m_tabWidget->setCurrentWidget(m_lineWidget);
133 m_tabWidget->setTabEnabled(1,
true);
134 m_lineWidget->setSymbolizer(dynamic_cast<te::se::LineSymbolizer*>(s));
136 else if(s->
getType() ==
"PointSymbolizer")
138 m_tabWidget->setCurrentWidget(m_pointWidget);
139 m_tabWidget->setTabEnabled(2,
true);
140 m_pointWidget->setSymbolizer(dynamic_cast<te::se::PointSymbolizer*>(s));
142 else if(s->
getType() ==
"RasterSymbolizer")
144 m_tabWidget->setCurrentIndex(3);
145 m_tabWidget->setTabEnabled(3,
true);
147 std::auto_ptr<te::map::LayerSchema> lschema = m_currentLayer->getSchema();
153 m_rasterWidget->setBandProperty(bprops);
155 m_rasterWidget->setRasterSymbolizer(dynamic_cast<te::se::RasterSymbolizer*>(s));
163 emit symbolizerChanged(s);
169 emit symbolizerChanged(s);
175 emit symbolizerChanged(s);
181 emit symbolizerChanged(s);
186 emit repaintMapDisplay();
TEDATAACCESSEXPORT te::rst::RasterProperty * GetFirstRasterProperty(const DataSetType *dt)
The Style defines the styling that is to be applied to a geographic dataset (vector geometries or cov...
This is the base class for layers.
A Symbolizer describes how a feature is to appear on a map.
A widget used to define the line symbolizer properties, such as:
A widget used to define the point symbolizer properties, such as:
virtual void setStyle(te::se::Style *style)
It sets the Style associated to the layer.
std::vector< te::rst::BandProperty * > & getBandProperties()
Returns a reference to the list of bands definitions.
virtual const std::string & getType() const =0
It returns the symbolizer type.
A widget used to define the polygon symbolizer properties, such as: