35
39
m_checkable = false;
36
40
m_options = new KisSprayOpOptionsWidget();
37
connect(m_options->diameterSpinBox, SIGNAL(valueChanged(int)), SIGNAL(sigSettingChanged()));
41
connect(m_options->diameterSpinBox, SIGNAL(valueChanged(double)), SIGNAL(sigSettingChanged()));
38
42
connect(m_options->coverageSpin, SIGNAL(valueChanged(double)), SIGNAL(sigSettingChanged()));
39
connect(m_options->amountSpin, SIGNAL(valueChanged(double)), SIGNAL(sigSettingChanged()));
43
connect(m_options->jitterMovementSpin, SIGNAL(valueChanged(double)), SIGNAL(sigSettingChanged()));
40
44
connect(m_options->spacingSpin, SIGNAL(valueChanged(double)), SIGNAL(sigSettingChanged()));
41
45
connect(m_options->scaleSpin, SIGNAL(valueChanged(double)), SIGNAL(sigSettingChanged()));
42
connect(m_options->particlesSpinBox, SIGNAL(valueChanged(int)), SIGNAL(sigSettingChanged()));
43
connect(m_options->densityChBox, SIGNAL(stateChanged(int)), SIGNAL(sigSettingChanged()));
46
connect(m_options->particlesSpinBox, SIGNAL(valueChanged(double)), SIGNAL(sigSettingChanged()));
47
connect(m_options->countRadioButton, SIGNAL(toggled(bool)), SIGNAL(sigSettingChanged()));
48
connect(m_options->densityRadioButton, SIGNAL(toggled(bool)), SIGNAL(sigSettingChanged()));
49
connect(m_options->gaussianBox, SIGNAL(toggled(bool)), SIGNAL(sigSettingChanged()));
50
connect(m_options->aspectSPBox, SIGNAL(valueChanged(double)),SIGNAL(sigSettingChanged()));
51
connect(m_options->rotationSPBox, SIGNAL(valueChanged(double)),SIGNAL(sigSettingChanged()));
52
connect(m_options->jitterMoveBox, SIGNAL(toggled(bool)),SIGNAL(sigSettingChanged()));
54
connect(m_options->countRadioButton, SIGNAL(toggled(bool)), m_options->particlesSpinBox, SLOT(setEnabled(bool)));
55
connect(m_options->densityRadioButton, SIGNAL(toggled(bool)), m_options->coverageSpin, SLOT(setEnabled(bool)));
56
connect(m_options->jitterMoveBox, SIGNAL(toggled(bool)), m_options->jitterMovementSpin, SLOT(setEnabled(bool)));
45
58
setConfigurationPage(m_options);
94
114
bool KisSprayOpOption::useDensity() const
96
return m_options->densityChBox->isChecked();
116
return m_options->densityRadioButton->isChecked();
119
bool KisSprayOpOption::gaussian() const
121
return m_options->gaussianBox->isChecked();
100
124
void KisSprayOpOption::writeOptionSetting(KisPropertiesConfiguration* setting) const
102
setting->setProperty("Spray/diameter", diameter());
103
setting->setProperty("Spray/coverage", coverage());
104
setting->setProperty("Spray/amount", amount());
105
setting->setProperty("Spray/spacing", spacing());
106
setting->setProperty("Spray/jitterSize", jitterSize());
107
setting->setProperty("Spray/jitterMovement", jitterMovement());
126
setting->setProperty(SPRAY_DIAMETER, diameter());
127
setting->setProperty(SPRAY_ASPECT, aspect());
128
setting->setProperty(SPRAY_COVERAGE, coverage());
129
setting->setProperty(SPRAY_SCALE, scale());
130
setting->setProperty(SPRAY_ROTATION, rotation());
131
setting->setProperty(SPRAY_PARTICLE_COUNT, particleCount());
132
setting->setProperty(SPRAY_JITTER_MOVE_AMOUNT, jitterMoveAmount());
133
setting->setProperty(SPRAY_JITTER_MOVEMENT, jitterMovement());
134
setting->setProperty(SPRAY_SPACING, spacing());
135
setting->setProperty(SPRAY_GAUSS_DISTRIBUTION, gaussian());
136
setting->setProperty(SPRAY_USE_DENSITY, useDensity());
110
139
void KisSprayOpOption::readOptionSetting(const KisPropertiesConfiguration* setting)
112
m_options->diameterSpinBox->setValue(setting->getInt("Spray/diameter"));
113
m_options->coverageSpin->setValue(setting->getDouble("Spray/coverage"));
114
m_options->amountSpin->setValue(setting->getDouble("Spray/amount"));
115
m_options->spacingSpin->setValue(setting->getDouble("Spray/spacing"));
116
m_options->jitterSizeBox->setChecked(setting->getBool("Spray/jitterSize"));
117
m_options->jitterMoveBox->setChecked(setting->getBool("Spray/jitterMovement"));
141
m_options->diameterSpinBox->setValue(setting->getInt(SPRAY_DIAMETER));
142
m_options->aspectSPBox->setValue(setting->getDouble(SPRAY_ASPECT));
143
m_options->coverageSpin->setValue(setting->getDouble(SPRAY_COVERAGE));
144
m_options->scaleSpin->setValue(setting->getDouble(SPRAY_SCALE));
145
m_options->rotationSPBox->setValue(setting->getDouble(SPRAY_ROTATION));
146
m_options->particlesSpinBox->setValue(setting->getDouble(SPRAY_PARTICLE_COUNT));
147
m_options->jitterMovementSpin->setValue(setting->getDouble(SPRAY_JITTER_MOVE_AMOUNT));
148
m_options->jitterMoveBox->setChecked(setting->getBool(SPRAY_JITTER_MOVEMENT));
149
m_options->spacingSpin->setValue(setting->getDouble(SPRAY_SPACING));
150
m_options->gaussianBox->setChecked(setting->getBool(SPRAY_GAUSS_DISTRIBUTION));
151
//TODO: come on, do this nicer! e.g. button group or something
152
bool useDensity = setting->getBool(SPRAY_USE_DENSITY);
153
m_options->densityRadioButton->setChecked(useDensity);
154
m_options->countRadioButton->setChecked(!useDensity);
158
void KisSprayOpOption::setDiamter(int diameter) const
160
m_options->diameterSpinBox->setValue(diameter);