Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

Ogre::StringInterface Class Reference

Class defining the common interface which classes can use to present a reflection-style, self-defining parameter set to callers. More...

#include <OgreStringInterface.h>

Inheritance diagram for Ogre::StringInterface:

Ogre::BillboardSet Ogre::GuiElement Ogre::ParticleAffector Ogre::ParticleEmitter Ogre::ParticleSystem Ogre::GuiContainer Ogre::TextAreaGuiElement Ogre::ColourFaderAffector Ogre::LinearForceAffector Ogre::AreaEmitter Ogre::PointEmitter Ogre::PanelGuiElement Ogre::BoxEmitter Ogre::CylinderEmitter Ogre::EllipsoidEmitter Ogre::RingEmitter Ogre::BorderPanelGuiElement Ogre::CursorGuiElement Ogre::ListGuiElement Ogre::HollowEllipsoidEmitter Ogre::ButtonGuiElement List of all members.

Public Methods

virtual ~StringInterface ()
 Virtual desctructor, see Effective C++. More...

ParamDictionarygetParamDictionary (void)
 Retrieves the parameter dictionary for this class. More...

const ParameterListgetParameters (void)
 Retrieves a list of parameters valid for this object. More...

virtual bool setParameter (const String &name, const String &value)
 Generic parameter setting method. More...

virtual String getParameter (const String &name)
 Generic parameter retrieval method. More...

virtual void copyParametersTo (StringInterface *dest)
 Method for copying this object's parameters to another object. More...


Protected Methods

bool createParamDictionary (const String &className)
 Internal method for creating a parameter dictionary for the class, if it does not already exist. More...


Protected Attributes

String mParamDictName
 Class name for this instance to be used as a lookup (must be initialised by subclasses). More...


Static Protected Attributes

ParamDictionaryMap msDictionary
 Dictionary of parameters. More...


Detailed Description

Class defining the common interface which classes can use to present a reflection-style, self-defining parameter set to callers.

Remarks:
This class also holds a static map of class name to parameter dictionaries for each subclass to use. See ParamDictionary for details.
In order to use this class, each subclass must call createParamDictionary in their constructors which will create a parameter dictionary for the class if it does not exist yet.


Constructor & Destructor Documentation

virtual Ogre::StringInterface::~StringInterface   [inline, virtual]
 

Virtual desctructor, see Effective C++.


Member Function Documentation

virtual void Ogre::StringInterface::copyParametersTo StringInterface *    dest [inline, virtual]
 

Method for copying this object's parameters to another object.

Remarks:
This method takes the values of all the object's parameters and tries to set the same values on the destination object. This provides a completely type independent way to copy parameters to other objects. Note that because of the String manipulation involved, this should not be regarded as an efficient process and should be saved for times outside of the rendering loop.

Any unrecognised parameters will be ignored as with setParameter method.

Parameters:
dest  Pointer to object to have it's parameters set the same as this object.

bool Ogre::StringInterface::createParamDictionary const String   className [inline, protected]
 

Internal method for creating a parameter dictionary for the class, if it does not already exist.

Remarks:
This method will check to see if a parameter dictionary exist for this class yet, and if not will create one. NB you must supply the name of the class (RTTI is not used or performance).
Parameters:
className  the name of the class using the dictionary
Returns:
true if a new dictionary was created, false if it was already there

ParamDictionary* Ogre::StringInterface::getParamDictionary void    [inline]
 

Retrieves the parameter dictionary for this class.

Remarks:
Only valid to call this after createParamDictionary.
Returns:
Pointer to ParamDictionary shared by all instances of this class which you can add parameters to, retrieve parameters etc.

virtual String Ogre::StringInterface::getParameter const String   name [inline, virtual]
 

Generic parameter retrieval method.

Remarks:
Call this method with the name of a parameter to retrieve a string-format value of the parameter in question. If in doubt, check the parameter definition in the list returned from getParameters for the type of this parameter. If you like you can use StringConverter to convert this string back into a native type.
Parameters:
name  The name of the parameter to get
Returns:
String value of parameter, blank if not found

const ParameterList& Ogre::StringInterface::getParameters void    [inline]
 

Retrieves a list of parameters valid for this object.

Returns:
A reference to a static list of ParameterDef objects.

bool Ogre::StringInterface::setParameter const String   name,
const String   value
[virtual]
 

Generic parameter setting method.

Remarks:
Call this method with the name of a parameter and a string version of the value to set. The implementor will convert the string to a native type internally. If in doubt, check the parameter definition in the list returned from StringInterface::getParameters.
Parameters:
name  The name of the parameter to set
value  String value. Must be in the right format for the type specified in the parameter definition. See the StringConverter class for more information.
Returns:
true if set was successful, false otherwise (NB no exceptions thrown - tolerant method)


Member Data Documentation

String Ogre::StringInterface::mParamDictName [protected]
 

Class name for this instance to be used as a lookup (must be initialised by subclasses).

ParamDictionaryMap Ogre::StringInterface::msDictionary [static, protected]
 

Dictionary of parameters.

Copyright © 2002 by The OGRE Team