File indexing completed on 2024-05-26 04:34:06

0001 /*
0002  *  SPDX-FileCopyrightText: 2022 Dmitry Kazakov <dimula73@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 #ifndef KISPAINTINGMODEOPTIONMODEL_H
0007 #define KISPAINTINGMODEOPTIONMODEL_H
0008 
0009 #include <lager/cursor.hpp>
0010 #include <lager/extra/qt.hpp>
0011 
0012 #include "KisPaintingModeOptionData.h"
0013 #include "KisWidgetConnectionUtils.h"
0014 
0015 using ButtonGroupState = KisWidgetConnectionUtils::ButtonGroupState;
0016 
0017 class KisPaintingModeOptionModel : public QObject
0018 {
0019     Q_OBJECT
0020 public:
0021     KisPaintingModeOptionModel(lager::cursor<KisPaintingModeOptionData> optionData, lager::reader<bool> maskingBrushEnabled);
0022 
0023     lager::cursor<KisPaintingModeOptionData> optionData;
0024     lager::reader<bool> maskingBrushEnabled;
0025 
0026     KisPaintingModeOptionData bakedOptionData() const;
0027 
0028     LAGER_QT_CURSOR(int, paintingMode);
0029     LAGER_QT_READER(int, effectivePaintingMode);
0030     LAGER_QT_READER(ButtonGroupState, paintingModeState);
0031 };
0032 
0033 #endif // KISPAINTINGMODEOPTIONMODEL_H