Krita Source Code Documentation
Loading...
Searching...
No Matches
KisCurveOptionInputControlsStrategy< SpinBox > Class Template Reference

#include <KisCurveOptionInputControlsStrategy.h>

+ Inheritance diagram for KisCurveOptionInputControlsStrategy< SpinBox >:

Public Member Functions

 KisCurveOptionInputControlsStrategy (KisCurveRangeModelInterface *rangeInterface, KisCurveWidget *curveWidget, QWidget *inPlaceholder, QWidget *outPlaceholder)
 
 ~KisCurveOptionInputControlsStrategy ()
 
- Public Member Functions inherited from KisCurveOptionInputControlsStrategyInterface
virtual ~KisCurveOptionInputControlsStrategyInterface ()
 

Static Public Member Functions

static KisCurveOptionInputControlsStrategyFactory factory ()
 

Private Member Functions

void updateCurveLabels (qreal xMin, qreal xMax, qreal yMin, qreal yMax)
 

Private Attributes

QScopedPointer< KisCurveWidgetControlsManagerBasecurveControlsManager
 
KisCurveWidgetcurveWidget {nullptr}
 
SpinBox * inSpinBox
 
SpinBox * outSpinBox
 
lager::reader< std::tuple< qreal, qreal, qreal, qreal > > rangeValues
 
lager::reader< QString > xValueSuffix
 
lager::reader< QString > yValueSuffix
 

Detailed Description

template<typename SpinBox>
class KisCurveOptionInputControlsStrategy< SpinBox >

Definition at line 22 of file KisCurveOptionInputControlsStrategy.h.

Constructor & Destructor Documentation

◆ KisCurveOptionInputControlsStrategy()

template<typename SpinBox >
KisCurveOptionInputControlsStrategy< SpinBox >::KisCurveOptionInputControlsStrategy ( KisCurveRangeModelInterface * rangeInterface,
KisCurveWidget * curveWidget,
QWidget * inPlaceholder,
QWidget * outPlaceholder )

Definition at line 25 of file KisCurveOptionInputControlsStrategy.cpp.

29{
30 this->curveWidget = curveWidget;
31
32 inSpinBox = new SpinBox(inPlaceholder);
33 outSpinBox = new SpinBox(outPlaceholder);
34
35 QSizePolicy sizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
36 sizePolicy.setHorizontalStretch(0);
37 sizePolicy.setVerticalStretch(0);
38 sizePolicy.setHeightForWidth(inSpinBox->sizePolicy().hasHeightForWidth());
39 inSpinBox->setSizePolicy(sizePolicy);
40 outSpinBox->setSizePolicy(sizePolicy);
41
42 inSpinBox->setMinimumSize(QSize(0, 0));
43 outSpinBox->setMinimumSize(QSize(0, 0));
44
45 QFont font;
46 font.setPointSize(9);
47 inSpinBox->setFont(font);
48 outSpinBox->setFont(font);
49
50 QHBoxLayout *inLayout = new QHBoxLayout(inPlaceholder);
51 inLayout->addWidget(inSpinBox);
52 inLayout->setContentsMargins(0, 0, 0, 0);
53
54 QHBoxLayout *outLayout = new QHBoxLayout(outPlaceholder);
55 outLayout->addWidget(outSpinBox);
56 outLayout->setContentsMargins(0, 0, 0, 0);
57
58 xValueSuffix = rangeInterface->xValueSuffix();
59 yValueSuffix = rangeInterface->yValueSuffix();
60 rangeValues = lager::with(rangeInterface->xMinValue(), rangeInterface->xMaxValue(),
61 rangeInterface->yMinValue(), rangeInterface->yMaxValue());
62
63 xValueSuffix.bind(std::bind(&SpinBox::setSuffix, inSpinBox, std::placeholders::_1));
64 yValueSuffix.bind(std::bind(&SpinBox::setSuffix, outSpinBox, std::placeholders::_1));
65 rangeValues.bind(
67 std::placeholders::_1, std::placeholders::_2,
68 std::placeholders::_3, std::placeholders::_4)));
69
70}
void updateCurveLabels(qreal xMin, qreal xMax, qreal yMin, qreal yMax)
lager::reader< std::tuple< qreal, qreal, qreal, qreal > > rangeValues
virtual lager::reader< qreal > xMinValue()=0
virtual lager::reader< qreal > xMaxValue()=0
virtual lager::reader< QString > xValueSuffix()=0
virtual lager::reader< qreal > yMinValue()=0
virtual lager::reader< QString > yValueSuffix()=0
virtual lager::reader< qreal > yMaxValue()=0
constexpr auto unzip_wrapper
Definition KisMpl.h:70

◆ ~KisCurveOptionInputControlsStrategy()

template<typename SpinBox >
KisCurveOptionInputControlsStrategy< SpinBox >::~KisCurveOptionInputControlsStrategy ( )

Definition at line 73 of file KisCurveOptionInputControlsStrategy.cpp.

74{
75}

Member Function Documentation

◆ factory()

template<typename SpinBox >
KisCurveOptionInputControlsStrategyFactory KisCurveOptionInputControlsStrategy< SpinBox >::factory ( )
static

Definition at line 78 of file KisCurveOptionInputControlsStrategy.cpp.

79{
80 return
81 [] (KisCurveRangeModelInterface *rangeInterface,
83 QWidget *inPlaceholder, QWidget *outPlaceholder) {
84 return new KisCurveOptionInputControlsStrategy<SpinBox>(rangeInterface,
86 inPlaceholder,
87 outPlaceholder);
88
89 };
90}

◆ updateCurveLabels()

template<typename SpinBox >
void KisCurveOptionInputControlsStrategy< SpinBox >::updateCurveLabels ( qreal xMin,
qreal xMax,
qreal yMin,
qreal yMax )
private

Definition at line 93 of file KisCurveOptionInputControlsStrategy.cpp.

94{
96
101 KisAlgebra2D::lazyRound<ValueType>(xMin),
102 KisAlgebra2D::lazyRound<ValueType>(xMax),
103 KisAlgebra2D::lazyRound<ValueType>(yMin),
104 KisAlgebra2D::lazyRound<ValueType>(yMax)));
105}
QScopedPointer< KisCurveWidgetControlsManagerBase > curveControlsManager
detail::value_of_spin_box_t< SpinBox > ValueType

Member Data Documentation

◆ curveControlsManager

template<typename SpinBox >
QScopedPointer<KisCurveWidgetControlsManagerBase> KisCurveOptionInputControlsStrategy< SpinBox >::curveControlsManager
private

Definition at line 40 of file KisCurveOptionInputControlsStrategy.h.

◆ curveWidget

template<typename SpinBox >
KisCurveWidget* KisCurveOptionInputControlsStrategy< SpinBox >::curveWidget {nullptr}
private

Definition at line 39 of file KisCurveOptionInputControlsStrategy.h.

39{nullptr};

◆ inSpinBox

template<typename SpinBox >
SpinBox* KisCurveOptionInputControlsStrategy< SpinBox >::inSpinBox
private

Definition at line 37 of file KisCurveOptionInputControlsStrategy.h.

◆ outSpinBox

template<typename SpinBox >
SpinBox* KisCurveOptionInputControlsStrategy< SpinBox >::outSpinBox
private

Definition at line 38 of file KisCurveOptionInputControlsStrategy.h.

◆ rangeValues

template<typename SpinBox >
lager::reader<std::tuple<qreal, qreal, qreal, qreal> > KisCurveOptionInputControlsStrategy< SpinBox >::rangeValues
private

Definition at line 43 of file KisCurveOptionInputControlsStrategy.h.

◆ xValueSuffix

template<typename SpinBox >
lager::reader<QString> KisCurveOptionInputControlsStrategy< SpinBox >::xValueSuffix
private

Definition at line 41 of file KisCurveOptionInputControlsStrategy.h.

◆ yValueSuffix

template<typename SpinBox >
lager::reader<QString> KisCurveOptionInputControlsStrategy< SpinBox >::yValueSuffix
private

Definition at line 42 of file KisCurveOptionInputControlsStrategy.h.


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