umbrello 2.34.70-5524f40e1
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
CPPSourceCodeDocument Class Reference

#include <cppsourcecodedocument.h>

Inheritance diagram for CPPSourceCodeDocument:
Collaboration 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)
 
CodeClassFieldListgetCodeClassFieldList ()
 
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
 
CodeClassFieldfindCodeClassFieldFromParentID (Uml::ID::Type id, int role_id=-1)
 
UMLClassifiergetParentClassifier () const
 
void addCodeClassFieldMethods (CodeClassFieldList &list)
 
virtual void initCodeClassFields ()
 
virtual void synchronize ()
 
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)
 
CodeCommentgetHeader () const
 
bool insertTextBlock (TextBlock *newBlock, TextBlock *existingBlock, bool after=true)
 
TextBlockfindTextBlockByTag (const QString &tag, bool descendIntoChildren=false) const
 
virtual QString toString () const
 
virtual CodeBlocknewCodeBlock ()
 
virtual HierarchicalCodeBlocknewHierarchicalCodeBlock ()
 
virtual CodeBlockWithCommentsnewCodeBlockWithComments ()
 
virtual QString getUniqueTag (const QString &prefix=QString())
 
QString cleanName (const QString &name)
 
- Public Member Functions inherited from CodeGenObjectWithTextBlocks
 CodeGenObjectWithTextBlocks (CodeDocument *parent)
 
virtual ~CodeGenObjectWithTextBlocks ()
 
virtual bool addTextBlock (TextBlock *add_object)
 
virtual bool removeTextBlock (TextBlock *remove_object)
 
TextBlockListgetTextBlockList () const
 
virtual HierarchicalCodeBlockgetHierarchicalCodeBlock (const QString &tag, const QString &comment, int indentLevel)
 
virtual CodeBlockWithCommentsgetCodeBlockWithComments (const QString &tag, const QString &comment, int indentLevel)
 
CodeCommentaddOrUpdateTaggedCodeComment (const QString &tag=QString(), const QString &text=QString(), int indentationLevel=0)
 
CodeBlockWithCommentsaddOrUpdateTaggedCodeBlockWithComments (const QString &tag, const QString &text, const QString &ctext, int indentLevel, bool forceUserBlockUpdate)
 
TextBlockfindTextBlockByTag (const QString &tag)
 
CodeGenObjectWithTextBlocksfindParentObjectForTaggedTextBlock (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)
 
TextBlockfindCodeClassFieldTextBlockByTag (const QString &tag)
 
void declareClassFields (CodeClassFieldList &list, CodeGenObjectWithTextBlocks *parent)
 
void syncClassFields ()
 
void syncNamesToParent ()
 
- Protected Member Functions inherited from CodeDocument
void addChildTagToMap (const QString &tag, TextBlock *tb)
 
void removeChildTagFromMap (const QString &tag)
 
void updateHeader ()
 
- Protected Member Functions inherited from CodeGenObjectWithTextBlocks
void setAttributesFromObject (CodeGenObjectWithTextBlocks *obj)
 
virtual void loadChildTextBlocksFromNode (QDomElement &root)
 

Private Attributes

HierarchicalCodeBlockm_constructorBlock
 
HierarchicalCodeBlockm_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
Here is the call graph for this function:

◆ ~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
opthe code operation
Returns
bool which is true IF the code operation was added successfully

Implements ClassifierCodeDocument.

Here is the call graph for this function:

◆ resetTextBlocks()

void CPPSourceCodeDocument::resetTextBlocks ( )
protectedvirtual

Reset/clear our inventory of textblocks in this document.

Reimplemented from CodeDocument.

Here is the call graph for this function:

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

Here is the call graph for this function:

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: