File indexing completed on 2024-06-23 04:27:50

0001 /*
0002  *  SPDX-FileCopyrightText: 2022 Dmitry Kazakov <dimula73@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 #ifndef KISDYNAMICSENSORFACTORY_H
0007 #define KISDYNAMICSENSORFACTORY_H
0008 
0009 #include <KisCurveOptionData.h>
0010 #include <lager/cursor.hpp>
0011 
0012 class QWidget;
0013 
0014 class PAINTOP_EXPORT KisDynamicSensorFactory
0015 {
0016 public:
0017     virtual ~KisDynamicSensorFactory();
0018 
0019     /**
0020      * return the id for the shape this factory creates.
0021      * @return the id for the shape this factory creates.
0022      */
0023     virtual QString id() const = 0;
0024 
0025     virtual int minimumValue() = 0;
0026     virtual int maximumValue(int length) = 0;
0027     virtual QString minimumLabel() = 0;
0028     virtual QString maximumLabel(int length) = 0;
0029     virtual QString valueSuffix() = 0;
0030     virtual QWidget* createConfigWidget(lager::cursor<KisCurveOptionDataCommon>, QWidget*) = 0;
0031 };
0032 
0033 #endif // KISDYNAMICSENSORFACTORY_H