/ tests / testroles.h
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