27 #include "../../../../common/STLUtils.h" 28 #include "../../../../core/translator/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> 69 if(role == Qt::DecorationRole)
70 return QVariant(QIcon::fromTheme(
"datasets"));
72 if(role == Qt::DisplayRole)
73 return QVariant(QString(
"datasets"));
75 if(role == Qt::CheckStateRole)
76 return QVariant(
m_checked ? Qt::Checked : Qt::Unchecked);
83 QMenu* m =
new QMenu(parent);
85 QAction* aOpenDataSets = m->addAction(tr(
"&Open datasets"));
87 connect(aOpenDataSets, SIGNAL(triggered()),
this, SLOT(openDataSets()));
94 if(!children().empty ())
102 return Qt::ItemIsUserCheckable;
112 if(ds.get() ==
nullptr)
115 std::vector<std::string> datasetNames = ds->getDataSetNames();
117 const std::size_t ndatasets = datasetNames.size();
119 for(std::size_t i = 0; i < ndatasets; ++i)
123 if(datasetNames[i].find(
m_filter) != std::string::npos)
134 m_items[0]->setData(
true, Qt::CheckStateRole);
143 if(
m_ds.get() ==
nullptr)
150 if(ds.get() ==
nullptr)
153 return ds->hasDataSets();
164 if(role == Qt::CheckStateRole)
168 for(std::size_t i = 0; i <
m_items.size(); ++i)
170 m_items[i]->setData(value, role);
187 for(std::size_t i = 0; i <
m_items.size(); ++i)
boost::shared_ptr< DataSource > DataSourcePtr
static te::dt::Date ds(2010, 01, 01)
static DataSourceManager & getInstance()
It returns a reference to the singleton instance.
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