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

#include <KisGamutMaskToolbar.h>

+ Inheritance diagram for KisGamutMaskToolbar:

Classes

struct  Private
 

Public Slots

void slotGamutMaskDeactivate ()
 
void slotGamutMaskSet (KoGamutMaskSP mask)
 
void slotGamutMaskUnset ()
 

Signals

void sigGamutMaskChanged (KoGamutMaskSP)
 
void sigGamutMaskDeactivated ()
 
void sigGamutMaskToggle (bool state)
 

Public Member Functions

void connectMaskSignals (KisCanvasResourceProvider *resourceProvider)
 
 KisGamutMaskToolbar (QWidget *parent=nullptr)
 
 ~KisGamutMaskToolbar ()
 

Private Slots

void slotGamutMaskRotate (qreal angle)
 
void slotGamutMaskToggle (bool state)
 

Private Member Functions

void updateMaskState (bool maskEnabled, bool internalChange)
 

Private Attributes

const QScopedPointer< Privatem_d
 
QScopedPointer< Ui_wdgGamutMaskToolbar > m_ui
 

Detailed Description

Definition at line 19 of file KisGamutMaskToolbar.h.

Constructor & Destructor Documentation

◆ KisGamutMaskToolbar()

KisGamutMaskToolbar::KisGamutMaskToolbar ( QWidget * parent = nullptr)

Definition at line 31 of file KisGamutMaskToolbar.cpp.

31 : QWidget(parent)
32 , m_d(new Private())
33{
34 m_ui.reset(new Ui_wdgGamutMaskToolbar());
35 m_ui->setupUi(this);
36
37 m_d->iconMaskOff = KisIconUtils::loadIcon("gamut-mask-off");
38 m_d->iconMaskOn = KisIconUtils::loadIcon("gamut-mask-on");
39
40 m_d->textNoMask = i18n("Select a mask in \"Gamut Masks\" docker");
41 m_d->textMaskDisabled = i18n("Mask is disabled");
42
43 m_ui->labelMaskName->hide();
44
45 m_ui->bnToggleMask->setChecked(false);
46 m_ui->bnToggleMask->setIcon(m_d->iconMaskOn);
47
48 m_ui->rotationAngleSelector->setDecimals(0);
49 m_ui->rotationAngleSelector->setIncreasingDirection(KisAngleGauge::IncreasingDirection_Clockwise);
50 m_ui->rotationAngleSelector->hide();
51
52 // gamut mask connections
53 connect(m_ui->bnToggleMask, SIGNAL(toggled(bool)), SLOT(slotGamutMaskToggle(bool)));
54 connect(m_ui->rotationAngleSelector, SIGNAL(angleChanged(qreal)), SLOT(slotGamutMaskRotate(qreal)));
55}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
@ IncreasingDirection_Clockwise
const QScopedPointer< Private > m_d
void slotGamutMaskRotate(qreal angle)
QScopedPointer< Ui_wdgGamutMaskToolbar > m_ui
void slotGamutMaskToggle(bool state)
QIcon loadIcon(const QString &name)

References connect(), KisAngleGauge::IncreasingDirection_Clockwise, KisIconUtils::loadIcon(), m_d, m_ui, slotGamutMaskRotate(), and slotGamutMaskToggle().

◆ ~KisGamutMaskToolbar()

KisGamutMaskToolbar::~KisGamutMaskToolbar ( )

Definition at line 57 of file KisGamutMaskToolbar.cpp.

58{
59
60}

Member Function Documentation

◆ connectMaskSignals()

void KisGamutMaskToolbar::connectMaskSignals ( KisCanvasResourceProvider * resourceProvider)

Definition at line 62 of file KisGamutMaskToolbar.cpp.

63{
64 connect(resourceProvider, SIGNAL(sigGamutMaskChanged(KoGamutMaskSP)),
65 this, SLOT(slotGamutMaskSet(KoGamutMaskSP)), Qt::UniqueConnection);
66
67 connect(resourceProvider, SIGNAL(sigGamutMaskUnset()),
68 this, SLOT(slotGamutMaskUnset()), Qt::UniqueConnection);
69
71 resourceProvider, SLOT(slotGamutMaskActivated(KoGamutMaskSP)), Qt::UniqueConnection);
72
73 connect(this, SIGNAL(sigGamutMaskDeactivated()),
74 resourceProvider, SLOT(slotGamutMaskDeactivate()), Qt::UniqueConnection);
75
76 connect(resourceProvider, SIGNAL(sigGamutMaskDeactivated()),
77 this, SLOT(slotGamutMaskDeactivate()), Qt::UniqueConnection);
78
79}
void sigGamutMaskChanged(KoGamutMaskSP)
void slotGamutMaskSet(KoGamutMaskSP mask)
void sigGamutMaskDeactivated()

References connect(), sigGamutMaskChanged(), sigGamutMaskDeactivated(), slotGamutMaskDeactivate(), slotGamutMaskSet(), and slotGamutMaskUnset().

◆ sigGamutMaskChanged

void KisGamutMaskToolbar::sigGamutMaskChanged ( KoGamutMaskSP )
signal

◆ sigGamutMaskDeactivated

void KisGamutMaskToolbar::sigGamutMaskDeactivated ( )
signal

◆ sigGamutMaskToggle

void KisGamutMaskToolbar::sigGamutMaskToggle ( bool state)
signal

◆ slotGamutMaskDeactivate

void KisGamutMaskToolbar::slotGamutMaskDeactivate ( )
slot

Definition at line 107 of file KisGamutMaskToolbar.cpp.

108{
109 if (m_d->selfUpdate) {
110 return;
111 }
112
113 updateMaskState(false, false);
114}
void updateMaskState(bool maskEnabled, bool internalChange)

References m_d, and updateMaskState().

◆ slotGamutMaskRotate

void KisGamutMaskToolbar::slotGamutMaskRotate ( qreal angle)
privateslot

Definition at line 125 of file KisGamutMaskToolbar.cpp.

126{
127 if (!m_d->selectedMask) {
128 return;
129 }
130
131 m_d->selectedMask->setRotation(angle);
132 m_d->selfUpdate = true;
133 Q_EMIT sigGamutMaskChanged(m_d->selectedMask);
134 m_d->selfUpdate = false;
135}

References m_d, and sigGamutMaskChanged().

◆ slotGamutMaskSet

void KisGamutMaskToolbar::slotGamutMaskSet ( KoGamutMaskSP mask)
slot

Definition at line 81 of file KisGamutMaskToolbar.cpp.

82{
83 if (!mask) {
84 return;
85 }
86
87 if (m_d->selfUpdate) {
88 return;
89 }
90
91 m_d->selectedMask = mask;
92
93 if (m_d->selectedMask) {
94 updateMaskState(true, false);
95 } else {
96 updateMaskState(false, false);
97 }
98}

References m_d, and updateMaskState().

◆ slotGamutMaskToggle

void KisGamutMaskToolbar::slotGamutMaskToggle ( bool state)
privateslot

Definition at line 116 of file KisGamutMaskToolbar.cpp.

117{
118 if (m_d->selectedMask) {
119 updateMaskState(state, true);
120 } else {
121 QToolTip::showText(QCursor::pos(), m_d->textNoMask, m_ui->bnToggleMask, m_ui->bnToggleMask->geometry());
122 }
123}

References m_d, m_ui, and updateMaskState().

◆ slotGamutMaskUnset

void KisGamutMaskToolbar::slotGamutMaskUnset ( )
slot

Definition at line 100 of file KisGamutMaskToolbar.cpp.

101{
102 m_d->selectedMask = nullptr;
103 m_ui->rotationAngleSelector->hide();
104 m_ui->bnToggleMask->setIcon(m_d->iconMaskOn);
105}

References m_d, and m_ui.

◆ updateMaskState()

void KisGamutMaskToolbar::updateMaskState ( bool maskEnabled,
bool internalChange )
private

Definition at line 137 of file KisGamutMaskToolbar.cpp.

138{
139 bool enabled = (m_d->selectedMask) ? maskEnabled : false;
140
141 m_ui->bnToggleMask->setChecked(enabled);
142
143 if (enabled) {
144 m_ui->bnToggleMask->setEnabled(true);
145 m_ui->bnToggleMask->setIcon(m_d->iconMaskOn);
146 m_ui->labelMaskName->hide();
147 m_ui->rotationAngleSelector->show();
148
149 m_ui->rotationAngleSelector->blockSignals(true);
150 m_ui->rotationAngleSelector->setAngle(static_cast<qreal>(m_d->selectedMask->rotation()));
151 m_ui->rotationAngleSelector->blockSignals(false);
152
153 if (internalChange) {
154 m_d->selfUpdate = true;
155 Q_EMIT sigGamutMaskChanged(m_d->selectedMask);
156 m_d->selfUpdate = false;
157 }
158
159 } else {
160 m_ui->bnToggleMask->setIcon(m_d->iconMaskOff);
161 m_ui->rotationAngleSelector->hide();
162 m_ui->labelMaskName->show();
163 m_ui->labelMaskName->setText(m_d->textMaskDisabled);
164
165 if (internalChange) {
166 m_d->selfUpdate = true;
168 m_d->selfUpdate = false;
169 }
170 }
171}

References m_d, m_ui, sigGamutMaskChanged(), and sigGamutMaskDeactivated().

Member Data Documentation

◆ m_d

const QScopedPointer<Private> KisGamutMaskToolbar::m_d
private

Definition at line 45 of file KisGamutMaskToolbar.h.

◆ m_ui

QScopedPointer<Ui_wdgGamutMaskToolbar> KisGamutMaskToolbar::m_ui
private

Definition at line 46 of file KisGamutMaskToolbar.h.


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