JX Application Framework
|
#include <JXDirector.h>
Public Member Functions | |
JXDirector (JXDirector *supervisor) | |
~JXDirector () override | |
bool | IsClosing () const |
virtual bool | Close () |
virtual void | Activate () |
virtual bool | Deactivate () |
bool | IsActive () const |
virtual void | Suspend () |
virtual void | Resume () |
bool | IsSuspended () const |
bool | HasSubdirectors () const |
bool | GetSubdirectors (const JPtrArray< JXDirector > **list) const |
![]() | |
JBroadcaster () | |
virtual | ~JBroadcaster () |
JBroadcaster & | operator= (const JBroadcaster &source) |
bool | HasSenders () const |
JSize | GetSenderCount () const |
bool | HasRecipients () const |
JSize | GetRecipientCount () const |
virtual JString | ToString () const |
template<class T > | |
void | ListenTo (const JBroadcaster *sender, const std::function< void(const T &)> &f) |
Protected Member Functions | |
JXDirector * | GetSupervisor () const |
bool | CloseAllSubdirectors () |
virtual void | DirectorClosed (JXDirector *theDirector) |
![]() | |
JBroadcaster (const JBroadcaster &source) | |
void | ListenTo (const JBroadcaster *sender) |
void | StopListening (const JBroadcaster *sender) |
void | ClearWhenGoingAway (const JBroadcaster *sender, void *pointerToMember) |
void | StopListening (const JBroadcaster *sender, const std::type_info &messageType) |
template<class T > | |
void | Send (JBroadcaster *recipient, const T &message) |
template<class T > | |
void | Broadcast (const T &message) |
virtual void | Receive (JBroadcaster *sender, const Message &message) |
void | SendWithFeedback (JBroadcaster *recipient, Message *message) |
void | BroadcastWithFeedback (Message *message) |
virtual void | ReceiveWithFeedback (JBroadcaster *sender, Message *message) |
virtual void | ReceiveGoingAway (JBroadcaster *sender) |
Interface for the JXDirector class
Stores a list of directors.
JXDirector::JXDirector | ( | JXDirector * | supervisor | ) |
supervisor can be nullptr, but only JXApplication should do this because everybody else should be owned by somebody (the application, at least).
|
override |
Close() should be called first.
|
virtual |
We do not propagate the Activate message to subdirectors because each derived class must decide whether or not this is appropriate.
Reimplemented in JXCSFDialogBase, JXModalDialogDirector, JXPGDirectorBase, JXSaveFileDialog, JXSearchTextDialog, JXSpellCheckerDialog, and JXWindowDirector.
|
virtual |
Close all sub-directors and delete ourselves.
Reimplemented in JXApplication, JXDockDirector, JXDocument, JXModalDialogDirector, JXPGDirectorBase, and JXSpellCheckerDialog.
|
protected |
Returns true if all subdirectors closed successfully.
|
virtual |
Reimplemented in JXCSFDialogBase, JXDocument, JXModalDialogDirector, JXSearchTextDialog, JXSpellCheckerDialog, and JXWindowDirector.
|
protectedvirtual |
The only safe way to know whether a subdirector still exists is to listen for this message.
One does not need this for dialogs because they close immediately after broadcasting the Deactivated message.
Reimplemented in JXDockManager.
|
inline |
|
inlineprotected |
|
inline |
|
inline |
|
inline |
|
inline |
|
virtual |
Reimplemented in JXApplication, and JXWindowDirector.
|
virtual |
Reimplemented in JXApplication, and JXWindowDirector.