File indexing completed on 2024-06-16 04:17:27
0001 /* 0002 * SPDX-FileCopyrightText: 2022 Dmitry Kazakov <dimula73@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 #include "KisCurveOptionDataUniformProperty.h" 0007 0008 0009 #include "KisCurveOptionData.h" 0010 #include "kis_paintop_settings.h" 0011 #include "kis_paintop_preset.h" 0012 #include "KisPaintOpPresetUpdateProxy.h" 0013 0014 KisCurveOptionDataUniformProperty::KisCurveOptionDataUniformProperty(const KisCurveOptionData &data, KisPaintOpSettingsRestrictedSP settings, QObject *parent) 0015 : KisCurveOptionDataUniformProperty(data, data.id, settings, parent) 0016 { 0017 } 0018 0019 KisCurveOptionDataUniformProperty::KisCurveOptionDataUniformProperty(const KisCurveOptionData &data, const QString &propertyId, KisPaintOpSettingsRestrictedSP settings, QObject *parent) 0020 : KisCurveOptionDataUniformProperty(data, KoID(propertyId, data.id.name()), settings, parent) 0021 { 0022 } 0023 0024 KisCurveOptionDataUniformProperty::KisCurveOptionDataUniformProperty(const KisCurveOptionData &data, const KoID &propertyId, KisPaintOpSettingsRestrictedSP settings, QObject *parent) 0025 : KisDoubleSliderBasedPaintOpProperty(Double, propertyId, settings, parent) 0026 , m_data(new KisCurveOptionData(data)) 0027 { 0028 setRange(m_data->strengthMinValue, m_data->strengthMaxValue); 0029 setSingleStep(0.01); 0030 requestReadValue(); 0031 } 0032 0033 KisCurveOptionDataUniformProperty::~KisCurveOptionDataUniformProperty() 0034 { 0035 } 0036 0037 void KisCurveOptionDataUniformProperty::readValueImpl() 0038 { 0039 m_data->read(settings().data()); 0040 setRange(m_data->strengthMinValue, m_data->strengthMaxValue); 0041 setValue(m_data->strengthValue); 0042 } 0043 0044 void KisCurveOptionDataUniformProperty::writeValueImpl() 0045 { 0046 m_data->read(settings().data()); 0047 m_data->strengthValue = value().toReal(); 0048 m_data->write(settings().data()); 0049 } 0050 0051 bool KisCurveOptionDataUniformProperty::isVisible() const 0052 { 0053 return !m_data->isCheckable || m_data->isChecked; 0054 }