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

#include <KisDitherWidget.h>

+ Inheritance diagram for KisDitherWidget:

Signals

void sigConfigurationItemChanged ()
 

Public Member Functions

void configuration (KisPropertiesConfiguration &config, const QString &prefix="") const
 
 KisDitherWidget (QWidget *parent=0)
 
void setConfiguration (const KisFilterConfiguration &config, const QString &prefix="")
 

Static Public Member Functions

static void factoryConfiguration (KisPropertiesConfiguration &config, const QString &prefix="")
 
static QList< KoResourceLoadResultprepareLinkedResources (const KisFilterConfiguration &config, const QString &prefix, KisResourcesInterfaceSP resourcesInterface)
 

Private Attributes

KisResourceItemChooserm_ditherPatternWidget
 

Detailed Description

Definition at line 20 of file KisDitherWidget.h.

Constructor & Destructor Documentation

◆ KisDitherWidget()

KisDitherWidget::KisDitherWidget ( QWidget * parent = 0)

Definition at line 22 of file KisDitherWidget.cpp.

23 : QWidget(parent), Ui::KisDitherWidget()
24{
25 setupUi(this);
26
27 QObject::connect(thresholdModeComboBox, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &KisDitherWidget::sigConfigurationItemChanged);
28
29 patternIconWidget->setFixedSize(64, 64);
30 patternIconWidget->setBackgroundColor(Qt::white);
32 patternIconWidget->setPopupWidget(m_ditherPatternWidget);
35
36 QObject::connect(patternValueModeComboBox, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &KisDitherWidget::sigConfigurationItemChanged);
37
38 noiseSeedLineEdit->setValidator(new QIntValidator(this));
39 QObject::connect(noiseSeedLineEdit, &QLineEdit::textChanged, this, &KisDitherWidget::sigConfigurationItemChanged);
40
41 QObject::connect(noiseSeedRandomizeButton, &QToolButton::clicked, [this](){
42 noiseSeedLineEdit->setText(QString::number(rand()));
43 });
44
45 spreadSpinBox->setPrefix(QString("%1 ").arg(i18n("Spread:")));
46 spreadSpinBox->setRange(0.0, 1.0, 3);
47 spreadSpinBox->setSingleStep(0.125);
48 QObject::connect(spreadSpinBox, QOverload<double>::of(&KisDoubleSliderSpinBox::valueChanged), this, &KisDitherWidget::sigConfigurationItemChanged);
49}
KisResourceItemChooser * m_ditherPatternWidget
void sigConfigurationItemChanged()
void setResource(KoResourceSP resource)
void resourceSelected(KoResourceSP resource)
Emitted when a resource was selected.
const QString Patterns

References m_ditherPatternWidget, ResourceType::Patterns, KisResourceItemChooser::resourceSelected(), KisIconWidget::setResource(), and sigConfigurationItemChanged().

Member Function Documentation

◆ configuration()

void KisDitherWidget::configuration ( KisPropertiesConfiguration & config,
const QString & prefix = "" ) const

Definition at line 66 of file KisDitherWidget.cpp.

67{
68 config.setProperty(prefix + "thresholdMode",thresholdModeComboBox->currentIndex());
69 if (m_ditherPatternWidget->currentResource()) config.setProperty(prefix + "pattern", QVariant(m_ditherPatternWidget->currentResource()->name()));
70 config.setProperty(prefix + "patternValueMode", patternValueModeComboBox->currentIndex());
71 config.setProperty(prefix + "noiseSeed", noiseSeedLineEdit->text().toInt());
72 config.setProperty(prefix + "spread", spreadSpinBox->value());
73}
virtual void setProperty(const QString &name, const QVariant &value)

References KisResourceItemChooser::currentResource, m_ditherPatternWidget, and KisPropertiesConfiguration::setProperty().

◆ factoryConfiguration()

void KisDitherWidget::factoryConfiguration ( KisPropertiesConfiguration & config,
const QString & prefix = "" )
static

Definition at line 75 of file KisDitherWidget.cpp.

76{
77 config.setProperty(prefix + "thresholdMode", KisDitherUtil::ThresholdMode::Pattern);
78 config.setProperty(prefix + "pattern", "DITH 0202 GEN ");
79 config.setProperty(prefix + "patternValueMode", KisDitherUtil::PatternValueMode::Auto);
80 config.setProperty(prefix + "noiseSeed", rand());
81 config.setProperty(prefix + "spread", 1.0);
82}

References KisDitherUtil::Auto, KisDitherUtil::Pattern, and KisPropertiesConfiguration::setProperty().

◆ prepareLinkedResources()

QList< KoResourceLoadResult > KisDitherWidget::prepareLinkedResources ( const KisFilterConfiguration & config,
const QString & prefix,
KisResourcesInterfaceSP resourcesInterface )
static

Definition at line 84 of file KisDitherWidget.cpp.

85{
86 auto source = resourcesInterface->source<KoPattern>(ResourceType::Patterns);
87
88 QString patternMD5 = config.getString(prefix + "md5sum");
89 QString patternName = config.getString(prefix + "pattern");
90
91 return {source.bestMatchLoadResult(patternMD5, "", patternName)};
92}
KisMagneticGraph::vertex_descriptor source(typename KisMagneticGraph::edge_descriptor e, KisMagneticGraph g)
Write API docs here.
Definition KoPattern.h:21
QString getString(const QString &name, const QString &def=QString()) const

References KisPropertiesConfiguration::getString(), ResourceType::Patterns, and source().

◆ setConfiguration()

void KisDitherWidget::setConfiguration ( const KisFilterConfiguration & config,
const QString & prefix = "" )

Definition at line 51 of file KisDitherWidget.cpp.

52{
53 thresholdModeComboBox->setCurrentIndex(config.getInt(prefix + "thresholdMode"));
54
56 QString patternMD5 = config.getString(prefix + "md5sum");
57 QString patternName = config.getString(prefix + "pattern");
58 KoPatternSP pattern = source.bestMatch(patternMD5, "", patternName);
59
60 if (pattern) m_ditherPatternWidget->setCurrentResource(pattern);
61 patternValueModeComboBox->setCurrentIndex(config.getInt(prefix + "patternValueMode"));
62 noiseSeedLineEdit->setText(QString::number(config.getInt(prefix + "noiseSeed")));
63 spreadSpinBox->setValue(config.getDouble(prefix + "spread"));
64}
void setCurrentResource(KoResourceSP resource)
Sets the item representing the resource as selected.
KisResourcesInterfaceSP resourcesInterface
int getInt(const QString &name, int def=0) const
double getDouble(const QString &name, double def=0.0) const

References KisPropertiesConfiguration::getDouble(), KisPropertiesConfiguration::getInt(), KisPropertiesConfiguration::getString(), m_ditherPatternWidget, ResourceType::Patterns, KisFilterConfiguration::resourcesInterface, KisResourceItemChooser::setCurrentResource(), and source().

◆ sigConfigurationItemChanged

void KisDitherWidget::sigConfigurationItemChanged ( )
signal

Member Data Documentation

◆ m_ditherPatternWidget

KisResourceItemChooser* KisDitherWidget::m_ditherPatternWidget
private

Definition at line 33 of file KisDitherWidget.h.


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