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 Member Functions

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

 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).

virtual ~skTreeNode ()
 Destructor.

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

bool operator== (const skTreeNode &other) const
 Does a deep comparison against another node, without checking the label of this node.

bool deepCompare (const skTreeNode &other, bool check_tagname) const
 Does a deep compare another node, with an optional check on the label.

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

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

void label (const Char *s)
 Changes this node's label.

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

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

void data (const Char *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.

void removeChild (skTreeNode *)
 removes the given node from the list of children at this node

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.

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

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

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

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.

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.

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.

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 (skOutputDestination &out, USize tabstops, bool include_tabs=true) const
 Writes this node to an output destination with the given indentation.

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

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

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 Member Functions

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


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.


Constructor & Destructor Documentation

skTreeNode::skTreeNode const skTreeNode &   ) 
 

Copy Constructor - does a deep copy.

Remarks:
not available in Symbian version


Member Function Documentation

void skTreeNode::addChild skTreeNode *   ) 
 

adds the given node to the end of the child list for this node

Exceptions:
Symbian - a leaving function

void skTreeNode::boolData bool   ) 
 

Changes this node's data - converting the value to a string.

Exceptions:
Symbian - a leaving function

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

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

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

skString skTreeNode::findChildData const skString label  )  const
 

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

Parameters:
label - the label to look for
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

void skTreeNode::floatData float   ) 
 

Changes this node's data - converting the value to a string.

Exceptions:
Symbian - a leaving function

void skTreeNode::intData int   ) 
 

Changes this node's data - converting the value to a string.

Exceptions:
Symbian - a leaving function

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::operator= const skTreeNode &   ) 
 

Assignment operator - does a deep copy.

Exceptions:
Symbian - a leaving function

void skTreeNode::prependChild skTreeNode *   ) 
 

adds the given node to the start of the child list for this node

Exceptions:
Symbian - a leaving function

skTreeNode * skTreeNode::read const skString file,
skExecutableContext ctxt
[static]
 

Reads a treenode from the given file.

Parameters:
file filename of file containing TreeNode information
ctxt context object to receive errors
Exceptions:
skTreeNodeReaderException if there was an error in the file
Symbian - a leaving function

void skTreeNode::setChild skTreeNode *   ) 
 

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

Exceptions:
Symbian - a leaving function

bool skTreeNode::write const skString file  )  const
 

Writes this node out to a file.

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

void skTreeNode::write skOutputDestination out,
USize  tabstops,
bool  include_tabs = true
const
 

Writes this node to an output destination with the given indentation.

Parameters:
out the destination to write to
tabstops the current tab indentation level
include_tabs set to false to exclude indentation
Exceptions:
Symbian - a leaving function


The documentation for this class was generated from the following files:
Generated on Fri Dec 17 20:27:36 2004 for Simkin by doxygen1.3