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 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)
 
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 80 of file kis_selection_tool_config_widget_helper.cpp.

81{
82 if (!m_optionsWidget) {
83 return true;
84 }
86}

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
35 this,
41 this,
45 this,
49 this,
53 this,
57}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
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 slotReferenceLayersChanged(KisSelectionOptions::ReferenceLayers referenceLayers)

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

◆ featherSelection()

int KisSelectionToolConfigWidgetHelper::featherSelection ( ) const

Definition at line 104 of file kis_selection_tool_config_widget_helper.cpp.

105{
106 if (!m_optionsWidget) {
107 return 0;
108 }
110}

References KisSelectionOptions::featherSelection(), and m_optionsWidget.

◆ growSelection()

int KisSelectionToolConfigWidgetHelper::growSelection ( ) const

Definition at line 88 of file kis_selection_tool_config_widget_helper.cpp.

89{
90 if (!m_optionsWidget) {
91 return 0;
92 }
94}

References KisSelectionOptions::growSelection(), and m_optionsWidget.

◆ optionWidget()

KisSelectionOptions * KisSelectionToolConfigWidgetHelper::optionWidget ( ) const

Definition at line 59 of file kis_selection_tool_config_widget_helper.cpp.

60{
61 return m_optionsWidget;
62}

References m_optionsWidget.

◆ referenceLayers()

KisSelectionOptions::ReferenceLayers KisSelectionToolConfigWidgetHelper::referenceLayers ( ) const

◆ reloadExactToolConfig()

void KisSelectionToolConfigWidgetHelper::reloadExactToolConfig ( )
private

Definition at line 255 of file kis_selection_tool_config_widget_helper.cpp.

256{
257 if (m_configGroupForTool == "") {
258 return;
259 }
260
261 KConfigGroup cfgToolSpecific =
262 KSharedConfig::openConfig()->group(m_configGroupForTool);
263 const bool antiAliasSelection =
264 cfgToolSpecific.readEntry("antiAliasSelection", true);
265 const int growSelection = cfgToolSpecific.readEntry("growSelection", 0);
266 const bool stopGrowingAtDarkestPixel =
267 cfgToolSpecific.readEntry("stopGrowingAtDarkestPixel", false);
268 const int featherSelection =
269 cfgToolSpecific.readEntry("featherSelection", 0);
270 const QString referenceLayersStr =
271 cfgToolSpecific.readEntry("sampleLayersMode", "sampleCurrentLayer");
272
273 const QStringList colorLabelsStr =
274 cfgToolSpecific.readEntry<QString>("colorLabels", "")
275 .split(',', Qt::SkipEmptyParts);
276
278 referenceLayersStr == "sampleAllLayers"
280 : (referenceLayersStr == "sampleColorLabeledLayers"
283 QList<int> colorLabels;
284 for (const QString &colorLabelStr : colorLabelsStr) {
285 bool ok;
286 const int colorLabel = colorLabelStr.toInt(&ok);
287 if (ok) {
288 colorLabels << colorLabel;
289 }
290 }
291
299}
void setGrowSelection(int newGrowSelection)
void setAntiAliasSelection(bool newAntiAliasSelection)
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, referenceLayers(), KisSelectionOptions::setAntiAliasSelection(), KisSelectionOptions::setFeatherSelection(), KisSelectionOptions::setGrowSelection(), KisSelectionOptions::setReferenceLayers(), KisSelectionOptions::setSelectedColorLabels(), KisSelectionOptions::setStopGrowingAtDarkestPixel(), and stopGrowingAtDarkestPixel().

◆ selectedColorLabels()

QList< int > KisSelectionToolConfigWidgetHelper::selectedColorLabels ( ) const

Definition at line 121 of file kis_selection_tool_config_widget_helper.cpp.

122{
123 if (!m_optionsWidget) {
124 return {};
125 }
127}
QList< int > selectedColorLabels() const

References m_optionsWidget, and KisSelectionOptions::selectedColorLabels().

◆ selectionAction()

SelectionAction KisSelectionToolConfigWidgetHelper::selectionAction ( ) const

Definition at line 72 of file kis_selection_tool_config_widget_helper.cpp.

73{
74 if (!m_optionsWidget) {
75 return SELECTION_DEFAULT;
76 }
77 return m_optionsWidget->action();
78}
@ 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 64 of file kis_selection_tool_config_widget_helper.cpp.

65{
66 if (!m_optionsWidget) {
67 return SHAPE_PROTECTION;
68 }
69 return m_optionsWidget->mode();
70}
@ 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 175 of file kis_selection_tool_config_widget_helper.cpp.

177{
178 KConfigGroup cfg = KSharedConfig::openConfig()->group(m_configGroupForTool);
179 cfg.writeEntry(
180 "sampleLayersMode",
182 ? "sampleAllLayers"
183 : (referenceLayers == KisSelectionOptions::ColorLabeledLayers
184 ? "sampleColorLabeledLayers"
185 : "sampleCurrentLayer"));
186}

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

◆ slotReplaceModeRequested

◆ slotSelectedColorLabelsChanged

void KisSelectionToolConfigWidgetHelper::slotSelectedColorLabelsChanged ( )
slot

Definition at line 188 of file kis_selection_tool_config_widget_helper.cpp.

189{
190 const QList<int> colorLabels = m_optionsWidget->selectedColorLabels();
191 if (colorLabels.isEmpty()) {
192 return;
193 }
194 QString colorLabelsStr = QString::number(colorLabels.first());
195 for (int i = 1; i < colorLabels.size(); ++i) {
196 colorLabelsStr += "," + QString::number(colorLabels[i]);
197 }
198
199 KConfigGroup cfg = KSharedConfig::openConfig()->group(m_configGroupForTool);
200 cfg.writeEntry("colorLabels", colorLabelsStr);
201}

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

◆ slotSubtractModeRequested

◆ slotSymmetricDifferenceModeRequested

◆ slotToolActivatedChanged

void KisSelectionToolConfigWidgetHelper::slotToolActivatedChanged ( bool isActivated)
slot

Definition at line 233 of file kis_selection_tool_config_widget_helper.cpp.

234{
235 if (!isActivated || !m_optionsWidget) {
236 return;
237 }
238
239 KConfigGroup cfg = KSharedConfig::openConfig()->group("KisToolSelectBase");
240
242 (SelectionMode)cfg.readEntry("selectionMode",
243 static_cast<int>(SHAPE_PROTECTION));
245 (SelectionAction)cfg.readEntry("selectionAction",
246 static_cast<int>(SELECTION_REPLACE));
247
251
253}
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 143 of file kis_selection_tool_config_widget_helper.cpp.

145{
146 KConfigGroup cfg = KSharedConfig::openConfig()->group("KisToolSelectBase");
147 cfg.writeEntry("selectionAction", static_cast<int>(action));
149}
void selectionActionChanged(SelectionAction newAction)

References action(), and selectionActionChanged().

◆ slotWidgetAntiAliasChanged

void KisSelectionToolConfigWidgetHelper::slotWidgetAntiAliasChanged ( bool value)
slot

Definition at line 151 of file kis_selection_tool_config_widget_helper.cpp.

152{
153 KConfigGroup cfg = KSharedConfig::openConfig()->group(m_configGroupForTool);
154 cfg.writeEntry("antiAliasSelection", value);
155}
float value(const T *src, size_t ch)

References m_configGroupForTool, and value().

◆ slotWidgetFeatherChanged

void KisSelectionToolConfigWidgetHelper::slotWidgetFeatherChanged ( int 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("featherSelection", value);
173}

References m_configGroupForTool, and value().

◆ slotWidgetGrowChanged

void KisSelectionToolConfigWidgetHelper::slotWidgetGrowChanged ( int value)
slot

Definition at line 157 of file kis_selection_tool_config_widget_helper.cpp.

158{
159 KConfigGroup cfg = KSharedConfig::openConfig()->group(m_configGroupForTool);
160 cfg.writeEntry("growSelection", value);
161}

References m_configGroupForTool, and value().

◆ slotWidgetModeChanged

void KisSelectionToolConfigWidgetHelper::slotWidgetModeChanged ( SelectionMode mode)
slot

Definition at line 136 of file kis_selection_tool_config_widget_helper.cpp.

138{
139 KConfigGroup cfg = KSharedConfig::openConfig()->group("KisToolSelectBase");
140 cfg.writeEntry("selectionMode", static_cast<int>(mode));
141}

◆ slotWidgetStopGrowingAtDarkestPixelChanged

void KisSelectionToolConfigWidgetHelper::slotWidgetStopGrowingAtDarkestPixelChanged ( 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("stopGrowingAtDarkestPixel", value);
167}

References m_configGroupForTool, and value().

◆ stopGrowingAtDarkestPixel()

bool KisSelectionToolConfigWidgetHelper::stopGrowingAtDarkestPixel ( ) const

Definition at line 96 of file kis_selection_tool_config_widget_helper.cpp.

97{
98 if (!m_optionsWidget) {
99 return false;
100 }
102}

References m_optionsWidget, and KisSelectionOptions::stopGrowingAtDarkestPixel().

Member Data Documentation

◆ m_configGroupForTool

QString KisSelectionToolConfigWidgetHelper::m_configGroupForTool {""}
private

Definition at line 68 of file kis_selection_tool_config_widget_helper.h.

68{""};

◆ m_optionsWidget

KisSelectionOptions* KisSelectionToolConfigWidgetHelper::m_optionsWidget
private

Definition at line 66 of file kis_selection_tool_config_widget_helper.h.

◆ m_windowTitle

QString KisSelectionToolConfigWidgetHelper::m_windowTitle
private

Definition at line 67 of file kis_selection_tool_config_widget_helper.h.


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