Krita Source Code Documentation
Loading...
Searching...
No Matches
KisSketchOpOptionWidget.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2010 Lukáš Tvrdý <lukast.dev@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
7
8#include <lager/constant.hpp>
9#include "ui_wdgsketchoptions.h"
10
14
15namespace {
16
17
18class KisSketchOpWidget: public QWidget, public Ui::WdgSketchOptions
19{
20public:
21 KisSketchOpWidget(QWidget *parent = 0)
22 : QWidget(parent) {
23 setupUi(this);
24
25 lineWidthSPBox->setRange(1, 100, 0);
26 lineWidthSPBox->setSuffix(i18n(" px"));
27 lineWidthSPBox->setExponentRatio(1.5);
28
29 offsetSPBox->setRange(0.0, 200.0, 0);
30 KisSpinBoxI18nHelper::setText(offsetSPBox, i18nc("{n} is the number value, % is the percent sign", "{n}%"));
31
32 densitySPBox->setRange(0.0, 100.0, 0);
33 KisSpinBoxI18nHelper::setText(densitySPBox, i18nc("{n} is the number value, % is the percent sign", "{n}%"));
34 }
35};
36
37
38}
39
40
42{
43 Private(lager::cursor<KisSketchOpOptionData> optionData)
44 : model(optionData)
45 {
46 }
47
49};
50
51
52KisSketchOpOptionWidget::KisSketchOpOptionWidget(lager::cursor<KisSketchOpOptionData> optionData)
53 : KisPaintOpOption(i18n("Brush size"), KisPaintOpOption::GENERAL, true)
54 , m_d(new Private(optionData))
55{
56
57 KisSketchOpWidget *widget = new KisSketchOpWidget();
58 setObjectName("KisSketchOpOption");
59
60 m_checkable = false;
61
62 using namespace KisWidgetConnectionUtils;
63
64 connectControl(widget->offsetSPBox, &m_d->model, "offset");
65 connectControl(widget->lineWidthSPBox, &m_d->model, "lineWidth");
66 connectControl(widget->densitySPBox, &m_d->model, "probability");
67 connectControl(widget->simpleModeCHBox, &m_d->model, "simpleMode");
68 connectControl(widget->connectionCHBox, &m_d->model, "makeConnection");
69 connectControl(widget->magnetifyCHBox, &m_d->model, "magnetify");
70 connectControl(widget->randomRGBCHbox, &m_d->model, "randomRGB");
71 connectControl(widget->randomOpacityCHbox, &m_d->model, "randomOpacity");
72 connectControl(widget->distanceDensityCHBox, &m_d->model, "distanceDensity");
73 connectControl(widget->distanceOpacityCHbox, &m_d->model, "distanceOpacity");
74 connectControl(widget->antiAliasingCHBox, &m_d->model, "antiAliasing");
75
76 m_d->model.optionData.bind(std::bind(&KisSketchOpOptionWidget::emitSettingChanged, this));
77
79}
80
84
86{
87 KisSketchOpOptionData data = *m_d->model.optionData;
88 data.write(setting.data());
89}
90
92{
93 KisSketchOpOptionData data = *m_d->model.optionData;
94 data.read(setting.data());
95 m_d->model.optionData.set(data);
96}
void setConfigurationPage(QWidget *page)
KisSketchOpOptionWidget(lager::cursor< KisSketchOpOptionData > optionData)
void writeOptionSetting(KisPropertiesConfigurationSP setting) const override
void readOptionSetting(const KisPropertiesConfigurationSP setting) override
const QScopedPointer< Private > m_d
ChildIterator< value_type, is_const > parent(const ChildIterator< value_type, is_const > &it)
Definition KisForest.h:327
void setText(QSpinBox *spinBox, const QStringView textTemplate)
@ GENERAL
Definition nugrid.h:26
bool read(const KisPropertiesConfiguration *setting)
void write(KisPropertiesConfiguration *setting) const
Private(lager::cursor< KisSketchOpOptionData > optionData)