ClassObject

This big bad class object. This is the thing that KlassModeler is most concerned with. It represents a C++ class. Not that this can also be a member class. It can also be a struct.

It's children are organized by access type, public, protected, or private.

public:

~ClassObject( )

enum AccessType


ClassObject& operator=( const ClassObject& Other)

std::string ConvertToXml( )

std::string ConvertToHeader( ) const

std::string ConvertToHTML( ) const

void CreateHTMLFile( const std::string& BasePath) const

void Detach( )

boost::posix_time::ptime GetLatestUpdateTime( ) const

This gets the latest update time for this object and any children.

void AttachToTreeView( const ObjectFactory& ObjectFactory, ClassTree* pTree, const wxTreeItemId& NodeId)

NotebookViewPtr AttachToNotebook( const ObjectFactory& ObjectFactory, TreeView* pTreeView, wxNotebook* pNotebook)

void AddObjectToFront( ObjectPtr pObject, AccessType Access)

void AddObjectToBack( ObjectPtr pObject, AccessType Access)

void AddObjectAfter( ObjectPtr pObject, ObjectPtr pPrevious, AccessType Access)

void AddInheritanceParent( InheritancePtr pInheritance)

void AddInheritanceChild( InheritancePtr pInheritance)

void RemoveObject( ObjectPtr pObject)

void RemoveObject( ObjectPtr pObject, AccessType Access)

void RemoveInheritanceParent( InheritancePtr pInheritance)

void RemoveInheritanceChild( InheritancePtr pInheritance)

bool InheritsFrom( ClassObjectPtr pClass) const

bool HasInternalInheritance( ) const

Returns true if any of the inheritance parents or children are internal. This is important for redrawing.

const ObjectPtrList& GetPublicObjects( ) const

const ObjectPtrList& GetProtectedObjects( ) const

const ObjectPtrList& GetPrivateObjects( ) const

const InheritancePtrList& GetInheritanceParents( ) const

const InheritancePtrList& GetInheritanceChildren( ) const

const std::string& GetHeaderFile( ) const

const std::string& GetHTMLFile( ) const

bool GetExcludeHeader( ) const

bool GetExcludeHTML( ) const

bool GetChildClass( ) const

bool GetIsStruct( ) const

void SetHeaderFile( const std::string& F)

void SetHTMLFile( const std::string& F)

void SetExcludeHeader( bool b)

void SetExcludeHTML( bool b)

void SetChildClass( bool b)

void SetIsStruct( bool b)


protected:


private:

static const std::string XML_PUBLIC

static const std::string XML_PROTECTED

static const std::string XML_PRIVATE

static const std::string XML_HEADER_FILE

static const std::string XML_HTML_FILE

static const std::string XML_EXCLUDE_HEADER

static const std::string XML_EXCLUDE_HTML

static const std::string XML_IS_STRUCT

ClassObject( )

ObjectPtrList& GetList( AccessType Access)

const ObjectPtrList& GetList( AccessType Access) const

same as the other GetList, but with const. Handy for writing const functions

void ReadFromXml( XMLReader& Reader)

std::string ConvertChildrenToXml( const ObjectPtrList& Children)

std::string ConvertChildrenToHeader( const ObjectPtrList& Children, AccessType Access) const

std::string ConvertChildrenToHTML( AccessType Access) const

void ReadChildren( XMLReader& Reader, ObjectPtrList& Children)

boost::posix_time::ptime GetChildrenLastUpdatedTime( AccessType Access) const

friends


ObjectPtrList m_PublicObjects

a list of the public children

ObjectPtrList m_ProtectedObjects

a list of the protected children

ObjectPtrList m_PrivateObjects

a list of the private children

InheritancePtrList m_InheritanceParents

a list of the inheritance parents. this represent the classes that this class inherits from.

InheritancePtrList m_InheritanceChildren

a list of the inheritance children. These represent the classes that inherit from this object

std::string m_HeaderFile

path to the header file. Relative to the .kml file itself (if it's not an absolute path)

std::string m_HTMLFile

path to the HTML file. Will be placed under a directory called HTMLDocs which will be placed next to the kml file.

bool m_bExcludeHeader

should this header be excluded from the generation of all class headers?

bool m_bExcludeHTML

Should this HTML Doc be excluded from the docs?

bool m_bChildClass

a runtime flag to keep track of whether this is a top level class, or a class inside a class. This has meaning when the class dialog is displayed and we need to see if we should show the Misc page.

bool m_bIsStruct

If this is true then this class is actually a struct