Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members  

skTreeNode Class Reference

This class encapsulates a node in a tree. More...

#include <skTreeNode.h>

List of all members.

Public Methods

 skTreeNode ()
 Default Constructor - blank label, data and an empty children list.

virtual ~skTreeNode ()
 Destructor.

 skTreeNode (const skTreeNode &)
 Copy Constructor - does a deep copy.

 skTreeNode (const skString &label)
 Constructor - creates a treenode with the given label.

 skTreeNode (const skString &label, const skString &data)
 Constructor - creates a treenode with the given label and data.

 skTreeNode (const skString &label, bool data)
 Constructor - creates a treenode with the given label and data (converted to a string form).

 skTreeNode (const skString &label, int data)
 Constructor - creates a treenode with the given label and data (converted to a string form).

 skTreeNode (const skString &label, float data)
 Constructor - creates a treenode with the given label and data (converted to a string form).

skTreeNode & operator= (const skTreeNode &)
 Assignment operator- does a deep copy.

skString label () const
 Returns this node's label.

void label (const skString &s)
 Changes this node's label.

skString data () const
 Returns this node's data.

void data (const skString &s)
 Changes this node's data.

bool boolData () const
 Returns this node's data as a boolean value.

void boolData (bool)
 Changes this node's data - converting the value to a string.

int intData () const
 Returns this node's data as an integer value.

void intData (int)
 Changes this node's data - converting the value to a string.

float floatData () const
 Returns this node's data as a float value.

void floatData (float)
 Changes this node's data - converting the value to a string.

void prependChild (skTreeNode *)
 adds the given node to the start of the child list for this node.

void addChild (skTreeNode *)
 adds the given node to the end of the child list for this node.

void setChild (skTreeNode *)
 Assigns the given node to the first node with the matching label in the child list of this node. More...

void deleteChild (skTreeNode *)
 deletes the given node from the list of children at this node.

bool containsChild (skTreeNode *)
 Returns true if the child list of this node contains the given node.

skTreeNode * findChild (const skString &label) const
 This method searches for a node whose label matches the one given. More...

skTreeNode * findChild (const skString &label, const skString &data) const
 This method searches for a node whose label and data matches the ones given. More...

skString findChildData (const skString &label, const skString &defaultVal) const
 Finds the data associated with the first child whose label matches that given. More...

bool findChildboolData (const skString &label, bool defaultVal=false) const
 Finds the data associated with the first child whose label matches that given as a boolean. More...

int findChildIntData (const skString &label, int defaultVal=0) const
 Finds the data associated with the first child whose label matches that given as an integer. More...

float findChildFloatData (const skString &label, float defaultVal=0.0f) const
 Finds the data associated with the first child whose label matches that given as a float. More...

skString nthChildData (USize index) const
 Returns the data for nth child in the list of children at this node.

int nthChildIntData (USize index) const
 Returns the data for nth child in the list of children at this node as an integer.

void write (ostream &out, USize tabstops) const
 Writes this node to an output stream with the given indentation.

bool write (const skString &file) const
 Writes this node out to a file. More...

skTreeNode * nthChild (USize i) const
 Returns a child from the list at this node. More...

USize numChildren () const
 Returns the number of children at this node.

void copyItems (skTreeNode &node)
 makes a deep copy of the items from the other node, but does not change the label or data of this node.

void moveItemsFrom (skTreeNode &node)
 Moves the items from the child list of the given node into this node.

void clear ()
 deletes all children from the list.


Static Public Methods

skTreeNode * read (const skString &file)
 Reads a treenode from the given file. More...


Friends

class skTreeNodeList
class skTreeNodeListIterator


Detailed Description

This class encapsulates a node in a tree.

The node has a label, a piece of data and a list of subitems

The label and data are both stored as strings. TreeNodes can be used to conveniently store hierchically ordered trees of textual data.


Member Function Documentation

skTreeNode * skTreeNode::findChild const skString   label,
const skString   data
const
 

This method searches for a node whose label and data matches the ones given.

Returns:
the first match, or 0 if none found

skTreeNode * skTreeNode::findChild const skString   label const
 

This method searches for a node whose label matches the one given.

Returns:
the first match, or 0 if none found

skString skTreeNode::findChildData const skString   label,
const skString   defaultVal
const
 

Finds the data associated with the first child whose label matches that given.

Parameters:
label  - the label to look for
defaultVal  - the value to return if a match is not found
Returns:
the value of a matched child's data, or the default value

float skTreeNode::findChildFloatData const skString   label,
float    defaultVal = 0.0f
const
 

Finds the data associated with the first child whose label matches that given as a float.

Parameters:
label  - the label to look for
defaultVal  - the value to return if a match is not found
Returns:
the value of a matched child's data, or the default value

int skTreeNode::findChildIntData const skString   label,
int    defaultVal = 0
const
 

Finds the data associated with the first child whose label matches that given as an integer.

Parameters:
label  - the label to look for
defaultVal  - the value to return if a match is not found
Returns:
the value of a matched child's data, or the default value

bool skTreeNode::findChildboolData const skString   label,
bool    defaultVal = false
const
 

Finds the data associated with the first child whose label matches that given as a boolean.

Parameters:
label  - the label to look for
defaultVal  - the value to return if a match is not found
Returns:
the value of a matched child's data, or the default value

skTreeNode * skTreeNode::nthChild USize    i const
 

Returns a child from the list at this node.

Parameters:
i  - the index of the item
Returns:
the child
Exceptions:
skBoundsException  if the index is outside the range of the list

skTreeNode * skTreeNode::read const skString   s [static]
 

Reads a treenode from the given file.

Exceptions:
skTreeNodeReaderException  if there was an error in the file

void skTreeNode::setChild skTreeNode *    child
 

Assigns the given node to the first node with the matching label in the child list of this node.

If no match is found, the node is added to the end of the list

bool skTreeNode::write const skString   s const
 

Writes this node out to a file.

Returns:
true if the file could be written, or false if there was a problem


The documentation for this class was generated from the following files:
Generated on Tue Nov 20 17:56:22 2001 for Simkin by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001