Version: 9.15.0
SUIT_DataObject::Signal Class Reference

Watcher class, responsible for the emitting signals on behalf of the data objects. More...

#include <SUIT_DataObject.h>

Inheritance diagram for SUIT_DataObject::Signal:
Inheritance graph

Signals

void created (SUIT_DataObject *)
 Emitted when data object is created. More...
 
void destroyed (SUIT_DataObject *)
 Emitted when data object is destroyed. More...
 
void inserted (SUIT_DataObject *, SUIT_DataObject *)
 Emitted when data object is inserted to the parent data object. More...
 
void removed (SUIT_DataObject *, SUIT_DataObject *)
 Emitted when data object is removed from the parent data object. More...
 
void modified (SUIT_DataObject *)
 

Public Member Functions

 Signal ()
 Constructor. More...
 
virtual ~Signal ()
 Destructor. More...
 

Private Member Functions

void emitCreated (SUIT_DataObject *)
 Emit signal about data object creation. More...
 
void emitDestroyed (SUIT_DataObject *)
 Emit signal about data object destroying. More...
 
void emitInserted (SUIT_DataObject *, SUIT_DataObject *)
 Emit signal about data object adding to the parent data object. More...
 
void emitRemoved (SUIT_DataObject *, SUIT_DataObject *)
 Emit signal about data object removed from the parent data object. More...
 
void emitModified (SUIT_DataObject *)
 Emit a signal to notify that the data object has been modified. More...
 
void deleteLater (SUIT_DataObject *)
 Schedule data object for the late deleting. More...
 

Private Attributes

DataObjectList myDelLaterObjects
 

Friends

class SUIT_DataObject
 

Detailed Description

Watcher class, responsible for the emitting signals on behalf of the data objects.

SUIT_DataObject class does not inherit from QObject for the performance reasons, so it can not use signals/slots mechanism directly. Instead it uses the only Signal object to emit the signals when the data object is created, destroyed, inserted to the parent object or removed from it.

If some object needs to handle, for example, data object destroying, it can use SUIT_DataObject::signal() method to connect the signal:

MyHandler* h = new MyHandler();
h, SLOT(onDestroyed(SUIT_DataObject*)) );
void destroyed(SUIT_DataObject *)
Emitted when data object is destroyed.
Data object representing the data instance in the tree-like hierarchy.
Definition: SUIT_DataObject.h:49
static Signal * signal()
Get global signal handler.
Definition: SUIT_DataObject.cxx:812

The same can be done by using static method SUIT_DataObject::connect(). For example,

MyHandler* h = new MyHandler();
h, SLOT(onDestroyed(SUIT_DataObject*)));
static bool connect(const char *, QObject *, const char *)
Connect to the signal handlerx.
Definition: SUIT_DataObject.cxx:826

Constructor & Destructor Documentation

◆ Signal()

SUIT_DataObject::Signal::Signal ( )

Constructor.

◆ ~Signal()

SUIT_DataObject::Signal::~Signal ( )
virtual

Destructor.

Destroys data object which are scheduled for the deleting with the deleteLater().

Member Function Documentation

◆ created

void SUIT_DataObject::Signal::created ( SUIT_DataObject object)
signal

Emitted when data object is created.

Parameters
objectdata object being created

◆ deleteLater()

void SUIT_DataObject::Signal::deleteLater ( SUIT_DataObject object)
private

Schedule data object for the late deleting.

Parameters
objectdata object to be deleted later

◆ destroyed

void SUIT_DataObject::Signal::destroyed ( SUIT_DataObject object)
signal

Emitted when data object is destroyed.

Parameters
objectdata object being destroyed

◆ emitCreated()

void SUIT_DataObject::Signal::emitCreated ( SUIT_DataObject object)
private

Emit signal about data object creation.

Parameters
objectdata object being created

◆ emitDestroyed()

void SUIT_DataObject::Signal::emitDestroyed ( SUIT_DataObject object)
private

Emit signal about data object destroying.

Parameters
objectdata object being destroyed

◆ emitInserted()

void SUIT_DataObject::Signal::emitInserted ( SUIT_DataObject object,
SUIT_DataObject parent 
)
private

Emit signal about data object adding to the parent data object.

Parameters
objectdata object being added
parentparent data object

References SUIT_DataObject::parent().

◆ emitModified()

void SUIT_DataObject::Signal::emitModified ( SUIT_DataObject object)
private

Emit a signal to notify that the data object has been modified.

Parameters
objectdata object that has been modified

References SUIT_DataObject::modified().

◆ emitRemoved()

void SUIT_DataObject::Signal::emitRemoved ( SUIT_DataObject object,
SUIT_DataObject parent 
)
private

Emit signal about data object removed from the parent data object.

Parameters
objectdata object being removed
parentparent data object

References SUIT_DataObject::parent().

◆ inserted

void SUIT_DataObject::Signal::inserted ( SUIT_DataObject object,
SUIT_DataObject parent 
)
signal

Emitted when data object is inserted to the parent data object.

Parameters
objectdata object being created
parentparent data object

◆ modified

void SUIT_DataObject::Signal::modified ( SUIT_DataObject )
signal

◆ removed

void SUIT_DataObject::Signal::removed ( SUIT_DataObject object,
SUIT_DataObject parent 
)
signal

Emitted when data object is removed from the parent data object.

Parameters
objectdata object being removed
parentparent data object

Friends And Related Function Documentation

◆ SUIT_DataObject

friend class SUIT_DataObject
friend

Member Data Documentation

◆ myDelLaterObjects

DataObjectList SUIT_DataObject::Signal::myDelLaterObjects
private

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