Krita Source Code Documentation
Loading...
Searching...
No Matches
KisPalettizeWidget Class Reference

#include <palettize.h>

+ Inheritance diagram for KisPalettizeWidget:

Public Member Functions

KisPropertiesConfigurationSP configuration () const override
 
 KisPalettizeWidget (QWidget *parent=0)
 
void setConfiguration (const KisPropertiesConfigurationSP) override
 
- Public Member Functions inherited from KisConfigWidget
virtual KoCanvasResourcesInterfaceSP canvasResourcesInterface () const
 
virtual void setCanvasResourcesInterface (KoCanvasResourcesInterfaceSP canvasResourcesInterface)
 
virtual void setView (KisViewManager *view)
 
 ~KisConfigWidget () override
 

Private Attributes

KisResourceItemChooserm_ditherPatternWidget
 
KisResourceItemChooserm_paletteWidget
 

Additional Inherited Members

- Signals inherited from KisConfigWidget
void sigConfigurationItemChanged ()
 
void sigConfigurationUpdated ()
 
void sigDropLockedConfig (KisPropertiesConfigurationSP p)
 
void sigSaveLockedConfig (KisPropertiesConfigurationSP p)
 
- Protected Member Functions inherited from KisConfigWidget
 KisConfigWidget (QWidget *parent=0, Qt::WindowFlags f=Qt::WindowFlags(), int delay=200)
 

Detailed Description

Definition at line 31 of file palettize.h.

Constructor & Destructor Documentation

◆ KisPalettizeWidget()

KisPalettizeWidget::KisPalettizeWidget ( QWidget * parent = 0)

Definition at line 90 of file palettize.cpp.

91 : KisConfigWidget(parent)
92{
93 Q_UNUSED(m_ditherPatternWidget);
94 setupUi(this);
95
96 paletteIconWidget->setFixedSize(32, 32);
98 paletteIconWidget->setPopupWidget(m_paletteWidget);
101
102 QObject::connect(colorspaceComboBox, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &KisConfigWidget::sigConfigurationItemChanged);
103
104 QObject::connect(ditherGroupBox, &QGroupBox::toggled, this, &KisConfigWidget::sigConfigurationItemChanged);
105
107
108 QObject::connect(colorModeComboBox, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &KisConfigWidget::sigConfigurationItemChanged);
109
110 offsetScaleSpinBox->setPrefix(QString("%1 ").arg(i18n("Offset Scale:")));
111 offsetScaleSpinBox->setRange(0.0, 1.0, 3);
112 offsetScaleSpinBox->setSingleStep(0.125);
113 QObject::connect(offsetScaleSpinBox, QOverload<double>::of(&KisDoubleSliderSpinBox::valueChanged), this, &KisConfigWidget::sigConfigurationItemChanged);
114
115 QObject::connect(alphaGroupBox, &QGroupBox::toggled, this, &KisConfigWidget::sigConfigurationItemChanged);
116
117 QObject::connect(alphaModeComboBox, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &KisConfigWidget::sigConfigurationItemChanged);
118
119 alphaClipSpinBox->setPrefix(QString("%1 ").arg(i18n("Clip:")));
120 alphaClipSpinBox->setRange(0.0, 1.0, 3);
121 alphaClipSpinBox->setSingleStep(0.125);
122 QObject::connect(alphaClipSpinBox, QOverload<double>::of(&KisDoubleSliderSpinBox::valueChanged), this, &KisConfigWidget::sigConfigurationItemChanged);
123
124 alphaIndexSpinBox->setPrefix(QString("%1 ").arg(i18nc("Index as in Index Color", "Index:")));
125 alphaIndexSpinBox->setRange(0, 255);
126 QObject::connect(alphaIndexSpinBox, QOverload<int>::of(&KisSliderSpinBox::valueChanged), this, &KisConfigWidget::sigConfigurationItemChanged);
128 const KoColorSetSP palette = m_paletteWidget->currentResource().staticCast<KoColorSet>();
129 alphaIndexSpinBox->setMaximum(palette ? int(palette->colorCount() - 1) : 0);
130 alphaIndexSpinBox->setValue(std::min(alphaIndexSpinBox->value(), alphaIndexSpinBox->maximum()));
131 });
132
134}
void sigConfigurationItemChanged()
KisConfigWidget(QWidget *parent=0, Qt::WindowFlags f=Qt::WindowFlags(), int delay=200)
void sigConfigurationItemChanged()
void setResource(KoResourceSP resource)
KisResourceItemChooser * m_ditherPatternWidget
Definition palettize.h:39
KisResourceItemChooser * m_paletteWidget
Definition palettize.h:38
void resourceSelected(KoResourceSP resource)
Emitted when a resource was selected.
const QString Palettes
rgba palette[MAX_PALETTE]
Definition palette.c:35

References KisResourceItemChooser::currentResource, m_ditherPatternWidget, m_paletteWidget, palette, ResourceType::Palettes, KisResourceItemChooser::resourceSelected(), KisIconWidget::setResource(), KisConfigWidget::sigConfigurationItemChanged(), and KisDitherWidget::sigConfigurationItemChanged().

Member Function Documentation

◆ configuration()

KisPropertiesConfigurationSP KisPalettizeWidget::configuration ( ) const
overridevirtual
Returns
the configuration

Implements KisConfigWidget.

Definition at line 155 of file palettize.cpp.

156{
157 KisFilterSP filter = KisFilterRegistry::instance()->get("palettize");
159
161 config->setProperty("md5sum", QVariant(m_paletteWidget->currentResource()->md5Sum()));
162 config->setProperty("palette", QVariant(m_paletteWidget->currentResource()->name()));
163 }
164 config->setProperty("colorspace", colorspaceComboBox->currentIndex());
165 config->setProperty("ditherEnabled", ditherGroupBox->isChecked());
166 ditherWidget->configuration(*config, "dither/");
167 config->setProperty("dither/colorMode", colorModeComboBox->currentIndex());
168 config->setProperty("dither/offsetScale", offsetScaleSpinBox->value());
169 config->setProperty("alphaEnabled", alphaGroupBox->isChecked());
170 config->setProperty("alphaMode", alphaModeComboBox->currentIndex());
171 config->setProperty("alphaClip", alphaClipSpinBox->value());
172 config->setProperty("alphaIndex", alphaIndexSpinBox->value());
173 alphaDitherWidget->configuration(*config, "alphaDither/");
174
175 return config;
176}
static KisFilterRegistry * instance()
static KisResourcesInterfaceSP instance()
T get(const QString &id) const
virtual KisFilterConfigurationSP factoryConfiguration(KisResourcesInterfaceSP resourcesInterface) const

References KisResourceItemChooser::currentResource, KisBaseProcessor::factoryConfiguration(), KoGenericRegistry< T >::get(), KisFilterRegistry::instance(), KisGlobalResourcesInterface::instance(), and m_paletteWidget.

◆ setConfiguration()

void KisPalettizeWidget::setConfiguration ( const KisPropertiesConfigurationSP config)
overridevirtual
Parameters
configthe configuration for this configuration widget.

Implements KisConfigWidget.

Definition at line 136 of file palettize.cpp.

137{
138 const KisFilterPalettizeConfiguration *config = dynamic_cast<const KisFilterPalettizeConfiguration*>(_config.data());
140
141 KoColorSetSP palette = config->palette();
143 colorspaceComboBox->setCurrentIndex(config->getInt("colorspace"));
144 ditherGroupBox->setChecked(config->getBool("ditherEnabled"));
145 ditherWidget->setConfiguration(*config, "dither/");
146 colorModeComboBox->setCurrentIndex(config->getInt("dither/colorMode"));
147 offsetScaleSpinBox->setValue(config->getDouble("dither/offsetScale"));
148 alphaGroupBox->setChecked(config->getBool("alphaEnabled"));
149 alphaModeComboBox->setCurrentIndex(config->getInt("alphaMode"));
150 alphaClipSpinBox->setValue(config->getDouble("alphaClip"));
151 alphaIndexSpinBox->setValue(config->getInt("alphaIndex"));
152 alphaDitherWidget->setConfiguration(*config, "alphaDither/");
153}
KoResourceLoadResult palette(KisResourcesInterfaceSP resourcesInterface) const
Definition palettize.cpp:59
void setCurrentResource(KoResourceSP resource)
Sets the item representing the resource as selected.
#define KIS_SAFE_ASSERT_RECOVER_RETURN(cond)
Definition kis_assert.h:128
bool getBool(const QString &name, bool def=false) const
int getInt(const QString &name, int def=0) const
double getDouble(const QString &name, double def=0.0) const

References KisSharedPtr< T >::data(), KisPropertiesConfiguration::getBool(), KisPropertiesConfiguration::getDouble(), KisPropertiesConfiguration::getInt(), KIS_SAFE_ASSERT_RECOVER_RETURN, m_paletteWidget, KisFilterPalettizeConfiguration::palette(), palette, and KisResourceItemChooser::setCurrentResource().

Member Data Documentation

◆ m_ditherPatternWidget

KisResourceItemChooser* KisPalettizeWidget::m_ditherPatternWidget
private

Definition at line 39 of file palettize.h.

◆ m_paletteWidget

KisResourceItemChooser* KisPalettizeWidget::m_paletteWidget
private

Definition at line 38 of file palettize.h.


The documentation for this class was generated from the following files: