14 : QIdentityProxyModel { parent }
21 auto flags = QIdentityProxyModel::flags (index);
22 if (index.column () == 0)
23 flags |= Qt::ItemIsUserCheckable;
29 if (role == Qt::CheckStateRole && index.column () == 0)
32 return QIdentityProxyModel::data (index, role);
37 if (role == Qt::CheckStateRole && index.column () == 0)
41 emit dataChanged (index, index, { Qt::CheckStateRole });
45 return QIdentityProxyModel::setData (index, value, role);
50 const auto rc = sourceModel ()->rowCount ();
51 for (
int i = 0; i < rc; ++i)
53 const auto srcIndex = sourceModel ()->index (i, 0);
54 const auto& idVar = srcIndex.data (
IdRole_);
58 const auto& index = mapFromSource (srcIndex);
59 emit dataChanged (index, index, { Qt::CheckStateRole });
68 const auto rc = sourceModel ()->rowCount ();
69 for (
int i = 0; i < rc; ++i)
71 const auto srcIndex = sourceModel ()->index (i, 0);
72 const auto& idVar = srcIndex.data (
IdRole_);
76 const auto& index = mapFromSource (srcIndex);
77 emit dataChanged (index, index, { Qt::CheckStateRole });
bool setData(const QModelIndex &index, const QVariant &value, int role) override
virtual void SetChecked(const QVariant &idVar, bool checked)=0
QVariant data(const QModelIndex &index, int role) const override
Qt::ItemFlags flags(const QModelIndex &index) const override
virtual bool IsChecked(const QVariant &idVar) const =0
CheckableProxyModelBase(int idRole, QObject *parent=nullptr)