#include <CeylanView.h>
Public Types | |
enum | TextOutputFormat { rawText, html } |
Defines what text output formats for TextDisplayable instances are available. More... | |
Public Member Functions | |
View () | |
Constructs a view, not linked to any model. | |
View (Model &model) | |
Constructs a view linked to a model. | |
virtual | ~View () throw () |
Basic virtual destructor. | |
virtual void | renderModel ()=0 |
Requests that view to generate its interpretation of the model it is linked to. | |
virtual const std::string | toString (Ceylan::VerbosityLevels level=Ceylan::high) const |
Returns a user-friendly description of the state of this object. | |
virtual void | subscribeTo (EventSource &source) |
Subscribes this listener to the specified source, so that forthcoming events will be sent to it as well. | |
virtual void | unsubscribeFrom (EventSource &source) |
Unsubscribes this listener from specified source, no forthcoming event will be received from it. | |
virtual void | unsubscribeFromAllSources () |
Unsubscribes this listener from all registered sources, no forthcoming event will be received from any. | |
virtual void | forgetSource (EventSource &source) |
Forgets the specified source, but does not notify it that the unsubscription occured on the listener side. | |
virtual void | beNotifiedOf (const Event &newEvent)=0 |
Notifies this listener of a new event. | |
std::list< EventSource * > | getSources () const |
Returns a shallow copy of the sources that listener is registered to. | |
Static Public Member Functions | |
static const std::string | ToString (std::list< TextDisplayable * > displayables, Ceylan::VerbosityLevels level=Ceylan::high) |
Returns a user-friendly description of this list of pointers to text displayable instances. | |
static TextOutputFormat | GetOutputFormat () |
Returns the current overall text format to be used by TextDisplayable instances. | |
static void | SetOutputFormat (TextOutputFormat newOutputFormat) |
Sets the current overall text format to be used by TextDisplayable instances. | |
Protected Member Functions | |
virtual Model & | getModel () |
Returns the model presumably associated to this view. | |
Protected Attributes | |
std::list< EventSource * > | _sources |
The event sources to which this listener is subscribed to. | |
Static Protected Attributes | |
static TextOutputFormat | _OutputFormat = rawText |
The text format to be used currently by TextDisplayable instances. | |
Private Member Functions | |
View (const View &source) | |
Copy constructor made private to ensure that it will never be called. | |
View & | operator= (const View &source) |
Assignment operator made private to ensure that it will never be called. |
The view of an object reflects the state of its model(s).
Such view is meant to communicate with its model(s) only by the means of exchanged events.
The link between a model and its views could take into account various aspects: not all views are interested in each and every event.
Views might be shared between multiple models.
Definition at line 72 of file CeylanView.h.
enum Ceylan::TextDisplayable::TextOutputFormat [inherited] |
Defines what text output formats for TextDisplayable instances are available.
Definition at line 124 of file CeylanTextDisplayable.h.
View::View | ( | ) |
View::View | ( | Model & | model | ) | [explicit] |
Constructs a view linked to a model.
Definition at line 60 of file CeylanView.cc.
View::~View | ( | ) | throw () [virtual] |
Ceylan::View::View | ( | const View & | source | ) | [private] |
Copy constructor made private to ensure that it will never be called.
The compiler should complain whenever this undefined constructor is called, implicitly or not.
virtual void Ceylan::EventListener::beNotifiedOf | ( | const Event & | newEvent | ) | [pure virtual, inherited] |
Notifies this listener of a new event.
This event remains property of the EventSource, which will take care of its life cycle.
Implemented in Ceylan::Locatable.
void EventListener::forgetSource | ( | EventSource & | source | ) | [virtual, inherited] |
Forgets the specified source, but does not notify it that the unsubscription occured on the listener side.
Therefore, if the source were to send new events, this listener would be notified, and may not be aware it received an event from a source it is not registered to any more.
Alternatively, on these listener deallocations, if nothing was done in the case of a deallocated source still having at least one listener left, a call to the remove method of these source instances would be tempted, and may cause a crash since sources could be already deallocated.
EventException | if listener was not already registered to the event source, and if debug mode for events is activated. |
Definition at line 191 of file CeylanEventListener.cc.
References Ceylan::EventListener::_sources, generalUtils::false, Ceylan::EventSource::toString(), and generalUtils::true.
Model & View::getModel | ( | ) | [protected, virtual] |
Returns the model presumably associated to this view.
EventException | if there is not exactly one model registered by this view. |
Definition at line 97 of file CeylanView.cc.
References Ceylan::EventListener::_sources, and Ceylan::toString().
TextDisplayable::TextOutputFormat TextDisplayable::GetOutputFormat | ( | ) | [static, inherited] |
Returns the current overall text format to be used by TextDisplayable instances.
Definition at line 63 of file CeylanTextDisplayable.cc.
References Ceylan::TextDisplayable::_OutputFormat.
Referenced by Ceylan::formatStringList(), Ceylan::formatStringMap(), Ceylan::XML::XMLMarkup::toString(), Ceylan::Maths::Linear::Vector3::toString(), Ceylan::Maths::Linear::Vector2::toString(), Ceylan::Maths::Linear::Tripoint::toString(), Ceylan::Module::toString(), Ceylan::Maths::Linear::Matrix3::toString(), Ceylan::Maths::Linear::Matrix2::toString(), Ceylan::Maths::Linear::HomogeneousMatrix3::toString(), and Ceylan::Maths::Linear::Bipoint::toString().
list< EventSource * > EventListener::getSources | ( | ) | const [inherited] |
Returns a shallow copy of the sources that listener is registered to.
Definition at line 238 of file CeylanEventListener.cc.
References Ceylan::EventListener::_sources.
Assignment operator made private to ensure that it will never be called.
The compiler should complain whenever this undefined operator is called, implicitly or not.
virtual void Ceylan::View::renderModel | ( | ) | [pure virtual] |
Requests that view to generate its interpretation of the model it is linked to.
void TextDisplayable::SetOutputFormat | ( | TextOutputFormat | newOutputFormat | ) | [static, inherited] |
Sets the current overall text format to be used by TextDisplayable instances.
newOutputFormat | the new output format. |
Definition at line 72 of file CeylanTextDisplayable.cc.
References Ceylan::TextDisplayable::_OutputFormat.
Referenced by Ceylan::Log::LogHolder::LogHolder().
void EventListener::subscribeTo | ( | EventSource & | source | ) | [virtual, inherited] |
Subscribes this listener to the specified source, so that forthcoming events will be sent to it as well.
EventException | if listener is already registered to the specified event source. |
Definition at line 87 of file CeylanEventListener.cc.
References Ceylan::EventListener::_sources, Ceylan::EventSource::add(), and Ceylan::EventSource::toString().
Referenced by Ceylan::Controller::Controller(), Ceylan::EventListener::EventListener(), Ceylan::Locatable::Locatable(), and Ceylan::Model::subscribeToController().
const std::string TextDisplayable::ToString | ( | std::list< TextDisplayable * > | displayables, | |
Ceylan::VerbosityLevels | level = Ceylan::high | |||
) | [static, inherited] |
Returns a user-friendly description of this list of pointers to text displayable instances.
displayables | a list of pointers to TextDisplayable instances/ | |
level | the requested verbosity level. |
Definition at line 45 of file CeylanTextDisplayable.cc.
References Ceylan::formatStringList().
const string View::toString | ( | Ceylan::VerbosityLevels | level = Ceylan::high |
) | const [virtual] |
Returns a user-friendly description of the state of this object.
level | the requested verbosity level. |
Reimplemented from Ceylan::CallerEventListener.
Definition at line 79 of file CeylanView.cc.
References Ceylan::EventListener::_sources.
Referenced by ~View().
void EventListener::unsubscribeFrom | ( | EventSource & | source | ) | [virtual, inherited] |
Unsubscribes this listener from specified source, no forthcoming event will be received from it.
This is the usual method to call when one wants that this listener to not listen any more to the specified source.
It is in fact implemented by notifying this source of the unsubscription of this listener, and by forgetting it.
EventException | if listener was not already registered to the event source. |
Definition at line 113 of file CeylanEventListener.cc.
References Ceylan::EventListener::_sources, and Ceylan::EventSource::toString().
Referenced by Ceylan::Locatable::detachFromFather(), and Ceylan::Model::unsubscribeFromController().
void EventListener::unsubscribeFromAllSources | ( | ) | [virtual, inherited] |
Unsubscribes this listener from all registered sources, no forthcoming event will be received from any.
Definition at line 160 of file CeylanEventListener.cc.
References Ceylan::EventListener::_sources.
Referenced by Ceylan::Model::unsubscribeFromAllControllers(), and Ceylan::EventListener::~EventListener().
TextDisplayable::TextOutputFormat TextDisplayable::_OutputFormat = rawText [static, protected, inherited] |
The text format to be used currently by TextDisplayable instances.
Definition at line 158 of file CeylanTextDisplayable.h.
Referenced by Ceylan::TextDisplayable::GetOutputFormat(), and Ceylan::TextDisplayable::SetOutputFormat().
std::list<EventSource *> Ceylan::EventListener::_sources [protected, inherited] |
The event sources to which this listener is subscribed to.
Definition at line 233 of file CeylanEventListener.h.
Referenced by Ceylan::EventListener::forgetSource(), getModel(), Ceylan::EventListener::getSources(), Ceylan::EventListener::subscribeTo(), toString(), Ceylan::Model::toString(), Ceylan::EventListener::toString(), Ceylan::EventListener::unsubscribeFrom(), Ceylan::EventListener::unsubscribeFromAllSources(), and Ceylan::EventListener::~EventListener().