27 #include "../../../../dataaccess/Enums.h" 28 #include "../../datasource/explorer/DataSetCategoryGroupItem.h" 35 #include <QMessageBox> 42 m_forceCatalogCache(false)
44 if(datasource.get() !=
nullptr)
67 const QModelIndex& )
const 87 return item->
data(index.column(), role);
89 catch(
const std::exception& e)
91 QMessageBox::warning(static_cast<QWidget*>(QObject::parent()),
92 tr(
"TerraLib Qt Components"),
97 QMessageBox::warning(static_cast<QWidget*>(QObject::parent()),
98 tr(
"TerraLib Qt Components"),
99 tr(
"Unknown error in dataset explorer model!"));
107 if(!parent.isValid())
119 catch(
const std::exception& e)
121 QMessageBox::warning(static_cast<QWidget*>(QObject::parent()),
122 tr(
"TerraLib Qt Components"),
127 QMessageBox::warning(static_cast<QWidget*>(QObject::parent()),
128 tr(
"TerraLib Qt Components"),
129 tr(
"Unknown error in dataset explorer model!"));
136 return QAbstractItemModel::flags(index);
141 return QAbstractItemModel::flags(index);
145 return QAbstractItemModel::flags(index) | item->
flags();
147 catch(
const std::exception& e)
149 QMessageBox::warning(static_cast<QWidget*>(QObject::parent()),
150 tr(
"TerraLib Qt Components"),
155 QMessageBox::warning(static_cast<QWidget*>(QObject::parent()),
156 tr(
"TerraLib Qt Components"),
157 tr(
"Unknown error in dataset explorer model!"));
160 return QAbstractItemModel::flags(index);
167 if(!parent.isValid())
177 catch(
const std::exception& e)
179 QMessageBox::warning(static_cast<QWidget*>(QObject::parent()),
180 tr(
"TerraLib Qt Components"),
185 QMessageBox::warning(static_cast<QWidget*>(QObject::parent()),
186 tr(
"TerraLib Qt Components"),
187 tr(
"Unknown error in dataset explorer model!"));
196 return QModelIndex();
198 if(!parent.isValid())
201 return QModelIndex();
205 return createIndex(row, column, item);
210 if(parentItem ==
nullptr || parentItem->children().empty())
211 return QModelIndex();
216 return QModelIndex();
218 return createIndex(row, column, item);
224 return QModelIndex();
228 if(item ==
nullptr || item->parent() ==
nullptr)
229 return QModelIndex();
233 if(parentItem ==
nullptr)
234 return QModelIndex();
238 if(grandParentItem ==
nullptr)
241 return createIndex(0, index.column(), parentItem);
246 const QObjectList& items = grandParentItem->children();
250 for(QObjectList::const_iterator it = items.begin(); it != items.end(); ++it, ++i)
252 if((*it) == parentItem)
253 return createIndex(i, index.column(), parentItem);
257 return QModelIndex();
262 if(!parent.isValid())
270 return item->children().count();
288 bool retval = item->
setData(value, role);
290 emit dataChanged(index, index);
294 catch(
const std::exception& e)
296 QMessageBox::warning(static_cast<QWidget*>(QObject::parent()),
297 tr(
"TerraLib Qt Components"),
302 QMessageBox::warning(static_cast<QWidget*>(QObject::parent()),
303 tr(
"TerraLib Qt Components"),
304 tr(
"Unknown error in dataset explorer model!"));
boost::shared_ptr< DataSourceInfo > DataSourceInfoPtr