VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Static Protected Member Functions | Protected Attributes
makVrv::DtSubjectAnnouncer< T > Class Template Reference

template<class T>
class makVrv::DtSubjectAnnouncer< T >

A DtSubjectAnnouncer tells DtSubjectObservers that the subject T is activated or deactivated.

Inheritance diagram for makVrv::DtSubjectAnnouncer< T >:
Inheritance graph
[legend]

Public Types

typedef std::list< T * > ActivatedList
 

Public Member Functions

virtual ~DtSubjectAnnouncer ()
 
virtual void activate (T *subject) const
 
virtual void deactivate (T *subject) const
 
virtual std::list< T * > & activatedList ()
 
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 
virtual ~DtVirtualBaseClass ()
 

Static Public Member Functions

static DtSubjectAnnouncerfindInstance (DtDe &de)
 

Public Attributes

boost::signalslib::signal
< void(T *)> 
signal_activate
 
boost::signalslib::signal
< void(T *)> 
signal_deactivate
 

Protected Member Functions

 DtSubjectAnnouncer (DtDe &de)
 
virtual void slot_onActivate (T *subject)
 
virtual void slot_onDeactivate (T *subject)
 

Static Protected Member Functions

static DtSubjectAnnouncercreate (DtDe &de)
 

Protected Attributes

ActivatedList myActivatedList
 

Member Typedef Documentation

template<class T>
typedef std::list<T*> makVrv::DtSubjectAnnouncer< T >::ActivatedList

Constructor & Destructor Documentation

template<class T >
makVrv::DtSubjectAnnouncer< T >::~DtSubjectAnnouncer ( )
virtual
template<class T >
makVrv::DtSubjectAnnouncer< T >::DtSubjectAnnouncer ( DtDe de)
protected

The constructor for this class is protected. Use create().

Member Function Documentation

template<class T >
DtSubjectAnnouncer< T > * makVrv::DtSubjectAnnouncer< T >::findInstance ( DtDe de)
static

Get the instance of this object. This object is 'lazily created'.

References makVrv::DtDe::findInstance(), and makVrv::DtDe::registerInstance().

Referenced by makVrv::DtSubjectObserver< T >::connect().

template<class T >
void makVrv::DtSubjectAnnouncer< T >::activate ( T *  subject) const
virtual

Causes the activate signal to be emitted.

template<class T >
void makVrv::DtSubjectAnnouncer< T >::deactivate ( T *  subject) const
virtual

Causes the deactivate signal to be emitted.

template<class T >
std::list< T * > & makVrv::DtSubjectAnnouncer< T >::activatedList ( )
virtual

Return the list of activated subjects.

Referenced by makVrv::DtSubjectObserver< T >::connect().

template<class T >
DtSubjectAnnouncer< T > * makVrv::DtSubjectAnnouncer< T >::create ( DtDe de)
staticprotected

Static creator function. This class is 'lazily created' when needed. Creation happens during the first call to findInstance().

template<class T >
void makVrv::DtSubjectAnnouncer< T >::slot_onActivate ( T *  subject)
protectedvirtual

Connected to its own signal_activate which adds subjects to the activated list.

template<class T >
void makVrv::DtSubjectAnnouncer< T >::slot_onDeactivate ( T *  subject)
protectedvirtual

Connected to its own signal_deactivate which removes subjects from the activated list.

Member Data Documentation

template<class T>
boost::signalslib::signal<void (T*)> makVrv::DtSubjectAnnouncer< T >::signal_activate

Signal with a T argument and a void return value.

Referenced by makVrv::DtSubjectObserver< T >::connect().

template<class T>
boost::signalslib::signal<void (T*)> makVrv::DtSubjectAnnouncer< T >::signal_deactivate

Signal with a DtIgDisplayUserInterface argument and a void return value.

template<class T>
ActivatedList makVrv::DtSubjectAnnouncer< T >::myActivatedList
protected

List of activated subjects.


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

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)