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

#include <kis_spacing_selection_widget.h>

+ Inheritance diagram for KisSpacingSelectionWidget:

Classes

struct  Private
 

Signals

void sigSpacingChanged ()
 

Public Member Functions

bool autoSpacingActive () const
 
qreal autoSpacingCoeff () const
 
 KisSpacingSelectionWidget (QWidget *parent)
 
void setSpacing (bool isAuto, qreal spacing)
 
qreal spacing () const
 
 ~KisSpacingSelectionWidget () override
 

Private Member Functions

 Q_PRIVATE_SLOT (m_d, void slotAutoSpacing(bool value))
 
 Q_PRIVATE_SLOT (m_d, void slotSpacingChanged(qreal value))
 

Private Attributes

const QScopedPointer< Privatem_d
 

Detailed Description

Definition at line 15 of file kis_spacing_selection_widget.h.

Constructor & Destructor Documentation

◆ KisSpacingSelectionWidget()

KisSpacingSelectionWidget::KisSpacingSelectionWidget ( QWidget * parent)

Definition at line 38 of file kis_spacing_selection_widget.cpp.

39 : QWidget(parent),
40 m_d(new Private(this))
41{
42 m_d->slider = new KisDoubleSliderSpinBox(this);
43 m_d->slider->setRange(0.02, 10.0, 2);
44 m_d->slider->setExponentRatio(3);
45 m_d->slider->setSingleStep(0.01);
46 m_d->slider->setValue(0.1);
47 m_d->slider->setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Fixed));
48
49
50 m_d->autoButton = new QCheckBox(this);
51 m_d->autoButton->setText(i18nc("@action:button", "Auto"));
52 m_d->autoButton->setToolTip(i18nc("@info:tooltip", "In auto mode the spacing of the brush will be calculated automatically depending on its size"));
53 m_d->autoButton->setCheckable(true);
54 m_d->autoButton->setSizePolicy(QSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed));
55
56 QHBoxLayout *layout = new QHBoxLayout(this);
57 layout->addWidget(m_d->autoButton);
58 layout->addWidget(m_d->slider);
59 layout->setContentsMargins(0, 0, 0, 0);
60
61 connect(m_d->slider, SIGNAL(valueChanged(qreal)), SLOT(slotSpacingChanged(qreal)));
62 connect(m_d->autoButton, SIGNAL(toggled(bool)), SLOT(slotAutoSpacing(bool)));
63}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
This class is a spinbox in which you can click and drag to set the value. A slider like bar is displa...
const QScopedPointer< Private > m_d

References connect(), and m_d.

◆ ~KisSpacingSelectionWidget()

KisSpacingSelectionWidget::~KisSpacingSelectionWidget ( )
override

Definition at line 65 of file kis_spacing_selection_widget.cpp.

66{
67}

Member Function Documentation

◆ autoSpacingActive()

bool KisSpacingSelectionWidget::autoSpacingActive ( ) const

Definition at line 74 of file kis_spacing_selection_widget.cpp.

75{
76 return m_d->autoButton->isChecked();
77}

References m_d.

◆ autoSpacingCoeff()

qreal KisSpacingSelectionWidget::autoSpacingCoeff ( ) const

Definition at line 79 of file kis_spacing_selection_widget.cpp.

80{
81 return autoSpacingActive() ? m_d->slider->value() : 1.0;
82}

References autoSpacingActive(), and m_d.

◆ Q_PRIVATE_SLOT() [1/2]

KisSpacingSelectionWidget::Q_PRIVATE_SLOT ( m_d ,
void slotAutoSpacingbool value )
private

◆ Q_PRIVATE_SLOT() [2/2]

KisSpacingSelectionWidget::Q_PRIVATE_SLOT ( m_d ,
void slotSpacingChangedqreal value )
private

◆ setSpacing()

void KisSpacingSelectionWidget::setSpacing ( bool isAuto,
qreal spacing )

Definition at line 84 of file kis_spacing_selection_widget.cpp.

85{
86 KisSignalsBlocker b1(m_d->autoButton);
87 KisSignalsBlocker b2(m_d->slider);
88
89 m_d->autoButton->setChecked(isAuto);
90 m_d->slider->setValue(spacing);
91}

References m_d, and spacing().

◆ sigSpacingChanged

void KisSpacingSelectionWidget::sigSpacingChanged ( )
signal

◆ spacing()

qreal KisSpacingSelectionWidget::spacing ( ) const

Definition at line 69 of file kis_spacing_selection_widget.cpp.

70{
71 return autoSpacingActive() ? 0.1 : m_d->slider->value();
72}

References autoSpacingActive(), and m_d.

Member Data Documentation

◆ m_d

const QScopedPointer<Private> KisSpacingSelectionWidget::m_d
private

Definition at line 37 of file kis_spacing_selection_widget.h.


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