27 #include "../../../dataaccess/dataset/DataSet.h"
28 #include "../../../dataaccess/dataset/DataSetType.h"
29 #include "../../../dataaccess/datasource/DataSource.h"
30 #include "../../../dataaccess/datasource/DataSourceManager.h"
31 #include "../../../dataaccess/datasource/DataSourceTransactor.h"
32 #include "../../../dataaccess/utils/Utils.h"
33 #include "../../../geometry/Envelope.h"
34 #include "../../../geometry/Geometry.h"
35 #include "../../../geometry/GeometryProperty.h"
36 #include "../canvas/Canvas.h"
44 #include <QtGui/QMessageBox>
45 #include <QtGui/QResizeEvent>
67 catch(
const std::exception& e)
69 QMessageBox::warning(
this,
70 tr(
"TerraLib Qt Components"),
75 QMessageBox::warning(
this,
76 tr(
"TerraLib Qt Components"),
77 tr(
"Unknown error when displaying dataset!"));
83 if((dataset.get() == 0) || (ds.get() == 0))
86 if(m_canvas.get() == 0)
87 m_canvas.reset(
new Canvas(width(), height()));
89 if(dataset->size() == 0)
92 if(!dataset->hasGeom())
106 m_canvas->calcAspectRatio(mbr.get());
108 m_canvas->setWindow(mbr->getLowerLeftX(), mbr->getLowerLeftY(), mbr->getUpperRightX(), mbr->getUpperRightY());
155 std::auto_ptr<te::da::DataSet> feature(ds->getDataSet(dataset->getName()));
159 while(feature->moveNext())
161 std::auto_ptr<te::gm::Geometry> g(feature->getGeometry(gpos));
162 m_canvas->draw(g.get());
170 if(m_canvas.get() == 0)
171 m_canvas.reset(
new Canvas(width(), height()));
181 if(m_canvas.get() == 0)
184 QPainter painter(
this);
186 painter.drawPixmap(0, 0, *(m_canvas->getPixmap()));
196 if(m_canvas.get() == 0)
199 m_canvas->resize(e->size().width(), e->size().height());
201 QFrame::resizeEvent(e);
TEQTWIDGETSEXPORT void Config2DrawLines(te::map::Canvas *canvas, const QColor &color, const std::size_t &width=1)
It configs (i.e. prepares) the given canvas to draw lines.
void resizeEvent(QResizeEvent *e)
TEDATAACCESSEXPORT te::gm::GeometryProperty * GetFirstGeomProperty(const DataSetType *dt)
const std::string & getName() const
It returns the property name.
TEDATAACCESSEXPORT te::gm::Envelope * GetExtent(const std::string &datasetName, const std::string &propertyName, const std::string &datasourceId)
GeomType getGeometryType() const
It returns the geometry subtype allowed for the property.
A helper class for 32-bit RGBA (Red-Green-Blue-Alpha channel) color.
A canvas built on top of Qt.
TEDATAACCESSEXPORT std::size_t GetFirstPropertyPos(const te::da::DataSet *dataset, int datatype)
boost::shared_ptr< DataSource > DataSourcePtr
TEQTWIDGETSEXPORT void Config2DrawPoints(te::map::Canvas *canvas, const QColor &color, const std::size_t &width=1)
It configs (i.e. prepares) the given canvas to draw points.
void paintEvent(QPaintEvent *e)
boost::shared_ptr< DataSetType > DataSetTypePtr
TEDATAACCESSEXPORT void LoadProperties(te::da::DataSetType *dataset, const std::string &datasourceId)
static DataSourceManager & getInstance()
It returns a reference to the singleton instance.
boost::shared_ptr< DataSourceInfo > DataSourceInfoPtr
TEQTWIDGETSEXPORT void Config2DrawPolygons(te::map::Canvas *canvas, const QColor &fillColor, const QColor &contourColor, const std::size_t &contourWidth=1)
It configs (i.e. prepares) the given canvas to draw polygons.
DataSetDisplay(QWidget *parent=0, Qt::WindowFlags f=0)
void draw(const te::da::DataSetTypePtr &dataset, const te::da::DataSourcePtr &ds)