File indexing completed on 2025-02-02 04:22:20

0001 /*
0002  *  SPDX-FileCopyrightText: 2010 Lukáš Tvrdý <lukast.dev@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #include "kis_sketch_paintop_settings_widget.h"
0008 #include "kis_sketch_paintop_settings.h"
0009 
0010 #include <kis_paintop_settings_widget.h>
0011 #include <KisPaintOpOptionWidgetUtils.h>
0012 
0013 #include "KisSketchOpOptionWidget.h"
0014 #include <KisCompositeOpOptionWidget.h>
0015 #include <KisStandardOptionData.h>
0016 #include "KisSizeOptionWidget.h"
0017 #include "KisSketchStandardOptionData.h"
0018 #include <KisAirbrushOptionWidget.h>
0019 #include <KisPaintingModeOptionWidget.h>
0020 
0021 
0022 KisSketchPaintOpSettingsWidget::KisSketchPaintOpSettingsWidget(QWidget* parent)
0023     : KisBrushBasedPaintopOptionWidget(KisBrushOptionWidgetFlag::None, parent)
0024 {
0025     namespace kpowu = KisPaintOpOptionWidgetUtils;
0026 
0027     addPaintOpOption(kpowu::createOptionWidgetWithLodLimitations<KisSketchOpOptionWidget>());
0028     addPaintOpOption(kpowu::createOptionWidget<KisCompositeOpOptionWidget>());
0029     addPaintOpOption(kpowu::createOpacityOptionWidget());
0030     addPaintOpOption(kpowu::createOptionWidget<KisSizeOptionWidget>());
0031     addPaintOpOption(kpowu::createRotationOptionWidget());
0032     addPaintOpOption(kpowu::createCurveOptionWidget(KisLineWidthOptionData(), KisPaintOpOption::GENERAL, i18n("0%"), i18n("100%")));
0033     addPaintOpOption(kpowu::createCurveOptionWidget(KisOffsetScaleOptionData(), KisPaintOpOption::GENERAL, i18n("0%"), i18n("100%")));
0034     addPaintOpOption(kpowu::createCurveOptionWidget(KisDensityOptionData(), KisPaintOpOption::GENERAL, i18n("0%"), i18n("100%")));
0035     addPaintOpOption(kpowu::createOptionWidget<KisAirbrushOptionWidget>(KisAirbrushOptionData(), false));
0036     addPaintOpOption(kpowu::createRateOptionWidget());
0037 
0038     KisPaintingModeOptionData defaultModeData;
0039     defaultModeData.paintingMode = enumPaintingMode::BUILDUP;
0040     addPaintOpOption(kpowu::createOptionWidget<KisPaintingModeOptionWidget>(defaultModeData));
0041 }
0042 
0043 KisSketchPaintOpSettingsWidget::~ KisSketchPaintOpSettingsWidget()
0044 {
0045 }
0046 
0047 KisPropertiesConfigurationSP  KisSketchPaintOpSettingsWidget::configuration() const
0048 {
0049     KisSketchPaintOpSettingsSP config = new KisSketchPaintOpSettings(resourcesInterface());
0050     config->setProperty("paintop", "sketchbrush"); // XXX: make this a const id string
0051     writeConfiguration(config);
0052     return config;
0053 }
0054