27 #include "../../common/Translator.h"
28 #include "../../dataaccess/datasource/DataSource.h"
29 #include "../../dataaccess/datasource/DataSourceManager.h"
30 #include "../../maptools/DataSetLayer.h"
31 #include "../../qt/widgets/dataset/selector/DataSetSelectorDialog.h"
32 #include "../../qt/widgets/layer/utils/DataSet2Layer.h"
33 #include "../Exception.h"
34 #include "../WMS2Layer.h"
43 : te::qt::widgets::AbstractLayerSelector(parent, f)
53 m_datasources = datasources;
58 std::list<te::map::AbstractLayerPtr> layers;
60 for(std::list<te::da::DataSourceInfoPtr>::iterator it = m_datasources.begin(); it != m_datasources.end(); ++it)
64 if(datasource.get() == 0)
68 if(datasource.get() == 0)
69 throw Exception(
TE_TR(
"Could not retrieve the data source instance!"));
72 if(!datasource->isOpened())
77 ldialog->set(*it,
true);
79 int retval = ldialog->exec();
81 if(retval == QDialog::Rejected)
84 std::list<te::da::DataSetTypePtr> datasets = ldialog->getCheckedDataSets();
86 std::transform(datasets.begin(), datasets.end(), std::back_inserter(layers),
WMS2Layer((*it)->getId()));
boost::shared_ptr< DataSource > DataSourcePtr
WMSLayerSelector(QWidget *parent=0, Qt::WindowFlags f=0)
#define TE_TR(message)
It marks a string in order to get translated.
static DataSourceManager & getInstance()
It returns a reference to the singleton instance.
void set(const std::list< te::da::DataSourceInfoPtr > &datasources)
std::list< te::map::AbstractLayerPtr > getLayers()
A simple widget that allows the selection of datasets from a given WMS server.