Source Code (Use browser search to find items of interest.)
Class Index
kdevelop'CClassTreeNode (./kdevelop/kdevelop/classparser/ClassTreeNode.h:43)
class CClassTreeNode
{
public: // Constructor and Destructor
CClassTreeNode();
~CClassTreeNode();
public: // Public attributes
/** The name of this node. */
QString name;
/** The actual class data. */
CParsedClass *theClass;
/** All children of this class(if any). */
QList<CClassTreeNode> children;
/** Is this class present in the system? */
bool isInSystem;
public: // Public methods
/** Set the nodename. */
void setName( const char *aName ) { name = aName; }
/** Set the class data. */
void setClass( CParsedClass *aClass );
/** Tells if we found this class in the system. */
void setIsInSystem( bool aState ) { isInSystem = aState; }
/** Add a child to this class node. */
void addChild( CClassTreeNode *aChild );
/** Print this node(and its' children to stdout). */
void out();
public: // Public queries
/** The width of this nodes' subtree. */
int width();
};
kdevelop'CClassTreeNode::CClassTreeNode() (./kdevelop/kdevelop/classparser/ClassTreeNode.cc:50)
CClassTreeNode::CClassTreeNode()
{
children.setAutoDelete( false );
isInSystem = false;
}
/*---------------------------------- CClassTreeNode::~CClassTreeNode()
* ~CClassTreeNode()
* Constructor.
*
* Parameters:
* -
* Returns:
* -
*-----------------------------------------------------------------*/
kdevelop'CClassTreeNode::~CClassTreeNode() (./kdevelop/kdevelop/classparser/ClassTreeNode.cc:65)
CClassTreeNode::~CClassTreeNode()
{
}
/*********************************************************************
* *
* METHODS TO SET ATTRIBUTE VALUES *
* *
********************************************************************/
/*------------------------------------------- CParsedClass::setClass()
* setClass()
* Set the class data.
*
* Parameters:
* aClass The new class.
*
* Returns:
* -
*-----------------------------------------------------------------*/
kdevelop'CClassTreeNode::setClass() (./kdevelop/kdevelop/classparser/ClassTreeNode.cc:85)
void CClassTreeNode::setClass( CParsedClass *aClass )
{
assert( aClass != NULL );
theClass = aClass;
}
/*------------------------------------------- CParsedClass::addChild()
* addChild()
* Add a child to this class node.
*
* Parameters:
* aChild A new child.
*
* Returns:
* -
*-----------------------------------------------------------------*/
kdevelop'CClassTreeNode::addChild() (./kdevelop/kdevelop/classparser/ClassTreeNode.cc:102)
void CClassTreeNode::addChild( CClassTreeNode *aChild )
{
assert( aChild != NULL );
children.append( aChild );
}
/*********************************************************************
* *
* PUBLIC METHODS *
* *
********************************************************************/
/*---------------------------------------------- CParsedClass::out()
* out()
* Print this node(and its' children to stdout).
*
* Parameters:
* -
* Returns:
* -
*-----------------------------------------------------------------*/
kdevelop'CClassTreeNode::out() (./kdevelop/kdevelop/classparser/ClassTreeNode.cc:124)
void CClassTreeNode::out()
{
CClassTreeNode *aChild;
cout << "(";
cout << theClass ? theClass->name.data() : "??";
for( aChild = children.first();
aChild != NULL;
aChild = children.next() )
{
aChild->out();
}
cout << ")";
}
/*---------------------------------------------- CParsedClass::width()
* width()
* The width of this nodes' subtree.
*
* Parameters:
* aChild A new child.
*
* Returns:
* int Width of the subtree.
* 0 This is a leaf.
*-----------------------------------------------------------------*/
kdevelop'CClassTreeNode::width() (./kdevelop/kdevelop/classparser/ClassTreeNode.cc:153)
int CClassTreeNode::width()
{
CClassTreeNode *aChild;
int retVal=0;
// If this is a leaf return 1;
if( children.count() == 0 )
return 0;
else
{
for( aChild = children.first();
aChild != NULL;
aChild = children.next() )
{
retVal++;
retVal += aChild->width();
}
}
return retVal;
}