Krita Source Code Documentation
Loading...
Searching...
No Matches
SliderWrapper Struct Reference

Public Member Functions

void connectDraggingFinished (QObject *receiver, const char *amember)
 
bool isDragging () const
 
QObject * object () const
 
void setValue (qreal value)
 
template<class Slider >
 SliderWrapper (Slider *slider)
 
qreal value () const
 

Private Attributes

QObject * m_object
 
QVariant m_slider
 

Detailed Description

Definition at line 23 of file kis_aspect_ratio_locker.cpp.

Constructor & Destructor Documentation

◆ SliderWrapper()

template<class Slider >
SliderWrapper::SliderWrapper ( Slider * slider)
inline

Definition at line 26 of file kis_aspect_ratio_locker.cpp.

27 : m_slider(QVariant::fromValue(slider)),
28 m_object(slider) {}

Member Function Documentation

◆ connectDraggingFinished()

void SliderWrapper::connectDraggingFinished ( QObject * receiver,
const char * amember )
inline

Definition at line 108 of file kis_aspect_ratio_locker.cpp.

108 {
109
110 if (auto *slider = m_slider.value<KisSliderSpinBox*>()) {
111 QObject::connect(slider, SIGNAL(draggingFinished()),
112 receiver, amember);
113
114 } else if (auto *slider = m_slider.value<KisDoubleSliderSpinBox*>()) {
115 QObject::connect(slider, SIGNAL(draggingFinished()),
116 receiver, amember);
117 }
118 }
This class is a spinbox in which you can click and drag to set the value. A slider like bar is displa...
This class is a spinbox in which you can click and drag to set the value. A slider like bar is displa...

References m_slider.

◆ isDragging()

bool SliderWrapper::isDragging ( ) const
inline

Definition at line 95 of file kis_aspect_ratio_locker.cpp.

95 {
96 bool result = false;
97
98 if (auto *slider = m_slider.value<KisSliderSpinBox*>()) {
99 result = slider->isDragging();
100
101 } else if (auto *slider = m_slider.value<KisDoubleSliderSpinBox*>()) {
102 result = slider->isDragging();
103 }
104
105 return result;
106 }

References m_slider.

◆ object()

QObject * SliderWrapper::object ( ) const
inline

Definition at line 120 of file kis_aspect_ratio_locker.cpp.

120 {
121 return m_object;
122 }

References m_object.

◆ setValue()

void SliderWrapper::setValue ( qreal value)
inline

Definition at line 30 of file kis_aspect_ratio_locker.cpp.

30 {
31 if (auto *slider = m_slider.value<KisDoubleParseUnitSpinBox*>()) {
32 // assume value from a KisDoubleParseUnitSpinBox is always provided in Pt
33 slider->changeValuePt(value);
34
35 } else if (auto *slider = m_slider.value<KisDoubleParseSpinBox*>()) {
36 slider->setValue(value);
37
38 } else if (auto *slider = m_slider.value<KisDoubleSliderSpinBox*>()) {
39 slider->setValue(value);
40
41 } else if (auto *slider = m_slider.value<QDoubleSpinBox*>()) {
42 slider->setValue(value);
43
44 } else if (auto *slider = m_slider.value<KisIntParseSpinBox*>()) {
45 slider->setValue(qRound(value));
46
47 } else if (auto *slider = m_slider.value<KisSliderSpinBox*>()) {
48 slider->setValue(qRound(value));
49
50 } else if (auto *slider = m_slider.value<QSpinBox*>()) {
51 slider->setValue(qRound(value));
52
53 } else if (auto *slider = m_slider.value<KisAngleSelector*>()) {
54 slider->setAngle(value);
55
56 } else if (auto *slider = m_slider.value<KisAngleGauge*>()) {
57 slider->setAngle(value);
58 }
59 }
A circular widget that allows to choose an angle.
A widget with several options to select an angle.
The KisDoubleParseSpinBox class is a cleverer doubleSpinBox, able to parse arithmetic expressions.
The KisDoubleParseUnitSpinBox class is an evolution of the.
The KisIntParseSpinBox class is a cleverer SpinBox, able to parse arithmetic expressions.

References m_slider, and value().

◆ value()

qreal SliderWrapper::value ( ) const
inline

Definition at line 61 of file kis_aspect_ratio_locker.cpp.

61 {
62 qreal result = 0.0;
63
64 if (auto *slider = m_slider.value<KisDoubleParseUnitSpinBox*>()) {
65 result = slider->valuePt();
66 } else if (auto *slider = m_slider.value<KisDoubleParseSpinBox*>()) {
67 result = slider->value();
68
69 } else if (auto *slider = m_slider.value<KisDoubleSliderSpinBox*>()) {
70 result = slider->value();
71
72 } else if (auto *slider = m_slider.value<QDoubleSpinBox*>()) {
73 result = slider->value();
74
75 } else if (auto *slider = m_slider.value<KisIntParseSpinBox*>()) {
76 result = slider->value();
77
78 } else if (auto *slider = m_slider.value<KisSliderSpinBox*>()) {
79 result = slider->value();
80
81 } else if (auto *slider = m_slider.value<QSpinBox*>()) {
82 result = slider->value();
83
84 } else if (auto *slider = m_slider.value<KisAngleSelector*>()) {
85 result = slider->angle();
86
87 } else if (auto *slider = m_slider.value<KisAngleGauge*>()) {
88 result = slider->angle();
89
90 }
91
92 return result;
93 }

References m_slider.

Member Data Documentation

◆ m_object

QObject* SliderWrapper::m_object
private

Definition at line 126 of file kis_aspect_ratio_locker.cpp.

◆ m_slider

QVariant SliderWrapper::m_slider
private

Definition at line 125 of file kis_aspect_ratio_locker.cpp.


The documentation for this struct was generated from the following file: