File indexing completed on 2024-05-12 15:59:15
0001 /* 0002 * SPDX-FileCopyrightText: 2008 Cyrille Berger <cberger@cberger.net> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.1-or-later 0005 */ 0006 0007 #ifndef _KIS_META_DATA_FILTER_REGISTRY_MODEL_H_ 0008 #define _KIS_META_DATA_FILTER_REGISTRY_MODEL_H_ 0009 0010 #include "kis_meta_data_filter_registry.h" 0011 0012 #include <KoGenericRegistryModel.h> 0013 0014 class QStringList; 0015 0016 namespace KisMetaData 0017 { 0018 0019 /** 0020 * Use this model to display a list of filters (KisMetaData::Filter) that can be 0021 * enabled or disabled. 0022 */ 0023 class KRITAMETADATA_EXPORT FilterRegistryModel : public KoGenericRegistryModel<const Filter*> 0024 { 0025 public: 0026 FilterRegistryModel(); 0027 ~FilterRegistryModel() override; 0028 public: 0029 QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; 0030 Qt::ItemFlags flags(const QModelIndex & index) const override; 0031 bool setData(const QModelIndex & index, const QVariant & value, int role = Qt::EditRole) override; 0032 /// @return a list of filters that are enabled 0033 QList<const Filter*> enabledFilters() const; 0034 /// enable the filters in the given list; others will be disabled. 0035 virtual void setEnabledFilters(const QStringList &enabledFilters); 0036 private: 0037 struct Private; 0038 Private* const d; 0039 }; 0040 0041 } 0042 0043 #endif