Krita Source Code Documentation
Loading...
Searching...
No Matches
KisCurveRangeModel.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2022 Dmitry Kazakov <dimula73@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#ifndef KISCURVERANGEMODEL_H
8#define KISCURVERANGEMODEL_H
9
11#include <lager/constant.hpp>
12
14{
15public:
16 KisCurveRangeModel(lager::cursor<QString> curve,
17 lager::reader<QString> activeSensorId,
18 lager::reader<int> activeSensorLength,
19 const QString &yMinLabel,
20 const QString &yMaxLabel,
21 int yMinValue,
22 int yMaxValue,
23 const QString &yValueSuffix);
24
26
27 lager::cursor<QString> curve() override;
28 lager::reader<QString> xMinLabel() override;
29 lager::reader<QString> xMaxLabel() override;
30 lager::reader<QString> yMinLabel() override;
31 lager::reader<QString> yMaxLabel() override;
32 lager::reader<qreal> yMinValue() override;
33 lager::reader<qreal> yMaxValue() override;
34 lager::reader<QString> yValueSuffix() override;
35 lager::reader<qreal> xMinValue() override;
36 lager::reader<qreal> xMaxValue() override;
37 lager::reader<QString> xValueSuffix() override;
38
39 static KisCurveRangeModelFactory factory(const QString &yMinLabel, const QString &yMaxLabel, int curveMinValue, int curveMaxValue, const QString &curveValueSuffix);
40
41 static qreal calcXMinValueWithFactory(const QString &sensorId);
42 static qreal calcXMaxValueWithFactory(const QString &activeSensorId, const int length);
43
44private:
45 lager::cursor<QString> m_curve;
46 lager::reader<QString> m_activeSensorId;
47 lager::reader<int> m_activeSensorLength;
48 lager::constant<QString> m_yMinLabel;
49 lager::constant<QString> m_yMaxLabel;
50 lager::constant<qreal> m_yMinValue;
51 lager::constant<qreal> m_yMaxValue;
52 lager::constant<QString> m_yValueSuffix;
53};
54
55#endif // KISCURVERANGEMODEL_H
qreal length(const QPointF &vec)
Definition Ellipse.cc:82
std::function< KisCurveRangeModelInterface *(lager::cursor< QString >, lager::cursor< QRectF >, lager::reader< QString >, lager::reader< int >)> KisCurveRangeModelFactory
virtual lager::reader< qreal > xMinValue()=0
virtual lager::reader< QString > yMinLabel()=0
virtual lager::reader< QString > yMaxLabel()=0
virtual lager::reader< qreal > xMaxValue()=0
virtual lager::reader< QString > xValueSuffix()=0
virtual lager::reader< QString > xMaxLabel()=0
virtual lager::reader< qreal > yMinValue()=0
virtual lager::reader< QString > yValueSuffix()=0
virtual lager::reader< QString > xMinLabel()=0
virtual lager::reader< qreal > yMaxValue()=0
virtual lager::cursor< QString > curve()=0
lager::constant< QString > m_yMinLabel
lager::cursor< QString > m_curve
lager::constant< QString > m_yValueSuffix
lager::reader< QString > m_activeSensorId
lager::constant< QString > m_yMaxLabel
lager::constant< qreal > m_yMaxValue
lager::constant< qreal > m_yMinValue
lager::reader< int > m_activeSensorLength