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

#include <kis_shade_selector_line_editor.h>

+ Inheritance diagram for KisShadeSelectorLineEditor:

Signals

void requestActivateLine (QWidget *widget)
 

Public Member Functions

void fromString (const QString &string) override
 
 KisShadeSelectorLineEditor (QWidget *parent, KisShadeSelectorLine *preview)
 
void mousePressEvent (QMouseEvent *e) override
 
QString toString () const override
 
- Public Member Functions inherited from KisShadeSelectorLineBase
 KisShadeSelectorLineBase (QWidget *parent)
 
void setLineNumber (int n)
 

Private Slots

void valueChanged ()
 

Private Member Functions

void updatePreview ()
 

Private Attributes

KisDoubleParseSpinBoxm_hueDelta
 
KisDoubleParseSpinBoxm_hueShift
 
KisShadeSelectorLinem_line_preview
 
KisDoubleParseSpinBoxm_saturationDelta
 
KisDoubleParseSpinBoxm_saturationShift
 
KisDoubleParseSpinBoxm_valueDelta
 
KisDoubleParseSpinBoxm_valueShift
 

Additional Inherited Members

- Protected Attributes inherited from KisShadeSelectorLineBase
int m_lineNumber {0}
 

Detailed Description

Definition at line 21 of file kis_shade_selector_line_editor.h.

Constructor & Destructor Documentation

◆ KisShadeSelectorLineEditor()

KisShadeSelectorLineEditor::KisShadeSelectorLineEditor ( QWidget * parent,
KisShadeSelectorLine * preview )

Definition at line 15 of file kis_shade_selector_line_editor.cpp.

17 , m_line_preview(preview)
18{
19 QVBoxLayout* layout = new QVBoxLayout(this);
20
21 QHBoxLayout* lineOne = new QHBoxLayout();
22 layout->addLayout(lineOne);
23 lineOne->addWidget(new QLabel(i18n("Delta: ")));
24
26 lineOne->addWidget(m_hueDelta);
28 lineOne->addWidget(m_saturationDelta);
30 lineOne->addWidget(m_valueDelta);
31
32 QHBoxLayout* lineTwo = new QHBoxLayout();
33 layout->addLayout(lineTwo);
34 lineTwo->addWidget(new QLabel(i18n("Shift: ")));
35
37 lineTwo->addWidget(m_hueShift);
39 lineTwo->addWidget(m_saturationShift);
41 lineTwo->addWidget(m_valueShift);
42
43
44 m_hueDelta->setRange(-1, 1);
45 m_saturationDelta->setRange(-1, 1);
46 m_valueDelta->setRange(-1, 1);
47 m_hueShift->setRange(-1, 1);
48 m_saturationShift->setRange(-1, 1);
49 m_valueShift->setRange(-1, 1);
50
51 m_hueDelta->setSingleStep(0.1);
52 m_saturationDelta->setSingleStep(0.1);
53 m_valueDelta->setSingleStep(0.1);
54 m_hueShift->setSingleStep(0.05);
55 m_saturationShift->setSingleStep(0.05);
56 m_valueShift->setSingleStep(0.05);
57
58 connect(m_hueDelta, SIGNAL(valueChanged(double)), SLOT(valueChanged()));
59 connect(m_saturationDelta, SIGNAL(valueChanged(double)), SLOT(valueChanged()));
60 connect(m_valueDelta, SIGNAL(valueChanged(double)), SLOT(valueChanged()));
61 connect(m_hueShift, SIGNAL(valueChanged(double)), SLOT(valueChanged()));
62 connect(m_saturationShift, SIGNAL(valueChanged(double)), SLOT(valueChanged()));
63 connect(m_valueShift, SIGNAL(valueChanged(double)), SLOT(valueChanged()));
64
65 KConfigGroup cfg = KSharedConfig::openConfig()->group("advancedColorSelector");
66 QString lineset = cfg.readEntry(
67 "minimalShadeSelectorLineConfig", "0|0.2|0|0|0|0|0;1|0|1|1|0|0|0;2|0|-1|1|0|0|0;").split(";").at(0);
68 fromString(lineset);
69
71}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
The KisDoubleParseSpinBox class is a cleverer doubleSpinBox, able to parse arithmetic expressions.
KisShadeSelectorLineBase(QWidget *parent)
void fromString(const QString &string) override

References connect(), fromString(), m_hueDelta, m_hueShift, m_saturationDelta, m_saturationShift, m_valueDelta, m_valueShift, updatePreview(), and valueChanged().

Member Function Documentation

◆ fromString()

void KisShadeSelectorLineEditor::fromString ( const QString & string)
overridevirtual

Implements KisShadeSelectorLineBase.

Definition at line 93 of file kis_shade_selector_line_editor.cpp.

94{
95 QStringList strili = string.split('|');
96 m_lineNumber = strili.at(0).toInt();
97 m_hueDelta->setValue(strili.at(1).toDouble());
98 m_saturationDelta->setValue(strili.at(2).toDouble());
99 m_valueDelta->setValue(strili.at(3).toDouble());
100 if(strili.size()==4) return; // don't crash, if reading old config files.
101 m_hueShift->setValue(strili.at(4).toDouble());
102 m_saturationShift->setValue(strili.at(5).toDouble());
103 m_valueShift->setValue(strili.at(6).toDouble());
104}
void setValue(double value, bool overwriteExpression=false)
Set the value of the spinbox.

References m_hueDelta, m_hueShift, KisShadeSelectorLineBase::m_lineNumber, m_saturationDelta, m_saturationShift, m_valueDelta, m_valueShift, and KisDoubleParseSpinBox::setValue().

◆ mousePressEvent()

void KisShadeSelectorLineEditor::mousePressEvent ( QMouseEvent * e)
override

Definition at line 111 of file kis_shade_selector_line_editor.cpp.

111 {
112 e->accept();
113}

◆ requestActivateLine

void KisShadeSelectorLineEditor::requestActivateLine ( QWidget * widget)
signal

◆ toString()

QString KisShadeSelectorLineEditor::toString ( ) const
overridevirtual

Implements KisShadeSelectorLineBase.

Definition at line 81 of file kis_shade_selector_line_editor.cpp.

82{
83 return QString("%1|%2|%3|%4|%5|%6|%7")
84 .arg(m_lineNumber)
85 .arg(m_hueDelta->value())
86 .arg(m_saturationDelta->value())
87 .arg(m_valueDelta->value())
88 .arg(m_hueShift->value())
89 .arg(m_saturationShift->value())
90 .arg(m_valueShift->value());
91}

References m_hueDelta, m_hueShift, KisShadeSelectorLineBase::m_lineNumber, m_saturationDelta, m_saturationShift, m_valueDelta, and m_valueShift.

◆ updatePreview()

void KisShadeSelectorLineEditor::updatePreview ( )
private

Definition at line 73 of file kis_shade_selector_line_editor.cpp.

73 {
75 m_hueDelta->value(), m_saturationDelta->value(), m_valueDelta->value(),
76 m_hueShift->value(), m_saturationShift->value(), m_valueShift->value()
77 );
78 this->parentWidget()->update(m_line_preview->geometry());
79}
void setParam(qreal hue, qreal sat, qreal val, qreal hueShift, qreal satShift, qreal shiftVal)

References m_hueDelta, m_hueShift, m_line_preview, m_saturationDelta, m_saturationShift, m_valueDelta, m_valueShift, and KisShadeSelectorLine::setParam().

◆ valueChanged

void KisShadeSelectorLineEditor::valueChanged ( )
privateslot

Definition at line 106 of file kis_shade_selector_line_editor.cpp.

106 {
108 Q_EMIT requestActivateLine(this);
109}
void requestActivateLine(QWidget *widget)

References requestActivateLine(), and updatePreview().

Member Data Documentation

◆ m_hueDelta

KisDoubleParseSpinBox* KisShadeSelectorLineEditor::m_hueDelta
private

Definition at line 43 of file kis_shade_selector_line_editor.h.

◆ m_hueShift

KisDoubleParseSpinBox* KisShadeSelectorLineEditor::m_hueShift
private

Definition at line 46 of file kis_shade_selector_line_editor.h.

◆ m_line_preview

KisShadeSelectorLine* KisShadeSelectorLineEditor::m_line_preview
private

Definition at line 41 of file kis_shade_selector_line_editor.h.

◆ m_saturationDelta

KisDoubleParseSpinBox* KisShadeSelectorLineEditor::m_saturationDelta
private

Definition at line 44 of file kis_shade_selector_line_editor.h.

◆ m_saturationShift

KisDoubleParseSpinBox* KisShadeSelectorLineEditor::m_saturationShift
private

Definition at line 47 of file kis_shade_selector_line_editor.h.

◆ m_valueDelta

KisDoubleParseSpinBox* KisShadeSelectorLineEditor::m_valueDelta
private

Definition at line 45 of file kis_shade_selector_line_editor.h.

◆ m_valueShift

KisDoubleParseSpinBox* KisShadeSelectorLineEditor::m_valueShift
private

Definition at line 48 of file kis_shade_selector_line_editor.h.


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