27 #include "../../../../common/STLUtils.h"
28 #include "../../../../common/Translator.h"
29 #include "../../../../dataaccess/dataset/DataSetType.h"
30 #include "../../../../dataaccess/datasource/DataSource.h"
33 #include "../../../../dataaccess/datasource/DataSourceManager.h"
34 #include "../../../../dataaccess/datasource/DataSourceInfo.h"
36 #include "../../../../dataaccess/utils/Utils.h"
37 #include "../../Exception.h"
46 #include <QAbstractItemModel>
48 #include <QMessageBox>
70 if(role == Qt::DecorationRole)
71 return QVariant(QIcon::fromTheme(
"datasets"));
73 if(role == Qt::DisplayRole)
74 return QVariant(QString(
"datasets"));
76 if(role == Qt::CheckStateRole)
77 return QVariant(m_checked ? Qt::Checked : Qt::Unchecked);
84 QMenu* m =
new QMenu(parent);
86 QAction* aOpenDataSets = m->addAction(tr(
"&Open datasets"));
88 connect(aOpenDataSets, SIGNAL(triggered()),
this, SLOT(openDataSets()));
95 if(!children().empty ())
103 return Qt::ItemIsUserCheckable;
116 std::vector<std::string> datasetNames = ds->getDataSetNames();
118 const std::size_t ndatasets = datasetNames.size();
120 for(std::size_t i = 0; i < ndatasets; ++i)
124 bool hasGeom =
false;
125 for(std::size_t i = 0; i < dt->size(); ++i)
136 m_items.push_back(
new DataSetItem(dt,
"Tabular", ds.get(),
this));
139 if(m_items.size() == 1)
141 m_items[0]->setData(
true, Qt::CheckStateRole);
160 return ds->hasDataSets();
171 if(role == Qt::CheckStateRole)
173 m_checked = value.toBool();
175 for(std::size_t i = 0; i < m_items.size(); ++i)
177 m_items[i]->setData(value, role);
194 for(std::size_t i = 0; i < m_items.size(); ++i)
196 if(m_items[i]->isChecked())
boost::shared_ptr< DataSetType > DataSetTypePtr
boost::shared_ptr< DataSource > DataSourcePtr
It models a property definition.
static DataSourceManager & getInstance()
It returns a reference to the singleton instance.
int getType() const
It returns the property data type.
A class that represents a data source in a DataSourceTreeModel.
A class used to group a set of dataset items in a DataSourceTreeModel.
boost::shared_ptr< DataSourceInfo > DataSourceInfoPtr
const std::string & getName() const
It returns the property name.