File indexing completed on 2025-01-26 04:11:26
0001 /* 0002 * SPDX-FileCopyrightText: 2022 Dmitry Kazakov <dimula73@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 #include "KisCurveOptionDataCommon.h" 0007 #include "KisSensorPackInterface.h" 0008 0009 KisCurveOptionDataCommon::KisCurveOptionDataCommon(const QString &_prefix, const KoID &_id, bool _isCheckable, bool _isChecked, qreal _minValue, qreal _maxValue, KisSensorPackInterface *sensorInterface) 0010 : id(_id), 0011 prefix(_prefix), 0012 isCheckable(_isCheckable), 0013 strengthMinValue(_minValue), 0014 strengthMaxValue(_maxValue), 0015 isChecked(_isChecked), 0016 strengthValue(_maxValue), 0017 sensorData(sensorInterface) 0018 { 0019 } 0020 0021 KisCurveOptionDataCommon::KisCurveOptionDataCommon(const KoID &_id, bool _isCheckable, bool _isChecked, qreal _minValue, qreal _maxValue, KisSensorPackInterface *sensorInterface) 0022 : KisCurveOptionDataCommon("", _id, _isCheckable, _isChecked, _minValue, _maxValue, sensorInterface) 0023 { 0024 } 0025 0026 // TODO: rename into constSensors 0027 std::vector<const KisSensorData*> KisCurveOptionDataCommon::sensors() const 0028 { 0029 return sensorData->constSensors(); 0030 } 0031 0032 std::vector<KisSensorData*> KisCurveOptionDataCommon::sensors() 0033 { 0034 return sensorData->sensors(); 0035 } 0036 0037 bool KisCurveOptionDataCommon::read(const KisPropertiesConfiguration *setting) 0038 { 0039 if (!setting) return false; 0040 0041 if (prefix.isEmpty()) { 0042 return readPrefixed(setting); 0043 } else { 0044 KisPropertiesConfiguration prefixedSetting; 0045 setting->getPrefixedProperties(prefix, &prefixedSetting); 0046 return readPrefixed(&prefixedSetting); 0047 } 0048 } 0049 0050 void KisCurveOptionDataCommon::write(KisPropertiesConfiguration *setting) const 0051 { 0052 if (prefix.isEmpty()) { 0053 writePrefixed(setting); 0054 } else { 0055 KisPropertiesConfiguration prefixedSetting; 0056 writePrefixed(&prefixedSetting); 0057 setting->setPrefixedProperties(prefix, &prefixedSetting); 0058 } 0059 } 0060 0061 bool KisCurveOptionDataCommon::readPrefixed(const KisPropertiesConfiguration *setting) 0062 { 0063 return sensorData->read(*this, setting); 0064 } 0065 0066 void KisCurveOptionDataCommon::writePrefixed(KisPropertiesConfiguration *setting) const 0067 { 0068 sensorData->write(*this, setting); 0069 } 0070 0071