MIRA
|
A special node that acts only as (empty) root node for a property tree. More...
#include <serialization/PropertyNode.h>
Public Types | |
typedef std::vector< PropertyNode * > | NodeList |
Public Member Functions | |
RootPropertyNode () | |
void | addChild (PropertyNode *child, int index=-1) |
void | removeChild (int index, NodeList::iterator it) |
void | removeChild (int index) |
void | removeAllChildren () |
void | registerListener (PropertyNodeListener *listener) |
void | unregisterListener (PropertyNodeListener *listener) |
void | lock () |
bool | tryLock () |
void | unlock () |
virtual PropertyNode * | parent () |
Returns the parent property node (or NULL, if this is a root node) More... | |
virtual const PropertyNode * | parent () const |
Returns the parent property node (or NULL, if this is a root node) More... | |
virtual NodeList & | children () |
Returns a vector with all child property nodes. More... | |
virtual const NodeList & | children () const |
Returns a vector with all child property nodes. More... | |
const PropertyNode * | findChildNode (const std::vector< std::string > &ids, std::size_t level=0) const |
Searches for a child property node (which may also be a child of a child of a child, etc). More... | |
PropertyNode * | findChildNode (const std::vector< std::string > &ids, std::size_t level=0) |
const PropertyNode * | findChildNode (const std::string &id) const |
Searches for a child property node (which may also be a child of a child of a child, etc). More... | |
PropertyNode * | findChildNode (const std::string &id) |
Searches for a child property node (which may also be a child of a child of a child, etc). More... | |
std::string | fullID (PropertyNode *p=NULL) const |
Returns the full qualified ID of this property, including the names of the parent properties separated by '. More... | |
virtual void | setFromString (const std::string &value) |
Sets the value of the property, where the value is given as string. More... | |
virtual std::string | getAsString () const |
Returns the value of the property as string. More... | |
template<typename T > | |
TypedPropertyNode< T > * | toTyped () |
Casts this property node to a typed property node, or returns NULL if the types do not match. More... | |
template<typename T > | |
const TypedPropertyNode< T > * | toTyped () const |
Casts this property node to a typed property node, or returns NULL if the types do not match. More... | |
template<typename Reflector > | |
void | reflectCommon (Reflector &r) |
template<typename Reflector > | |
void | reflectRead (Reflector &r) |
template<typename Reflector > | |
void | reflectWrite (Reflector &r) |
const std::string & | id () const |
Returns the unique id of this property. More... | |
const std::string & | name () const |
Returns the name of this property as specified in the reflect() method. More... | |
const std::string & | comment () const |
Returns the comment that is associated with this property. More... | |
const Typename & | type () const |
Returns the type of this property as Typename. More... | |
template<typename T > | |
T | getHint (const std::string &attribute, const T &defaultValue=T()) const |
Returns the specified value for the given property hint attribute. More... | |
bool | hasHint (const std::string &attribute) const |
Returns true if a hint with the specified attribute exists. More... | |
bool | isReadOnly () const |
Returns true, if this property is read-only and hence, can not be modified. More... | |
bool | isVolatile () const |
Returns true, if this property is volatile and hence, must be locked for access. More... | |
void | setName (const std::string &name) |
For internal use by PropertySerializer only: Overrides the name of the property. More... | |
Protected Types | |
typedef ProtecteeMixin< PropertyNodeListenerList > | ProtectedListenerList |
Protected Member Functions | |
virtual RootPropertyNode * | getRootNode () |
virtual const RootPropertyNode * | getRootNode () const |
ScopedAccess< ProtectedListenerList > | getListeners (bool alreadyLocked=false) |
void | removeChildren (int index, int count) |
Removes contiguous children, starting at index (without deleting them). More... | |
void | removeChildren (int index, NodeList::iterator it, int count) |
Removes contiguous children, starting at index (without deleting them). More... | |
void | moveChild (int index, int destination) |
Moves a child node from index to before element at destination. More... | |
void | moveChild (int index, NodeList::iterator it, int destination, NodeList::iterator destIt) |
Moves a child node from index to before element at destination. More... | |
virtual void | beginAddChildren (PropertyNodeListenerList &listeners, int index, int count) |
Caller must ensure to keep listeners locked between beginAddChildren and endAddChildren! More... | |
virtual void | endAddChildren (PropertyNodeListenerList &listeners) |
virtual void | beginRemoveChildren (PropertyNodeListenerList &listeners, int index, NodeList::iterator it, int count) |
Caller must ensure to keep listeners locked between beginRemoveChildren and endRemoveChildren! More... | |
virtual void | endRemoveChildren (PropertyNodeListenerList &listeners) |
virtual void | beginMoveChildren (PropertyNodeListenerList &listeners, int index, NodeList::iterator it, int count, int destination) |
Caller must ensure to keep listeners locked between beginMoveChildren and endMoveChildren! More... | |
virtual void | endMoveChildren (PropertyNodeListenerList &listeners) |
Protected Attributes | |
std::string | mID |
the unique id of the property More... | |
std::string | mName |
the name of the property (mostly equal to mID) More... | |
std::string | mComment |
the comment that is associated to the property More... | |
PropertyHint | mHint |
the specified property hints More... | |
Typename | mType |
the type of the property More... | |
bool | mIsReadOnly |
indicates whether the property is read-only More... | |
bool | mIsVolatile |
indicates whether the property is volatile More... | |
Friends | |
class | PropertyNode |
A special node that acts only as (empty) root node for a property tree.
|
protected |
|
inherited |
RootPropertyNode | ( | ) |
void addChild | ( | PropertyNode * | child, |
int | index = -1 |
||
) |
void removeChild | ( | int | index, |
NodeList::iterator | it | ||
) |
void removeChild | ( | int | index | ) |
void removeAllChildren | ( | ) |
|
protectedvirtual |
Reimplemented from PropertyNode.
|
protectedvirtual |
Reimplemented from PropertyNode.
void registerListener | ( | PropertyNodeListener * | listener | ) |
void unregisterListener | ( | PropertyNodeListener * | listener | ) |
void lock | ( | ) |
bool tryLock | ( | ) |
void unlock | ( | ) |
|
protected |
|
inlinevirtualinherited |
Returns the parent property node (or NULL, if this is a root node)
Reimplemented in TypedRemotePropertyNode< T >.
|
inlinevirtualinherited |
Returns the parent property node (or NULL, if this is a root node)
Reimplemented in TypedRemotePropertyNode< T >.
|
inlinevirtualinherited |
Returns a vector with all child property nodes.
Reimplemented in TypedRemotePropertyNode< T >.
|
inlinevirtualinherited |
Returns a vector with all child property nodes.
Reimplemented in TypedRemotePropertyNode< T >.
|
inherited |
Searches for a child property node (which may also be a child of a child of a child, etc).
The "path" to the child node is specified via the provided vector, where the first item corresponds to the id of the child property, the second item corresponds to the child property of the child property, etc. The parameter 'level' specifies the item where to start within the specified vector, this parameter usually will be 0 in the first call.
|
inherited |
The "path" to the child node is specified via the provided vector, where the first item corresponds to the id of the child property, the second item corresponds to the child property of the child property, etc. The parameter 'level' specifies the item where to start within the specified vector, this parameter usually will be 0 in the first call.
|
inherited |
Searches for a child property node (which may also be a child of a child of a child, etc).
The "path" to the property is addressed via its full name. The following example
addresses the child property "value" of the property "myMember" of the child property "myObject".
|
inherited |
Searches for a child property node (which may also be a child of a child of a child, etc).
The "path" to the property is addressed via its full name. The following example
addresses the child property "value" of the property "myMember" of the child property "myObject".
|
inlineinherited |
Returns the full qualified ID of this property, including the names of the parent properties separated by '.
'
If no optional parameter is specified, the name is generated up to the root of the property hierarchy. If another parent node is specified as the name is generated relative to that node.
|
virtualinherited |
Sets the value of the property, where the value is given as string.
|
virtualinherited |
Returns the value of the property as string.
|
inlineinherited |
Casts this property node to a typed property node, or returns NULL if the types do not match.
|
inlineinherited |
Casts this property node to a typed property node, or returns NULL if the types do not match.
|
inlineprotectedinherited |
Removes contiguous children, starting at index (without deleting them).
Notifies all registered listeners.
|
protectedinherited |
Removes contiguous children, starting at index (without deleting them).
Notifies all registered listeners. Use this for efficiency if iterator is already known, otherwise use removeChild(index) Iterator it must be a forward iterator to the first of the removed children (at index).
|
inlineprotectedinherited |
Moves a child node from index to before element at destination.
Notifies all registered listeners.
|
protectedinherited |
Moves a child node from index to before element at destination.
Notifies all registered listeners. Use this for efficiency if iterators are already known, otherwise use moveChild(index, destination)
|
protectedvirtualinherited |
Caller must ensure to keep listeners locked between beginAddChildren and endAddChildren!
|
protectedvirtualinherited |
|
protectedvirtualinherited |
Caller must ensure to keep listeners locked between beginRemoveChildren and endRemoveChildren!
|
protectedvirtualinherited |
|
protectedvirtualinherited |
Caller must ensure to keep listeners locked between beginMoveChildren and endMoveChildren!
|
protectedvirtualinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Returns the unique id of this property.
|
inlineinherited |
Returns the name of this property as specified in the reflect() method.
|
inlineinherited |
Returns the comment that is associated with this property.
|
inlineinherited |
Returns the type of this property as Typename.
|
inlineinherited |
Returns the specified value for the given property hint attribute.
If no such attribute is set in this hint, then the defaultValue is returned.
|
inlineinherited |
Returns true if a hint with the specified attribute exists.
|
inlineinherited |
Returns true, if this property is read-only and hence, can not be modified.
|
inlineinherited |
Returns true, if this property is volatile and hence, must be locked for access.
|
inlineinherited |
For internal use by PropertySerializer only: Overrides the name of the property.
|
friend |
|
protectedinherited |
the unique id of the property
|
protectedinherited |
the name of the property (mostly equal to mID)
|
protectedinherited |
the comment that is associated to the property
|
protectedinherited |
the specified property hints
|
protectedinherited |
the type of the property
|
protectedinherited |
indicates whether the property is read-only
|
protectedinherited |
indicates whether the property is volatile