Krita Source Code Documentation
Loading...
Searching...
No Matches
KisWdgOptionsBrush.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2016 Boudewijn Rempt <boud@valdyas.org>
3 * SPDX-FileCopyrightText: 2019 Iván SantaMaría <ghevan@gmail.com>
4 *
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 */
7
8#ifndef KISWDGOPTIONSBRUSH_H
9#define KISWDGOPTIONSBRUSH_H
10
11#include <QVariant>
12#include <QSpinBox>
13#include <QPainter>
14
16#include <ui_wdg_export_gih.h>
17#include <kis_config_widget.h>
19
20class BrushPipeSelectionModeHelper : public QWidget
21{
22 Q_OBJECT
23
24public:
26 : QWidget(parent)
27 , cmbSelectionMode(this)
28 , rankSpinBox(this)
29 , rankLbl(this)
30 , horizLayout(this)
32 {
33 cmbSelectionMode.addItem(i18n("Constant"));
34 cmbSelectionMode.addItem(i18n("Random"));
35 cmbSelectionMode.addItem(i18n("Incremental"));
36 cmbSelectionMode.addItem(i18n("Pressure"));
37 cmbSelectionMode.addItem(i18n("Angular"));
38 cmbSelectionMode.addItem(i18n("Velocity"));
39
40 horizLayout.setSpacing(6);
41 horizLayout.setContentsMargins(0, 0, 0, 0);
42
43 QSizePolicy sizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Fixed));
44 sizePolicy.setHorizontalStretch(1);
45 sizePolicy.setVerticalStretch(0);
46
47 this->setSizePolicy(sizePolicy);
48
49 cmbSelectionMode.setSizePolicy(sizePolicy);
50 cmbSelectionMode.setCurrentIndex(2);
51
52 rankSpinBox.setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Preferred));
53 rankLbl.setSizePolicy(QSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred));
54
55 rankLbl.setText(i18n("Rank"));
56 horizLayout.addWidget(&rankLbl);
57 horizLayout.addWidget(&rankSpinBox);
58 horizLayout.addWidget(&cmbSelectionMode);
59
60 connect(&rankSpinBox, SIGNAL(valueChanged(int)), this, SLOT(slotRankChanged()));
61
62 this->hide();
63 this->setEnabled(false);
64 }
65
67 QSpinBox rankSpinBox;
68 QLabel rankLbl;
69 QHBoxLayout horizLayout;
70
72
73
74Q_SIGNALS:
75 void sigRankChanged(int rankEmitter);
76
77public Q_SLOTS:
79 {
81 }
82
83};
84
85class KisWdgOptionsBrush : public KisConfigWidget, public Ui::WdgExportGih
86{
87 Q_OBJECT
88
89public:
90 KisWdgOptionsBrush(QWidget *parent);
91
92 void setConfiguration(const KisPropertiesConfigurationSP cfg) override;
94
95 void setView(KisViewManager *view) override;
96
97public Q_SLOTS:
98
101 void slotRecalculateRanks(int rankDimension = 0);
102
103private:
107};
108
109#endif // KISWDGOPTIONSBRUSH_H
float value(const T *src, size_t ch)
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
void sigRankChanged(int rankEmitter)
BrushPipeSelectionModeHelper(QWidget *parent, int dimension)
void setView(KisViewManager *view) override
KisWdgOptionsBrush(QWidget *parent)
void slotRecalculateRanks(int rankDimension=0)
void slotEnableSelectionMethod(int value)
KisViewManager * m_view
void setConfiguration(const KisPropertiesConfigurationSP cfg) override
KisPropertiesConfigurationSP configuration() const override