Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_multi_bool_filter_widget.cc
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2005 Michael Thaler <michael.thaler@physik.tu-muenchen.de>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
8#include <QLayout>
9#include <QCheckBox>
10#include <QVBoxLayout>
13
14#include <klocalizedstring.h>
15
16KisBoolWidgetParam::KisBoolWidgetParam(bool ninitvalue, const QString & nlabel, const QString & nname) :
17 initvalue(ninitvalue),
18 label(nlabel),
19 name(nname)
20{
21
22}
23
24KisMultiBoolFilterWidget::KisMultiBoolFilterWidget(const QString & filterid, QWidget * parent, const QString & caption, vKisBoolWidgetParam iwparam)
25 : KisConfigWidget(parent)
26 , m_filterid(filterid)
27{
28 qint32 nbboolWidgets = iwparam.size();
29
30 this->setWindowTitle(caption);
31
32 QVBoxLayout *widgetLayout = new QVBoxLayout(this);
33 widgetLayout->setContentsMargins(0,0,0,0);
34
35 for (qint32 i = 0; i < nbboolWidgets; ++i) {
36 QCheckBox * cb = new QCheckBox(this);
37 cb->setObjectName(iwparam[i].name);
38 cb->setChecked(iwparam[i].initvalue);
39 cb->setText(iwparam[i].label);
40 connect(cb, SIGNAL(toggled(bool)), SIGNAL(sigConfigurationItemChanged()));
41 widgetLayout->addWidget(cb);
42 m_boolWidgets.append(cb);
43 }
44 widgetLayout->addSpacerItem(new QSpacerItem(10, 10, QSizePolicy::Minimum, QSizePolicy::Expanding));
45 widgetLayout->addStretch();
46}
47
48
50{
51 if (!config) return;
52 for (int i = 0; i < nbValues(); ++i) {
53 bool val = config->getBool(m_boolWidgets[i]->objectName(), true);
54 m_boolWidgets[i]->setChecked(val);
55 }
56}
57
58
60{
62 for (int i = 0; i < nbValues(); ++i) {
63 config->setProperty(m_boolWidgets[i]->objectName(), valueAt(i));
64 }
65 return config;
66}
67
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
void sigConfigurationItemChanged()
static KisResourcesInterfaceSP instance()
KisPropertiesConfigurationSP configuration() const override
KisMultiBoolFilterWidget(const QString &filterid, QWidget *parent, const QString &caption, vKisBoolWidgetParam iwparam)
void setConfiguration(const KisPropertiesConfigurationSP cfg) override
std::vector< KisBoolWidgetParam > vKisBoolWidgetParam
KRITAUI_EXPORT KisBoolWidgetParam(bool ninitvalue, const QString &label, const QString &name)