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

#include <artisticcolorselector_dock.h>

+ Inheritance diagram for ArtisticColorSelectorDock:

Public Member Functions

 ArtisticColorSelectorDock ()
 
QString observerName () override
 
void setCanvas (KoCanvasBase *canvas) override
 
void setViewManager (KisViewManager *kisview) override
 
void unsetCanvas () override
 
 ~ArtisticColorSelectorDock () override
 
- Public Member Functions inherited from KisMainwindowObserver
 KisMainwindowObserver ()
 
 ~KisMainwindowObserver () override
 
- Public Member Functions inherited from KoCanvasObserverBase
 KoCanvasObserverBase ()
 
KoCanvasBaseobservedCanvas () const
 
void setObservedCanvas (KoCanvasBase *canvas)
 
void unsetObservedCanvas ()
 
virtual ~KoCanvasObserverBase ()
 

Private Slots

void slotBgColorChanged (const KisColor &color)
 
void slotCanvasResourceChanged (int key, const QVariant &value)
 
void slotColorSpaceSelected ()
 
void slotFgColorChanged (const KisColor &color)
 
void slotGamutMaskDeactivate ()
 
void slotGamutMaskPreviewUpdate ()
 
void slotGamutMaskSet (KoGamutMaskSP mask)
 
void slotGamutMaskToggle (bool value)
 
void slotGamutMaskUnset ()
 
void slotPreferenceChanged ()
 
void slotResetDefaultSettings ()
 
void slotSelectorSettingsChanged ()
 

Private Attributes

KisCanvas2m_canvas
 
QButtonGroup * m_hsxButtons
 
QIcon m_iconMaskOff
 
QIcon m_iconMaskOn
 
QPixmap m_infinityPixmap
 
ARCSSettingsUIm_preferencesUI
 
KisCanvasResourceProviderm_resourceProvider
 
KoGamutMaskSP m_selectedMask
 
ArtisticColorSelectorUIm_selectorUI
 
WheelPreferencesPopupUIm_wheelPrefsUI
 

Additional Inherited Members

Detailed Description

Definition at line 31 of file artisticcolorselector_dock.h.

Constructor & Destructor Documentation

◆ ArtisticColorSelectorDock()

ArtisticColorSelectorDock::ArtisticColorSelectorDock ( )

Definition at line 65 of file artisticcolorselector_dock.cpp.

66 : QDockWidget(i18n("Artistic Color Selector"))
67 , m_canvas(nullptr)
69 , m_selectedMask(nullptr)
70{
71 setEnabled(false);
72
73 m_hsxButtons = new QButtonGroup();
77
78 QPixmap hueStepsPixmap = KisIconUtils::loadIcon("wheel-sectors").pixmap(16,16);
79 QPixmap saturationStepsPixmap = KisIconUtils::loadIcon("wheel-rings").pixmap(16,16);
80 QPixmap valueScaleStepsPixmap = KisIconUtils::loadIcon("wheel-light").pixmap(16,16);
81 QIcon infinityIcon = KisIconUtils::loadIcon("infinity");
82 m_infinityPixmap = infinityIcon.pixmap(16,16);
83
84 m_selectorUI->colorSelector->loadSettings();
85
86 m_selectorUI->bnWheelPrefs->setIcon(KisIconUtils::loadIcon("wheel-sectors"));
87 m_selectorUI->bnWheelPrefs->setPopupWidget(m_wheelPrefsUI);
88 m_selectorUI->bnWheelPrefs->setArrowVisible(false);
89
90 m_selectorUI->bnDockerPrefs->setPopupWidget(m_preferencesUI);
91 m_selectorUI->bnDockerPrefs->setIcon(KisIconUtils::loadIcon("configure-thicker"));
92 m_selectorUI->bnDockerPrefs->setArrowVisible(false);
93
94 //preferences
95 m_hsxButtons->addButton(m_preferencesUI->bnHsy, KisColor::HSY);
96 m_hsxButtons->addButton(m_preferencesUI->bnHsi, KisColor::HSI);
97 m_hsxButtons->addButton(m_preferencesUI->bnHsl, KisColor::HSL);
98 m_hsxButtons->addButton(m_preferencesUI->bnHsv, KisColor::HSV);
99
100 m_wheelPrefsUI->bnInverseSat->setChecked(m_selectorUI->colorSelector->isSaturationInverted());
101
102 m_wheelPrefsUI->labelHueSteps->setPixmap(hueStepsPixmap);
103 m_wheelPrefsUI->labelSaturationSteps->setPixmap(saturationStepsPixmap);
104 m_wheelPrefsUI->labelValueScaleSteps->setPixmap(valueScaleStepsPixmap);
105
108 m_wheelPrefsUI->numValueScaleSteps->setRange(MIN_NUM_UI_LIGHT_PIECES, MAX_NUM_LIGHT_PIECES);
109
110 m_wheelPrefsUI->bnInfHueSteps->setIcon(infinityIcon);
111 m_wheelPrefsUI->bnInfValueScaleSteps->setIcon(infinityIcon);
112
113 m_wheelPrefsUI->bnInfHueSteps->setToolTip(i18n("Continuous Mode"));
114 m_wheelPrefsUI->bnInfValueScaleSteps->setToolTip(i18n("Continuous Mode"));
115
116 int selectorHueSteps = m_selectorUI->colorSelector->getNumPieces();
117 if (selectorHueSteps == 1) {
118 m_wheelPrefsUI->bnInfHueSteps->setChecked(true);
119 } else {
120 m_wheelPrefsUI->bnInfHueSteps->setChecked(false);
121 }
122 m_wheelPrefsUI->numHueSteps->setValue(selectorHueSteps);
123
124 m_wheelPrefsUI->numSaturationSteps->setValue(m_selectorUI->colorSelector->getNumRings());
125
126 int selectorValueScaleSteps = m_selectorUI->colorSelector->getNumLightPieces();
127 if (selectorValueScaleSteps == 1) {
128 m_wheelPrefsUI->bnInfValueScaleSteps->setChecked(true);
129 } else {
130 m_wheelPrefsUI->bnInfValueScaleSteps->setChecked(false);
131 }
132 m_wheelPrefsUI->numValueScaleSteps->setValue(m_selectorUI->colorSelector->getNumLightPieces());
133
134 m_preferencesUI->bnDefInfHueSteps->setIcon(infinityIcon);
135 m_preferencesUI->bnDefInfValueScaleSteps->setIcon(infinityIcon);
136
137 m_preferencesUI->labelDefHueSteps->setPixmap(hueStepsPixmap);
138 m_preferencesUI->labelDefSaturationSteps->setPixmap(saturationStepsPixmap);
139 m_preferencesUI->labelDefValueScaleSteps->setPixmap(valueScaleStepsPixmap);
140
141 m_preferencesUI->defaultHueSteps->setRange(MIN_NUM_HUE_PIECES, MAX_NUM_HUE_PIECES);
142 m_preferencesUI->defaultSaturationSteps->setRange(MIN_NUM_SATURATION_RINGS, MAX_NUM_SATURATION_RINGS);
143 m_preferencesUI->defaultValueScaleSteps->setRange(MIN_NUM_LIGHT_PIECES, MAX_NUM_LIGHT_PIECES);
144
145 m_preferencesUI->defaultHueSteps->setValue(m_selectorUI->colorSelector->getDefaultHueSteps());
146 m_preferencesUI->defaultSaturationSteps->setValue(m_selectorUI->colorSelector->getDefaultSaturationSteps());
147 m_preferencesUI->defaultValueScaleSteps->setValue(m_selectorUI->colorSelector->getDefaultValueScaleSteps());
148
149 m_preferencesUI->showBgColor->setChecked(m_selectorUI->colorSelector->getShowBgColor());
150 m_preferencesUI->showValueScaleNumbers->setChecked(m_selectorUI->colorSelector->getShowValueScaleNumbers());
151
152 m_preferencesUI->enforceGamutMask->setChecked(m_selectorUI->colorSelector->enforceGamutMask());
153 m_preferencesUI->permissiveGamutMask->setChecked(!m_selectorUI->colorSelector->enforceGamutMask());
154
155 m_preferencesUI->spLumaR->setValue(m_selectorUI->colorSelector->lumaR());
156 m_preferencesUI->spLumaG->setValue(m_selectorUI->colorSelector->lumaG());
157 m_preferencesUI->spLumaB->setValue(m_selectorUI->colorSelector->lumaB());
158 m_preferencesUI->spLumaGamma->setValue(m_selectorUI->colorSelector->lumaGamma());
159
160 switch(m_selectorUI->colorSelector->getColorSpace())
161 {
162 case KisColor::HSV: { m_preferencesUI->bnHsv->setChecked(true); } break;
163 case KisColor::HSI: { m_preferencesUI->bnHsi->setChecked(true); } break;
164 case KisColor::HSL: { m_preferencesUI->bnHsl->setChecked(true); } break;
165 case KisColor::HSY: { m_preferencesUI->bnHsy->setChecked(true); } break;
166 }
167
168 if (m_selectorUI->colorSelector->getColorSpace() == KisColor::HSY) {
169 m_preferencesUI->lumaCoefficientBox->show();
170 } else {
171 m_preferencesUI->lumaCoefficientBox->hide();
172 }
173
174 connect(m_wheelPrefsUI->numValueScaleSteps , SIGNAL(valueChanged(int)) , SLOT(slotPreferenceChanged()));
175 connect(m_wheelPrefsUI->numHueSteps , SIGNAL(valueChanged(int)) , SLOT(slotPreferenceChanged()));
176 connect(m_wheelPrefsUI->numSaturationSteps , SIGNAL(valueChanged(int)) , SLOT(slotPreferenceChanged()));
177 connect(m_wheelPrefsUI->bnInverseSat , SIGNAL(clicked(bool)) , SLOT(slotPreferenceChanged()));
178 connect(m_wheelPrefsUI->bnInfHueSteps , SIGNAL(clicked(bool)) , SLOT(slotPreferenceChanged()));
179 connect(m_wheelPrefsUI->bnInfValueScaleSteps, SIGNAL(clicked(bool)) , SLOT(slotPreferenceChanged()));
180 connect(m_wheelPrefsUI->bnDefault , SIGNAL(clicked(bool)) , SLOT(slotResetDefaultSettings()));
181
182 connect(m_preferencesUI->defaultHueSteps , SIGNAL(valueChanged(int)) , SLOT(slotPreferenceChanged()));
183 connect(m_preferencesUI->defaultSaturationSteps, SIGNAL(valueChanged(int)) , SLOT(slotPreferenceChanged()));
184 connect(m_preferencesUI->defaultValueScaleSteps, SIGNAL(valueChanged(int)) , SLOT(slotPreferenceChanged()));
185 connect(m_preferencesUI->bnDefInfHueSteps , SIGNAL(clicked(bool)) , SLOT(slotPreferenceChanged()));
186 connect(m_preferencesUI->bnDefInfValueScaleSteps, SIGNAL(clicked(bool)) , SLOT(slotPreferenceChanged()));
187
188 connect(m_preferencesUI->showBgColor , SIGNAL(toggled(bool)) , SLOT(slotPreferenceChanged()));
189 connect(m_preferencesUI->showValueScaleNumbers, SIGNAL(toggled(bool)) , SLOT(slotPreferenceChanged()));
190 connect(m_preferencesUI->enforceGamutMask , SIGNAL(toggled(bool)) , SLOT(slotPreferenceChanged()));
191
192 connect(m_preferencesUI->spLumaR , SIGNAL(valueChanged(qreal)), SLOT(slotColorSpaceSelected()));
193 connect(m_preferencesUI->spLumaG , SIGNAL(valueChanged(qreal)), SLOT(slotColorSpaceSelected()));
194 connect(m_preferencesUI->spLumaB , SIGNAL(valueChanged(qreal)), SLOT(slotColorSpaceSelected()));
195 connect(m_preferencesUI->spLumaGamma , SIGNAL(valueChanged(qreal)), SLOT(slotColorSpaceSelected()));
196
197 connect(m_selectorUI->colorSelector , SIGNAL(sigFgColorChanged(KisColor)) , SLOT(slotFgColorChanged(KisColor)));
198 connect(m_selectorUI->colorSelector , SIGNAL(sigBgColorChanged(KisColor)) , SLOT(slotBgColorChanged(KisColor)));
199
200 connect(m_hsxButtons , SIGNAL(idClicked(int)) , SLOT(slotColorSpaceSelected()));
201
202 setWidget(m_selectorUI);
203}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
void slotFgColorChanged(const KisColor &color)
void slotBgColorChanged(const KisColor &color)
KisCanvasResourceProvider * m_resourceProvider
WheelPreferencesPopupUI * m_wheelPrefsUI
ArtisticColorSelectorUI * m_selectorUI
static const int MIN_NUM_SATURATION_RINGS
static const int MAX_NUM_HUE_PIECES
static const int MAX_NUM_LIGHT_PIECES
static const int MIN_NUM_HUE_PIECES
static const int MAX_NUM_SATURATION_RINGS
static const int MIN_NUM_UI_HUE_PIECES
static const int MIN_NUM_UI_LIGHT_PIECES
static const int MIN_NUM_LIGHT_PIECES
QIcon loadIcon(const QString &name)

References connect(), KisColor::HSI, KisColor::HSL, KisColor::HSV, KisColor::HSY, KisIconUtils::loadIcon(), m_hsxButtons, m_infinityPixmap, m_preferencesUI, m_selectorUI, m_wheelPrefsUI, MAX_NUM_HUE_PIECES, MAX_NUM_LIGHT_PIECES, MAX_NUM_SATURATION_RINGS, MIN_NUM_HUE_PIECES, MIN_NUM_LIGHT_PIECES, MIN_NUM_SATURATION_RINGS, MIN_NUM_UI_HUE_PIECES, MIN_NUM_UI_LIGHT_PIECES, slotBgColorChanged(), slotColorSpaceSelected(), slotFgColorChanged(), slotPreferenceChanged(), and slotResetDefaultSettings().

◆ ~ArtisticColorSelectorDock()

ArtisticColorSelectorDock::~ArtisticColorSelectorDock ( )
override

Definition at line 205 of file artisticcolorselector_dock.cpp.

206{
207 m_selectorUI->colorSelector->saveSettings();
208 delete m_hsxButtons;
209}

References m_hsxButtons, and m_selectorUI.

Member Function Documentation

◆ observerName()

QString ArtisticColorSelectorDock::observerName ( )
inlineoverridevirtual

Reimplemented from KoCanvasObserverBase.

Definition at line 38 of file artisticcolorselector_dock.h.

38{ return "ArtisticColorSelectorDock"; }

◆ setCanvas()

void ArtisticColorSelectorDock::setCanvas ( KoCanvasBase * canvas)
overridevirtual

re-implement this method in your canvas observer. It will be called whenever a canvas becomes active. Note that you are responsible for not connecting more than one time to the signals of a canvas or any of the QObjects you can access through the canvas.

Implements KoCanvasObserverBase.

Definition at line 378 of file artisticcolorselector_dock.cpp.

379{
380 if (!canvas) {
381 return;
382 }
383
384 m_canvas = dynamic_cast<KisCanvas2*>(canvas);
385
386 if (m_canvas) {
388 }
389
390 if (m_canvas) {
391 connect(m_canvas->resourceManager(), SIGNAL(canvasResourceChanged(int,QVariant)),
392 SLOT(slotCanvasResourceChanged(int,QVariant)), Qt::UniqueConnection);
393
394 connect(m_canvas->displayColorConverter(), SIGNAL(displayConfigurationChanged()),
395 SLOT(slotSelectorSettingsChanged()), Qt::UniqueConnection);
396
397 m_selectorUI->colorSelector->setColorConverter(m_canvas->displayColorConverter());
398 setEnabled(true);
399 }
400}
void slotCanvasResourceChanged(int key, const QVariant &value)
KisDisplayColorConverter displayColorConverter
void disconnectCanvasObserver(QObject *object) override
QPointer< KoCanvasResourceProvider > resourceManager

References connect(), KisCanvas2::disconnectCanvasObserver(), KisCanvas2::displayColorConverter, m_canvas, m_selectorUI, KoCanvasBase::resourceManager, slotCanvasResourceChanged(), and slotSelectorSettingsChanged().

◆ setViewManager()

void ArtisticColorSelectorDock::setViewManager ( KisViewManager * kisview)
overridevirtual

Implements KisMainwindowObserver.

Definition at line 211 of file artisticcolorselector_dock.cpp.

212{
214 m_selectorUI->colorSelector->setFgColor(m_resourceProvider->resourceManager()->foregroundColor());
215 m_selectorUI->colorSelector->setBgColor(m_resourceProvider->resourceManager()->backgroundColor());
216
217 connect(m_resourceProvider, SIGNAL(sigGamutMaskChanged(KoGamutMaskSP)),
218 this, SLOT(slotGamutMaskSet(KoGamutMaskSP)), Qt::UniqueConnection);
219
220 connect(m_resourceProvider, SIGNAL(sigGamutMaskUnset()),
221 this, SLOT(slotGamutMaskUnset()), Qt::UniqueConnection);
222
223 connect(m_resourceProvider, SIGNAL(sigGamutMaskPreviewUpdate()),
224 this, SLOT(slotGamutMaskPreviewUpdate()), Qt::UniqueConnection);
225
226 connect(m_resourceProvider, SIGNAL(sigGamutMaskDeactivated()),
227 this, SLOT(slotGamutMaskDeactivate()), Qt::UniqueConnection);
228
229 m_selectorUI->gamutMaskToolbar->connectMaskSignals(m_resourceProvider);
230}
void slotGamutMaskSet(KoGamutMaskSP mask)
KoCanvasResourceProvider * resourceManager()
KisCanvasResourceProvider * canvasResourceProvider()

References KoCanvasResourceProvider::backgroundColor(), KisViewManager::canvasResourceProvider(), connect(), KoCanvasResourceProvider::foregroundColor(), m_resourceProvider, m_selectorUI, KisCanvasResourceProvider::resourceManager(), slotGamutMaskDeactivate(), slotGamutMaskPreviewUpdate(), slotGamutMaskSet(), and slotGamutMaskUnset().

◆ slotBgColorChanged

void ArtisticColorSelectorDock::slotBgColorChanged ( const KisColor & color)
privateslot

◆ slotCanvasResourceChanged

void ArtisticColorSelectorDock::slotCanvasResourceChanged ( int key,
const QVariant & value )
privateslot

Definition at line 232 of file artisticcolorselector_dock.cpp.

233{
235 m_selectorUI->colorSelector->setFgColor(value.value<KoColor>());
236
238 m_selectorUI->colorSelector->setBgColor(value.value<KoColor>());
239}
float value(const T *src, size_t ch)
@ BackgroundColor
The active background color selected for this canvas.
@ ForegroundColor
The active foreground color selected for this canvas.

References KoCanvasResource::BackgroundColor, KoCanvasResource::ForegroundColor, m_selectorUI, and value().

◆ slotColorSpaceSelected

void ArtisticColorSelectorDock::slotColorSpaceSelected ( )
privateslot

Definition at line 255 of file artisticcolorselector_dock.cpp.

256{
257 KisColor::Type type = static_cast<KisColor::Type>(
258 m_hsxButtons->id(m_hsxButtons->checkedButton()));
259
260 m_selectorUI->colorSelector->setColorSpace(type);
261
262 if (type == KisColor::HSY) {
263 m_preferencesUI->lumaCoefficientBox->show();
264 } else {
265 m_preferencesUI->lumaCoefficientBox->hide();
266 }
267
268 m_selectorUI->colorSelector->setLumaCoefficients(
269 m_preferencesUI->spLumaR->value(),
270 m_preferencesUI->spLumaG->value(),
271 m_preferencesUI->spLumaB->value(),
272 m_preferencesUI->spLumaGamma->value()
273 );
274}

References KisColor::HSY, m_hsxButtons, m_preferencesUI, and m_selectorUI.

◆ slotFgColorChanged

◆ slotGamutMaskDeactivate

void ArtisticColorSelectorDock::slotGamutMaskDeactivate ( )
privateslot

Definition at line 442 of file artisticcolorselector_dock.cpp.

443{
444 slotGamutMaskToggle(false);
445}

References slotGamutMaskToggle().

◆ slotGamutMaskPreviewUpdate

void ArtisticColorSelectorDock::slotGamutMaskPreviewUpdate ( )
privateslot

Definition at line 437 of file artisticcolorselector_dock.cpp.

438{
439 m_selectorUI->colorSelector->setDirty();
440}

References m_selectorUI.

◆ slotGamutMaskSet

void ArtisticColorSelectorDock::slotGamutMaskSet ( KoGamutMaskSP mask)
privateslot

Definition at line 409 of file artisticcolorselector_dock.cpp.

410{
411 if (!mask) {
412 return;
413 }
414
415 m_selectedMask = mask;
416
417 if (m_selectedMask) {
418 m_selectorUI->colorSelector->setGamutMask(m_selectedMask);
420 } else {
421 slotGamutMaskToggle(false);
422 }
423}

References m_selectedMask, m_selectorUI, and slotGamutMaskToggle().

◆ slotGamutMaskToggle

void ArtisticColorSelectorDock::slotGamutMaskToggle ( bool value)
privateslot

Definition at line 367 of file artisticcolorselector_dock.cpp.

368{
369 bool b = (!m_selectedMask) ? false : checked;
370
371 if (b == true) {
372 m_selectorUI->colorSelector->setGamutMask(m_selectedMask);
373 }
374
375 m_selectorUI->colorSelector->setGamutMaskOn(b);
376}

References m_selectedMask, and m_selectorUI.

◆ slotGamutMaskUnset

void ArtisticColorSelectorDock::slotGamutMaskUnset ( )
privateslot

Definition at line 425 of file artisticcolorselector_dock.cpp.

426{
427 if (!m_selectedMask) {
428 return;
429 }
430
431 m_selectedMask = nullptr;
432
433 slotGamutMaskToggle(false);
434 m_selectorUI->colorSelector->setGamutMask(m_selectedMask);
435}

References m_selectedMask, m_selectorUI, and slotGamutMaskToggle().

◆ slotPreferenceChanged

void ArtisticColorSelectorDock::slotPreferenceChanged ( )
privateslot

Definition at line 276 of file artisticcolorselector_dock.cpp.

277{
278 int hueSteps = DEFAULT_HUE_STEPS;
279 if (m_wheelPrefsUI->bnInfHueSteps->isChecked()) {
280 m_wheelPrefsUI->numHueSteps->setEnabled(false);
281 hueSteps = 1;
282 } else {
283 m_wheelPrefsUI->numHueSteps->setEnabled(true);
284 hueSteps = m_wheelPrefsUI->numHueSteps->value();
285 }
286 m_selectorUI->colorSelector->setNumPieces(hueSteps);
287
288 m_selectorUI->colorSelector->setNumRings(m_wheelPrefsUI->numSaturationSteps->value());
289
290 int valueScaleSteps;
291 if (m_wheelPrefsUI->bnInfValueScaleSteps->isChecked()) {
292 m_wheelPrefsUI->numValueScaleSteps->setEnabled(false);
293 valueScaleSteps = 1;
294 } else {
295 valueScaleSteps = m_wheelPrefsUI->numValueScaleSteps->value();
296 m_wheelPrefsUI->numValueScaleSteps->setEnabled(true);
297 }
298 m_selectorUI->colorSelector->setNumLightPieces(valueScaleSteps);
299
300 int defHueSteps;
301 if (m_preferencesUI->bnDefInfHueSteps->isChecked()) {
302 m_preferencesUI->defaultHueSteps->setEnabled(false);
303 defHueSteps = 1;
304 } else {
305 m_preferencesUI->defaultHueSteps->setEnabled(true);
306 defHueSteps = m_preferencesUI->defaultHueSteps->value();
307 }
308 m_selectorUI->colorSelector->setDefaultHueSteps(defHueSteps);
309
310 m_selectorUI->colorSelector->setDefaultSaturationSteps(m_preferencesUI->defaultSaturationSteps->value());
311
312 int defValueScaleSteps;
313 if (m_preferencesUI->bnDefInfValueScaleSteps->isChecked()) {
314 m_preferencesUI->defaultValueScaleSteps->setEnabled(false);
315 defValueScaleSteps = 1;
316 } else {
317 m_preferencesUI->defaultValueScaleSteps->setEnabled(true);
318 defValueScaleSteps = m_preferencesUI->defaultValueScaleSteps->value();
319 }
320 m_selectorUI->colorSelector->setDefaultValueScaleSteps(defValueScaleSteps);
321
322 m_selectorUI->colorSelector->setShowBgColor(m_preferencesUI->showBgColor->isChecked());
323 m_selectorUI->colorSelector->setShowValueScaleNumbers(m_preferencesUI->showValueScaleNumbers->isChecked());
324 m_selectorUI->colorSelector->setEnforceGamutMask(m_preferencesUI->enforceGamutMask->isChecked());
325
326 m_selectorUI->colorSelector->setInverseSaturation(m_wheelPrefsUI->bnInverseSat->isChecked());
327}
static const int DEFAULT_HUE_STEPS

References DEFAULT_HUE_STEPS, m_preferencesUI, m_selectorUI, and m_wheelPrefsUI.

◆ slotResetDefaultSettings

void ArtisticColorSelectorDock::slotResetDefaultSettings ( )
privateslot

Definition at line 329 of file artisticcolorselector_dock.cpp.

330{
331 quint32 hueSteps = m_selectorUI->colorSelector->getDefaultHueSteps();
332 quint32 saturationSteps = m_selectorUI->colorSelector->getDefaultSaturationSteps();
333 quint32 valueScaleSteps = m_selectorUI->colorSelector->getDefaultValueScaleSteps();
334
335 m_selectorUI->colorSelector->setNumRings(saturationSteps);
336 m_wheelPrefsUI->numSaturationSteps->blockSignals(true);
337 m_wheelPrefsUI->numSaturationSteps->setValue(saturationSteps);
338 m_wheelPrefsUI->numSaturationSteps->blockSignals(false);
339
340 m_selectorUI->colorSelector->setNumPieces(hueSteps);
341 m_wheelPrefsUI->numHueSteps->blockSignals(true);
342 m_wheelPrefsUI->numHueSteps->setValue(hueSteps);
343 m_wheelPrefsUI->numHueSteps->blockSignals(false);
344
345 if (hueSteps == 1) {
346 m_wheelPrefsUI->numHueSteps->setEnabled(false);
347 m_wheelPrefsUI->bnInfHueSteps->setChecked(true);
348 } else {
349 m_wheelPrefsUI->numHueSteps->setEnabled(true);
350 m_wheelPrefsUI->bnInfHueSteps->setChecked(false);
351 }
352
353 m_selectorUI->colorSelector->setNumLightPieces(valueScaleSteps);
354 m_wheelPrefsUI->numValueScaleSteps->blockSignals(true);
355 m_wheelPrefsUI->numValueScaleSteps->setValue(valueScaleSteps);
356 m_wheelPrefsUI->numValueScaleSteps->blockSignals(false);
357
358 if (valueScaleSteps == 1) {
359 m_wheelPrefsUI->numValueScaleSteps->setEnabled(false);
360 m_wheelPrefsUI->bnInfValueScaleSteps->setChecked(true);
361 } else {
362 m_wheelPrefsUI->numValueScaleSteps->setEnabled(true);
363 m_wheelPrefsUI->bnInfValueScaleSteps->setChecked(false);
364 }
365}

References m_selectorUI, and m_wheelPrefsUI.

◆ slotSelectorSettingsChanged

void ArtisticColorSelectorDock::slotSelectorSettingsChanged ( )
privateslot

Definition at line 447 of file artisticcolorselector_dock.cpp.

448{
449 m_selectorUI->colorSelector->setDirty();
450}

References m_selectorUI.

◆ unsetCanvas()

void ArtisticColorSelectorDock::unsetCanvas ( )
overridevirtual

Re-implement to notify the observer that its canvas is no longer among the living. The daisies, it is pushing up. This means you don't have to disconnect, it's dead.

The old canvas should be deleted already, so if you stored a pointer to it, don't touch!

Note that currently there is a bug where in certain specific circumstances unsetCanvas can be called when it shouldn't, see for example KWStatisticsDocker for a workaround for this problem.

Implements KoCanvasObserverBase.

Definition at line 402 of file artisticcolorselector_dock.cpp.

403{
404 setEnabled(false);
405 m_canvas = nullptr;
406 m_selectorUI->colorSelector->setColorConverter(KisDisplayColorConverter::dumbConverterInstance());
407}
static KisDisplayColorConverter * dumbConverterInstance()

References KisDisplayColorConverter::dumbConverterInstance(), m_canvas, and m_selectorUI.

Member Data Documentation

◆ m_canvas

KisCanvas2* ArtisticColorSelectorDock::m_canvas
private

Definition at line 58 of file artisticcolorselector_dock.h.

◆ m_hsxButtons

QButtonGroup* ArtisticColorSelectorDock::m_hsxButtons
private

Definition at line 60 of file artisticcolorselector_dock.h.

◆ m_iconMaskOff

QIcon ArtisticColorSelectorDock::m_iconMaskOff
private

Definition at line 66 of file artisticcolorselector_dock.h.

◆ m_iconMaskOn

QIcon ArtisticColorSelectorDock::m_iconMaskOn
private

Definition at line 67 of file artisticcolorselector_dock.h.

◆ m_infinityPixmap

QPixmap ArtisticColorSelectorDock::m_infinityPixmap
private

Definition at line 69 of file artisticcolorselector_dock.h.

◆ m_preferencesUI

ARCSSettingsUI* ArtisticColorSelectorDock::m_preferencesUI
private

Definition at line 62 of file artisticcolorselector_dock.h.

◆ m_resourceProvider

KisCanvasResourceProvider* ArtisticColorSelectorDock::m_resourceProvider
private

Definition at line 59 of file artisticcolorselector_dock.h.

◆ m_selectedMask

KoGamutMaskSP ArtisticColorSelectorDock::m_selectedMask
private

Definition at line 64 of file artisticcolorselector_dock.h.

◆ m_selectorUI

ArtisticColorSelectorUI* ArtisticColorSelectorDock::m_selectorUI
private

Definition at line 61 of file artisticcolorselector_dock.h.

◆ m_wheelPrefsUI

WheelPreferencesPopupUI* ArtisticColorSelectorDock::m_wheelPrefsUI
private

Definition at line 63 of file artisticcolorselector_dock.h.


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