27 #include "../../../../common/Translator.h"
28 #include "../../../../dataaccess/Enums.h"
29 #include "../../../../dataaccess/dataset/DataSetType.h"
30 #include "../../../../dataaccess/datasource/DataSource.h"
31 #include "../../../../dataaccess/datasource/DataSourceCatalog.h"
32 #include "../../../../dataaccess/utils/Utils.h"
33 #include "../../datasource/explorer/DataSetGroupItem.h"
34 #include "../../Exception.h"
44 #include <QtGui/QMenu>
45 #include <QtGui/QWidget>
53 if(ds == 0 && dt->getCatalog())
68 if(role == Qt::DecorationRole)
71 return QVariant(QIcon::fromTheme(
"dataset-geotable"));
73 return QVariant(QIcon::fromTheme(
"dataset-table"));
75 return QVariant(QIcon::fromTheme(
"dataset-geoview"));
77 return QVariant(QIcon::fromTheme(
"dataset-view"));
79 return QVariant(QIcon::fromTheme(
"dataset-geofile"));
81 return QVariant(QIcon::fromTheme(
"dataset-file"));
83 return QVariant(QIcon::fromTheme(
"dataset"));
86 if(role == Qt::DisplayRole)
88 if(!m_dataset->getTitle().empty())
89 return QVariant(m_dataset->getTitle().c_str());
91 return QVariant(m_dataset->getName().c_str());
94 if(role == Qt::CheckStateRole)
95 return QVariant(m_checked ? Qt::Checked : Qt::Unchecked);
102 QMenu* m =
new QMenu(parent);
104 QAction* aOpenDataSet = m->addAction(tr(
"&Open dataset"));
106 connect(aOpenDataSet, SIGNAL(triggered()),
this, SLOT(openDataSet()));
113 if(!children().empty())
116 return hasChildren();
121 return Qt::ItemIsUserCheckable;
126 if(m_dataset.get() == 0)
132 if(m_dataset->size() != 0)
135 if((!m_dataset->getNumberOfCheckConstraints() != 0) ||
136 (!m_dataset->getNumberOfUniqueKeys() != 0) ||
137 (!m_dataset->getPrimaryKey() != 0))
140 if(m_dataset->getNumberOfIndexes() != 0)
146 if(m_dataset.get() == 0)
149 if(m_dataset->size() != 0)
152 if(m_datasource == 0)
160 if(role == Qt::CheckStateRole)
162 m_checked = value.toBool();
A class used to group a set of properties from a dataset in a TreeModel.
bool canFetchMore() const
QMenu * getMenu(QWidget *parent=0) const
A class that represents a dataset in a TreeModel.
te::da::DataSource * getDataSource() const
te::da::DataSource * m_datasource
Qt::ItemFlags flags() const
QVariant data(int column, int role) const
DataSetItem(const te::da::DataSetTypePtr &dt, te::da::DataSource *ds=0, AbstractDataSourceTreeItem *parent=0)
Constructor.
A class used to group the set of constraints of a dataset in a TreeModel.
An abstract class for data providers like a DBMS, Web Services or a regular file. ...
boost::shared_ptr< DataSetType > DataSetTypePtr
A class used to group a set of indexes from a dataset in a TreeModel.
bool setData(const QVariant &value, int role=Qt::EditRole)
const te::da::DataSetTypePtr & getDataSet() const