#include <props.hxx>
Inheritance diagram for SGPropertyNode:

Public Types | |
| enum | |
| Public constants. | |
| enum | Type |
| Property value types. | |
| enum | Attribute |
| Access mode attributes. More... | |
Public Member Functions | |
| SGPropertyNode () | |
| Default constructor. | |
| SGPropertyNode (const SGPropertyNode &node) | |
| Copy constructor. | |
| virtual | ~SGPropertyNode () |
| Destructor. | |
| bool | hasValue () const |
| Test whether this node contains a primitive leaf value. | |
| const char * | getName () const |
| Get the node's simple (XML) name. | |
| const char * | getDisplayName (bool simplify=false) const |
| Get the node's pretty display name, with subscript when needed. | |
| int | getIndex () const |
| Get the node's integer index. | |
| SGPropertyNode * | getParent () |
| Get a non-const pointer to the node's parent. | |
| const SGPropertyNode * | getParent () const |
| Get a const pointer to the node's parent. | |
| int | nChildren () const |
| Get the number of child nodes. | |
| SGPropertyNode * | getChild (int position) |
| Get a child node by position (*NOT* index). | |
| const SGPropertyNode * | getChild (int position) const |
| Get a const child node by position (*NOT* index). | |
| bool | hasChild (const char *name, int index=0) const |
| Test whether a named child exists. | |
| SGPropertyNode * | getChild (const char *name, int index=0, bool create=false) |
| Get a child node by name and index. | |
| const SGPropertyNode * | getChild (const char *name, int index=0) const |
| Get a const child node by name and index. | |
| vector< SGPropertyNode_ptr > | getChildren (const char *name) const |
| Get a vector of all children with the specified name. | |
| SGPropertyNode_ptr | removeChild (int pos, bool keep=true) |
| Remove child by position. | |
| SGPropertyNode_ptr | removeChild (const char *name, int index=0, bool keep=true) |
| Remove a child node. | |
| vector< SGPropertyNode_ptr > | removeChildren (const char *name, bool keep=true) |
| Remove all children with the specified name. | |
| bool | alias (SGPropertyNode *target) |
| Alias this node's leaf value to another's. | |
| bool | alias (const char *path) |
| Alias this node's leaf value to another's by relative path. | |
| bool | unalias () |
| Remove any alias for this node. | |
| bool | isAlias () const |
| Test whether the node's leaf value is aliased to another's. | |
| SGPropertyNode * | getAliasTarget () |
| Get a non-const pointer to the current alias target, if any. | |
| const SGPropertyNode * | getAliasTarget () const |
| Get a const pointer to the current alias target, if any. | |
| const char * | getPath (bool simplify=false) const |
| Get the path to this node from the root. | |
| SGPropertyNode * | getRootNode () |
| Get a pointer to the root node. | |
| const SGPropertyNode * | getRootNode () const |
| Get a const pointer to the root node. | |
| SGPropertyNode * | getNode (const char *relative_path, bool create=false) |
| Get a pointer to another node by relative path. | |
| SGPropertyNode * | getNode (const char *relative_path, int index, bool create=false) |
| Get a pointer to another node by relative path. | |
| const SGPropertyNode * | getNode (const char *relative_path) const |
| Get a const pointer to another node by relative path. | |
| const SGPropertyNode * | getNode (const char *relative_path, int index) const |
| Get a const pointer to another node by relative path. | |
| bool | getAttribute (Attribute attr) const |
| Check a single mode attribute for the property node. | |
| void | setAttribute (Attribute attr, bool state) |
| Set a single mode attribute for the property node. | |
| int | getAttributes () const |
| Get all of the mode attributes for the property node. | |
| void | setAttributes (int attr) |
| Set all of the mode attributes for the property node. | |
| Type | getType () const |
| Get the type of leaf value, if any, for this node. | |
| bool | getBoolValue () const |
| Get a bool value for this node. | |
| int | getIntValue () const |
| Get an int value for this node. | |
| long | getLongValue () const |
| Get a long int value for this node. | |
| float | getFloatValue () const |
| Get a float value for this node. | |
| double | getDoubleValue () const |
| Get a double value for this node. | |
| const char * | getStringValue () const |
| Get a string value for this node. | |
| bool | setBoolValue (bool value) |
| Set a bool value for this node. | |
| bool | setIntValue (int value) |
| Set an int value for this node. | |
| bool | setLongValue (long value) |
| Set a long int value for this node. | |
| bool | setFloatValue (float value) |
| Set a float value for this node. | |
| bool | setDoubleValue (double value) |
| Set a double value for this node. | |
| bool | setStringValue (const char *value) |
| Set a string value for this node. | |
| bool | setUnspecifiedValue (const char *value) |
| Set a value of unspecified type for this node. | |
| bool | isTied () const |
| Test whether this node is bound to an external data source. | |
| bool | tie (const SGRawValue< bool > &rawValue, bool useDefault=true) |
| Bind this node to an external bool source. | |
| bool | tie (const SGRawValue< int > &rawValue, bool useDefault=true) |
| Bind this node to an external int source. | |
| bool | tie (const SGRawValue< long > &rawValue, bool useDefault=true) |
| Bind this node to an external long int source. | |
| bool | tie (const SGRawValue< float > &rawValue, bool useDefault=true) |
| Bind this node to an external float source. | |
| bool | tie (const SGRawValue< double > &rawValue, bool useDefault=true) |
| Bind this node to an external double source. | |
| bool | tie (const SGRawValue< const char * > &rawValue, bool useDefault=true) |
| Bind this node to an external string source. | |
| bool | untie () |
| Unbind this node from any external data source. | |
| Type | getType (const char *relative_path) const |
| Get another node's type. | |
| bool | hasValue (const char *relative_path) const |
| Test whether another node has a leaf value. | |
| bool | getBoolValue (const char *relative_path, bool defaultValue=false) const |
| Get another node's value as a bool. | |
| int | getIntValue (const char *relative_path, int defaultValue=0) const |
| Get another node's value as an int. | |
| long | getLongValue (const char *relative_path, long defaultValue=0L) const |
| Get another node's value as a long int. | |
| float | getFloatValue (const char *relative_path, float defaultValue=0.0) const |
| Get another node's value as a float. | |
| double | getDoubleValue (const char *relative_path, double defaultValue=0.0L) const |
| Get another node's value as a double. | |
| const char * | getStringValue (const char *relative_path, const char *defaultValue="") const |
| Get another node's value as a string. | |
| bool | setBoolValue (const char *relative_path, bool value) |
| Set another node's value as a bool. | |
| bool | setIntValue (const char *relative_path, int value) |
| Set another node's value as an int. | |
| bool | setLongValue (const char *relative_path, long value) |
| Set another node's value as a long int. | |
| bool | setFloatValue (const char *relative_path, float value) |
| Set another node's value as a float. | |
| bool | setDoubleValue (const char *relative_path, double value) |
| Set another node's value as a double. | |
| bool | setStringValue (const char *relative_path, const char *value) |
| Set another node's value as a string. | |
| bool | setUnspecifiedValue (const char *relative_path, const char *value) |
| Set another node's value with no specified type. | |
| bool | isTied (const char *relative_path) const |
| Test whether another node is bound to an external data source. | |
| bool | tie (const char *relative_path, const SGRawValue< bool > &rawValue, bool useDefault=true) |
| Bind another node to an external bool source. | |
| bool | tie (const char *relative_path, const SGRawValue< int > &rawValue, bool useDefault=true) |
| Bind another node to an external int source. | |
| bool | tie (const char *relative_path, const SGRawValue< long > &rawValue, bool useDefault=true) |
| Bind another node to an external long int source. | |
| bool | tie (const char *relative_path, const SGRawValue< float > &rawValue, bool useDefault=true) |
| Bind another node to an external float source. | |
| bool | tie (const char *relative_path, const SGRawValue< double > &rawValue, bool useDefault=true) |
| Bind another node to an external double source. | |
| bool | tie (const char *relative_path, const SGRawValue< const char * > &rawValue, bool useDefault=true) |
| Bind another node to an external string source. | |
| bool | untie (const char *relative_path) |
| Unbind another node from any external data source. | |
| void | addChangeListener (SGPropertyChangeListener *listener, bool initial=false) |
| Add a change listener to the property. | |
| void | removeChangeListener (SGPropertyChangeListener *listener) |
| Remove a change listener from the property. | |
| int | nListeners () const |
| Get the number of listeners. | |
| void | fireValueChanged () |
| Fire a value change event to all listeners. | |
| void | fireChildAdded (SGPropertyNode *child) |
| Fire a child-added event to all listeners. | |
| void | fireChildRemoved (SGPropertyNode *child) |
| Fire a child-removed event to all listeners. | |
| void | clearValue () |
| Clear any existing value and set the type to NONE. | |
Static Public Attributes | |
| static const int | LAST_USED_ATTRIBUTE |
| Last used attribute Update as needed when enum Attribute is changed. | |
Protected Member Functions | |
| void | fireValueChanged (SGPropertyNode *node) |
| void | fireChildAdded (SGPropertyNode *parent, SGPropertyNode *child) |
| void | fireChildRemoved (SGPropertyNode *parent, SGPropertyNode *child) |
| SGPropertyNode (const char *name, int index, SGPropertyNode *parent) | |
| Protected constructor for making new nodes on demand. | |
Definition at line 490 of file props.hxx.
| SGPropertyNode * SGPropertyNode::getNode | ( | const char * | relative_path, | |
| int | index, | |||
| bool | create = false | |||
| ) |
Get a pointer to another node by relative path.
This method leaves the index off the last member of the path, so that the user can specify it separately (and save some string building). For example, getNode("/bar[1]/foo", 3) is exactly equivalent to getNode("bar[1]/foo[3]"). The index provided overrides any given in the path itself for the last component.
| const SGPropertyNode * SGPropertyNode::getNode | ( | const char * | relative_path, | |
| int | index | |||
| ) | const |
| void SGPropertyNode::addChangeListener | ( | SGPropertyChangeListener * | listener, | |
| bool | initial = false | |||
| ) |
Add a change listener to the property.
If "initial" is set call the listener initially.
Definition at line 2096 of file props.cxx.
References SGPropertyChangeListener::register_property(), and SGPropertyChangeListener::valueChanged().
1.5.1