testroles.h
1 #ifndef TESTROLES_H 2 #define TESTROLES_H 3 4 #include "proxyroles/singlerole.h" 5 #include <QVariant> 6 7 class StaticRole : public qqsfpm::SingleRole 8 { 9 Q_OBJECT 10 Q_PROPERTY(QVariant value READ value WRITE setValue NOTIFY valueChanged) 11 public: 12 using qqsfpm::SingleRole::SingleRole; 13 14 QVariant value() const; 15 void setValue(const QVariant& value); 16 17 Q_SIGNALS: 18 void valueChanged(); 19 20 protected: 21 22 private: 23 QVariant data(const QModelIndex& sourceIndex, const qqsfpm::QQmlSortFilterProxyModel& proxyModel) override; 24 QVariant m_value; 25 }; 26 27 class SourceIndexRole : public qqsfpm::SingleRole 28 { 29 public: 30 using qqsfpm::SingleRole::SingleRole; 31 32 private: 33 QVariant data(const QModelIndex& sourceIndex, const qqsfpm::QQmlSortFilterProxyModel& proxyModel) override; 34 }; 35 36 class MultiRole : public qqsfpm::ProxyRole 37 { 38 public: 39 using qqsfpm::ProxyRole::ProxyRole; 40 41 QStringList names() override; 42 43 private: 44 QVariant data(const QModelIndex &sourceIndex, const qqsfpm::QQmlSortFilterProxyModel &proxyModel, const QString &name) override; 45 }; 46 47 #endif // TESTROLES_H