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

#include <kis_cross_channel_filter.h>

+ Inheritance diagram for KisCrossChannelConfigWidget:

Public Member Functions

KisPropertiesConfigurationSP configuration () const override
 
 KisCrossChannelConfigWidget (QWidget *parent, KisPaintDeviceSP dev, Qt::WindowFlags f=Qt::WindowFlags())
 
void setConfiguration (const KisPropertiesConfigurationSP config) override
 
 ~KisCrossChannelConfigWidget () override
 
- Public Member Functions inherited from KisMultiChannelConfigWidget
 KisMultiChannelConfigWidget (QWidget *parent, KisPaintDeviceSP dev, Qt::WindowFlags f=Qt::WindowFlags())
 
void setConfiguration (const KisPropertiesConfigurationSP config) override
 
 ~KisMultiChannelConfigWidget () override
 
- Public Member Functions inherited from KisConfigWidget
virtual KoCanvasResourcesInterfaceSP canvasResourcesInterface () const
 
virtual void setCanvasResourcesInterface (KoCanvasResourcesInterfaceSP canvasResourcesInterface)
 
virtual void setView (KisViewManager *view)
 
 ~KisConfigWidget () override
 

Protected Member Functions

int findDefaultVirtualChannelSelection () override
 
virtual KisPropertiesConfigurationSP getDefaultConfiguration () override
 
void updateChannelControls () override
 
- Protected Member Functions inherited from KisMultiChannelConfigWidget
QPixmap createGradient (Qt::Orientation orient)
 
QPixmap getHistogram ()
 
void init ()
 
void resetCurves ()
 
void setActiveChannel (int ch)
 
- Protected Member Functions inherited from KisConfigWidget
 KisConfigWidget (QWidget *parent=0, Qt::WindowFlags f=Qt::WindowFlags(), int delay=200)
 

Private Slots

void slotDriverChannelSelected (int index)
 

Private Attributes

QScopedPointer< KisCurveWidgetControlsManagerIntm_curveControlsManager
 
QVector< int > m_driverChannels
 

Additional Inherited Members

- Signals inherited from KisConfigWidget
void sigConfigurationItemChanged ()
 
void sigConfigurationUpdated ()
 
void sigDropLockedConfig (KisPropertiesConfigurationSP p)
 
void sigSaveLockedConfig (KisPropertiesConfigurationSP p)
 
- Protected Slots inherited from KisMultiChannelConfigWidget
void logHistView ()
 
void resetCurve ()
 
void slotChannelSelected (int index)
 
void slotCurveModified ()
 
- Protected Attributes inherited from KisMultiChannelConfigWidget
int m_activeVChannel {0}
 
QList< KisCubicCurvem_curves
 
KisPaintDeviceSP m_dev
 
KisHistogramm_histogram {nullptr}
 
WdgPerChannelm_page {nullptr}
 
QVector< VirtualChannelInfom_virtualChannels
 

Detailed Description

Definition at line 86 of file kis_cross_channel_filter.h.

Constructor & Destructor Documentation

◆ KisCrossChannelConfigWidget()

KisCrossChannelConfigWidget::KisCrossChannelConfigWidget ( QWidget * parent,
KisPaintDeviceSP dev,
Qt::WindowFlags f = Qt::WindowFlags() )

Definition at line 229 of file kis_cross_channel_filter.cpp.

230 : KisMultiChannelConfigWidget(parent, dev, f)
231{
232 const int virtualChannelCount = m_virtualChannels.size();
233 m_driverChannels.resize(virtualChannelCount);
234
235 init();
236
237 for (int i = 0; i < virtualChannelCount; i++) {
238 const VirtualChannelInfo &info = m_virtualChannels[i];
239
240 if (info.type() == VirtualChannelInfo::ALL_COLORS) {
241 continue;
242 }
243
244 m_page->cmbDriverChannel->addItem(info.name(), i);
245 }
246
247 connect(m_page->cmbDriverChannel, SIGNAL(activated(int)), this, SLOT(slotDriverChannelSelected(int)));
248}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
KisMultiChannelConfigWidget(QWidget *parent, KisPaintDeviceSP dev, Qt::WindowFlags f=Qt::WindowFlags())
QVector< VirtualChannelInfo > m_virtualChannels

References VirtualChannelInfo::ALL_COLORS, connect(), KisMultiChannelConfigWidget::init(), m_driverChannels, KisMultiChannelConfigWidget::m_page, KisMultiChannelConfigWidget::m_virtualChannels, VirtualChannelInfo::name(), slotDriverChannelSelected(), and VirtualChannelInfo::type().

◆ ~KisCrossChannelConfigWidget()

KisCrossChannelConfigWidget::~KisCrossChannelConfigWidget ( )
override

Definition at line 252 of file kis_cross_channel_filter.cpp.

253{}

Member Function Documentation

◆ configuration()

KisPropertiesConfigurationSP KisCrossChannelConfigWidget::configuration ( ) const
overridevirtual
Returns
the configuration

Implements KisConfigWidget.

Definition at line 285 of file kis_cross_channel_filter.cpp.

286{
289
290 m_curves[m_activeVChannel] = m_page->curveWidget->curve();
291 cfg->setCurves(m_curves);
292 cfg->setActiveCurve(m_activeVChannel);
293 cfg->setDriverChannels(m_driverChannels);
294
295 return cfgSP;
296}
static KisResourcesInterfaceSP instance()
const KoColorSpace * colorSpace() const

References KisPaintDevice::colorSpace(), KisGlobalResourcesInterface::instance(), KisMultiChannelConfigWidget::m_activeVChannel, KisMultiChannelConfigWidget::m_curves, KisMultiChannelConfigWidget::m_dev, m_driverChannels, KisMultiChannelConfigWidget::m_page, and KisMultiChannelConfigWidget::m_virtualChannels.

◆ findDefaultVirtualChannelSelection()

int KisCrossChannelConfigWidget::findDefaultVirtualChannelSelection ( )
overrideprotectedvirtual

Reimplemented from KisMultiChannelConfigWidget.

Definition at line 265 of file kis_cross_channel_filter.cpp.

266{
267 // Show the first channel with a curve, or saturation by default
268
269 int initialChannel = -1;
270 for (int i = 0; i < m_virtualChannels.size(); i++) {
271 if (!m_curves[i].isConstant(0.5)) {
272 initialChannel = i;
273 break;
274 }
275 }
276
277 if (initialChannel < 0) {
279 }
280
281 return initialChannel;
282}
static int findChannel(const QVector< VirtualChannelInfo > &virtualChannels, const VirtualChannelInfo::Type &channelType)

References KisMultiChannelFilter::findChannel(), KisMultiChannelConfigWidget::m_curves, KisMultiChannelConfigWidget::m_virtualChannels, and VirtualChannelInfo::SATURATION.

◆ getDefaultConfiguration()

◆ setConfiguration()

void KisCrossChannelConfigWidget::setConfiguration ( const KisPropertiesConfigurationSP config)
overridevirtual
Parameters
configthe configuration for this configuration widget.

Implements KisConfigWidget.

Definition at line 255 of file kis_cross_channel_filter.cpp.

256{
257 const auto *cfg = dynamic_cast<const KisCrossChannelFilterConfiguration*>(config.data());
258 KIS_ASSERT(cfg);
259
260 m_driverChannels = cfg->driverChannels();
263}
void setConfiguration(const KisPropertiesConfigurationSP config) override
#define KIS_ASSERT(cond)
Definition kis_assert.h:33

References KisSharedPtr< T >::data(), KIS_ASSERT, m_driverChannels, KisMultiChannelConfigWidget::setConfiguration(), and updateChannelControls().

◆ slotDriverChannelSelected

void KisCrossChannelConfigWidget::slotDriverChannelSelected ( int index)
privateslot

◆ updateChannelControls()

void KisCrossChannelConfigWidget::updateChannelControls ( )
overrideprotectedvirtual

Implements KisMultiChannelConfigWidget.

Definition at line 298 of file kis_cross_channel_filter.cpp.

299{
301 m_page->intIn, m_page->intOut, 0, 100, -100, 100));
302
303 const int index = m_page->cmbDriverChannel->findData(m_driverChannels[m_activeVChannel]);
304 m_page->cmbDriverChannel->setCurrentIndex(index);
305}
KisCurveWidgetControlsManager< QSpinBox > KisCurveWidgetControlsManagerInt
QScopedPointer< KisCurveWidgetControlsManagerInt > m_curveControlsManager

References KisMultiChannelConfigWidget::m_activeVChannel, m_curveControlsManager, m_driverChannels, and KisMultiChannelConfigWidget::m_page.

Member Data Documentation

◆ m_curveControlsManager

QScopedPointer<KisCurveWidgetControlsManagerInt> KisCrossChannelConfigWidget::m_curveControlsManager
private

Definition at line 108 of file kis_cross_channel_filter.h.

◆ m_driverChannels

QVector<int> KisCrossChannelConfigWidget::m_driverChannels
private

Definition at line 107 of file kis_cross_channel_filter.h.


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