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

#include <KisCurveOptionWidget.h>

+ Inheritance diagram for KisCurveOptionWidget:

Classes

struct  Private
 

Public Types

using data_type = KisCurveOptionDataCommon
 
enum  Flag { None = 0x0 , SupportsCommonCurve = 0x1 , SupportsCurveMode = 0x2 , UseFloatingPointStrength = 0x4 }
 
- Public Types inherited from KisPaintOpOption
using OptionalLodLimitationsReader = std::optional<lager::reader<KisPaintopLodLimitations>>
 
enum  PaintopCategory {
  GENERAL , COLOR , TEXTURE , FILTER ,
  MASKING_BRUSH
}
 

Public Member Functions

bool isCheckable () const override
 
 KisCurveOptionWidget (lager::cursor< KisCurveOptionDataCommon > optionData, KisPaintOpOption::PaintopCategory category, const QString &curveMinLabel, const QString &curveMaxLabel, int curveMinValue, int curveMaxValue, const QString &curveValueSuffix, lager::reader< bool > enabledLink=lager::make_constant(true), std::optional< lager::reader< std::tuple< qreal, qreal > > > strengthRangeReader=std::nullopt)
 
 KisCurveOptionWidget (lager::cursor< KisCurveOptionDataCommon > optionData, KisPaintOpOption::PaintopCategory category, const QString &curveMinLabel, const QString &curveMaxLabel, lager::reader< bool > enabledLink=lager::make_constant(true), std::optional< lager::reader< std::tuple< qreal, qreal > > > strengthRangeReader=std::nullopt)
 
 KisCurveOptionWidget (lager::cursor< KisCurveOptionDataCommon > optionData, KisPaintOpOption::PaintopCategory category, lager::reader< bool > enabledLink=lager::make_constant(true), std::optional< lager::reader< std::tuple< qreal, qreal > > > strengthRangeReader=std::nullopt)
 
 KisCurveOptionWidget (lager::cursor< KisCurveOptionDataCommon > optionData, PaintopCategory category, const QString &curveMinLabel, const QString &curveMaxLabel, int curveMinValue, int curveMaxValue, const QString &curveValueSuffix, const QString &strengthPrefix, const QString &strengthSuffix, qreal strengthDisplayMultiplier, lager::reader< bool > enabledLink=lager::make_constant(true), std::optional< lager::reader< std::tuple< qreal, qreal > > > strengthRangeReader=std::nullopt)
 
void readOptionSetting (const KisPropertiesConfigurationSP setting) override
 
void show ()
 
void writeOptionSetting (KisPropertiesConfigurationSP setting) const override
 
 ~KisCurveOptionWidget () override
 
- Public Member Functions inherited from KisPaintOpOption
KisPaintOpOption::PaintopCategory category () const
 
QWidget * configurationPage () const
 
OptionalLodLimitationsReader effectiveLodLimitations () const
 
virtual bool isChecked () const
 
bool isEnabled () const
 
bool isLocked () const
 
 KisPaintOpOption (const QString &label, KisPaintOpOption::PaintopCategory category, bool checked)
 
 KisPaintOpOption (const QString &label, KisPaintOpOption::PaintopCategory category, lager::cursor< bool > checkedCursor)
 
 KisPaintOpOption (const QString &label, KisPaintOpOption::PaintopCategory category, lager::cursor< bool > checkedCursor, lager::reader< bool > externallyEnabledLink)
 
QString label () const
 
virtual void lodLimitations (KisPaintopLodLimitations *l) const
 
virtual void setCanvasResourcesInterface (KoCanvasResourcesInterfaceSP canvasResourcesInterface)
 
virtual void setChecked (bool checked)
 
virtual void setImage (KisImageWSP image)
 
void setLocked (bool value)
 
virtual void setNode (KisNodeWSP node)
 
virtual void setResourcesInterface (KisResourcesInterfaceSP resourcesInterface)
 
void startReadOptionSetting (const KisPropertiesConfigurationSP setting)
 
void startWriteOptionSetting (KisPropertiesConfigurationSP setting) const
 
 ~KisPaintOpOption () override
 

Protected Slots

void changeCurveArchShape ()
 
void changeCurveJShape ()
 
void changeCurveLinear ()
 
void changeCurveLShape ()
 
void changeCurveReverseLinear ()
 
void changeCurveReverseSShape ()
 
void changeCurveSShape ()
 
void changeCurveUShape ()
 
void updateThemedIcons ()
 
- Protected Slots inherited from KisPaintOpOption
void emitCheckedChanged (bool checked)
 
void emitEnabledChanged (bool enabled)
 
void emitSettingChanged ()
 

Protected Member Functions

QWidget * curveWidget ()
 
 KisCurveOptionWidget (lager::cursor< KisCurveOptionDataCommon > optionData, KisPaintOpOption::PaintopCategory category, const QString &strengthPrefix, const QString &strengthSuffix, qreal strengthDisplayMultiplier, lager::reader< bool > enabledLink, std::optional< lager::reader< std::tuple< qreal, qreal > > > strengthRangeReader, KisCurveRangeModelFactory curveRangeModelFactory, KisCurveOptionInputControlsStrategyFactory inputControlsFactory, KisCurveOptionRangeControlsStrategyFactory rangeControlsFactory, Flags flags)
 
void setCurveWidgetsEnabled (bool value)
 
lager::cursor< qreal > strengthValueDenorm ()
 
- Protected Member Functions inherited from KisPaintOpOption
KoCanvasResourcesInterfaceSP canvasResourcesInterface () const
 
virtual OptionalLodLimitationsReader lodLimitationsReader () const
 
KisResourcesInterfaceSP resourcesInterface () const
 
void setConfigurationPage (QWidget *page)
 

Protected Attributes

QScopedPointer< KisCurveOptionInputControlsStrategyInterfacem_curveInputControlsStrategy
 
QComboBox * m_curveMode {nullptr}
 
Ui_WdgCurveOption2 * m_curveOptionWidget {nullptr}
 
QScopedPointer< KisCurveOptionRangeControlsStrategyInterfacem_curveRangeControlsStrategy
 
const QScopedPointer< Privatem_d
 
QWidget * m_widget {nullptr}
 
- Protected Attributes inherited from KisPaintOpOption
bool m_checkable {false}
 
bool m_locked {false}
 

Additional Inherited Members

- Signals inherited from KisPaintOpOption
void sigCheckedChanged (bool value)
 
void sigEnabledChanged (bool value)
 
void sigSettingChanged ()
 

Detailed Description

Definition at line 23 of file KisCurveOptionWidget.h.

Member Typedef Documentation

◆ data_type

Member Enumeration Documentation

◆ Flag

Enumerator
None 
SupportsCommonCurve 
SupportsCurveMode 
UseFloatingPointStrength 

Definition at line 27 of file KisCurveOptionWidget.h.

Constructor & Destructor Documentation

◆ KisCurveOptionWidget() [1/5]

KisCurveOptionWidget::KisCurveOptionWidget ( lager::cursor< KisCurveOptionDataCommon > optionData,
KisPaintOpOption::PaintopCategory category,
lager::reader< bool > enabledLink = lager::make_constant(true),
std::optional< lager::reader< std::tuple< qreal, qreal > > > strengthRangeReader = std::nullopt )

Definition at line 41 of file KisCurveOptionWidget.cpp.

45 : KisCurveOptionWidget(optionData,
47 i18n("0%"), i18n("100%"),
48 enabledLink,
49 strengthRangeReader)
50{
51}
KisCurveOptionWidget(lager::cursor< KisCurveOptionDataCommon > optionData, KisPaintOpOption::PaintopCategory category, lager::reader< bool > enabledLink=lager::make_constant(true), std::optional< lager::reader< std::tuple< qreal, qreal > > > strengthRangeReader=std::nullopt)
KisPaintOpOption::PaintopCategory category() const

◆ KisCurveOptionWidget() [2/5]

KisCurveOptionWidget::KisCurveOptionWidget ( lager::cursor< KisCurveOptionDataCommon > optionData,
KisPaintOpOption::PaintopCategory category,
const QString & curveMinLabel,
const QString & curveMaxLabel,
lager::reader< bool > enabledLink = lager::make_constant(true),
std::optional< lager::reader< std::tuple< qreal, qreal > > > strengthRangeReader = std::nullopt )

Definition at line 53 of file KisCurveOptionWidget.cpp.

58 : KisCurveOptionWidget(optionData,
60 curveMinLabel, curveMaxLabel,
61 0, 100, i18n("%"),
62 enabledLink,
63 strengthRangeReader)
64{
65
66}

◆ KisCurveOptionWidget() [3/5]

KisCurveOptionWidget::KisCurveOptionWidget ( lager::cursor< KisCurveOptionDataCommon > optionData,
KisPaintOpOption::PaintopCategory category,
const QString & curveMinLabel,
const QString & curveMaxLabel,
int curveMinValue,
int curveMaxValue,
const QString & curveValueSuffix,
lager::reader< bool > enabledLink = lager::make_constant(true),
std::optional< lager::reader< std::tuple< qreal, qreal > > > strengthRangeReader = std::nullopt )

Definition at line 68 of file KisCurveOptionWidget.cpp.

74 : KisCurveOptionWidget(optionData,
76 curveMinLabel, curveMaxLabel,
77 curveMinValue, curveMaxValue, curveValueSuffix,
78 i18n("Strength: "), i18n("%"), 100.0,
79 enabledLink,
80 strengthRangeReader)
81{
82}

◆ KisCurveOptionWidget() [4/5]

KisCurveOptionWidget::KisCurveOptionWidget ( lager::cursor< KisCurveOptionDataCommon > optionData,
PaintopCategory category,
const QString & curveMinLabel,
const QString & curveMaxLabel,
int curveMinValue,
int curveMaxValue,
const QString & curveValueSuffix,
const QString & strengthPrefix,
const QString & strengthSuffix,
qreal strengthDisplayMultiplier,
lager::reader< bool > enabledLink = lager::make_constant(true),
std::optional< lager::reader< std::tuple< qreal, qreal > > > strengthRangeReader = std::nullopt )

Definition at line 84 of file KisCurveOptionWidget.cpp.

92 : KisCurveOptionWidget(optionData,
94 strengthPrefix, strengthSuffix, strengthDisplayMultiplier,
95 enabledLink,
96 strengthRangeReader,
97 KisCurveRangeModel::factory(curveMinLabel,
98 curveMaxLabel,
99 curveMinValue,
100 curveMaxValue,
101 curveValueSuffix),
103 {},
105{
106}
static KisCurveOptionInputControlsStrategyFactory factory()
static KisCurveRangeModelFactory factory(const QString &yMinLabel, const QString &yMaxLabel, int curveMinValue, int curveMaxValue, const QString &curveValueSuffix)

◆ KisCurveOptionWidget() [5/5]

KisCurveOptionWidget::KisCurveOptionWidget ( lager::cursor< KisCurveOptionDataCommon > optionData,
KisPaintOpOption::PaintopCategory category,
const QString & strengthPrefix,
const QString & strengthSuffix,
qreal strengthDisplayMultiplier,
lager::reader< bool > enabledLink,
std::optional< lager::reader< std::tuple< qreal, qreal > > > strengthRangeReader,
KisCurveRangeModelFactory curveRangeModelFactory,
KisCurveOptionInputControlsStrategyFactory inputControlsFactory,
KisCurveOptionRangeControlsStrategyFactory rangeControlsFactory,
Flags flags )
protected

Definition at line 108 of file KisCurveOptionWidget.cpp.

118 : KisPaintOpOption(optionData->id.name(), category, optionData[&KisCurveOptionDataCommon::isChecked], enabledLink)
119 , m_widget(new QWidget)
120 , m_curveOptionWidget(new Ui_WdgCurveOption2())
121 , m_d(new Private(optionData, enabledLink, strengthRangeReader,
122 strengthDisplayMultiplier,
123 curveRangeModelFactory))
124{
125 using namespace KisWidgetConnectionUtils;
126
127 setObjectName("KisCurveOptionWidget");
128
130 m_curveOptionWidget->sensorSelector->setOptionDataCursor(m_d->model.optionData);
131
132 KIS_SAFE_ASSERT_RECOVER (inputControlsFactory) {
134 }
135
137 inputControlsFactory(m_d->model.rangeModel.get(),
138 m_curveOptionWidget->curveWidget,
139 m_curveOptionWidget->intInPlaceholder,
140 m_curveOptionWidget->intOutPlaceholder));
141
142 if (rangeControlsFactory) {
144 rangeControlsFactory(m_d->model.rangeModel.get(),
145 m_curveOptionWidget->wdgRangeControlsPlaceholder));
146 } else {
147 m_curveOptionWidget->wdgRangeControlsPlaceholder->setVisible(false);
148 }
149
151
152 connect(&m_d->model, &KisCurveOptionModel::curveXMinLabelChanged,
153 m_curveOptionWidget->label_xmin, &QLabel::setText);
154 m_curveOptionWidget->label_xmin->setText(m_d->model.curveXMinLabel());
155
156 connect(&m_d->model, &KisCurveOptionModel::curveXMaxLabelChanged,
157 m_curveOptionWidget->label_xmax, &QLabel::setText);
158 m_curveOptionWidget->label_xmax->setText(m_d->model.curveXMaxLabel());
159
160 connect(&m_d->model, &KisCurveOptionModel::curveYMinLabelChanged,
161 m_curveOptionWidget->label_ymin, &QLabel::setText);
162 m_curveOptionWidget->label_ymin->setText(m_d->model.curveYMinLabel());
163
164 connect(&m_d->model, &KisCurveOptionModel::curveYMaxLabelChanged,
165 m_curveOptionWidget->label_ymax, &QLabel::setText);
166 m_curveOptionWidget->label_ymax->setText(m_d->model.curveYMaxLabel());
167
168 m_d->model.activeSensorIdData.bind(
169 std::bind(qOverload<const QString&>(&KisMultiSensorsSelector::setCurrent),
170 m_curveOptionWidget->sensorSelector,
171 std::placeholders::_1));
172 connect(m_curveOptionWidget->sensorSelector,
174 std::bind(&KisCurveOptionModel::setactiveSensorId, &m_d->model, std::placeholders::_1));
175
176 // set all the icons for the curve preset shapes
178
179 // various curve preset buttons with predefined curves
180 connect(m_curveOptionWidget->linearCurveButton, SIGNAL(clicked(bool)), this, SLOT(changeCurveLinear()));
181 connect(m_curveOptionWidget->revLinearButton, SIGNAL(clicked(bool)), this, SLOT(changeCurveReverseLinear()));
182 connect(m_curveOptionWidget->jCurveButton, SIGNAL(clicked(bool)), this, SLOT(changeCurveJShape()));
183 connect(m_curveOptionWidget->lCurveButton, SIGNAL(clicked(bool)), this, SLOT(changeCurveLShape()));
184 connect(m_curveOptionWidget->sCurveButton, SIGNAL(clicked(bool)), this, SLOT(changeCurveSShape()));
185 connect(m_curveOptionWidget->reverseSCurveButton, SIGNAL(clicked(bool)), this, SLOT(changeCurveReverseSShape()));
186 connect(m_curveOptionWidget->uCurveButton, SIGNAL(clicked(bool)), this, SLOT(changeCurveUShape()));
187 connect(m_curveOptionWidget->revUCurveButton, SIGNAL(clicked(bool)), this, SLOT(changeCurveArchShape()));
188
189 m_curveOptionWidget->strengthSlider->setPrefix(strengthPrefix);
190 m_curveOptionWidget->strengthSlider->setSuffix(strengthSuffix);
191
192 connect(m_curveOptionWidget->strengthSlider, qOverload<qreal>(&KisDoubleSliderSpinBox::valueChanged),
193 &m_d->model, &KisCurveOptionModel::setstrengthValueDenorm);
194
195 const bool useFloatingPointStrength = flags & UseFloatingPointStrength;
196
197 if (useFloatingPointStrength) {
198 m_curveOptionWidget->strengthSlider->setSingleStep(0.01);
199 }
200
201 m_d->model.LAGER_QT(effectiveStrengthStateDenorm).bind(
202 kismpl::unzip_wrapper([this, useFloatingPointStrength] (qreal value, qreal min, qreal max) {
203 KisSignalsBlocker b(m_curveOptionWidget->strengthSlider);
204 m_curveOptionWidget->strengthSlider->setRange(min, max, useFloatingPointStrength ? 2 : 0);
205 m_curveOptionWidget->strengthSlider->setValue(value);
206 }));
207
208 connectControl(m_curveOptionWidget->curveWidget, &m_d->model, "displayedCurve");
209
210 m_d->model.LAGER_QT(useCurve).bind(std::bind(&KisCurveOptionWidget::setCurveWidgetsEnabled, this, std::placeholders::_1));
211 connectControl(m_curveOptionWidget->checkBoxUseCurve, &m_d->model, "useCurve");
212
213 if (flags & SupportsCommonCurve) {
214 connectControl(m_curveOptionWidget->checkBoxUseSameCurve, &m_d->model, "useSameCurve");
215 } else {
216 m_curveOptionWidget->checkBoxUseSameCurve->setVisible(false);
217 }
218
219 if (flags & SupportsCurveMode) {
220 connectControl(m_curveOptionWidget->curveMode, &m_d->model, "curveMode");
221 } else {
222 m_curveOptionWidget->curveMode->setVisible(false);
223 m_curveOptionWidget->lblCurveMode->setVisible(false);
224 }
225
226 m_d->model.optionData.bind(std::bind(&KisCurveOptionWidget::emitSettingChanged, this));
227}
float value(const T *src, size_t ch)
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
QScopedPointer< KisCurveOptionInputControlsStrategyInterface > m_curveInputControlsStrategy
Ui_WdgCurveOption2 * m_curveOptionWidget
void setCurveWidgetsEnabled(bool value)
const QScopedPointer< Private > m_d
QScopedPointer< KisCurveOptionRangeControlsStrategyInterface > m_curveRangeControlsStrategy
void setCurrent(const QString &id)
void highlightedSensorChanged(const QString &id)
void setConfigurationPage(QWidget *page)
KisPaintOpOption(const QString &label, KisPaintOpOption::PaintopCategory category, bool checked)
#define KIS_SAFE_ASSERT_RECOVER(cond)
Definition kis_assert.h:126
void connectControl(KisCompositeOpListWidget *widget, QObject *source, const char *property)
constexpr auto unzip_wrapper
Definition KisMpl.h:70

References changeCurveArchShape(), changeCurveJShape(), changeCurveLinear(), changeCurveLShape(), changeCurveReverseLinear(), changeCurveReverseSShape(), changeCurveSShape(), changeCurveUShape(), connect(), KisPaintOpOption::emitSettingChanged(), KisCurveOptionInputControlsStrategy< QSpinBox >::factory(), KisMultiSensorsSelector::highlightedSensorChanged(), KIS_SAFE_ASSERT_RECOVER, m_curveInputControlsStrategy, m_curveOptionWidget, m_curveRangeControlsStrategy, m_d, m_widget, KisPaintOpOption::setConfigurationPage(), KisMultiSensorsSelector::setCurrent(), setCurveWidgetsEnabled(), SupportsCommonCurve, SupportsCurveMode, kismpl::unzip_wrapper, updateThemedIcons(), UseFloatingPointStrength, and value().

◆ ~KisCurveOptionWidget()

KisCurveOptionWidget::~KisCurveOptionWidget ( )
override

Definition at line 229 of file KisCurveOptionWidget.cpp.

230{
231 delete m_curveOptionWidget;
232}

References m_curveOptionWidget.

Member Function Documentation

◆ changeCurveArchShape

void KisCurveOptionWidget::changeCurveArchShape ( )
protectedslot

Definition at line 351 of file KisCurveOptionWidget.cpp.

352{
353 QList<QPointF> points;
354 points.push_back(QPointF(0,0));
355 points.push_back(QPointF(0.5,1));
356 points.push_back(QPointF(1,0));
357 m_d->model.setdisplayedCurve(KisCubicCurve(points).toString());
358}
QString toString(const QString &value)

References m_d.

◆ changeCurveJShape

void KisCurveOptionWidget::changeCurveJShape ( )
protectedslot

Definition at line 324 of file KisCurveOptionWidget.cpp.

325{
326 QList<QPointF> points;
327 points.push_back(QPointF(0,0));
328 points.push_back(QPointF(0.35,0.1));
329 points.push_back(QPointF(1,1));
330 m_d->model.setdisplayedCurve(KisCubicCurve(points).toString());
331}

References m_d.

◆ changeCurveLinear

void KisCurveOptionWidget::changeCurveLinear ( )
protectedslot

Definition at line 287 of file KisCurveOptionWidget.cpp.

288{
289 QList<QPointF> points;
290 points.push_back(QPointF(0,0));
291 points.push_back(QPointF(1,1));
292 m_d->model.setdisplayedCurve(KisCubicCurve(points).toString());
293}

References m_d.

◆ changeCurveLShape

void KisCurveOptionWidget::changeCurveLShape ( )
protectedslot

Definition at line 333 of file KisCurveOptionWidget.cpp.

334{
335 QList<QPointF> points;
336 points.push_back(QPointF(0,1));
337 points.push_back(QPointF(0.25,0.48));
338 points.push_back(QPointF(1,0));
339 m_d->model.setdisplayedCurve(KisCubicCurve(points).toString());
340}

References m_d.

◆ changeCurveReverseLinear

void KisCurveOptionWidget::changeCurveReverseLinear ( )
protectedslot

Definition at line 295 of file KisCurveOptionWidget.cpp.

296{
297 QList<QPointF> points;
298 points.push_back(QPointF(0,1));
299 points.push_back(QPointF(1,0));
300 m_d->model.setdisplayedCurve(KisCubicCurve(points).toString());
301}

References m_d.

◆ changeCurveReverseSShape

void KisCurveOptionWidget::changeCurveReverseSShape ( )
protectedslot

Definition at line 314 of file KisCurveOptionWidget.cpp.

315{
316 QList<QPointF> points;
317 points.push_back(QPointF(0,1));
318 points.push_back(QPointF(0.25,0.9));
319 points.push_back(QPointF(0.75,0.1));
320 points.push_back(QPointF(1,0));
321 m_d->model.setdisplayedCurve(KisCubicCurve(points).toString());
322}

References m_d.

◆ changeCurveSShape

void KisCurveOptionWidget::changeCurveSShape ( )
protectedslot

Definition at line 303 of file KisCurveOptionWidget.cpp.

304{
305 QList<QPointF> points;
306 points.push_back(QPointF(0,0));
307 points.push_back(QPointF(0.25,0.1));
308 points.push_back(QPointF(0.75,0.9));
309 points.push_back(QPointF(1, 1));
310 m_d->model.setdisplayedCurve(KisCubicCurve(points).toString());
311}

References m_d.

◆ changeCurveUShape

void KisCurveOptionWidget::changeCurveUShape ( )
protectedslot

Definition at line 342 of file KisCurveOptionWidget.cpp.

343{
344 QList<QPointF> points;
345 points.push_back(QPointF(0,1));
346 points.push_back(QPointF(0.5,0));
347 points.push_back(QPointF(1,1));
348 m_d->model.setdisplayedCurve(KisCubicCurve(points).toString());
349}

References m_d.

◆ curveWidget()

QWidget * KisCurveOptionWidget::curveWidget ( )
protected

Definition at line 282 of file KisCurveOptionWidget.cpp.

283{
284 return m_widget;
285}

References m_widget.

◆ isCheckable()

bool KisCurveOptionWidget::isCheckable ( ) const
overridevirtual

Reimplemented from KisPaintOpOption.

Definition at line 246 of file KisCurveOptionWidget.cpp.

247{
248 return m_d->model.isCheckable();
249}

References m_d.

◆ readOptionSetting()

void KisCurveOptionWidget::readOptionSetting ( const KisPropertiesConfigurationSP setting)
overridevirtual

Re-implement this to set the widgets with the values in setting.

Reimplemented from KisPaintOpOption.

Reimplemented in KisPaintThicknessOptionWidget, KisSmudgeLengthOptionWidget, KisMirrorOptionWidget, KisScatterOptionWidget, KisSharpnessOptionWidget, and KisSpacingOptionWidget.

Definition at line 239 of file KisCurveOptionWidget.cpp.

240{
241 KisCurveOptionDataCommon data(*m_d->model.optionData);
242 data.read(setting.data());
243 m_d->model.optionData.set(data);
244}

References KisSharedPtr< T >::data(), m_d, and KisCurveOptionDataCommon::read().

◆ setCurveWidgetsEnabled()

void KisCurveOptionWidget::setCurveWidgetsEnabled ( bool value)
protected

Definition at line 256 of file KisCurveOptionWidget.cpp.

257{
258 m_curveOptionWidget->checkBoxUseSameCurve->setEnabled(value);
259 m_curveOptionWidget->curveWidget->setEnabled(value);
260 m_curveOptionWidget->sensorSelector->setEnabled(value);
261 m_curveOptionWidget->label_xmax->setEnabled(value);
262 m_curveOptionWidget->label_xmin->setEnabled(value);
263 m_curveOptionWidget->label_ymax->setEnabled(value);
264 m_curveOptionWidget->label_ymin->setEnabled(value);
265 m_curveOptionWidget->intInPlaceholder->setEnabled(value);
266 m_curveOptionWidget->intOutPlaceholder->setEnabled(value);
267
268 m_curveOptionWidget->linearCurveButton->setEnabled(value);
269 m_curveOptionWidget->revLinearButton->setEnabled(value);
270 m_curveOptionWidget->jCurveButton->setEnabled(value);
271 m_curveOptionWidget->lCurveButton->setEnabled(value);
272 m_curveOptionWidget->revUCurveButton->setEnabled(value);
273 m_curveOptionWidget->reverseSCurveButton->setEnabled(value);
274 m_curveOptionWidget->uCurveButton->setEnabled(value);
275 m_curveOptionWidget->sCurveButton->setEnabled(value);
276
277 m_curveOptionWidget->curveMode->setEnabled(value);
278 m_curveOptionWidget->lblCurveMode->setEnabled(value);
279
280}

References m_curveOptionWidget, and value().

◆ show()

void KisCurveOptionWidget::show ( )

◆ strengthValueDenorm()

lager::cursor< qreal > KisCurveOptionWidget::strengthValueDenorm ( )
protected

Definition at line 251 of file KisCurveOptionWidget.cpp.

252{
253 return m_d->model.LAGER_QT(strengthValueDenorm);
254}
lager::cursor< qreal > strengthValueDenorm()

References m_d, and strengthValueDenorm().

◆ updateThemedIcons

void KisCurveOptionWidget::updateThemedIcons ( )
protectedslot

Definition at line 360 of file KisCurveOptionWidget.cpp.

361{
362 // set all the icons for the curve preset shapes
363 m_curveOptionWidget->linearCurveButton->setIcon(KisIconUtils::loadIcon("curve-preset-linear"));
364 m_curveOptionWidget->revLinearButton->setIcon(KisIconUtils::loadIcon("curve-preset-linear-reverse"));
365 m_curveOptionWidget->jCurveButton->setIcon(KisIconUtils::loadIcon("curve-preset-j"));
366 m_curveOptionWidget->lCurveButton->setIcon(KisIconUtils::loadIcon("curve-preset-l"));
367 m_curveOptionWidget->sCurveButton->setIcon(KisIconUtils::loadIcon("curve-preset-s"));
368 m_curveOptionWidget->reverseSCurveButton->setIcon(KisIconUtils::loadIcon("curve-preset-s-reverse"));
369 m_curveOptionWidget->uCurveButton->setIcon(KisIconUtils::loadIcon("curve-preset-u"));
370 m_curveOptionWidget->revUCurveButton->setIcon(KisIconUtils::loadIcon("curve-preset-arch"));
371
372 // this helps make the checkboxes show themselves on the dark color themes
373 QPalette pal = m_curveOptionWidget->sensorSelector->palette();
374 QPalette newPalette = pal;
375 newPalette.setColor(QPalette::Active, QPalette::Window, pal.text().color() );
376 m_curveOptionWidget->sensorSelector->setPalette(newPalette);
377
378}
QIcon loadIcon(const QString &name)

References KisIconUtils::loadIcon(), and m_curveOptionWidget.

◆ writeOptionSetting()

void KisCurveOptionWidget::writeOptionSetting ( KisPropertiesConfigurationSP setting) const
overridevirtual

Re-implement this to save the configuration to the paint configuration.

Reimplemented from KisPaintOpOption.

Reimplemented in KisPaintThicknessOptionWidget, KisSmudgeLengthOptionWidget, KisMirrorOptionWidget, KisScatterOptionWidget, KisSharpnessOptionWidget, and KisSpacingOptionWidget.

Definition at line 234 of file KisCurveOptionWidget.cpp.

235{
236 m_d->model.bakedOptionData().write(setting.data());
237}

References KisSharedPtr< T >::data(), and m_d.

Member Data Documentation

◆ m_curveInputControlsStrategy

QScopedPointer<KisCurveOptionInputControlsStrategyInterface> KisCurveOptionWidget::m_curveInputControlsStrategy
protected

Definition at line 111 of file KisCurveOptionWidget.h.

◆ m_curveMode

QComboBox* KisCurveOptionWidget::m_curveMode {nullptr}
protected

Definition at line 113 of file KisCurveOptionWidget.h.

113{nullptr};

◆ m_curveOptionWidget

Ui_WdgCurveOption2* KisCurveOptionWidget::m_curveOptionWidget {nullptr}
protected

Definition at line 110 of file KisCurveOptionWidget.h.

110{nullptr};

◆ m_curveRangeControlsStrategy

QScopedPointer<KisCurveOptionRangeControlsStrategyInterface> KisCurveOptionWidget::m_curveRangeControlsStrategy
protected

Definition at line 112 of file KisCurveOptionWidget.h.

◆ m_d

const QScopedPointer<Private> KisCurveOptionWidget::m_d
protected

Definition at line 115 of file KisCurveOptionWidget.h.

◆ m_widget

QWidget* KisCurveOptionWidget::m_widget {nullptr}
protected

Definition at line 109 of file KisCurveOptionWidget.h.

109{nullptr};

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