}
QVariant TreeItem::data(int column, int role) const {
- if(role == Qt::DisplayRole and column < itemData.count())
+ if(role == Qt::DisplayRole && column < itemData.count())
return itemData[column];
else
return QVariant();
}
+Qt::ItemFlags TreeItem::flags() const {
+ // some sane defaults
+ return Qt::ItemIsSelectable | Qt::ItemIsEnabled;
+}
/*****************************************
* TreeModel
*****************************************/
-TreeModel::TreeModel(const QList<QVariant> &data, QObject *parent) : QAbstractItemModel(parent) {
+TreeModel::TreeModel(const QList<QVariant> &data, QObject *parent)
+ : QAbstractItemModel(parent)
+{
rootItem = new TreeItem(data, 0);
}
}
Qt::ItemFlags TreeModel::flags(const QModelIndex &index) const {
+ TreeItem *item;
if(!index.isValid())
- return 0;
+ item = rootItem;
else
- return Qt::ItemIsEnabled | Qt::ItemIsSelectable;
+ item = static_cast<TreeItem *>(index.internalPointer());
+ return item->flags();
}
QVariant TreeModel::headerData(int section, Qt::Orientation orientation, int role) const {