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

#include <dclassifiercodedocument.h>

Inheritance diagram for DClassifierCodeDocument:
ClassifierCodeDocument CodeDocument CodeGenObjectWithTextBlocks

Public Member Functions

 DClassifierCodeDocument (UMLClassifier *classifier)
 
virtual ~DClassifierCodeDocument ()
 
DCodeGenerationPolicygetDPolicy ()
 
QString getDClassName (const QString &name)
 
QString getPath ()
 
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 ()
 
bool parentIsClass ()
 
bool hasAssociationClassFields ()
 
bool hasAttributeClassFields ()
 
bool hasObjectVectorClassFields ()
 
bool hasClassFields ()
 
QList< CodeOperation * > getCodeOperations ()
 
CodeClassFieldList getSpecificClassFields (CodeClassField::ClassFieldType cfType)
 
CodeClassFieldList getSpecificClassFields (CodeClassField::ClassFieldType cfType, bool isStatic)
 
CodeClassFieldList getSpecificClassFields (CodeClassField::ClassFieldType cfType, Uml::Visibility::Enum visibility)
 
CodeClassFieldList getSpecificClassFields (CodeClassField::ClassFieldType cfType, bool isStatic, Uml::Visibility::Enum visibility)
 
CodeClassFieldfindCodeClassFieldFromParentID (Uml::ID::Type id, int role_id=-1)
 
UMLClassifiergetParentClassifier ()
 
void addCodeClassFieldMethods (CodeClassFieldList &list)
 
virtual void initCodeClassFields ()
 
virtual void synchronize ()
 
virtual void saveToXMI1 (QXmlStreamWriter &writer)
 
virtual void loadFromXMI1 (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
 
void setID (const QString &new_id)
 
QString ID () const
 
void setWriteOutCode (bool new_var)
 
bool getWriteOutCode ()
 
void setHeader (CodeComment *comment)
 
CodeCommentgetHeader ()
 
bool insertTextBlock (TextBlock *newBlock, TextBlock *existingBlock, bool after=true)
 
TextBlockfindTextBlockByTag (const QString &tag, bool descendIntoChildren=false)
 
virtual QString toString ()
 
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 ()
 
virtual void loadChildTextBlocksFromNode (QDomElement &root)
 
void addOrUpdateCodeClassFieldMethodsInCodeBlock (CodeClassFieldList &list, DClassDeclarationBlock *codeBlock)
 
bool forceDoc ()
 
- 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)
 

Private Member Functions

void init ()
 
DClassDeclarationBlockgetClassDecl ()
 

Private Attributes

DClassDeclarationBlockclassDeclCodeBlock
 
HierarchicalCodeBlockconstructorBlock
 
HierarchicalCodeBlockoperationsBlock
 

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 D UMLClassifier Code Document. We carve the D document up into sections as follows:

Constructor & Destructor Documentation

◆ DClassifierCodeDocument()

DClassifierCodeDocument::DClassifierCodeDocument ( UMLClassifier concept)
explicit

Constructor.

◆ ~DClassifierCodeDocument()

DClassifierCodeDocument::~DClassifierCodeDocument ( )
virtual

Empty Destructor.

Member Function Documentation

◆ addCodeOperation()

bool DClassifierCodeDocument::addCodeOperation ( CodeOperation op)
virtual

Add a code operation to this d 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.

◆ addOrUpdateCodeClassFieldMethodsInCodeBlock()

void DClassifierCodeDocument::addOrUpdateCodeClassFieldMethodsInCodeBlock ( CodeClassFieldList list,
DClassDeclarationBlock codeBlock 
)
protected

◆ forceDoc()

bool DClassifierCodeDocument::forceDoc ( )
protected

◆ getClassDecl()

DClassDeclarationBlock * DClassifierCodeDocument::getClassDecl ( )
private

◆ getDClassName()

QString DClassifierCodeDocument::getDClassName ( const QString &  name)

◆ getDPolicy()

DCodeGenerationPolicy * DClassifierCodeDocument::getDPolicy ( )

◆ getPath()

QString DClassifierCodeDocument::getPath ( )
virtual

Get the value of the path to this code document.

Returns
the value of m_pathName

Reimplemented from CodeDocument.

◆ init()

void DClassifierCodeDocument::init ( )
private

◆ loadChildTextBlocksFromNode()

void DClassifierCodeDocument::loadChildTextBlocksFromNode ( QDomElement &  root)
protectedvirtual

Need to overwrite this for d since we need to pick up the d class declaration block. Sigh. NOT optimal. The only reason that we need to have this is so we can create the DClassDeclarationBlock. would be better if we could create a handler interface that each codeblock used so all we have to do here is add the handler for "dclassdeclarationblock".

Reimplemented from CodeGenObjectWithTextBlocks.

◆ resetTextBlocks()

void DClassifierCodeDocument::resetTextBlocks ( )
protectedvirtual

Reset/clear our inventory of textblocks in this document.

Reimplemented from CodeDocument.

◆ updateContent()

void DClassifierCodeDocument::updateContent ( )
virtual

Update the content of this code document. This is where you should lay out your code document structure of textblocks in the inheriting class, should it have any text in it. Vanilla code documents don't have much to do.. override this with a different version for your own documents.

Implements ClassifierCodeDocument.

Member Data Documentation

◆ classDeclCodeBlock

DClassDeclarationBlock* DClassifierCodeDocument::classDeclCodeBlock
private

◆ constructorBlock

HierarchicalCodeBlock* DClassifierCodeDocument::constructorBlock
private

◆ operationsBlock

HierarchicalCodeBlock* DClassifierCodeDocument::operationsBlock
private

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