Public Types |
enum | |
| Public constants.
|
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 std::string & | getNameString () const |
| Get the node's simple name as a string.
|
std::string | 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.
|
bool | hasChild (const std::string &name, int index=0) const |
| Test whether a named child exists.
|
SGPropertyNode * | addChild (const char *name) |
| Create a child node after the last node with the same name.
|
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.
|
const SGPropertyNode * | getChild (const std::string &name, int index=0) const |
| Get a const child node by name and index.
|
simgear::PropertyList | getChildren (const char *name) const |
| Get a vector of all children with the specified name.
|
simgear::PropertyList | getChildren (const std::string &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.
|
SGPropertyNode_ptr | removeChild (const std::string &name, int index=0, bool keep=true) |
| Remove a child node.
|
simgear::PropertyList | removeChildren (const char *name, bool keep=true) |
| Remove all children with the specified name.
|
simgear::PropertyList | removeChildren (const std::string &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 | alias (const std::string &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 std::string &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.
|
SGPropertyNode * | getNode (const std::string &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 std::string &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.
|
const SGPropertyNode * | getNode (const std::string &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.
|
simgear::props::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.
|
template<typename T > |
T | getValue (typename boost::enable_if_c< simgear::props::PropertyTraits< T >::Internal >::type *dummy=0) const |
| Get a value from a 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 | setStringValue (const std::string &value) |
| Set a string value for this node.
|
bool | setUnspecifiedValue (const char *value) |
| Set a value of unspecified type for this node.
|
std::ostream & | printOn (std::ostream &stream) const |
| Print the value of the property to a stream.
|
bool | isTied () const |
| Test whether this node is bound to an external data source.
|
template<typename T > |
bool | tie (const SGRawValue< T > &rawValue, bool useDefault=true) |
| Bind this node to an external source.
|
bool | untie () |
| Unbind this node from any external data source.
|
simgear::props::Type | getType (const char *relative_path) const |
| Get another node's type.
|
simgear::props::Type | getType (const std::string &relative_path) const |
| Get another node's type.
|
bool | hasValue (const char *relative_path) const |
| Test whether another node has a leaf value.
|
bool | hasValue (const std::string &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.
|
bool | getBoolValue (const std::string &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.
|
int | getIntValue (const std::string &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.
|
long | getLongValue (const std::string &relative_path, long defaultValue=0L) const |
| Get another node's value as a long int.
|
float | getFloatValue (const char *relative_path, float defaultValue=0.0f) const |
| Get another node's value as a float.
|
float | getFloatValue (const std::string &relative_path, float defaultValue=0.0f) const |
| Get another node's value as a float.
|
double | getDoubleValue (const char *relative_path, double defaultValue=0.0) const |
| Get another node's value as a double.
|
double | getDoubleValue (const std::string &relative_path, double defaultValue=0.0) 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.
|
const char * | getStringValue (const std::string &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 | setBoolValue (const std::string &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 | setIntValue (const std::string &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 | setLongValue (const std::string &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 | setFloatValue (const std::string &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 | setDoubleValue (const std::string &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 | setStringValue (const std::string &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 | isTied (const std::string &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 std::string &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 std::string &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 std::string &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 std::string &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 std::string &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 | tie (const std::string &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.
|
bool | untie (const std::string &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 Member Functions |
static bool | compare (const SGPropertyNode &lhs, const SGPropertyNode &rhs) |
| Compare two property trees.
|
Static Public Attributes |
static const int | LAST_USED_ATTRIBUTE = USERARCHIVE |
| Last used attribute Update as needed when enum Attribute is changed.
|
Protected Member Functions |
| SGPropertyNode (const std::string &name, int index, SGPropertyNode *parent) |
| Protected constructor for making new nodes on demand.
|
template<typename Itr > |
| SGPropertyNode (Itr begin, Itr end, int index, SGPropertyNode *parent) |
| Convenience constructor.
|
A node in a property tree.