TreeModel: Add a TreeItem::setData function

Change-Id: Id59c35068cd5a2ba22ccfddd45a0826dd68e9905
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
This commit is contained in:
hjk
2015-01-13 13:46:15 +01:00
parent b3f0a1bfbb
commit 036f4f00eb
2 changed files with 19 additions and 0 deletions

View File

@@ -662,6 +662,14 @@ QVariant TreeItem::data(int column, int role) const
return QVariant(); return QVariant();
} }
bool TreeItem::setData(int column, const QVariant &data, int role)
{
Q_UNUSED(column);
Q_UNUSED(data);
Q_UNUSED(role);
return false;
}
Qt::ItemFlags TreeItem::flags(int column) const Qt::ItemFlags TreeItem::flags(int column) const
{ {
Q_UNUSED(column); Q_UNUSED(column);
@@ -785,6 +793,15 @@ int TreeModel::columnCount(const QModelIndex &idx) const
return itemFromIndex(idx)->columnCount(); return itemFromIndex(idx)->columnCount();
} }
bool TreeModel::setData(const QModelIndex &idx, const QVariant &data, int role)
{
TreeItem *item = itemFromIndex(idx);
bool res = item ? item->setData(idx.column(), data, role) : false;
if (res)
emit dataChanged(idx, idx);
return res;
}
QVariant TreeModel::data(const QModelIndex &idx, int role) const QVariant TreeModel::data(const QModelIndex &idx, int role) const
{ {
TreeItem *item = itemFromIndex(idx); TreeItem *item = itemFromIndex(idx);

View File

@@ -58,6 +58,7 @@ public:
virtual void populate(); virtual void populate();
virtual QVariant data(int column, int role) const; virtual QVariant data(int column, int role) const;
virtual bool setData(int column, const QVariant &data, int role);
virtual Qt::ItemFlags flags(int column) const; virtual Qt::ItemFlags flags(int column) const;
void prependChild(TreeItem *item); void prependChild(TreeItem *item);
@@ -220,6 +221,7 @@ public:
int rowCount(const QModelIndex &idx = QModelIndex()) const; int rowCount(const QModelIndex &idx = QModelIndex()) const;
int columnCount(const QModelIndex &idx) const; int columnCount(const QModelIndex &idx) const;
bool setData(const QModelIndex &idx, const QVariant &data, int role);
QVariant data(const QModelIndex &idx, int role) const; QVariant data(const QModelIndex &idx, int role) const;
QModelIndex index(int, int, const QModelIndex &idx) const; QModelIndex index(int, int, const QModelIndex &idx) const;
QModelIndex parent(const QModelIndex &idx) const; QModelIndex parent(const QModelIndex &idx) const;