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 "../../../../memory/DataSet.h" 33 #include "../../datasource/explorer/AbstractDataSourceTreeItem.h" 34 #include "../../datasource/explorer/DataSetItem.h" 35 #include "../../datasource/explorer/DataSetGroupItem.h" 36 #include "../../mapdisplay/DataSetDisplay.h" 37 #include "../../table/DataSetTableView.h" 38 #include "../explorer/DataSetTreeView.h" 39 #include "../explorer/DataSetTreeModel.h" 41 #include "ui_DataSetSelectorWidgetForm.h" 50 #include <QMessageBox> 51 #include <QVBoxLayout> 55 m_ui(new
Ui::DataSetSelectorWidgetForm),
57 m_useCheckableItems(true)
67 QVBoxLayout* datasetGroupBoxLayout =
new QVBoxLayout(
m_ui->m_treeViewFrame);
71 QVBoxLayout* mapPreviewGroupBoxLayout =
new QVBoxLayout(
m_ui->m_mapPreviewGroupBox);
72 mapPreviewGroupBoxLayout->addWidget(
m_mapPreview.get(), 1);
75 m_ui->m_mapPreviewGroupBox->setChecked(
false);
78 QVBoxLayout* dataPreviewGroupBoxLayout =
new QVBoxLayout(
m_ui->m_dataPreviewGroupBox);
79 dataPreviewGroupBoxLayout->addWidget(
m_tblView.get(), 1);
87 m_tblView->verticalHeader()->setVisible(
false);
88 m_tblView->setSelectionMode(QAbstractItemView::NoSelection);
89 m_ui->m_dataPreviewGroupBox->setChecked(
false);
109 if(ds.get() ==
nullptr)
112 m_ui->m_datasetGroupBox->setTitle(QString::fromUtf8(ds->getTitle().c_str()));
120 QModelIndex idx = nmodel->index(0, 0);
124 catch(
const std::exception& e)
126 QMessageBox::warning(
this,
127 tr(
"TerraLib Qt Components"),
132 QMessageBox::warning(
this,
133 tr(
"TerraLib Qt Components"),
134 tr(
"Unknown error when showing datasets!"));
140 QMessageBox::warning(
this,
141 tr(
"TerraLib Qt Components"),
142 tr(
"Not implemented yet!\nWe will provide it soon!"));
148 m_ui->m_mapPreviewGroupBox->setChecked(
false);
153 QMessageBox::warning(
this,
154 tr(
"TerraLib Qt Components"),
155 tr(
"Not implemented yet!\nWe will provide it soon!"));
161 m_ui->m_dataPreviewGroupBox->setChecked(
false);
171 std::list<te::da::DataSetTypePtr> datasets;
173 std::map<te::da::DataSetTypePtr, std::string, DataSetComparer>::const_iterator it;
175 datasets.push_back(it->first);
187 std::list<std::string> gp;
189 std::map<te::da::DataSetTypePtr, std::string, DataSetComparer>::const_iterator it;
191 gp.push_back(it->second);
198 std::list<te::da::DataSetTypePtr> datasets;
202 for(std::list<DataSetItem*>::iterator it = items.begin(); it != items.end(); ++it)
225 std::list<std::string> gp;
229 for(std::list<DataSetItem*>::iterator it = items.begin(); it != items.end(); ++it)
252 if(dataset.get() ==
nullptr)
257 if(
m_ui->m_mapPreviewGroupBox->isChecked())
270 if((dataset.get() ==
nullptr) || (
m_datasource.get() ==
nullptr))
273 if(!
m_ui->m_dataPreviewGroupBox->isChecked())
280 if(ds.get() ==
nullptr)
283 std::unique_ptr<te::da::DataSet> feature(ds->getDataSet(dataset->getName()));
285 std::vector<std::size_t> properties;
286 for(std::size_t i = 0; i < feature->getNumProperties(); ++i)
287 properties.push_back(i);
290 std::size_t dsetsize = feature->size();
292 if(dsetsize < previewrows)
293 previewrows = dsetsize;
295 std::unique_ptr<te::mem::DataSet> memFeature((
new te::mem::DataSet(*feature.get(), properties, previewrows)));
298 m_tblView->setDataSet(memFeature.release());
332 for(std::size_t i = 0; i < items.size(); ++i)
382 return first->getName() < second->getName();
391 newModel->
setFilter(text.toUtf8().data());
boost::shared_ptr< DataSetType > DataSetTypePtr
boost::shared_ptr< DataSource > DataSourcePtr
static te::dt::Date ds(2010, 01, 01)
Implementation of a random-access dataset class for the TerraLib In-Memory Data Access driver...
static DataSourceManager & getInstance()
It returns a reference to the singleton instance.
boost::shared_ptr< DataSourceInfo > DataSourceInfoPtr