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

#include <kis_uniform_paintop_property_widget.h>

+ Inheritance diagram for KisUniformPaintOpPropertyDoubleSlider:

Public Member Functions

 KisUniformPaintOpPropertyDoubleSlider (KisUniformPaintOpPropertySP property, QWidget *parent)
 
void setValue (const QVariant &value) override
 
- Public Member Functions inherited from KisUniformPaintOpPropertyWidget
 KisUniformPaintOpPropertyWidget (KisUniformPaintOpPropertySP property, QWidget *parent)
 
void slotThemeChanged (QPalette pal)
 
 ~KisUniformPaintOpPropertyWidget () override
 

Private Slots

void slotRangeChanged ()
 
void slotSliderChanged (qreal value)
 

Private Attributes

QWidget * m_slider
 

Additional Inherited Members

- Signals inherited from KisUniformPaintOpPropertyWidget
void valueChanged (const QVariant &value)
 
- Protected Slots inherited from KisUniformPaintOpPropertyWidget
- Protected Member Functions inherited from KisUniformPaintOpPropertyWidget
KisUniformPaintOpPropertySP property () const
 

Detailed Description

Definition at line 56 of file kis_uniform_paintop_property_widget.h.

Constructor & Destructor Documentation

◆ KisUniformPaintOpPropertyDoubleSlider()

KisUniformPaintOpPropertyDoubleSlider::KisUniformPaintOpPropertyDoubleSlider ( KisUniformPaintOpPropertySP property,
QWidget * parent )

Definition at line 143 of file kis_uniform_paintop_property_widget.cpp.

145{
146 const QString prefix = QString("%1: ").arg(property->name());
147 QVBoxLayout *layout = new QVBoxLayout(this);
148
150 dynamic_cast<KisDoubleSliderBasedPaintOpProperty*>(property.data());
151 KIS_ASSERT_RECOVER_RETURN(sliderProperty);
152
155
157 KisAngleSelector *slider = new KisAngleSelector(this);
158 slider->setPrefix(prefix);
159 slider->setDecimals(sliderProperty->decimals());
160 slider->setRange(sliderProperty->min(), sliderProperty->max());
162
163 slider->setAngle(sliderProperty->value().toReal());
164 connect(slider, SIGNAL(angleChanged(qreal)), SLOT(slotSliderChanged(qreal)));
165
166 m_slider = slider;
167 } else {
169 slider->setBlockUpdateSignalOnDrag(true);
170 slider->setRange(sliderProperty->min(), sliderProperty->max(), sliderProperty->decimals());
171 slider->setSingleStep(sliderProperty->singleStep());
172 slider->setPrefix(prefix);
173 slider->setSuffix(sliderProperty->suffix());
174 slider->setExponentRatio(sliderProperty->exponentRatio());
175
176 slider->setValue(sliderProperty->value().toReal());
177 connect(slider, SIGNAL(valueChanged(qreal)), SLOT(slotSliderChanged(qreal)));
178
179 m_slider = slider;
180 }
181
182 layout->addWidget(m_slider);
183}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
A widget with several options to select an angle.
@ FlipOptionsMode_MenuButton
The flip options are shown as a menu accessible via a options button.
void setPrefix(const QString &newPrefix)
Sets the prefix shown in the spin box.
void setFlipOptionsMode(FlipOptionsMode newMode)
Sets the mode in which the flip options should be shown.
void setAngle(qreal newAngle)
Sets the current angle.
void setRange(qreal newMinimum, qreal newMaximum)
Sets the minimum and maximum values for the angle.
void setDecimals(int newNumberOfDecimals)
Sets the number of decimals (precision) used by the angle.
This class is a spinbox in which you can click and drag to set the value. A slider like bar is displa...
void setValue(qreal newValue)
void setRange(qreal newMinimum, qreal newMaximum, int newNumberOfDecimals=0, bool computeNewFastSliderStep=true)
Set the minimum and the maximum values of the range.
void setBlockUpdateSignalOnDrag(bool newBlockUpdateSignalOnDrag)
void setExponentRatio(qreal newExponentRatio)
void valueChanged(const QVariant &value)
KisUniformPaintOpPropertyWidget(KisUniformPaintOpPropertySP property, QWidget *parent)
#define KIS_ASSERT_RECOVER_RETURN(cond)
Definition kis_assert.h:75

References connect(), KisSliderBasedPaintOpProperty< T >::decimals(), KisSliderBasedPaintOpProperty< T >::exponentRatio(), KisAngleSelector::FlipOptionsMode_MenuButton, KIS_ASSERT_RECOVER_RETURN, m_slider, KisSliderBasedPaintOpProperty< T >::max(), KisSliderBasedPaintOpProperty< T >::min(), KisUniformPaintOpPropertyWidget::property(), KisAngleSelector::setAngle(), KisDoubleSliderSpinBox::setBlockUpdateSignalOnDrag(), KisAngleSelector::setDecimals(), KisDoubleSliderSpinBox::setExponentRatio(), KisAngleSelector::setFlipOptionsMode(), KisAngleSelector::setPrefix(), KisAngleSelector::setRange(), KisDoubleSliderSpinBox::setRange(), KisDoubleSliderSpinBox::setValue(), KisSliderBasedPaintOpPropertyBase::sigRangeChanged(), KisSliderBasedPaintOpProperty< T >::singleStep(), slotRangeChanged(), slotSliderChanged(), KisUniformPaintOpProperty::SubType_Angle, KisSliderBasedPaintOpProperty< T >::suffix(), KisUniformPaintOpProperty::value(), and KisUniformPaintOpPropertyWidget::valueChanged().

Member Function Documentation

◆ setValue()

void KisUniformPaintOpPropertyDoubleSlider::setValue ( const QVariant & value)
overridevirtual

Implements KisUniformPaintOpPropertyWidget.

Definition at line 185 of file kis_uniform_paintop_property_widget.cpp.

186{
187 if (dynamic_cast<KisAngleSelector*>(m_slider)) {
188 dynamic_cast<KisAngleSelector*>(m_slider)->setAngle(value.toInt());
189 } else {
191 dynamic_cast<KisDoubleSliderSpinBox*>(m_slider)->setValue(value.toReal());
192 }
193}
float value(const T *src, size_t ch)
#define KIS_SAFE_ASSERT_RECOVER_RETURN(cond)
Definition kis_assert.h:128

References KIS_SAFE_ASSERT_RECOVER_RETURN, m_slider, setValue(), and value().

◆ slotRangeChanged

void KisUniformPaintOpPropertyDoubleSlider::slotRangeChanged ( )
privateslot

Definition at line 200 of file kis_uniform_paintop_property_widget.cpp.

201{
203 dynamic_cast<KisDoubleSliderBasedPaintOpProperty*>(property().data());
204 KIS_ASSERT_RECOVER_RETURN(sliderProperty);
205
206 if (KisAngleSelector *slider = dynamic_cast<KisAngleSelector*>(m_slider)) {
207 slider->setRange(sliderProperty->min(), sliderProperty->max());
208 } else if (KisDoubleSliderSpinBox *slider = dynamic_cast<KisDoubleSliderSpinBox*>(m_slider)) {
209 slider->setRange(sliderProperty->min(), sliderProperty->max());
210 }
211}

References KIS_ASSERT_RECOVER_RETURN, m_slider, KisSliderBasedPaintOpProperty< T >::max(), KisSliderBasedPaintOpProperty< T >::min(), and KisUniformPaintOpPropertyWidget::property().

◆ slotSliderChanged

void KisUniformPaintOpPropertyDoubleSlider::slotSliderChanged ( qreal value)
privateslot

Member Data Documentation

◆ m_slider

QWidget* KisUniformPaintOpPropertyDoubleSlider::m_slider
private

Definition at line 69 of file kis_uniform_paintop_property_widget.h.


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