/ 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