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 231 of file kis_cross_channel_filter.cpp.

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

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

◆ ~KisCrossChannelConfigWidget()

KisCrossChannelConfigWidget::~KisCrossChannelConfigWidget ( )
override

Definition at line 254 of file kis_cross_channel_filter.cpp.

255{}

Member Function Documentation

◆ configuration()

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

Implements KisConfigWidget.

Definition at line 287 of file kis_cross_channel_filter.cpp.

288{
291
292 m_curves[m_activeVChannel] = m_page->curveWidget->curve();
293 cfg->setCurves(m_curves);
294 cfg->setActiveCurve(m_activeVChannel);
295 cfg->setDriverChannels(m_driverChannels);
296
297 return cfgSP;
298}
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 267 of file kis_cross_channel_filter.cpp.

268{
269 // Show the first channel with a curve, or saturation by default
270
271 int initialChannel = -1;
272 for (int i = 0; i < m_virtualChannels.size(); i++) {
273 if (!m_curves[i].isConstant(0.5)) {
274 initialChannel = i;
275 break;
276 }
277 }
278
279 if (initialChannel < 0) {
281 }
282
283 return initialChannel;
284}
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 257 of file kis_cross_channel_filter.cpp.

258{
259 const auto *cfg = dynamic_cast<const KisCrossChannelFilterConfiguration*>(config.data());
260 KIS_ASSERT(cfg);
261
262 m_driverChannels = cfg->driverChannels();
265}
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 300 of file kis_cross_channel_filter.cpp.

301{
303 m_page->intIn, m_page->intOut, 0, 100, -100, 100));
304
305 const int index = m_page->cmbDriverChannel->findData(m_driverChannels[m_activeVChannel]);
306 m_page->cmbDriverChannel->setCurrentIndex(index);
307}
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: