Krita Source Code Documentation
Loading...
Searching...
No Matches
MyPaintBasicOptionWidget.cpp
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 */
7
9
11#include "ui_wdgmypaintoptions.h"
12
13
15{
16 Private(lager::cursor<MyPaintBasicOptionData> optionData,
17 lager::cursor<qreal> radiusCursor,
18 lager::cursor<qreal> hardnessCursor,
19 lager::cursor<qreal> opacityCursor)
20 : model(optionData, radiusCursor, hardnessCursor, opacityCursor)
21 {
22 }
23
25};
26
27MyPaintBasicOptionWidget::MyPaintBasicOptionWidget(lager::cursor<MyPaintBasicOptionData> optionData,
28 lager::cursor<qreal> radiusCursor,
29 lager::cursor<qreal> hardnessCursor,
30 lager::cursor<qreal> opacityCursor)
31 : KisPaintOpOption(i18nc("MyPaint option name", "Basic"), KisPaintOpOption::GENERAL, true),
32 m_d(new Private(optionData, radiusCursor, hardnessCursor, opacityCursor))
33{
34 using namespace KisWidgetConnectionUtils;
35 m_checkable = false;
36
37 setObjectName("KisCompositeOpOption");
38
39 QWidget* widget = new QWidget();
40
41 Ui::WdgMyPaintOptions ui;
42 ui.setupUi(widget);
43
44 ui.radiusSPBox->setRange(0.01, 8.0, 2);
45 ui.radiusSPBox->setSingleStep(0.01);
46
47 ui.hardnessSPBox->setRange(0.02, 1.0, 2);
48 ui.hardnessSPBox->setSingleStep(0.01);
49
50 ui.opacitySPBox->setRange(0.0, 1.0, 2);
51 ui.opacitySPBox->setSingleStep(0.01);
52
53 connectControl(ui.eraserBox, &m_d->model, "eraserMode");
54 connectControl(ui.radiusSPBox, &m_d->model, "radius");
55 connectControl(ui.hardnessSPBox, &m_d->model, "hardness");
56 connectControl(ui.opacitySPBox, &m_d->model, "opacity");
57
59 m_d->model.optionData.bind(std::bind(&MyPaintBasicOptionWidget::emitSettingChanged, this));
60}
61
65
67{
68 m_d->model.optionData->write(setting.data());
69}
70
72{
73 MyPaintBasicOptionData data = *m_d->model.optionData;
74 data.read(setting.data());
75 m_d->model.optionData.set(data);
76}
void setConfigurationPage(QWidget *page)
const QScopedPointer< Private > m_d
MyPaintBasicOptionWidget(lager::cursor< MyPaintBasicOptionData > optionData, lager::cursor< qreal > radiusCursor, lager::cursor< qreal > hardnessCursor, lager::cursor< qreal > opacityCursor)
void readOptionSetting(const KisPropertiesConfigurationSP setting) override
void writeOptionSetting(KisPropertiesConfigurationSP setting) const override
@ GENERAL
Definition nugrid.h:26
bool read(const KisPropertiesConfiguration *setting)
Private(lager::cursor< MyPaintBasicOptionData > optionData, lager::cursor< qreal > radiusCursor, lager::cursor< qreal > hardnessCursor, lager::cursor< qreal > opacityCursor)