Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_multi_double_filter_widget.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2004 Cyrille Berger <cberger@cberger.net>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#ifndef _KIS_MULTI_DOUBLE_FILTER_WIDGET_H_
8#define _KIS_MULTI_DOUBLE_FILTER_WIDGET_H_
9
10#include <vector>
11
12#include <QDoubleSpinBox>
13
14#include <kis_config_widget.h>
15#include "kritaui_export.h"
16#include "kis_slider_spin_box.h"
18
20{
21 Q_OBJECT
22
23public:
24 KisDelayedActionDoubleInput(QWidget * parent, const QString & name);
25
27
28private Q_SLOTS:
29 void slotValueChanged();
30 void slotTimeToUpdate();
31
32Q_SIGNALS:
34
35private:
36
37 QTimer * m_timer;
38};
39
40
41struct KRITAUI_EXPORT KisDoubleWidgetParam {
42 KisDoubleWidgetParam(double nmin, double nmax, double ninitvalue, const QString & label, const QString & nname);
43 double min;
44 double max;
45 double initvalue;
46 QString label;
47 QString name;
48};
49
50typedef std::vector<KisDoubleWidgetParam> vKisDoubleWidgetParam;
51
52class KRITAUI_EXPORT KisMultiDoubleFilterWidget : public KisConfigWidget
53{
54 Q_OBJECT
55public:
56 KisMultiDoubleFilterWidget(const QString & filterid, QWidget * parent, const QString & caption, vKisDoubleWidgetParam dwparam);
57 void setConfiguration(const KisPropertiesConfigurationSP cfg) override;
58 KisPropertiesConfigurationSP configuration() const override;
59public:
60 inline qint32 nbValues() const {
61 return m_nbdoubleWidgets;
62 }
63 inline double valueAt(qint32 i) {
64 return m_doubleWidgets[i]->value();
65 }
66private:
69 QString m_filterid;
70};
71
72#endif
float value(const T *src, size_t ch)
KisDelayedActionDoubleInput(QWidget *parent, const QString &name)
void valueChangedDelayed(double value)
This class is a spinbox in which you can click and drag to set the value. A slider like bar is displa...
QVector< KisDelayedActionDoubleInput * > m_doubleWidgets
std::vector< KisDoubleWidgetParam > vKisDoubleWidgetParam