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

#include <kis_multinode_property.h>

+ Inheritance diagram for MultinodePropertyBaseConnector:

Public Member Functions

void connectAutoEnableWidget (QWidget *widget) override
 
void connectIgnoreCheckBox (QCheckBox *ignoreBox) override
 
 MultinodePropertyBaseConnector (KisMultinodePropertyInterface *parent)
 
void notifyIgnoreChanged () override
 
- Public Member Functions inherited from MultinodePropertyConnectorInterface
void connectValueChangedSignal (const QObject *receiver, const char *method, Qt::ConnectionType type=Qt::AutoConnection)
 
virtual void notifyValueChanged ()
 
 ~MultinodePropertyConnectorInterface () override
 

Protected Member Functions

void slotIgnoreCheckBoxChanged (int state) override
 

Private Attributes

QPointer< QCheckBox > m_ignoreBox
 
KisMultinodePropertyInterfacem_parent
 

Additional Inherited Members

- Signals inherited from MultinodePropertyConnectorInterface
void sigValueChanged ()
 
- Protected Slots inherited from MultinodePropertyConnectorInterface

Detailed Description

Definition at line 328 of file kis_multinode_property.h.

Constructor & Destructor Documentation

◆ MultinodePropertyBaseConnector()

MultinodePropertyBaseConnector::MultinodePropertyBaseConnector ( KisMultinodePropertyInterface * parent)

Definition at line 35 of file kis_multinode_property.cpp.

36 : m_parent(parent)
37{
38}
KisMultinodePropertyInterface * m_parent

Member Function Documentation

◆ connectAutoEnableWidget()

void MultinodePropertyBaseConnector::connectAutoEnableWidget ( QWidget * widget)
overridevirtual

Clicking on this widget will automatically enable it, setting "Ignored" property to false.

Default implementation does nothing.

Reimplemented from MultinodePropertyConnectorInterface.

Definition at line 88 of file kis_multinode_property.cpp.

89{
91
92 AutoEnabler *enabler = new AutoEnabler(widget, m_parent, this);
93 connect(enabler, SIGNAL(enableWidget(bool)), m_ignoreBox, SLOT(setChecked(bool)));
94}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
#define KIS_SAFE_ASSERT_RECOVER_RETURN(cond)
Definition kis_assert.h:128

References connect(), KIS_SAFE_ASSERT_RECOVER_RETURN, m_ignoreBox, and m_parent.

◆ connectIgnoreCheckBox()

void MultinodePropertyBaseConnector::connectIgnoreCheckBox ( QCheckBox * ignoreBox)
overridevirtual

Public interface

Implements MultinodePropertyConnectorInterface.

Definition at line 40 of file kis_multinode_property.cpp.

40 {
41 m_ignoreBox = ignoreBox;
42
44 m_ignoreBox->setEnabled(false);
45 m_ignoreBox->setChecked(true);
46
48 m_ignoreBox->setVisible(false);
49 }
50 } else {
51 connect(m_ignoreBox, SIGNAL(stateChanged(int)), SLOT(slotIgnoreCheckBoxChanged(int)));
52 m_ignoreBox->setEnabled(true);
53 m_ignoreBox->setChecked(!m_parent->isIgnored());
54 }
55}
virtual bool savedValuesDiffer() const =0
virtual bool haveTheOnlyNode() const =0
virtual bool isIgnored() const =0
void slotIgnoreCheckBoxChanged(int state) override

References connect(), KisMultinodePropertyInterface::haveTheOnlyNode(), KisMultinodePropertyInterface::isIgnored(), m_ignoreBox, m_parent, KisMultinodePropertyInterface::savedValuesDiffer(), and slotIgnoreCheckBoxChanged().

◆ notifyIgnoreChanged()

void MultinodePropertyBaseConnector::notifyIgnoreChanged ( )
overridevirtual

Implements MultinodePropertyConnectorInterface.

Definition at line 100 of file kis_multinode_property.cpp.

100 {
101 if (!m_ignoreBox) return;
102
103 if (m_ignoreBox->isChecked() != !m_parent->isIgnored()) {
104 m_ignoreBox->setChecked(!m_parent->isIgnored());
105 }
106}

References KisMultinodePropertyInterface::isIgnored(), m_ignoreBox, and m_parent.

◆ slotIgnoreCheckBoxChanged()

void MultinodePropertyBaseConnector::slotIgnoreCheckBoxChanged ( int state)
overrideprotectedvirtual

Implements MultinodePropertyConnectorInterface.

Definition at line 96 of file kis_multinode_property.cpp.

96 {
97 m_parent->setIgnored(state != Qt::Checked);
98}
virtual void setIgnored(bool value)=0

References m_parent, and KisMultinodePropertyInterface::setIgnored().

Member Data Documentation

◆ m_ignoreBox

QPointer<QCheckBox> MultinodePropertyBaseConnector::m_ignoreBox
private

Definition at line 342 of file kis_multinode_property.h.

◆ m_parent

KisMultinodePropertyInterface* MultinodePropertyBaseConnector::m_parent
private

Definition at line 343 of file kis_multinode_property.h.


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