#include <CeylanInputDevice.h>
Public Types | |
enum | TextOutputFormat { rawText, html } |
Defines what text output formats for TextDisplayable instances are available. More... | |
Public Member Functions | |
InputDevice () | |
Constructs an abstract input device not linked to any controller. | |
InputDevice (Controller &controller) | |
Constructs an abstract input device that will send events to the specified controller. | |
virtual | ~InputDevice () throw () |
Basic virtual destructor. | |
virtual bool | isLinkedToController () const |
Tells whether this input device is linked to a controller. | |
virtual Controller & | getController () const |
Returns the controller this input device should be linked to. | |
virtual void | setController (Controller &controller) |
Set the controller this input device should send notifications to. | |
virtual bool | dropController () |
Drops the controller this input device might be linked with. | |
virtual const std::string | toString (Ceylan::VerbosityLevels level=Ceylan::high) const |
Returns a user-friendly description of the state of this object. | |
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 Attributes | |
Controller * | _controller |
The controller this input device can be sending notifications to. | |
Static Protected Attributes | |
static TextOutputFormat | _OutputFormat = rawText |
The text format to be used currently by TextDisplayable instances. | |
Private Member Functions | |
InputDevice (const InputDevice &source) | |
Copy constructor made private to ensure that it will be never called. | |
InputDevice & | operator= (const InputDevice &source) |
Assignment operator made private to ensure that it will be never called. |
Basically, all input devices should be linked at a controller, and a controller may be linked to one or more input devices.
Based on the notifications from input devices, the controller can generate higher level events, abstracted from the actual way of interaction. These higher level events are the MVC events.
Input device encapsulate all ways of driving a controller, the main ones deal with effective input devices such as keyboard, mouse or joystick.
Input device and controller have separate life cycle, no one is owned by the other.
Definition at line 69 of file CeylanInputDevice.h.
enum Ceylan::TextDisplayable::TextOutputFormat [inherited] |
Defines what text output formats for TextDisplayable instances are available.
Definition at line 124 of file CeylanTextDisplayable.h.
InputDevice::InputDevice | ( | ) |
Constructs an abstract input device not linked to any controller.
Definition at line 47 of file CeylanInputDevice.cc.
InputDevice::InputDevice | ( | Controller & | controller | ) | [explicit] |
Constructs an abstract input device that will send events to the specified controller.
Definition at line 56 of file CeylanInputDevice.cc.
InputDevice::~InputDevice | ( | ) | throw () [virtual] |
Ceylan::InputDevice::InputDevice | ( | const InputDevice & | source | ) | [private] |
Copy constructor made private to ensure that it will be never called.
The compiler should complain whenever this undefined constructor is called, implicitly or not.
bool InputDevice::dropController | ( | ) | [virtual] |
Drops the controller this input device might be linked with.
Definition at line 110 of file CeylanInputDevice.cc.
References _controller, generalUtils::false, and generalUtils::true.
Controller & InputDevice::getController | ( | ) | const [virtual] |
Returns the controller this input device should be linked to.
EventException | if this input device is not linked to any controller. |
Definition at line 83 of file CeylanInputDevice.cc.
References _controller.
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().
bool InputDevice::isLinkedToController | ( | ) | const [virtual] |
Tells whether this input device is linked to a controller.
Definition at line 74 of file CeylanInputDevice.cc.
References _controller.
InputDevice& Ceylan::InputDevice::operator= | ( | const InputDevice & | source | ) | [private] |
Assignment operator made private to ensure that it will be never called.
The compiler should complain whenever this undefined operator is called, implicitly or not.
void InputDevice::setController | ( | Controller & | controller | ) | [virtual] |
Set the controller this input device should send notifications to.
controller | the controller to be linked with. |
EventException | if a controller was already linked to this input device. |
Definition at line 96 of file CeylanInputDevice.cc.
References _controller, and Ceylan::Controller::toString().
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().
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 InputDevice::toString | ( | Ceylan::VerbosityLevels | level = Ceylan::high |
) | const [virtual] |
Returns a user-friendly description of the state of this object.
level | the requested verbosity level. |
Implements Ceylan::TextDisplayable.
Definition at line 125 of file CeylanInputDevice.cc.
References _controller, and Ceylan::Controller::toString().
Controller* Ceylan::InputDevice::_controller [protected] |
The controller this input device can be sending notifications to.
Definition at line 168 of file CeylanInputDevice.h.
Referenced by dropController(), getController(), isLinkedToController(), setController(), and toString().
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().