Krita Source Code Documentation
Loading...
Searching...
No Matches
KisCurveOpOptionWidget.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2022 Agata Cacko <cacko.azh@gmail.com>
3 * SPDX-FileCopyrightText: 2010 Lukáš Tvrdý <lukast.dev@gmail.com>
4 *
5 *
6 * SPDX-License-Identifier: GPL-2.0-or-later
7 */
9
10#include <QButtonGroup>
11
12#include <lager/constant.hpp>
13#include "ui_wdgcurveoptions.h"
14
16
17namespace {
18
19
20class KisCurveOptionsWidget: public QWidget, public Ui::WdgCurveOptions
21{
22
23public:
24 KisCurveOptionsWidget(QWidget *parent = 0) : QWidget(parent) {
25 setupUi(this);
26 historySizeSlider->setRange(2, 300);
27 historySizeSlider->setValue(30);
28
29 lineWidthSlider->setRange(1, 100);
30 lineWidthSlider->setValue(1);
31 lineWidthSlider->setSuffix(i18n(" px"));
32
33 curvesOpacitySlider->setRange(0.0, 1.0, 2);
34 curvesOpacitySlider->setSingleStep(0.01);
35 curvesOpacitySlider->setValue(1.0);
36 }
37};
38
39
40}
41
42
44{
45 Private(lager::cursor<KisCurveOpOptionData> optionData)
46 : model(optionData)
47 {
48 }
49
51};
52
53
54KisCurveOpOptionWidget::KisCurveOpOptionWidget(lager::cursor<KisCurveOpOptionData> optionData)
55 : KisPaintOpOption(i18nc("Brush settings curve value", "Value"), KisPaintOpOption::GENERAL, true)
56 , m_d(new Private(optionData))
57{
58
59 KisCurveOptionsWidget *widget = new KisCurveOptionsWidget();
60 setObjectName("KisCurveOpOption");
61
62 m_checkable = false;
63
64 using namespace KisWidgetConnectionUtils;
65 connectControl(widget->connectionCHBox, &m_d->model, "curvePaintConnectionLine");
66 connectControl(widget->smoothingCHBox, &m_d->model, "curveSmoothing");
67 connectControl(widget->historySizeSlider, &m_d->model, "curveStrokeHistorySize");
68 connectControl(widget->lineWidthSlider, &m_d->model, "curveLineWidth");
69 connectControl(widget->curvesOpacitySlider, &m_d->model, "curveCurvesOpacity");
70
71 m_d->model.optionData.bind(std::bind(&KisCurveOpOptionWidget::emitSettingChanged, this));
72
74}
75
79
81{
82 KisCurveOpOptionData data = *m_d->model.optionData;
83 data.write(setting.data());
84}
85
87{
88 KisCurveOpOptionData data = *m_d->model.optionData;
89 data.read(setting.data());
90 m_d->model.optionData.set(data);
91}
void readOptionSetting(const KisPropertiesConfigurationSP setting) override
KisCurveOpOptionWidget(lager::cursor< KisCurveOpOptionData > optionData)
void writeOptionSetting(KisPropertiesConfigurationSP setting) const override
const QScopedPointer< Private > m_d
void setConfigurationPage(QWidget *page)
ChildIterator< value_type, is_const > parent(const ChildIterator< value_type, is_const > &it)
Definition KisForest.h:327
@ GENERAL
Definition nugrid.h:26
void write(KisPropertiesConfiguration *setting) const
bool read(const KisPropertiesConfiguration *setting)
Private(lager::cursor< KisCurveOpOptionData > optionData)