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

#include <kis_signal_auto_connection.h>

Public Member Functions

template<class Sender , class Signal , class Receiver , class Method >
 KisSignalAutoConnection (Sender sender, Signal signal, Receiver receiver, Method method, Qt::ConnectionType type=Qt::AutoConnection)
 
 ~KisSignalAutoConnection ()
 

Private Member Functions

 KisSignalAutoConnection (const KisSignalAutoConnection &rhs)
 

Private Attributes

QMetaObject::Connection m_connection
 

Detailed Description

A special wrapper class that represents a connection between two QObject objects. It creates the connection on the construction and disconnects it on destruction.

WARNING: never use QScopedPointer::reset() for updating the connection like:

QScopedPointer<KisSignalAutoConnection> conn; ... void Something::setCanvas(KoCanvasBase * canvas) { conn.reset(new KisSignalAutoConnection(...)); }

The object stored in a scoped pointer will be destructed after the new object created which will cause you object to become disconnected.

Instead use two-stage updates: conn.reset(); conn.reset(new KisSignalAutoConnection(...));

Definition at line 34 of file kis_signal_auto_connection.h.

Constructor & Destructor Documentation

◆ KisSignalAutoConnection() [1/2]

template<class Sender , class Signal , class Receiver , class Method >
KisSignalAutoConnection::KisSignalAutoConnection ( Sender sender,
Signal signal,
Receiver receiver,
Method method,
Qt::ConnectionType type = Qt::AutoConnection )
inline

Creates a connection object and starts the requested connection

Definition at line 41 of file kis_signal_auto_connection.h.

44 : m_connection(QObject::connect(sender, signal, receiver, method, type))
45 {
46 }
QMetaObject::Connection m_connection

◆ ~KisSignalAutoConnection()

KisSignalAutoConnection::~KisSignalAutoConnection ( )
inline

Definition at line 48 of file kis_signal_auto_connection.h.

49 {
50 QObject::disconnect(m_connection);
51 }

References m_connection.

◆ KisSignalAutoConnection() [2/2]

KisSignalAutoConnection::KisSignalAutoConnection ( const KisSignalAutoConnection & rhs)
private

Member Data Documentation

◆ m_connection

QMetaObject::Connection KisSignalAutoConnection::m_connection
private

Definition at line 57 of file kis_signal_auto_connection.h.


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