File indexing completed on 2024-05-26 04:34:12

0001 /*
0002  *  SPDX-FileCopyrightText: 2008, 2009, 2010 Lukáš Tvrdý <lukast.dev@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 #include "kis_spray_paintop_settings_widget.h"
0007 
0008 #include "kis_spray_paintop_settings.h"
0009 
0010 #include <KisColorOptionWidget.h>
0011 #include <kis_paintop_settings_widget.h>
0012 
0013 #include <KisPaintingModeOptionWidget.h>
0014 #include <KisPaintOpOptionWidgetUtils.h>
0015 #include <kis_brush_option_widget.h>
0016 #include <KisAirbrushOptionWidget.h>
0017 #include <KisPaintOpOptionWidgetUtils.h>
0018 #include <KisSizeOptionWidget.h>
0019 #include <KisStandardOptionData.h>
0020 #include <KisCompositeOpOptionWidget.h>
0021 #include <KisSprayOpOptionWidget.h>
0022 #include <KisSprayShapeDynamicsOptionWidget.h>
0023 #include <KisSprayShapeOptionWidget.h>
0024 
0025 
0026 
0027 
0028 KisSprayPaintOpSettingsWidget:: KisSprayPaintOpSettingsWidget(QWidget* parent)
0029     : KisPaintOpSettingsWidget(parent)
0030 {
0031     namespace kpowu = KisPaintOpOptionWidgetUtils;
0032 
0033 
0034     KisSprayOpOptionWidget* sprayOpWidget = kpowu::createOptionWidget<KisSprayOpOptionWidget>();
0035     
0036     addPaintOpOption(sprayOpWidget);
0037     
0038     addPaintOpOption(kpowu::createOptionWidget<KisSprayShapeOptionWidget>(KisSprayShapeOptionData(), sprayOpWidget->diameter(), sprayOpWidget->scale()));
0039     addPaintOpOption(new KisBrushOptionWidget(KisBrushOptionWidgetFlag::None));
0040     addPaintOpOption(kpowu::createOpacityOptionWidget());
0041     addPaintOpOption(kpowu::createOptionWidget<KisSizeOptionWidget>());
0042     addPaintOpOption(kpowu::createOptionWidget<KisCompositeOpOptionWidget>());
0043 
0044     addPaintOpOption(kpowu::createOptionWidget<KisSprayShapeDynamicsOptionWidget>());
0045     addPaintOpOption(kpowu::createOptionWidget<KisColorOptionWidget>());
0046 
0047     addPaintOpOption(kpowu::createRotationOptionWidget());
0048     addPaintOpOption(kpowu::createOptionWidget<KisAirbrushOptionWidget>());
0049     addPaintOpOption(kpowu::createRateOptionWidget());
0050     addPaintOpOption(kpowu::createOptionWidget<KisPaintingModeOptionWidget>());
0051 }
0052 
0053 KisSprayPaintOpSettingsWidget::~ KisSprayPaintOpSettingsWidget()
0054 {
0055 }
0056 
0057 KisPropertiesConfigurationSP  KisSprayPaintOpSettingsWidget::configuration() const
0058 {
0059     KisSprayPaintOpSettings* config = new KisSprayPaintOpSettings(resourcesInterface());
0060     config->setProperty("paintop", "spraybrush"); // XXX: make this a const id string
0061     writeConfiguration(config);
0062     return config;
0063 }