JX Application Framework
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | List of all members
JXDirector Class Reference

#include <JXDirector.h>

Inheritance diagram for JXDirector:
[legend]

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
 
- Public Member Functions inherited from JBroadcaster
 JBroadcaster ()
 
virtual ~JBroadcaster ()
 
JBroadcasteroperator= (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

JXDirectorGetSupervisor () const
 
bool CloseAllSubdirectors ()
 
virtual void DirectorClosed (JXDirector *theDirector)
 
- Protected Member Functions inherited from JBroadcaster
 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)
 

Detailed Description

Interface for the JXDirector class

Stores a list of directors.

Constructor & Destructor Documentation

◆ JXDirector()

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).

◆ ~JXDirector()

JXDirector::~JXDirector ( )
override

Close() should be called first.

Member Function Documentation

◆ Activate()

void JXDirector::Activate ( )
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.

◆ Close()

bool JXDirector::Close ( )
virtual

Close all sub-directors and delete ourselves.

Reimplemented in JXApplication, JXDockDirector, JXDocument, JXModalDialogDirector, JXPGDirectorBase, and JXSpellCheckerDialog.

◆ CloseAllSubdirectors()

bool JXDirector::CloseAllSubdirectors ( )
protected

Returns true if all subdirectors closed successfully.

◆ Deactivate()

bool JXDirector::Deactivate ( )
virtual

◆ DirectorClosed()

void JXDirector::DirectorClosed ( JXDirector theDirector)
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.

◆ GetSubdirectors()

bool JXDirector::GetSubdirectors ( const JPtrArray< JXDirector > **  list) const
inline

◆ GetSupervisor()

JXDirector * JXDirector::GetSupervisor ( ) const
inlineprotected

◆ HasSubdirectors()

bool JXDirector::HasSubdirectors ( ) const
inline

◆ IsActive()

bool JXDirector::IsActive ( ) const
inline

◆ IsClosing()

bool JXDirector::IsClosing ( ) const
inline

◆ IsSuspended()

bool JXDirector::IsSuspended ( ) const
inline

◆ Resume()

void JXDirector::Resume ( )
virtual

Reimplemented in JXApplication, and JXWindowDirector.

◆ Suspend()

void JXDirector::Suspend ( )
virtual

Reimplemented in JXApplication, and JXWindowDirector.


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