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

#include <kis_selection_tool_config_widget_helper.h>

+ Inheritance diagram for KisSelectionToolConfigWidgetHelper:

Public Slots

void slotAddModeRequested ()
 
void slotIntersectModeRequested ()
 
void slotReferenceLayersChanged (KisSelectionOptions::ReferenceLayers referenceLayers)
 
void slotReplaceModeRequested ()
 
void slotSelectedColorLabelsChanged ()
 
void slotSubtractModeRequested ()
 
void slotSymmetricDifferenceModeRequested ()
 
void slotToolActivatedChanged (bool isActivated)
 
void slotWidgetActionChanged (SelectionAction action)
 
void slotWidgetAntiAliasChanged (bool value)
 
void slotWidgetFeatherChanged (int value)
 
void slotWidgetGrowChanged (int value)
 
void slotWidgetModeChanged (SelectionMode mode)
 
void slotWidgetMoveSelectedContentChanged (bool value)
 
void slotWidgetStopGrowingAtDarkestPixelChanged (bool value)
 

Signals

void selectionActionChanged (SelectionAction newAction)
 

Public Member Functions

int action () const
 
bool antiAliasSelection () const
 
void createOptionWidget (const QString &toolId)
 
int featherSelection () const
 
int growSelection () const
 
 KisSelectionToolConfigWidgetHelper (const QString &windowTitle)
 
bool moveSelectedContent () const
 
KisSelectionOptionsoptionWidget () const
 
KisSelectionOptions::ReferenceLayers referenceLayers () const
 
QList< int > selectedColorLabels () const
 
SelectionAction selectionAction () const
 
SelectionMode selectionMode () const
 
void setConfigGroupForExactTool (QString toolId)
 
bool stopGrowingAtDarkestPixel () const
 

Private Member Functions

void reloadExactToolConfig ()
 

Private Attributes

QString m_configGroupForTool {""}
 
KisSelectionOptionsm_optionsWidget
 
QString m_windowTitle
 

Detailed Description

Definition at line 21 of file kis_selection_tool_config_widget_helper.h.

Constructor & Destructor Documentation

◆ KisSelectionToolConfigWidgetHelper()

KisSelectionToolConfigWidgetHelper::KisSelectionToolConfigWidgetHelper ( const QString & windowTitle)

Member Function Documentation

◆ action()

int KisSelectionToolConfigWidgetHelper::action ( ) const
inline

◆ antiAliasSelection()

bool KisSelectionToolConfigWidgetHelper::antiAliasSelection ( ) const

Definition at line 92 of file kis_selection_tool_config_widget_helper.cpp.

93{
94 if (!m_optionsWidget) {
95 return true;
96 }
98}

References KisSelectionOptions::antiAliasSelection(), and m_optionsWidget.

◆ createOptionWidget()

void KisSelectionToolConfigWidgetHelper::createOptionWidget ( const QString & toolId)

Definition at line 22 of file kis_selection_tool_config_widget_helper.cpp.

24{
26 Q_CHECK_PTR(m_optionsWidget);
27
28 m_optionsWidget->setObjectName(toolId + "option widget");
30
33 connect(m_optionsWidget,
35 this,
37 connect(m_optionsWidget,
39 this,
43 connect(m_optionsWidget,
45 this,
47 connect(m_optionsWidget,
49 this,
51 connect(m_optionsWidget,
53 this,
55 connect(m_optionsWidget,
57 this,
61}
void actionChanged(SelectionAction action)
void antiAliasSelectionChanged(bool antiAliasSelection)
void featherSelectionChanged(int featherSelection)
void selectedColorLabelsChanged()
void referenceLayersChanged(ReferenceLayers referenceLayers)
void stopGrowingAtDarkestPixelChanged(bool stopGrowingAtDarkestPixel)
void growSelectionChanged(int growSelection)
void modeChanged(SelectionMode mode)
void moveSelectedContentChanged(bool moveSelectedContent)
void slotReferenceLayersChanged(KisSelectionOptions::ReferenceLayers referenceLayers)

References KisSelectionOptions::actionChanged(), KisSelectionOptions::antiAliasSelectionChanged(), KisSelectionOptions::featherSelectionChanged(), KisSelectionOptions::growSelectionChanged(), m_optionsWidget, KisSelectionOptions::modeChanged(), KisSelectionOptions::moveSelectedContentChanged(), KisSelectionOptions::referenceLayersChanged(), KisSelectionOptions::selectedColorLabelsChanged(), slotReferenceLayersChanged(), slotSelectedColorLabelsChanged(), slotToolActivatedChanged(), slotWidgetActionChanged(), slotWidgetAntiAliasChanged(), slotWidgetFeatherChanged(), slotWidgetGrowChanged(), slotWidgetModeChanged(), slotWidgetMoveSelectedContentChanged(), slotWidgetStopGrowingAtDarkestPixelChanged(), and KisSelectionOptions::stopGrowingAtDarkestPixelChanged().

◆ featherSelection()

int KisSelectionToolConfigWidgetHelper::featherSelection ( ) const

Definition at line 116 of file kis_selection_tool_config_widget_helper.cpp.

117{
118 if (!m_optionsWidget) {
119 return 0;
120 }
122}

References KisSelectionOptions::featherSelection(), and m_optionsWidget.

◆ growSelection()

int KisSelectionToolConfigWidgetHelper::growSelection ( ) const

Definition at line 100 of file kis_selection_tool_config_widget_helper.cpp.

101{
102 if (!m_optionsWidget) {
103 return 0;
104 }
106}

References KisSelectionOptions::growSelection(), and m_optionsWidget.

◆ moveSelectedContent()

bool KisSelectionToolConfigWidgetHelper::moveSelectedContent ( ) const

Definition at line 84 of file kis_selection_tool_config_widget_helper.cpp.

85{
86 if (!m_optionsWidget) {
87 return true;
88 }
90}

References m_optionsWidget, and KisSelectionOptions::moveSelectedContent().

◆ optionWidget()

KisSelectionOptions * KisSelectionToolConfigWidgetHelper::optionWidget ( ) const

Definition at line 63 of file kis_selection_tool_config_widget_helper.cpp.

64{
65 return m_optionsWidget;
66}

References m_optionsWidget.

◆ referenceLayers()

KisSelectionOptions::ReferenceLayers KisSelectionToolConfigWidgetHelper::referenceLayers ( ) const

◆ reloadExactToolConfig()

void KisSelectionToolConfigWidgetHelper::reloadExactToolConfig ( )
private

Definition at line 273 of file kis_selection_tool_config_widget_helper.cpp.

274{
275 if (m_configGroupForTool == "") {
276 return;
277 }
278
279 KConfigGroup cfgToolSpecific =
280 KSharedConfig::openConfig()->group(m_configGroupForTool);
281 const bool moveSelectedContent =
282 cfgToolSpecific.readEntry("moveSelectedContent", false);
283 const bool antiAliasSelection =
284 cfgToolSpecific.readEntry("antiAliasSelection", true);
285 const int growSelection = cfgToolSpecific.readEntry("growSelection", 0);
286 const bool stopGrowingAtDarkestPixel =
287 cfgToolSpecific.readEntry("stopGrowingAtDarkestPixel", false);
288 const int featherSelection =
289 cfgToolSpecific.readEntry("featherSelection", 0);
290 const QString referenceLayersStr =
291 cfgToolSpecific.readEntry("sampleLayersMode", "sampleCurrentLayer");
292
293 const QStringList colorLabelsStr =
294 cfgToolSpecific.readEntry<QString>("colorLabels", "")
295 .split(',', Qt::SkipEmptyParts);
296
298 referenceLayersStr == "sampleAllLayers"
300 : (referenceLayersStr == "sampleColorLabeledLayers"
303 QList<int> colorLabels;
304 for (const QString &colorLabelStr : colorLabelsStr) {
305 bool ok;
306 const int colorLabel = colorLabelStr.toInt(&ok);
307 if (ok) {
308 colorLabels << colorLabel;
309 }
310 }
311
320}
void setGrowSelection(int newGrowSelection)
void setAntiAliasSelection(bool newAntiAliasSelection)
void setMoveSelectedContent(bool newMoveSelectedContent)
void setSelectedColorLabels(const QList< int > &newSelectedColorLabels)
void setReferenceLayers(ReferenceLayers newReferenceLayers)
void setFeatherSelection(int newFeatherSelection)
void setStopGrowingAtDarkestPixel(bool newStopGrowingAtDarkestPixel)
KisSelectionOptions::ReferenceLayers referenceLayers() const
QList< KoSubpath * > split(const KoPathShape &path)

References KisSelectionOptions::AllLayers, antiAliasSelection(), KisSelectionOptions::ColorLabeledLayers, KisSelectionOptions::CurrentLayer, featherSelection(), growSelection(), m_configGroupForTool, m_optionsWidget, moveSelectedContent(), referenceLayers(), KisSelectionOptions::setAntiAliasSelection(), KisSelectionOptions::setFeatherSelection(), KisSelectionOptions::setGrowSelection(), KisSelectionOptions::setMoveSelectedContent(), KisSelectionOptions::setReferenceLayers(), KisSelectionOptions::setSelectedColorLabels(), KisSelectionOptions::setStopGrowingAtDarkestPixel(), and stopGrowingAtDarkestPixel().

◆ selectedColorLabels()

QList< int > KisSelectionToolConfigWidgetHelper::selectedColorLabels ( ) const

Definition at line 133 of file kis_selection_tool_config_widget_helper.cpp.

134{
135 if (!m_optionsWidget) {
136 return {};
137 }
139}
QList< int > selectedColorLabels() const

References m_optionsWidget, and KisSelectionOptions::selectedColorLabels().

◆ selectionAction()

SelectionAction KisSelectionToolConfigWidgetHelper::selectionAction ( ) const

Definition at line 76 of file kis_selection_tool_config_widget_helper.cpp.

77{
78 if (!m_optionsWidget) {
79 return SELECTION_DEFAULT;
80 }
81 return m_optionsWidget->action();
82}
@ SELECTION_DEFAULT
SelectionAction action() const

References KisSelectionOptions::action(), m_optionsWidget, and SELECTION_DEFAULT.

◆ selectionActionChanged

void KisSelectionToolConfigWidgetHelper::selectionActionChanged ( SelectionAction newAction)
signal

◆ selectionMode()

SelectionMode KisSelectionToolConfigWidgetHelper::selectionMode ( ) const

Definition at line 68 of file kis_selection_tool_config_widget_helper.cpp.

69{
70 if (!m_optionsWidget) {
71 return SHAPE_PROTECTION;
72 }
73 return m_optionsWidget->mode();
74}
@ SHAPE_PROTECTION
SelectionMode mode() const

References m_optionsWidget, KisSelectionOptions::mode(), and SHAPE_PROTECTION.

◆ setConfigGroupForExactTool()

void KisSelectionToolConfigWidgetHelper::setConfigGroupForExactTool ( QString toolId)

◆ slotAddModeRequested

void KisSelectionToolConfigWidgetHelper::slotAddModeRequested ( )
slot

◆ slotIntersectModeRequested

◆ slotReferenceLayersChanged

void KisSelectionToolConfigWidgetHelper::slotReferenceLayersChanged ( KisSelectionOptions::ReferenceLayers referenceLayers)
slot

Definition at line 193 of file kis_selection_tool_config_widget_helper.cpp.

195{
196 KConfigGroup cfg = KSharedConfig::openConfig()->group(m_configGroupForTool);
197 cfg.writeEntry(
198 "sampleLayersMode",
200 ? "sampleAllLayers"
201 : (referenceLayers == KisSelectionOptions::ColorLabeledLayers
202 ? "sampleColorLabeledLayers"
203 : "sampleCurrentLayer"));
204}

References KisSelectionOptions::AllLayers, KisSelectionOptions::ColorLabeledLayers, m_configGroupForTool, and referenceLayers().

◆ slotReplaceModeRequested

◆ slotSelectedColorLabelsChanged

void KisSelectionToolConfigWidgetHelper::slotSelectedColorLabelsChanged ( )
slot

Definition at line 206 of file kis_selection_tool_config_widget_helper.cpp.

207{
208 const QList<int> colorLabels = m_optionsWidget->selectedColorLabels();
209 if (colorLabels.isEmpty()) {
210 return;
211 }
212 QString colorLabelsStr = QString::number(colorLabels.first());
213 for (int i = 1; i < colorLabels.size(); ++i) {
214 colorLabelsStr += "," + QString::number(colorLabels[i]);
215 }
216
217 KConfigGroup cfg = KSharedConfig::openConfig()->group(m_configGroupForTool);
218 cfg.writeEntry("colorLabels", colorLabelsStr);
219}

References m_configGroupForTool, m_optionsWidget, and KisSelectionOptions::selectedColorLabels().

◆ slotSubtractModeRequested

◆ slotSymmetricDifferenceModeRequested

◆ slotToolActivatedChanged

void KisSelectionToolConfigWidgetHelper::slotToolActivatedChanged ( bool isActivated)
slot

Definition at line 251 of file kis_selection_tool_config_widget_helper.cpp.

252{
253 if (!isActivated || !m_optionsWidget) {
254 return;
255 }
256
257 KConfigGroup cfg = KSharedConfig::openConfig()->group("KisToolSelectBase");
258
260 (SelectionMode)cfg.readEntry("selectionMode",
261 static_cast<int>(SHAPE_PROTECTION));
263 (SelectionAction)cfg.readEntry("selectionAction",
264 static_cast<int>(SELECTION_REPLACE));
265
269
271}
SelectionMode
SelectionAction
void setMode(SelectionMode newMode)

References m_optionsWidget, reloadExactToolConfig(), SELECTION_REPLACE, selectionAction(), selectionMode(), KisSelectionOptions::setAction(), KisSelectionOptions::setMode(), and SHAPE_PROTECTION.

◆ slotWidgetActionChanged

void KisSelectionToolConfigWidgetHelper::slotWidgetActionChanged ( SelectionAction action)
slot

Definition at line 155 of file kis_selection_tool_config_widget_helper.cpp.

157{
158 KConfigGroup cfg = KSharedConfig::openConfig()->group("KisToolSelectBase");
159 cfg.writeEntry("selectionAction", static_cast<int>(action));
161}
void selectionActionChanged(SelectionAction newAction)

References action(), and selectionActionChanged().

◆ slotWidgetAntiAliasChanged

void KisSelectionToolConfigWidgetHelper::slotWidgetAntiAliasChanged ( bool value)
slot

Definition at line 169 of file kis_selection_tool_config_widget_helper.cpp.

170{
171 KConfigGroup cfg = KSharedConfig::openConfig()->group(m_configGroupForTool);
172 cfg.writeEntry("antiAliasSelection", value);
173}
float value(const T *src, size_t ch)

References m_configGroupForTool, and value().

◆ slotWidgetFeatherChanged

void KisSelectionToolConfigWidgetHelper::slotWidgetFeatherChanged ( int value)
slot

Definition at line 187 of file kis_selection_tool_config_widget_helper.cpp.

188{
189 KConfigGroup cfg = KSharedConfig::openConfig()->group(m_configGroupForTool);
190 cfg.writeEntry("featherSelection", value);
191}

References m_configGroupForTool, and value().

◆ slotWidgetGrowChanged

void KisSelectionToolConfigWidgetHelper::slotWidgetGrowChanged ( int value)
slot

Definition at line 175 of file kis_selection_tool_config_widget_helper.cpp.

176{
177 KConfigGroup cfg = KSharedConfig::openConfig()->group(m_configGroupForTool);
178 cfg.writeEntry("growSelection", value);
179}

References m_configGroupForTool, and value().

◆ slotWidgetModeChanged

void KisSelectionToolConfigWidgetHelper::slotWidgetModeChanged ( SelectionMode mode)
slot

Definition at line 148 of file kis_selection_tool_config_widget_helper.cpp.

150{
151 KConfigGroup cfg = KSharedConfig::openConfig()->group("KisToolSelectBase");
152 cfg.writeEntry("selectionMode", static_cast<int>(mode));
153}

◆ slotWidgetMoveSelectedContentChanged

void KisSelectionToolConfigWidgetHelper::slotWidgetMoveSelectedContentChanged ( bool value)
slot

Definition at line 163 of file kis_selection_tool_config_widget_helper.cpp.

164{
165 KConfigGroup cfg = KSharedConfig::openConfig()->group(m_configGroupForTool);
166 cfg.writeEntry("moveSelectedContent", value);
167}

References m_configGroupForTool, and value().

◆ slotWidgetStopGrowingAtDarkestPixelChanged

void KisSelectionToolConfigWidgetHelper::slotWidgetStopGrowingAtDarkestPixelChanged ( bool value)
slot

Definition at line 181 of file kis_selection_tool_config_widget_helper.cpp.

182{
183 KConfigGroup cfg = KSharedConfig::openConfig()->group(m_configGroupForTool);
184 cfg.writeEntry("stopGrowingAtDarkestPixel", value);
185}

References m_configGroupForTool, and value().

◆ stopGrowingAtDarkestPixel()

bool KisSelectionToolConfigWidgetHelper::stopGrowingAtDarkestPixel ( ) const

Definition at line 108 of file kis_selection_tool_config_widget_helper.cpp.

109{
110 if (!m_optionsWidget) {
111 return false;
112 }
114}

References m_optionsWidget, and KisSelectionOptions::stopGrowingAtDarkestPixel().

Member Data Documentation

◆ m_configGroupForTool

QString KisSelectionToolConfigWidgetHelper::m_configGroupForTool {""}
private

Definition at line 70 of file kis_selection_tool_config_widget_helper.h.

70{""};

◆ m_optionsWidget

KisSelectionOptions* KisSelectionToolConfigWidgetHelper::m_optionsWidget
private

Definition at line 68 of file kis_selection_tool_config_widget_helper.h.

◆ m_windowTitle

QString KisSelectionToolConfigWidgetHelper::m_windowTitle
private

Definition at line 69 of file kis_selection_tool_config_widget_helper.h.


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