File indexing completed on 2025-02-02 04:22:14

0001 /*
0002  *  SPDX-FileCopyrightText: 2022 Dmitry Kazakov <dimula73@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 #ifndef KISFILTEROPTIONMODEL_H
0007 #define KISFILTEROPTIONMODEL_H
0008 
0009 #include <lager/cursor.hpp>
0010 #include <lager/extra/qt.hpp>
0011 
0012 #include "KisFilterOptionData.h"
0013 
0014 using FilterState = std::tuple<QString, QString>;
0015 
0016 class KisFilterOptionModel : public QObject
0017 {
0018     Q_OBJECT
0019 public:
0020 
0021     KisFilterOptionModel(lager::cursor<KisFilterOptionData> optionData);
0022     lager::cursor<KisFilterOptionData> optionData;
0023     LAGER_QT_CURSOR(QString, filterId);
0024     LAGER_QT_CURSOR(QString, filterConfig);
0025     LAGER_QT_CURSOR(FilterState, effectiveFilterState);
0026     LAGER_QT_CURSOR(bool, smudgeMode);
0027 
0028     KisFilterOptionData bakedOptionData() const;
0029 };
0030 
0031 #endif // KISFILTEROPTIONMODEL_H