Krita Source Code Documentation
Loading...
Searching...
No Matches
KisCompositeOpOptionWidget.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
10#include "kis_icon_utils.h"
11#include <ui_wdgCompositeOpOption.h>
12
16
18{
19 Private(lager::cursor<KisCompositeOpOptionData> optionData)
20 : model(optionData)
21 {
22 }
23
25
27};
28
29KisCompositeOpOptionWidget::KisCompositeOpOptionWidget(lager::cursor<KisCompositeOpOptionData> optionData)
30 : KisPaintOpOption(i18n("Blending Mode"), KisPaintOpOption::GENERAL, true),
31 m_d(new Private(optionData))
32{
33 using namespace KisWidgetConnectionUtils;
34 m_checkable = false;
35
36 setObjectName("KisCompositeOpOption");
37
38 QWidget* widget = new QWidget();
39
40 Ui_wdgCompositeOpOption ui;
41 ui.setupUi(widget);
42 ui.bnEraser->setIcon(KisIconUtils::loadIcon("draw-eraser"));
43
44 m_d->lblCurrentCompositeOp = ui.lbChosenMode;
45 m_d->model.LAGER_QT(compositeOpId).bind(std::bind(&KisCompositeOpOptionWidget::updateCompositeOpLabel, this, std::placeholders::_1));
46
47 connectControl(ui.bnEraser, &m_d->model, "eraserMode");
48 connectControl(ui.list, &m_d->model, "compositeOpId");
49
51 m_d->model.optionData.bind(std::bind(&KisCompositeOpOptionWidget::emitSettingChanged, this));
52}
53
57
59{
60 m_d->model.optionData->write(setting.data());
61}
62
64{
65 KisCompositeOpOptionData data = *m_d->model.optionData;
66 data.read(setting.data());
67 m_d->model.optionData.set(data);
68}
69
71{
72 const KoID compositeOp = KoCompositeOpRegistry::instance().getKoID(id);
73 m_d->lblCurrentCompositeOp->setText(compositeOp.name());
74}
void writeOptionSetting(KisPropertiesConfigurationSP setting) const override
const QScopedPointer< Private > m_d
void readOptionSetting(const KisPropertiesConfigurationSP setting) override
void updateCompositeOpLabel(const QString &id)
KisCompositeOpOptionWidget(lager::cursor< KisCompositeOpOptionData > optionData)
void setConfigurationPage(QWidget *page)
static const KoCompositeOpRegistry & instance()
KoID getKoID(const QString &compositeOpID) const
Definition KoID.h:30
QString name() const
Definition KoID.cpp:68
QIcon loadIcon(const QString &name)
@ GENERAL
Definition nugrid.h:26
bool read(const KisPropertiesConfiguration *setting)
Private(lager::cursor< KisCompositeOpOptionData > optionData)