head 1.4; access; symbols; locks; strict; comment @# @; 1.4 date 2002.09.07.01.50.36; author curt; state Exp; branches; next 1.3; 1.3 date 2002.08.31.19.01.50; author curt; state Exp; branches; next 1.2; 1.2 date 2002.08.31.18.53.59; author curt; state Exp; branches; next 1.1; 1.1 date 2002.02.15.17.21.54; author curt; state Exp; branches; next ; desc @@ 1.4 log @Updated doxygen docs. @ text @
Main Page Class Hierarchy Compound List File List Compound Members File Members

# SGPropertyNode Class Reference

A node in a property tree. More...

`#include <props.hxx>`

List of all members.

## Public Types
enum | { MAX_STRING_LEN = 1024 }
| Public constants.
enum | Type { NONE, ALIAS, BOOL, INT, LONG, FLOAT, DOUBLE, STRING, UNSPECIFIED }
| Property value types.
enum | Attribute { READ = 1, WRITE = 2, ARCHIVE = 4, REMOVED = 8, TRACE_READ = 16, TRACE_WRITE = 32 }
| Access mode attributes. More...
## Public Methods
| 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 (const char *name, int index=0, bool keep=true)
| Remove a child node.
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)
| Add a change listener to the property.
void | removeChangeListener (SGPropertyChangeListener *listener)
| Remove a change listener from the property.
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.
## Static Public Attributes
const int | LAST_USED_ATTRIBUTE = TRACE_WRITE
| Last used attribute Update as needed when enum Attribute is changed.
## Protected Methods
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.
## Friends
class | SGPropertyNode_ptr

## Detailed Description

A node in a property tree.

Definition at line 551 of file props.hxx.

## Member Enumeration Documentation

enum SGPropertyNode::Attribute

| Access mode attributes. The ARCHIVE attribute is strictly advisory, and controls whether the property should normally be saved and restored. Definition at line 584 of file props.hxx. Referenced by getAttribute(), and setAttribute().

## Member Function Documentation

const SGPropertyNode * SGPropertyNode::getNode | ( | const char * | relative_path,
|  | int | index
| ) | const

| Get a const 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 separate. Definition at line 1750 of file props.cxx. References getNode().

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. Definition at line 1734 of file props.cxx.

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

- props.hxx
- props.cxx

@ 1.3 log @Oops, try again. @ text @d445 1 a445 1