#include <AbstractPropertyContainer.h>

Public Member Functions | |
| AbstractPropertyContainer (void) | |
| virtual | ~AbstractPropertyContainer (void) |
| virtual void | onPropertyEvent (const PropertyEvent &p) |
| virtual void | onPropertyContainerEvent (const PropertyContainerEvent &p) |
| virtual void | createProperties (void) |
| virtual void | setOwner (const PropertyContainerPtr &owner) |
| virtual const XMLNodePtr | toXML (const XMLNodePtr &parent=XMLNodePtr()) const |
| virtual void | onInitialize (void) |
| virtual void | initialize (bool force=false) |
| reimplements InitializeInterface::initialize( bool force ) | |
| void | sendPropertyContainerEvent (const PropertyContainerEvent &p) |
| const PropertyList & | getProperties (void) const |
| void | findPointers (const string name, PropertyList &results) |
| const PropertyPtr | findProperty (const void *) const |
| const PropertyPtr | findProperty (const string name) const |
| int | findIndex (const string name) const |
| const PropertyPtr | getProperty (const string name) const |
| const PropertyPtr | getItem (unsigned int i) const |
| const PropertyPtr | getProperty (unsigned int i) const |
| void | setProperty (const string name, const string value, bool send) |
| void | setProperty (const XMLNodePtr &xml, bool send) |
| void | setProperties (const XMLNodePtr &xml, bool send) |
| bool | isProperty (const PropertyPtr &p) const |
| bool | isProperty (const string name) const |
| bool | isProperty (const string name, const string value) const |
| bool | removeProperty (const PropertyPtr &p, bool send) |
| bool | removeProperty (unsigned int index, bool send) |
| bool | removeProperties (unsigned int first, unsigned int last, bool send) |
| bool | removeProperties (bool send=false) |
| virtual const PropertyPtr | addProperty (const string name, bool send) |
| virtual const PropertyPtr | addProperty (const PropertyPtr &p, bool send) |
| virtual void | setName (const XMLNodePtr &xml=XMLNodePtr()) |
| virtual void | setName (const string name) |
| virtual void | recalculatePath (void) |
| void | propertyChanged (const PropertyPtr &p) |
| void | propertyAdded (const PropertyPtr &p) |
| void | propertyRemoved (const PropertyPtr &p) |
| unsigned int | size (void) const |
| const PropertyPtr | operator[] (int) const |
| PropertyPtr | operator[] (int) |
Static Public Member Functions | |
| static void | extractVariables (const XMLNodePtr &xml) |
| recursively scans the xml and adds all "variable" tags met | |
| static void | addVariable (const string key, const string value) |
| static const string | interpret (const string value) |
| static void | addPropertyToOwner (AbstractPropertyContainer *owner, const PropertyPtr p) |
| must be external to avoid having to include AbstractPropertyContainer in Property.h | |
| static void | removePropertyFromOwner (AbstractPropertyContainer *owner, const PropertyPtr p) |
Protected Attributes | |
| PropertyList | m_properties |
Static Protected Attributes | |
| static map< string, string > | s_variables |
Friends | |
| ostream & | operator<< (ostream &os, const AbstractPropertyContainer &rhs) |
| const istream & | operator>> (const istream &is, AbstractPropertyContainer &rhs) |
Definition at line 15 of file AbstractPropertyContainer.h.
| RenderTools::AbstractPropertyContainer::AbstractPropertyContainer | ( | void | ) |
Definition at line 10 of file AbstractPropertyContainer.cpp.
| RenderTools::AbstractPropertyContainer::~AbstractPropertyContainer | ( | void | ) | [virtual] |
Definition at line 14 of file AbstractPropertyContainer.cpp.
| const PropertyPtr RenderTools::AbstractPropertyContainer::addProperty | ( | const PropertyPtr & | p, | |
| bool | send | |||
| ) | [virtual] |
Reimplemented in RenderTools::PropertyContainer< T >, RenderTools::PropertyProxyContainer< T >, and RenderTools::PropertyContainer< PropertyProxy< T > >.
Definition at line 297 of file AbstractPropertyContainer.cpp.
| const PropertyPtr RenderTools::AbstractPropertyContainer::addProperty | ( | const string | name, | |
| bool | send | |||
| ) | [virtual] |
Reimplemented in RenderTools::PropertyContainer< T >, RenderTools::PropertyProxyContainer< T >, and RenderTools::PropertyContainer< PropertyProxy< T > >.
Definition at line 63 of file AbstractPropertyContainer.cpp.
| void RenderTools::AbstractPropertyContainer::addPropertyToOwner | ( | AbstractPropertyContainer * | owner, | |
| const PropertyPtr | p | |||
| ) | [static] |
must be external to avoid having to include AbstractPropertyContainer in Property.h
Definition at line 392 of file AbstractPropertyContainer.cpp.
| void RenderTools::AbstractPropertyContainer::addVariable | ( | const string | key, | |
| const string | value | |||
| ) | [static] |
Definition at line 110 of file AbstractPropertyContainer.cpp.
| void RenderTools::AbstractPropertyContainer::createProperties | ( | void | ) | [virtual] |
Reimplemented from RenderTools::AbstractProperty.
Reimplemented in RenderTools::AbstractApplication, RenderTools::Camera, RenderTools::Framebuffer, RenderTools::Image, RenderTools::Program, RenderTools::RelationalNode, RenderTools::Renderbuffer, RenderTools::Rendergroup, RenderTools::AbstractCurve, RenderTools::Circle, RenderTools::Curve< T >, RenderTools::Ellipsoid, RenderTools::Plane, RenderTools::Rendernode, RenderTools::TextNode, RenderTools::Renderpass, RenderTools::Sampler, RenderTools::Stateset, RenderTools::TransformNode, RenderTools::Vertexbuffer, and RenderTools::ViewController.
Definition at line 17 of file AbstractPropertyContainer.cpp.
| void RenderTools::AbstractPropertyContainer::extractVariables | ( | const XMLNodePtr & | xml | ) | [static] |
recursively scans the xml and adds all "variable" tags met
Definition at line 98 of file AbstractPropertyContainer.cpp.
| int RenderTools::AbstractPropertyContainer::findIndex | ( | const string | name | ) | const |
breadth-first search properties for the name
Definition at line 352 of file AbstractPropertyContainer.cpp.
| void RenderTools::AbstractPropertyContainer::findPointers | ( | const string | name, | |
| PropertyList & | results | |||
| ) |
Definition at line 314 of file AbstractPropertyContainer.cpp.
| const PropertyPtr RenderTools::AbstractPropertyContainer::findProperty | ( | const string | name | ) | const |
breadth-first search properties for the name
Definition at line 332 of file AbstractPropertyContainer.cpp.
| const PropertyPtr RenderTools::AbstractPropertyContainer::findProperty | ( | const void * | pointer | ) | const |
Definition at line 322 of file AbstractPropertyContainer.cpp.
| const PropertyPtr RenderTools::AbstractPropertyContainer::getItem | ( | unsigned int | i | ) | const |
Reimplemented in RenderTools::PropertyContainer< T >, RenderTools::PropertyProxyContainer< T >, and RenderTools::PropertyContainer< PropertyProxy< T > >.
Definition at line 128 of file AbstractPropertyContainer.cpp.
| const PropertyList & RenderTools::AbstractPropertyContainer::getProperties | ( | void | ) | const |
Definition at line 114 of file AbstractPropertyContainer.cpp.
| const PropertyPtr RenderTools::AbstractPropertyContainer::getProperty | ( | unsigned int | i | ) | const |
Definition at line 132 of file AbstractPropertyContainer.cpp.
| const PropertyPtr RenderTools::AbstractPropertyContainer::getProperty | ( | const string | name | ) | const |
Definition at line 118 of file AbstractPropertyContainer.cpp.
| void RenderTools::AbstractPropertyContainer::initialize | ( | bool | force = false |
) | [virtual] |
reimplements InitializeInterface::initialize( bool force )
Reimplemented from RenderTools::InitializeInterface.
Definition at line 21 of file AbstractPropertyContainer.cpp.
| const string RenderTools::AbstractPropertyContainer::interpret | ( | const string | value | ) | [static] |
| bool RenderTools::AbstractPropertyContainer::isProperty | ( | const string | name, | |
| const string | value | |||
| ) | const |
Definition at line 238 of file AbstractPropertyContainer.cpp.
| bool RenderTools::AbstractPropertyContainer::isProperty | ( | const string | name | ) | const |
Definition at line 228 of file AbstractPropertyContainer.cpp.
| bool RenderTools::AbstractPropertyContainer::isProperty | ( | const PropertyPtr & | p | ) | const |
Definition at line 216 of file AbstractPropertyContainer.cpp.
| void RenderTools::AbstractPropertyContainer::onInitialize | ( | void | ) | [virtual] |
Reimplemented from RenderTools::AbstractProperty.
Reimplemented in RenderTools::AbstractApplication, RenderTools::Camera, RenderTools::Framebuffer, RenderTools::Image, RenderTools::Program, RenderTools::RelationalNode, RenderTools::Renderbuffer, RenderTools::Rendergroup, RenderTools::AbstractCurve, RenderTools::Circle, RenderTools::Ellipsoid, RenderTools::Plane, RenderTools::Rendernode, RenderTools::TextNode, RenderTools::Renderpass, RenderTools::Sampler, RenderTools::Stateset, RenderTools::Vertexbuffer, RenderTools::ViewController, RenderTools::PropertyContainer< T >, RenderTools::PropertyProxyContainer< T >, and RenderTools::PropertyContainer< PropertyProxy< T > >.
Definition at line 31 of file AbstractPropertyContainer.cpp.
| void RenderTools::AbstractPropertyContainer::onPropertyContainerEvent | ( | const PropertyContainerEvent & | p | ) | [virtual] |
Definition at line 76 of file AbstractPropertyContainer.cpp.
| void RenderTools::AbstractPropertyContainer::onPropertyEvent | ( | const PropertyEvent & | p | ) | [virtual] |
Reimplemented from RenderTools::AbstractProperty.
Reimplemented in RenderTools::Camera, RenderTools::Image, RenderTools::RelationalNode, RenderTools::Renderbuffer, and RenderTools::Rendergroup.
Definition at line 70 of file AbstractPropertyContainer.cpp.
| PropertyPtr RenderTools::AbstractPropertyContainer::operator[] | ( | int | index | ) |
Definition at line 415 of file AbstractPropertyContainer.cpp.
| const PropertyPtr RenderTools::AbstractPropertyContainer::operator[] | ( | int | index | ) | const |
Definition at line 408 of file AbstractPropertyContainer.cpp.
| void RenderTools::AbstractPropertyContainer::propertyAdded | ( | const PropertyPtr & | p | ) |
| void RenderTools::AbstractPropertyContainer::propertyChanged | ( | const PropertyPtr & | p | ) |
| void RenderTools::AbstractPropertyContainer::propertyRemoved | ( | const PropertyPtr & | p | ) |
| void RenderTools::AbstractPropertyContainer::recalculatePath | ( | void | ) | [virtual] |
Reimplemented from RenderTools::AbstractProperty.
Definition at line 49 of file AbstractPropertyContainer.cpp.
| bool RenderTools::AbstractPropertyContainer::removeProperties | ( | bool | send = false |
) |
Definition at line 273 of file AbstractPropertyContainer.cpp.
| bool RenderTools::AbstractPropertyContainer::removeProperties | ( | unsigned int | first, | |
| unsigned int | last, | |||
| bool | send | |||
| ) |
collect the pointers that need to be removed
remove the selected pointers
Definition at line 277 of file AbstractPropertyContainer.cpp.
| bool RenderTools::AbstractPropertyContainer::removeProperty | ( | unsigned int | index, | |
| bool | send | |||
| ) |
Definition at line 247 of file AbstractPropertyContainer.cpp.
| bool RenderTools::AbstractPropertyContainer::removeProperty | ( | const PropertyPtr & | p, | |
| bool | send | |||
| ) |
Definition at line 261 of file AbstractPropertyContainer.cpp.
| void RenderTools::AbstractPropertyContainer::removePropertyFromOwner | ( | AbstractPropertyContainer * | owner, | |
| const PropertyPtr | p | |||
| ) | [static] |
Definition at line 398 of file AbstractPropertyContainer.cpp.
| void RenderTools::AbstractPropertyContainer::sendPropertyContainerEvent | ( | const PropertyContainerEvent & | p | ) |
Definition at line 80 of file AbstractPropertyContainer.cpp.
| void RenderTools::AbstractPropertyContainer::setName | ( | const string | name | ) | [virtual] |
Reimplemented from RenderTools::AbstractProperty.
Definition at line 35 of file AbstractPropertyContainer.cpp.
| void RenderTools::AbstractPropertyContainer::setName | ( | const XMLNodePtr & | xml = XMLNodePtr() |
) | [virtual] |
Reimplemented from RenderTools::AbstractProperty.
Definition at line 42 of file AbstractPropertyContainer.cpp.
| void RenderTools::AbstractPropertyContainer::setOwner | ( | const PropertyContainerPtr & | owner | ) | [virtual] |
Reimplemented from RenderTools::AbstractProperty.
Definition at line 56 of file AbstractPropertyContainer.cpp.
| void RenderTools::AbstractPropertyContainer::setProperties | ( | const XMLNodePtr & | xml, | |
| bool | send | |||
| ) |
Definition at line 206 of file AbstractPropertyContainer.cpp.
| void RenderTools::AbstractPropertyContainer::setProperty | ( | const XMLNodePtr & | xml, | |
| bool | send | |||
| ) |
first filter out if it's a (global) variable
TODO intoduce variable types
try find a property with that name in this container
we don't have the property yet, so we create it (!)
xml describes a factory class, see if it's expanded
if this is a 'flat' (proxy)tag, create a property through the polymorphic addProperty function
it's a registered factory class, and xml has children, so we need to make a new instance
for a container, recurse into setting the properties
for a 'flat' property, set the value and notify if requested
Definition at line 149 of file AbstractPropertyContainer.cpp.
| void RenderTools::AbstractPropertyContainer::setProperty | ( | const string | name, | |
| const string | value, | |||
| bool | send | |||
| ) |
Definition at line 140 of file AbstractPropertyContainer.cpp.
| unsigned int RenderTools::AbstractPropertyContainer::size | ( | void | ) | const |
Definition at line 404 of file AbstractPropertyContainer.cpp.
| const XMLNodePtr RenderTools::AbstractPropertyContainer::toXML | ( | const XMLNodePtr & | parent = XMLNodePtr() |
) | const [virtual] |
expand if either no parent, or it's described in full before
recurse only if required
Reimplemented from RenderTools::AbstractProperty.
Definition at line 372 of file AbstractPropertyContainer.cpp.
| ostream& operator<< | ( | ostream & | os, | |
| const AbstractPropertyContainer & | rhs | |||
| ) | [friend] |
Definition at line 422 of file AbstractPropertyContainer.cpp.
| const istream& operator>> | ( | const istream & | is, | |
| AbstractPropertyContainer & | rhs | |||
| ) | [friend] |
Definition at line 430 of file AbstractPropertyContainer.cpp.
Definition at line 68 of file AbstractPropertyContainer.h.
map< string, string > RenderTools::AbstractPropertyContainer::s_variables [static, protected] |
Definition at line 69 of file AbstractPropertyContainer.h.
1.5.8