Ceylan::InputDevice Class Reference

Input devices are sending informations to controllers so that they can animate the MVC framework. More...

#include <CeylanInputDevice.h>

Inheritance diagram for Ceylan::InputDevice:

Inheritance graph
[legend]
Collaboration diagram for Ceylan::InputDevice:

Collaboration graph
[legend]

List of all members.

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 ControllergetController () 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.
InputDeviceoperator= (const InputDevice &source)
 Assignment operator made private to ensure that it will be never called.


Detailed Description

Input devices are sending informations to controllers so that they can animate the MVC framework.

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.

See also:
Controller

Definition at line 69 of file CeylanInputDevice.h.


Member Enumeration Documentation

Defines what text output formats for TextDisplayable instances are available.

Enumerator:
rawText 
html 

Definition at line 124 of file CeylanTextDisplayable.h.


Constructor & Destructor Documentation

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]

Basic virtual destructor.

Definition at line 65 of file CeylanInputDevice.cc.

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.


Member Function Documentation

bool InputDevice::dropController (  )  [virtual]

Drops the controller this input device might be linked with.

Returns:
true iff a controller was already linked to this input device.

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.

Exceptions:
EventException if this input device is not linked to any controller.
See also:
isLinkedToController

Definition at line 83 of file CeylanInputDevice.cc.

References _controller.

TextDisplayable::TextOutputFormat TextDisplayable::GetOutputFormat (  )  [static, inherited]

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.

Parameters:
controller the controller to be linked with.
Exceptions:
EventException if a controller was already linked to this input device.
See also:
dropController

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.

Parameters:
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.

Parameters:
displayables a list of pointers to TextDisplayable instances/
level the requested verbosity level.
Note:
Text output format is determined from overall settings.
See also:
toString, Ceylan::VerbosityLevels

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.

Parameters:
level the requested verbosity level.
Note:
Text output format is determined from overall settings.
See also:
TextDisplayable

Implements Ceylan::TextDisplayable.

Definition at line 125 of file CeylanInputDevice.cc.

References _controller, and Ceylan::Controller::toString().


Member Data Documentation

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.

Note:
Defaults to raw text.

Definition at line 158 of file CeylanTextDisplayable.h.

Referenced by Ceylan::TextDisplayable::GetOutputFormat(), and Ceylan::TextDisplayable::SetOutputFormat().


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

Generated on Thu Jun 4 20:40:15 2009 for Ceylan by  doxygen 1.5.8