19 #include <boost/signal.hpp>
20 #include <boost/bind.hpp>
28 class DtDeCommunicator;
43 virtual void activate(T* subject)
const;
84 signal_activate.connect(
87 signal_deactivate.connect(
94 signal_activate.disconnect(
97 signal_deactivate.disconnect(
108 announcer = create(de);
114 DtTHROW_NEW(DtCorruptedState,
"Unable to get an DtSubjectAnnouncer instance.");
128 signal_activate(subject);
134 signal_deactivate(subject);
140 myActivatedList.remove(subject);
141 myActivatedList.push_back(subject);
147 myActivatedList.remove(subject);
153 return myActivatedList;
Virtual base class.
Definition: DtVirtualBaseClass.h:22
virtual std::list< T * > & activatedList()
Return the list of activated subjects.
Definition: DtSubjectAnnouncer.h:151
virtual void slot_onDeactivate(T *subject)
Connected to its own signal_deactivate which removes subjects from the activated list.
Definition: DtSubjectAnnouncer.h:145
static DtSubjectAnnouncer * findInstance(DtDe &de)
Get the instance of this object. This object is 'lazily created'.
Definition: DtSubjectAnnouncer.h:102
std::list< T * > ActivatedList
Definition: DtSubjectAnnouncer.h:54
virtual void activate(T *subject) const
Causes the activate signal to be emitted.
Definition: DtSubjectAnnouncer.h:126
DtSubjectAnnouncer< DtDeCommunicator > DtDeCommunicatorAnnouncer
Definition: DtSubjectAnnouncer.h:158
Contains makVrv::DtDe class.
virtual DtVirtualBaseClass * findInstance(const std::string &instanceName) const
Find an instance with the given name.
boost::signal< void(T *)> signal_deactivate
Signal with a DtIgDisplayUserInterface argument and a void return value.
Definition: DtSubjectAnnouncer.h:52
DtSubjectAnnouncer(DtDe &de)
The constructor for this class is protected. Use create().
Definition: DtSubjectAnnouncer.h:82
Contains makVrv::DtVirtualBaseClass class.
binderNoArgs< _Fn > bind(const _Fn &_Func, const _Ty &_Left)
Definition: DtSTLUtilities.h:76
virtual void registerInstance(const std::string &instanceName, DtVirtualBaseClass *instance)
Register an instance with a given name for later retrieval.
virtual void slot_onActivate(T *subject)
Connected to its own signal_activate which adds subjects to the activated list.
Definition: DtSubjectAnnouncer.h:138
boost::signal< void(T *)> signal_activate
Signal with a T argument and a void return value.
Definition: DtSubjectAnnouncer.h:49
ActivatedList myActivatedList
List of activated subjects.
Definition: DtSubjectAnnouncer.h:77
A DtSubjectAnnouncer tells DtSubjectObservers that the subject T is activated or deactivated.
Definition: DtSubjectAnnouncer.h:32
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
virtual void deactivate(T *subject) const
Causes the deactivate signal to be emitted.
Definition: DtSubjectAnnouncer.h:132
DtSubjectAnnouncer< DtDe > DtDeAnnouncer
Definition: DtSubjectAnnouncer.h:157
virtual ~DtSubjectAnnouncer()
Definition: DtSubjectAnnouncer.h:92
DtSubjectAnnouncer< DtDisplay > DtDisplayAnnouncer
Definition: DtSubjectAnnouncer.h:159
static DtSubjectAnnouncer * create(DtDe &de)
Static creator function.
Definition: DtSubjectAnnouncer.h:120
Contains makVrv:DtDisplay class.