Krita Source Code Documentation
Loading...
Searching...
No Matches
KisCurveOptionInputControlsStrategy.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 KISCURVEOPTIONINPUTCONTROLSSTRATEGY_H
8#define KISCURVEOPTIONINPUTCONTROLSSTRATEGY_H
9
11
12#include <lager/reader.hpp>
13#include <QScopedPointer>
15#include <QString>
16
18class QSpinBox;
19class QDoubleSpinBox;
20
21template <typename SpinBox>
24{
25public:
27 KisCurveWidget *curveWidget,
28 QWidget *inPlaceholder, QWidget *outPlaceholder);
30
32
33private:
34 void updateCurveLabels(qreal xMin, qreal xMax, qreal yMin, qreal yMax);
35
36private:
37 SpinBox *inSpinBox;
38 SpinBox *outSpinBox;
39 KisCurveWidget *curveWidget {nullptr};
40 QScopedPointer<KisCurveWidgetControlsManagerBase> curveControlsManager;
41 lager::reader<QString> xValueSuffix;
42 lager::reader<QString> yValueSuffix;
43 lager::reader<std::tuple<qreal, qreal, qreal, qreal>> rangeValues;
44};
45
48
54
60
61
62#endif // KISCURVEOPTIONINPUTCONTROLSSTRATEGY_H
std::function< KisCurveOptionInputControlsStrategyInterface *( KisCurveRangeModelInterface *, KisCurveWidget *, QWidget *, QWidget *)> KisCurveOptionInputControlsStrategyFactory
QScopedPointer< KisCurveWidgetControlsManagerBase > curveControlsManager
KisCurveOptionInputControlsStrategy(KisCurveRangeModelInterface *rangeInterface, KisCurveWidget *curveWidget, QWidget *inPlaceholder, QWidget *outPlaceholder)
lager::reader< std::tuple< qreal, qreal, qreal, qreal > > rangeValues
#define PAINTOP_EXPORT_TEMPLATE