umbrello  2.35.1
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
cppheadercodedocument.h
Go to the documentation of this file.
1 /*
2  SPDX-License-Identifier: GPL-2.0-or-later
3 
4  SPDX-FileCopyrightText: 2003 Brian Thomas <thomas@mail630.gsfc.nasa.gov>
5  SPDX-FileCopyrightText: 2004-2021 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
6 */
7 
8 #ifndef CPPHEADERCODEDOCUMENT_H
9 #define CPPHEADERCODEDOCUMENT_H
10 
11 #include "codeclassfieldlist.h"
12 #include "classifiercodedocument.h"
13 #include "hierarchicalcodeblock.h"
14 
15 #include <QString>
16 
18 
32 {
33  Q_OBJECT
34 public:
35 
36  explicit CPPHeaderCodeDocument(UMLClassifier* classifier);
37  virtual ~CPPHeaderCodeDocument();
38 
40 
41  void updateContent();
42 
46  //virtual void saveToXMI(QXmlStreamWriter& writer);
47 
48 protected:
49 
50  // reset/clear our inventory of textblocks in this document
51  void resetTextBlocks();
52 
57  virtual void loadChildTextBlocksFromNode(QDomElement & root);
58 
60 
65 
66 private:
67 
69 
73 
75 
79 
83 
85 
86 };
87 
88 #endif // CPPHEADERCODEDOCUMENT_H
CodeClassField::Composition
@ Composition
Definition: codeclassfield.h:30
CPPHeaderCodeOperation
Definition: cppheadercodeoperation.h:17
cppcodedocumentation.h
umlpackagelist.h
HierarchicalCodeBlock::setEndText
void setEndText(const QString &new_var)
Definition: hierarchicalcodeblock.cpp:42
ClassifierCodeDocument::getParentClassifier
UMLClassifier * getParentClassifier() const
Definition: classifiercodedocument.cpp:278
cppheadercodeaccessormethod.h
CodeDocument::resetTextBlocks
void resetTextBlocks()
Definition: codedocument.cpp:335
CPPCodeGenerationPolicy::getPackageIsNamespace
bool getPackageIsNamespace()
Definition: cppcodegenerationpolicy.cpp:167
CPPHeaderCodeDocument::updateContent
void updateContent()
Definition: cppheadercodedocument.cpp:332
cppcodegenerator.h
CodeDocument::newHierarchicalCodeBlock
virtual HierarchicalCodeBlock * newHierarchicalCodeBlock()
Definition: codedocument.cpp:474
CodeGenObjectWithTextBlocks::addOrUpdateTaggedCodeBlockWithComments
CodeBlockWithComments * addOrUpdateTaggedCodeBlockWithComments(const QString &tag, const QString &text, const QString &ctext, int indentLevel, bool forceUserBlockUpdate)
Definition: codegenobjectwithtextblocks.cpp:279
CPPHeaderClassDeclarationBlock
Definition: cppheaderclassdeclarationblock.h:16
CPPHeaderCodeDocument::addOrUpdateCodeClassFieldMethodsInCodeBlock
void addOrUpdateCodeClassFieldMethodsInCodeBlock(CodeClassFieldList &list, CPPHeaderClassDeclarationBlock *codeBlock)
UMLObject::name
QString name() const
Definition: umlobject.cpp:207
UMLObject::package
QString package(const QString &separator=QString(), bool includeRoot=false) const
Definition: umlobject.cpp:582
CPPHeaderCodeDocument::m_publicBlock
HierarchicalCodeBlock * m_publicBlock
Definition: cppheadercodedocument.h:70
includes
Definition: includes.h:3
HierarchicalCodeBlock::setStartText
void setStartText(const QString &text)
Definition: hierarchicalcodeblock.cpp:197
codeclassfieldlist.h
cppheadercodedocument.h
CodeGenerator::cleanName
static QString cleanName(const QString &name)
Definition: codegenerator.cpp:548
hierarchicalcodeblock.h
UMLClassifier::getFilteredList
virtual UMLClassifierListItemList getFilteredList(UMLObject::ObjectType ot) const
Definition: classifier.cpp:999
UMLOperation::isLifeOperation
bool isLifeOperation() const
Definition: operation.cpp:414
CPPHeaderCodeDocument::loadChildTextBlocksFromNode
virtual void loadChildTextBlocksFromNode(QDomElement &root)
Definition: cppheadercodedocument.cpp:80
ClassifierCodeDocument::hasObjectVectorClassFields
bool hasObjectVectorClassFields() const
Definition: classifiercodedocument.cpp:127
CodeComment
Definition: codecomment.h:19
TextBlock::setWriteOutText
void setWriteOutText(bool write)
Definition: textblock.cpp:127
CPPHeaderCodeDocument
Definition: cppheadercodedocument.h:31
CPPCodeGenerationPolicy::vectorIncludeIsGlobal
bool vectorIncludeIsGlobal()
Definition: cppcodegenerationpolicy.cpp:270
logError0
#define logError0(s)
Definition: uml.h:539
CodeDocument::setFileExtension
void setFileExtension(const QString &new_var)
Definition: codedocument.cpp:69
cppheadercodeclassfielddeclarationblock.h
CodeGenerator::findObjectsRelated
static void findObjectsRelated(UMLClassifier *c, UMLPackageList &cList)
Definition: codegenerator.cpp:621
UMLApp::commonPolicy
CodeGenerationPolicy * commonPolicy() const
Definition: uml.cpp:2459
CodeGenObjectWithTextBlocks::addTextBlock
virtual bool addTextBlock(TextBlock *add_object)
Definition: codegenobjectwithtextblocks.cpp:56
CPPHeaderCodeDocument::m_pubOperationsBlock
HierarchicalCodeBlock * m_pubOperationsBlock
Definition: cppheadercodedocument.h:80
CPPHeaderCodeDocument::m_classDeclCodeBlock
CPPHeaderClassDeclarationBlock * m_classDeclCodeBlock
Definition: cppheadercodedocument.h:68
cppheaderclassdeclarationblock.h
ClassifierCodeDocument::declareClassFields
void declareClassFields(CodeClassFieldList &list, CodeGenObjectWithTextBlocks *parent)
Definition: classifiercodedocument.cpp:381
CPPCodeDocumentation
Definition: cppcodedocumentation.h:23
CodeClassField::Aggregation
@ Aggregation
Definition: codeclassfield.h:30
UMLClassifierListItemListIt
QListIterator< UMLClassifierListItem * > UMLClassifierListItemListIt
Definition: umlclassifierlistitemlist.h:12
CodeClassField::PlainAssociation
@ PlainAssociation
Definition: codeclassfield.h:30
UMLClassifierList
QList< UMLClassifier * > UMLClassifierList
Definition: umlclassifierlist.h:12
CodeClassField::Attribute
@ Attribute
Definition: codeclassfield.h:30
CodeBlockWithComments::getComment
CodeComment * getComment() const
Definition: codeblockwithcomments.cpp:46
TextBlock::setTag
void setTag(const QString &value)
Definition: textblock.cpp:117
CodeGenPolicyExt
Definition: codegenpolicyext.h:22
UMLObject
The base class for UML objects.
Definition: umlobject.h:69
CPPCodeGenerationPolicy
Definition: cppcodegenerationpolicy.h:18
UMLObject::asUMLOperation
UMLOperation * asUMLOperation()
Definition: umlobject.cpp:1437
CPPHeaderCodeDocument::m_privateBlock
HierarchicalCodeBlock * m_privateBlock
Definition: cppheadercodedocument.h:71
CodeOperation::loadFromXMI
virtual void loadFromXMI(QDomElement &root)
Definition: codeoperation.cpp:82
CPPHeaderCodeDocument::m_pubConstructorBlock
HierarchicalCodeBlock * m_pubConstructorBlock
Definition: cppheadercodedocument.h:76
CodeBlock
Definition: codeblock.h:16
ClassifierCodeDocument
Definition: classifiercodedocument.h:28
HierarchicalCodeBlock::addCodeClassFieldMethods
void addCodeClassFieldMethods(CodeClassFieldList &list)
Definition: hierarchicalcodeblock.cpp:213
UMLObject::ot_EnumLiteral
@ ot_EnumLiteral
Definition: umlobject.h:90
umlclassifierlistitemlist.h
CPPCodeGenerationPolicy::getStringClassNameInclude
QString getStringClassNameInclude()
Definition: cppcodegenerationpolicy.cpp:196
Uml::Visibility::Public
@ Public
Definition: basictypes.h:46
Uml::ID::fromString
ID::Type fromString(const QString &id)
Definition: basictypes.cpp:1311
CPPHeaderCodeDocument::m_protConstructorBlock
HierarchicalCodeBlock * m_protConstructorBlock
Definition: cppheadercodedocument.h:77
CodeBlock::loadFromXMI
virtual void loadFromXMI(QDomElement &root)
Definition: codeblock.cpp:85
classifierlistitem.h
UMLObject::visibility
Uml::Visibility::Enum visibility() const
Definition: umlobject.cpp:462
it
and that you know you can do these things To protect your we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights These restrictions translate to certain responsibilities for you if you distribute copies of the or if you modify it For if you distribute copies of such a whether gratis or for a you must give the recipients all the rights that you have You must make sure that receive or can get the source code And you must show them these terms so they know their rights We protect your rights with two distribute and or modify the software for each author s protection and we want to make certain that everyone understands that there is no warranty for this free software If the software is modified by someone else and passed we want its recipients to know that what they have is not the so that any problems introduced by others will not reflect on the original authors reputations any free program is threatened constantly by software patents We wish to avoid the danger that redistributors of a free program will individually obtain patent in effect making the program proprietary To prevent we have made it clear that any patent must be licensed for everyone s free use or not licensed at all The precise terms and conditions for distribution and modification follow TERMS AND CONDITIONS FOR DISTRIBUTION AND MODIFICATION This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License The refers to any such program or and a work based on the Program means either the Program or any derivative work under copyright a work containing the Program or a portion of it
Definition: GPL-2.0-only.txt:64
UMLDoc::findObjectById
UMLObject * findObjectById(Uml::ID::Type id)
Definition: umldoc.cpp:1092
ClassifierCodeDocument::findCodeClassFieldTextBlockByTag
TextBlock * findCodeClassFieldTextBlockByTag(const QString &tag)
Definition: classifiercodedocument.cpp:773
CodeOperation::updateMethodDeclaration
virtual void updateMethodDeclaration()=0
CPPHeaderCodeDocument::~CPPHeaderCodeDocument
virtual ~CPPHeaderCodeDocument()
Definition: cppheadercodedocument.cpp:61
HierarchicalCodeBlock::loadFromXMI
virtual void loadFromXMI(QDomElement &root)
Definition: hierarchicalcodeblock.cpp:267
CodeGenerationPolicy::getIndentation
QString getIndentation() const
Definition: codegenerationpolicy.cpp:300
classifiercodedocument.h
CPPHeaderCodeDocument::m_protOperationsBlock
HierarchicalCodeBlock * m_protOperationsBlock
Definition: cppheadercodedocument.h:82
CPPHeaderCodeDocument::addCodeOperation
bool addCodeOperation(CodeOperation *op)
Definition: cppheadercodedocument.cpp:273
CPPCodeGenerationPolicy::getVectorClassNameInclude
QString getVectorClassNameInclude()
Definition: cppcodegenerationpolicy.cpp:206
CodeGenerationPolicy
Definition: codegenerationpolicy.h:25
ClassifierCodeDocument::parentIsInterface
bool parentIsInterface() const
Definition: classifiercodedocument.cpp:421
CodeGenerationPolicy::getCodeVerboseDocumentComments
bool getCodeVerboseDocumentComments() const
Definition: codegenerationpolicy.cpp:148
CPPHeaderCodeDocument::getClassDecl
CPPHeaderClassDeclarationBlock * getClassDecl()
Definition: cppheadercodedocument.cpp:66
HierarchicalCodeBlock::addTextBlock
bool addTextBlock(TextBlock *add_object)
Definition: hierarchicalcodeblock.cpp:92
CPPHeaderCodeDocument::newCodeComment
CodeComment * newCodeComment()
CPPHeaderCodeDocument::m_namespaceBlock
HierarchicalCodeBlock * m_namespaceBlock
Definition: cppheadercodedocument.h:74
logWarn1
#define logWarn1(s, a)
Definition: uml.h:544
ClassifierCodeDocument::getCodeClassFieldList
CodeClassFieldList * getCodeClassFieldList()
Definition: classifiercodedocument.cpp:269
c
type show c for details The hypothetical commands show w and show c should show the appropriate parts of the General Public License Of the commands you use may be called something other than show w and show c
Definition: GPL-2.0-only.txt:301
CodeBlockWithComments
Definition: codeblockwithcomments.h:19
UMLApp::app
static UMLApp * app()
Definition: uml.cpp:349
CodeBlockWithComments::loadFromXMI
virtual void loadFromXMI(QDomElement &root)
Definition: codeblockwithcomments.cpp:96
UMLObject::isUMLDatatype
bool isUMLDatatype() const
Definition: umlobject.h:204
cppcodegenerationpolicy.h
UMLPackageList
QList< UMLPackage * > UMLPackageList
Definition: umlpackagelist.h:11
CodeDocument::cleanName
QString cleanName(const QString &name)
Definition: codedocument.cpp:267
CodeDocument::newCodeBlock
virtual CodeBlock * newCodeBlock()
Definition: codedocument.cpp:456
CodeBlock::contentType
ContentType contentType() const
Definition: codeblock.cpp:50
CodeBlock::AutoGenerated
@ AutoGenerated
the content was generated by code generation itself
Definition: codeblock.h:24
CodeGenObjectWithTextBlocks::getHierarchicalCodeBlock
virtual HierarchicalCodeBlock * getHierarchicalCodeBlock(const QString &tag, const QString &comment, int indentLevel)
Definition: codegenobjectwithtextblocks.cpp:176
CPPHeaderClassDeclarationBlock::loadFromXMI
virtual void loadFromXMI(QDomElement &root)
Definition: cppheaderclassdeclarationblock.cpp:29
logWarn0
#define logWarn0(s)
Definition: uml.h:538
Uml::Visibility::Enum
Enum
Definition: basictypes.h:45
UMLClassifierListItemList
Definition: umlclassifierlistitemlist.h:21
HierarchicalCodeBlock
Definition: hierarchicalcodeblock.h:20
ClassifierCodeDocument::hasClassFields
bool hasClassFields() const
Definition: classifiercodedocument.cpp:154
CodeOperation::getParentOperation
UMLOperation * getParentOperation()
Definition: codeoperation.cpp:63
UMLOperation
Definition: operation.h:19
CodeOperation
Definition: codeoperation.h:19
CodeDocument::getFileName
QString getFileName() const
Definition: codedocument.cpp:60
CPPCodeGenerationPolicy::stringIncludeIsGlobal
bool stringIncludeIsGlobal()
Definition: cppcodegenerationpolicy.cpp:261
UMLApp::policyExt
CodeGenPolicyExt * policyExt() const
Definition: uml.cpp:2475
uml.h
CodeOperation::updateContent
virtual void updateContent()
Definition: codeoperation.cpp:150
cppheadercodeoperation.h
CodeDocument::findTextBlockByTag
TextBlock * findTextBlockByTag(const QString &tag, bool descendIntoChildren=false) const
Definition: codedocument.cpp:499
CodeGenerationPolicy::getNewLineEndingChars
QString getNewLineEndingChars() const
Definition: codegenerationpolicy.cpp:249
UMLClassifier
Information for a non-graphical Concept/Class.
Definition: classifier.h:34
debug_utils.h
CPPHeaderCodeDocument::m_privOperationsBlock
HierarchicalCodeBlock * m_privOperationsBlock
Definition: cppheadercodedocument.h:81
CodeDocument::newCodeBlockWithComments
virtual CodeBlockWithComments * newCodeBlockWithComments()
Definition: codedocument.cpp:465
CPPHeaderCodeDocument::m_protectedBlock
HierarchicalCodeBlock * m_protectedBlock
Definition: cppheadercodedocument.h:72
ClassifierCodeDocument::getSpecificClassFields
CodeClassFieldList getSpecificClassFields(CodeClassField::ClassFieldType cfType) const
Definition: classifiercodedocument.cpp:52
CodeClassFieldList
QList< CodeClassField * > CodeClassFieldList
Definition: codeclassfieldlist.h:12
CPPHeaderCodeDocument::resetTextBlocks
void resetTextBlocks()
Definition: cppheadercodedocument.cpp:214
TextBlock
Definition: textblock.h:22
Uml::Visibility::Private
@ Private
Definition: basictypes.h:47
package.h
CPPHeaderCodeDocument::m_privConstructorBlock
HierarchicalCodeBlock * m_privConstructorBlock
Definition: cppheadercodedocument.h:78
Uml::Visibility::Protected
@ Protected
Definition: basictypes.h:48
CodeGenerationPolicy::getAutoGenerateConstructors
bool getAutoGenerateConstructors()
Definition: codegenerationpolicy.cpp:361
UMLOperationList
QList< UMLOperation * > UMLOperationList
Definition: umloperationlist.h:12
CPPCodeGenerationPolicy::getAutoGenerateAccessors
bool getAutoGenerateAccessors()
Definition: cppcodegenerationpolicy.cpp:186
CPPHeaderCodeDocument::CPPHeaderCodeDocument
CPPHeaderCodeDocument(UMLClassifier *classifier)
Definition: cppheadercodedocument.cpp:33
UMLClassifierListItem
A base class for classifier list items (e.g. attributes)
Definition: classifierlistitem.h:24
UMLEnum
Non-graphical Information for an Enum.
Definition: enum.h:23
UMLApp::document
UMLDoc * document() const
Definition: uml.cpp:1139
CPPCodeGenerationPolicy::getAccessorsArePublic
bool getAccessorsArePublic()
Definition: cppcodegenerationpolicy.cpp:58
CPPHeaderClassDeclarationBlock::updateContent
void updateContent()
Definition: cppheaderclassdeclarationblock.cpp:56
UMLPackage
Non-graphical information for a Package.
Definition: package.h:27
CodeComment::loadFromXMI
virtual void loadFromXMI(QDomElement &root)
Definition: codecomment.cpp:38
enum.h