Version: 6.3.1
Signals | Public Member Functions | Private Member Functions | Private Attributes | Friends

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.
void destroyed (SUIT_DataObject *)
 Emitted when data object is destroyed.
void inserted (SUIT_DataObject *, SUIT_DataObject *)
 Emitted when data object is inserted to the parent data object.
void removed (SUIT_DataObject *, SUIT_DataObject *)
 Emitted when data object is removed from the parent data object.

Public Member Functions

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

Private Member Functions

void emitCreated (SUIT_DataObject *)
 Emit signal about data object creation.
void emitDestroyed (SUIT_DataObject *)
 Emit signal about data object destroying.
void emitInserted (SUIT_DataObject *, SUIT_DataObject *)
 Emit signal about data object adding to the parent data object.
void emitRemoved (SUIT_DataObject *, SUIT_DataObject *)
 Emit signal about data object removed from the parent data object.
void deleteLater (SUIT_DataObject *)
 Schedule data object for the late deleting.

Private Attributes

DataObjectList myDelLaterObjects

Friends

class SUIT_DataObject

Detailed Description

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->connect( SUIT_DataObject::signal(), SIGNAL(destroyed(SUIT_DataObject*)),
              h, SLOT(onDestroyed(SUIT_DataObject*)) );

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

  MyHandler* h = new MyHandler();
  SUIT_DataObject::connect( SIGNAL(destroyed(SUIT_DataObject*)),
                            h, SLOT(onDestroyed(SUIT_DataObject*)));

Constructor & Destructor Documentation

SUIT_DataObject.Signal::Signal ( )
SUIT_DataObject.Signal::~Signal ( ) [virtual]

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


Member Function Documentation

void SUIT_DataObject.Signal::emitCreated ( SUIT_DataObject object) [private]
Parameters:
objectdata object being created
void SUIT_DataObject.Signal::emitDestroyed ( SUIT_DataObject object) [private]
Parameters:
objectdata object being destroyed
void SUIT_DataObject.Signal::emitInserted ( SUIT_DataObject object,
SUIT_DataObject parent 
) [private]
Parameters:
objectdata object being added
parentparent data object
void SUIT_DataObject.Signal::emitRemoved ( SUIT_DataObject object,
SUIT_DataObject parent 
) [private]
Parameters:
objectdata object being removed
parentparent data object
void SUIT_DataObject.Signal::deleteLater ( SUIT_DataObject object) [private]
Parameters:
objectdata object to be deleted later
void SUIT_DataObject.Signal::created ( SUIT_DataObject object) [signal]
Parameters:
objectdata object being created
void SUIT_DataObject.Signal::destroyed ( SUIT_DataObject object) [signal]
Parameters:
objectdata object being destroyed
void SUIT_DataObject.Signal::inserted ( SUIT_DataObject object,
SUIT_DataObject parent 
) [signal]
Parameters:
objectdata object being created
parentparent data object
void SUIT_DataObject.Signal::removed ( SUIT_DataObject object,
SUIT_DataObject parent 
) [signal]
Parameters:
objectdata object being removed
parentparent data object

Friends And Related Function Documentation

friend class SUIT_DataObject [friend]

Field Documentation

Copyright © 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS