/ proxyroles / filterrole.h
filterrole.h
 1  #ifndef FILTERROLE_H
 2  #define FILTERROLE_H
 3  
 4  #include "singlerole.h"
 5  #include "filters/filtercontainer.h"
 6  
 7  namespace qqsfpm {
 8  
 9  class FilterRole : public SingleRole, public FilterContainer
10  {
11      Q_OBJECT
12      Q_INTERFACES(qqsfpm::FilterContainer)
13      Q_PROPERTY(QQmlListProperty<qqsfpm::Filter> filters READ filtersListProperty)
14      Q_CLASSINFO("DefaultProperty", "filters")
15  
16  public:
17      using SingleRole::SingleRole;
18  
19  private:
20      void onFilterAppended(Filter* filter) override;
21      void onFilterRemoved(Filter* filter) override;
22      void onFiltersCleared() override;
23  
24      QVariant data(const QModelIndex& sourceIndex, const QQmlSortFilterProxyModel& proxyModel) override;
25  };
26  
27  }
28  
29  #endif // FILTERROLE_H