Krita Source Code Documentation
Loading...
Searching...
No Matches
KisSpacingOptionWidget.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
8#include <KisLager.h>
9
10#include <QWidget>
11#include <QCheckBox>
12#include <QHBoxLayout>
13#include <QVBoxLayout>
14
17
19{
20 Private(lager::cursor<KisSpacingOptionData> optionData)
21 : model(optionData.zoom(
22 kislager::lenses::to_base<KisSpacingOptionMixIn>)
23 )
24 {
25 }
26
28};
29
30KisSpacingOptionWidget::KisSpacingOptionWidget(lager::cursor<KisSpacingOptionData> optionData)
32 , m_d(new Private(optionData))
33{
34 using namespace KisWidgetConnectionUtils;
35
36 QWidget *page = new QWidget;
37
38 QCheckBox *isotropicSpacing = new QCheckBox(i18n("Isotropic Spacing"), page);
39 QCheckBox *useSpacingUpdates = new QCheckBox(i18n("Update Between Dabs"), page);
40
41 QHBoxLayout *hl = new QHBoxLayout;
42 hl->addWidget(isotropicSpacing);
43 hl->addWidget(useSpacingUpdates);
44
45 QVBoxLayout *pageLayout = new QVBoxLayout(page);
46 pageLayout->setContentsMargins(0, 0, 0, 0);
47 pageLayout->addLayout(hl);
48 pageLayout->addWidget(configurationPage());
49
51
52 connectControl(isotropicSpacing, &m_d->model, "isotropicSpacing");
53 connectControl(useSpacingUpdates, &m_d->model, "useSpacingUpdates");
54
55 m_d->model.spacingOptionData.bind(std::bind(&KisSpacingOptionWidget::emitSettingChanged, this));
56}
57
61
63{
65 m_d->model.spacingOptionData->write(setting.data());
66}
67
69{
70 KisSpacingOptionMixIn data = *m_d->model.spacingOptionData;
71 data.read(setting.data());
72 m_d->model.spacingOptionData.set(data);
73
75}
void readOptionSetting(const KisPropertiesConfigurationSP setting) override
void writeOptionSetting(KisPropertiesConfigurationSP setting) const override
void setConfigurationPage(QWidget *page)
QWidget * configurationPage() const
KisSpacingOptionWidget(lager::cursor< KisSpacingOptionData > optionData)
void writeOptionSetting(KisPropertiesConfigurationSP setting) const override
const QScopedPointer< Private > m_d
void readOptionSetting(const KisPropertiesConfigurationSP setting) override
@ GENERAL
Definition nugrid.h:26
bool read(const KisPropertiesConfiguration *setting)
Private(lager::cursor< KisSpacingOptionData > optionData)