umbrello: CPPSourceCodeDocument Class Reference

umbrello 2.38.3 Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Protected Member Functions | Private Attributes | List of all members
CPPSourceCodeDocument Class Reference

`#include <cppsourcecodedocument.h>`

Inheritance diagram for CPPSourceCodeDocument:

## Public Member Functions
| CPPSourceCodeDocument (UMLClassifier *classifier)
virtual | ~CPPSourceCodeDocument ()
bool | addCodeOperation (CodeOperation *op)
void | updateContent ()
Public Member Functions inherited from ClassifierCodeDocument
| ClassifierCodeDocument (UMLClassifier *parent)
virtual | ~ClassifierCodeDocument ()
bool | addCodeClassField (CodeClassField *add_object)
bool | removeCodeClassField (CodeClassField *remove_object)
CodeClassFieldList * | getCodeClassFieldList ()
bool | parentIsInterface () const
bool | parentIsClass () const
bool | hasAssociationClassFields () const
bool | hasAttributeClassFields () const
bool | hasObjectVectorClassFields () const
bool | hasClassFields () const
QList< const CodeOperation * > | getCodeOperations () const
CodeClassFieldList | getSpecificClassFields (CodeClassField::ClassFieldType cfType) const
CodeClassFieldList | getSpecificClassFields (CodeClassField::ClassFieldType cfType, bool isStatic) const
CodeClassFieldList | getSpecificClassFields (CodeClassField::ClassFieldType cfType, Uml::Visibility::Enum visibility) const
CodeClassFieldList | getSpecificClassFields (CodeClassField::ClassFieldType cfType, bool isStatic, Uml::Visibility::Enum visibility) const
CodeClassField * | findCodeClassFieldFromParentID (Uml::ID::Type id, int role_id=-1)
UMLClassifier * | getParentClassifier () const
void | addCodeClassFieldMethods (CodeClassFieldList &list)
virtual void | initCodeClassFields ()
virtual void | synchronize ()
virtual bool | addCodeOperation (CodeOperation *opBlock)=0
virtual void | updateContent ()=0
virtual void | saveToXMI (QXmlStreamWriter &writer)
virtual void | loadFromXMI (QDomElement &root)
Public Member Functions inherited from CodeDocument
| CodeDocument ()
virtual | ~CodeDocument ()
void | setFileExtension (const QString &new_var)
QString | getFileExtension () const
void | setFileName (const QString &new_var)
QString | getFileName () const
void | setPackage (UMLPackage *new_var)
QString | getPackage () const
virtual QString | getPath () const
void | setID (const QString &new_id)
QString | ID () const
void | setWriteOutCode (bool new_var)
bool | getWriteOutCode () const
void | setHeader (CodeComment *comment)
CodeComment * | getHeader () const
bool | insertTextBlock (TextBlock *newBlock, TextBlock *existingBlock, bool after=true)
TextBlock * | findTextBlockByTag (const QString &tag, bool descendIntoChildren=false) const
virtual QString | toString () const
virtual void | saveToXMI (QXmlStreamWriter &writer)
virtual void | loadFromXMI (QDomElement &root)
virtual CodeBlock * | newCodeBlock ()
virtual HierarchicalCodeBlock * | newHierarchicalCodeBlock ()
virtual CodeBlockWithComments * | newCodeBlockWithComments ()
virtual QString | getUniqueTag (const QString &prefix=QString())
QString | cleanName (const QString &name)
virtual void | synchronize ()
virtual void | updateContent ()
Public Member Functions inherited from CodeGenObjectWithTextBlocks
| CodeGenObjectWithTextBlocks (CodeDocument *parent)
virtual | ~CodeGenObjectWithTextBlocks ()
virtual bool | addTextBlock (TextBlock *add_object)
virtual bool | removeTextBlock (TextBlock *remove_object)
virtual bool | insertTextBlock (TextBlock *newBlock, TextBlock *existingBlock, bool after)=0
TextBlockList * | getTextBlockList () const
virtual HierarchicalCodeBlock * | getHierarchicalCodeBlock (const QString &tag, const QString &comment, int indentLevel)
virtual CodeBlockWithComments * | getCodeBlockWithComments (const QString &tag, const QString &comment, int indentLevel)
CodeComment * | addOrUpdateTaggedCodeComment (const QString &tag=QString(), const QString &text=QString(), int indentationLevel=0)
CodeBlockWithComments * | addOrUpdateTaggedCodeBlockWithComments (const QString &tag, const QString &text, const QString &ctext, int indentLevel, bool forceUserBlockUpdate)
TextBlock * | findTextBlockByTag (const QString &tag)
virtual QString | getUniqueTag (const QString &prefix=QString())=0
virtual CodeBlock * | newCodeBlock ()=0
virtual CodeBlockWithComments * | newCodeBlockWithComments ()=0
virtual HierarchicalCodeBlock * | newHierarchicalCodeBlock ()=0
CodeGenObjectWithTextBlocks * | findParentObjectForTaggedTextBlock (const QString &tag)

## Protected Member Functions
void | resetTextBlocks ()
Protected Member Functions inherited from ClassifierCodeDocument
void | loadClassFieldsFromXMI (QDomElement &childElem)
virtual void | setAttributesOnNode (QXmlStreamWriter &writer)
virtual void | setAttributesFromNode (QDomElement &element)
TextBlock * | findCodeClassFieldTextBlockByTag (const QString &tag)
void | declareClassFields (CodeClassFieldList &list, CodeGenObjectWithTextBlocks *parent)
void | syncClassFields ()
void | syncNamesToParent ()
Protected Member Functions inherited from CodeDocument
virtual void | setAttributesOnNode (QXmlStreamWriter &writer)
virtual void | setAttributesFromNode (QDomElement &element)
void | addChildTagToMap (const QString &tag, TextBlock *tb)
void | removeChildTagFromMap (const QString &tag)
void | updateHeader ()
void | resetTextBlocks ()
virtual TextBlock * | findCodeClassFieldTextBlockByTag (const QString &tag)
Protected Member Functions inherited from CodeGenObjectWithTextBlocks
virtual void | setAttributesOnNode (QXmlStreamWriter &writer)
virtual void | setAttributesFromNode (QDomElement &element)
void | setAttributesFromObject (CodeGenObjectWithTextBlocks *obj)
virtual void | loadChildTextBlocksFromNode (QDomElement &root)
virtual void | resetTextBlocks ()
virtual TextBlock * | findCodeClassFieldTextBlockByTag (const QString &tag)=0

## Private Attributes
HierarchicalCodeBlock * | m_constructorBlock
HierarchicalCodeBlock * | m_methodsBlock

## Additional Inherited Members
Public Slots inherited from ClassifierCodeDocument
void | addAttributeClassField (UMLClassifierListItem *at, bool syncToParentIfAdded=true)
void | addAssociationClassField (UMLAssociation *assoc, bool syncToParentIfAdded=true)
void | removeAttributeClassField (UMLClassifierListItem *at)
void | removeAssociationClassField (UMLAssociation *assoc)
void | addOperation (UMLClassifierListItem *obj)
void | removeOperation (UMLClassifierListItem *obj)
void | syncToParent ()
Protected Attributes inherited from CodeGenObjectWithTextBlocks
QMap< QString, TextBlock * > | m_textBlockTagMap
TextBlockList | m_textblockVector

## Detailed Description

A CPP UMLClassifier Source Code Document.

## Constructor & Destructor Documentation

## ◆ CPPSourceCodeDocument()

CPPSourceCodeDocument::CPPSourceCodeDocument | ( | UMLClassifier * | concept | ) |
| explicit

Constructor

We carve the CPP document up into 2 documents, "source" and "header". The sections of each are as follows:

- header
- includes
- constructor methods
- all other methods

## ◆ ~CPPSourceCodeDocument()

CPPSourceCodeDocument::~CPPSourceCodeDocument | ( |  | ) |
| virtual

Empty Destructor

## Member Function Documentation

## ◆ addCodeOperation()

bool CPPSourceCodeDocument::addCodeOperation | ( | CodeOperation * | op | ) |
| virtual

Add a code operation to this cpp classifier code document. In the vanilla version, we just tack all operations on the end of the document.

Parameters

  op | the code operation

Returns
  bool which is true IF the code operation was added successfully

Implements ClassifierCodeDocument.

## ◆ resetTextBlocks()

void CPPSourceCodeDocument::resetTextBlocks | ( |  | ) |
| protectedvirtual

Reset/clear our inventory of textblocks in this document.

Reimplemented from CodeDocument.

## ◆ updateContent()

void CPPSourceCodeDocument::updateContent | ( |  | ) |
| virtual

This method will cause the class to rebuild its text representation. based on the parent classifier object. For any situation in which this is called, we are either building the code document up, or replacing/regenerating the existing auto-generated parts. As such, we will want to insert everything we reasonably will want during creation. We can set various parts of the document (esp. the comments) to appear or not, as needed.

Implements ClassifierCodeDocument.

## Member Data Documentation

## ◆ m_constructorBlock

HierarchicalCodeBlock* CPPSourceCodeDocument::m_constructorBlock
| private

## ◆ m_methodsBlock

HierarchicalCodeBlock* CPPSourceCodeDocument::m_methodsBlock
| private

The documentation for this class was generated from the following files:

- umbrello/codegenerators/cpp/cppsourcecodedocument.h
- umbrello/codegenerators/cpp/cppsourcecodedocument.cpp