umbrello  2.34.3
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
hierarchicalcodeblock.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 HIERARCHICALCODEBLOCK_H
9 #define HIERARCHICALCODEBLOCK_H
10 
12 #include "codeblockwithcomments.h"
13 #include "codeclassfieldlist.h"
14 
15 #include <QMap>
16 #include <QString>
17 
18 class QXmlStreamWriter;
19 
21 {
23 public:
24 
25  explicit HierarchicalCodeBlock (CodeDocument * doc, const QString &startString = QString(), const QString &endString = QString(), const QString &comment = QString());
26 
30  virtual ~HierarchicalCodeBlock ();
31 
32  void setEndText (const QString &new_var);
33 
34  QString getEndText () const;
35 
36  bool addTextBlock (TextBlock * add_object);
37 
38  bool insertTextBlock (TextBlock * newBlock, TextBlock * existingBlock, bool after = true);
39 
40  bool removeTextBlock (TextBlock * remove_object);
41 
42  void setStartText (const QString &text);
43 
44  QString getStartText () const;
45 
46  virtual void saveToXMI(QXmlStreamWriter& writer);
47 
48  virtual void loadFromXMI (QDomElement & root);
49 
50  virtual QString toString () const;
51 
52  QString getUniqueTag();
53  QString getUniqueTag(const QString& prefix);
54 
56 
57  virtual CodeBlock * newCodeBlock();
60 
61 protected:
62 
63  virtual void release ();
64 
65  virtual void setAttributesOnNode (QXmlStreamWriter& writer);
66 
67  virtual void setAttributesFromNode (QDomElement & element);
68 
69  virtual void setAttributesFromObject (TextBlock * obj);
70 
71  TextBlock * findCodeClassFieldTextBlockByTag (const QString &tag);
72 
73 private:
74 
75  QString m_startText;
76  QString m_endText;
77 
78  QString childTextBlocksToString() const;
79  void initAttributes () ;
80 
81 };
82 
83 #endif // HIERARCHICALCODEBLOCK_H
codeclassfield.h
CodeGenObjectWithTextBlocks::resetTextBlocks
virtual void resetTextBlocks()
Definition: codegenobjectwithtextblocks.cpp:322
HierarchicalCodeBlock::setEndText
void setEndText(const QString &new_var)
Definition: hierarchicalcodeblock.cpp:42
TextBlock::getWriteOutText
bool getWriteOutText() const
Definition: textblock.cpp:137
codegenfactory.h
HierarchicalCodeBlock::initAttributes
void initAttributes()
Definition: hierarchicalcodeblock.cpp:372
TextBlock::toString
virtual QString toString() const
Definition: textblock.cpp:400
HierarchicalCodeBlock::HierarchicalCodeBlock
HierarchicalCodeBlock(CodeDocument *doc, const QString &startString=QString(), const QString &endString=QString(), const QString &comment=QString())
Definition: hierarchicalcodeblock.cpp:26
CodeDocument::addChildTagToMap
void addChildTagToMap(const QString &tag, TextBlock *tb)
Definition: codedocument.cpp:486
HierarchicalCodeBlock::m_endText
QString m_endText
Definition: hierarchicalcodeblock.h:76
codeblockwithcomments.h
HierarchicalCodeBlock::setStartText
void setStartText(const QString &text)
Definition: hierarchicalcodeblock.cpp:197
codeclassfieldlist.h
HierarchicalCodeBlock::setAttributesOnNode
virtual void setAttributesOnNode(QXmlStreamWriter &writer)
Definition: hierarchicalcodeblock.cpp:249
CodeGenObjectWithTextBlocks::m_textBlockTagMap
QMap< QString, TextBlock * > m_textBlockTagMap
Definition: codegenobjectwithtextblocks.h:92
hierarchicalcodeblock.h
CodeGenObjectWithTextBlocks::findTextBlockByTag
TextBlock * findTextBlockByTag(const QString &tag)
Definition: codegenobjectwithtextblocks.cpp:121
TextBlock::encodeText
static QString encodeText(const QString &text, const QString &endLine)
Definition: textblock.cpp:374
HierarchicalCodeBlock::findCodeClassFieldTextBlockByTag
TextBlock * findCodeClassFieldTextBlockByTag(const QString &tag)
Definition: hierarchicalcodeblock.cpp:360
HierarchicalCodeBlock::newCodeBlockWithComments
virtual CodeBlockWithComments * newCodeBlockWithComments()
Definition: hierarchicalcodeblock.cpp:77
logError0
#define logError0(s)
Definition: uml.h:537
UMLApp::commonPolicy
CodeGenerationPolicy * commonPolicy() const
Definition: uml.cpp:2383
CodeGenObjectWithTextBlocks::addTextBlock
virtual bool addTextBlock(TextBlock *add_object)
Definition: codegenobjectwithtextblocks.cpp:56
TextBlock::getIndentationString
QString getIndentationString(int level=0) const
Definition: textblock.cpp:189
CodeAccessorMethod
Definition: codeaccessormethod.h:17
CodeBlockWithComments::getComment
CodeComment * getComment() const
Definition: codeblockwithcomments.cpp:46
TextBlock::setTag
void setTag(const QString &value)
Definition: textblock.cpp:117
CodeClassField
Definition: codeclassfield.h:25
CodeDocument
Definition: codedocument.h:29
CodeDocument::removeChildTagFromMap
void removeChildTagFromMap(const QString &tag)
Definition: codedocument.cpp:481
TextBlock::decodeText
static QString decodeText(const QString &text, const QString &endLine)
Definition: textblock.cpp:388
HierarchicalCodeBlock::newCodeBlock
virtual CodeBlock * newCodeBlock()
Definition: hierarchicalcodeblock.cpp:72
CodeGenObjectWithTextBlocks::getTextBlockList
TextBlockList * getTextBlockList() const
Definition: codegenobjectwithtextblocks.cpp:45
CodeBlock
Definition: codeblock.h:16
ClassifierCodeDocument
Definition: classifiercodedocument.h:28
HierarchicalCodeBlock::release
virtual void release()
Definition: hierarchicalcodeblock.cpp:384
HierarchicalCodeBlock::addCodeClassFieldMethods
void addCodeClassFieldMethods(CodeClassFieldList &list)
Definition: hierarchicalcodeblock.cpp:213
HierarchicalCodeBlock::~HierarchicalCodeBlock
virtual ~HierarchicalCodeBlock()
Definition: hierarchicalcodeblock.cpp:34
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
CodeGenObjectWithTextBlocks
Definition: codegenobjectwithtextblocks.h:28
CodeGenObjectWithTextBlocks::m_textblockVector
TextBlockList m_textblockVector
Definition: codegenobjectwithtextblocks.h:93
ClassifierCodeDocument::findCodeClassFieldTextBlockByTag
TextBlock * findCodeClassFieldTextBlockByTag(const QString &tag)
Definition: classifiercodedocument.cpp:773
HierarchicalCodeBlock::childTextBlocksToString
QString childTextBlocksToString() const
Definition: hierarchicalcodeblock.cpp:344
HierarchicalCodeBlock::getStartText
QString getStartText() const
Definition: hierarchicalcodeblock.cpp:205
HierarchicalCodeBlock::saveToXMI
virtual void saveToXMI(QXmlStreamWriter &writer)
Definition: hierarchicalcodeblock.cpp:238
HierarchicalCodeBlock::loadFromXMI
virtual void loadFromXMI(QDomElement &root)
Definition: hierarchicalcodeblock.cpp:267
classifiercodedocument.h
CodeAccessorMethodList
QList< CodeAccessorMethod * > CodeAccessorMethodList
Definition: codeaccessormethodlist.h:12
codegenerationpolicy.h
HierarchicalCodeBlock::addTextBlock
bool addTextBlock(TextBlock *add_object)
Definition: hierarchicalcodeblock.cpp:92
CodeBlockWithComments
Definition: codeblockwithcomments.h:19
UMLApp::app
static UMLApp * app()
Definition: uml.cpp:276
CodeGenObjectWithTextBlocks::setAttributesFromNode
virtual void setAttributesFromNode(QDomElement &element)
Definition: codegenobjectwithtextblocks.cpp:372
CodeDocument::newCodeBlock
virtual CodeBlock * newCodeBlock()
Definition: codedocument.cpp:456
CodeBlock::contentType
ContentType contentType() const
Definition: codeblock.cpp:50
TextBlock::release
virtual void release()
Definition: textblock.cpp:271
CodeBlock::AutoGenerated
@ AutoGenerated
the content was generated by code generation itself
Definition: codeblock.h:24
codegenobjectwithtextblocks.h
CodeBlockWithComments::setAttributesFromNode
virtual void setAttributesFromNode(QDomElement &element)
Definition: codeblockwithcomments.cpp:105
codedocument.h
TextBlock::formatMultiLineText
static QString formatMultiLineText(const QString &work, const QString &linePrefix, const QString &breakStr, bool addBreak=true, bool lastLineHasBreak=true)
Definition: textblock.cpp:284
HierarchicalCodeBlock::insertTextBlock
bool insertTextBlock(TextBlock *newBlock, TextBlock *existingBlock, bool after=true)
Definition: hierarchicalcodeblock.cpp:106
TextBlock::setCanDelete
void setCanDelete(bool canDelete)
Definition: textblock.cpp:46
HierarchicalCodeBlock
Definition: hierarchicalcodeblock.h:20
HierarchicalCodeBlock::getEndText
QString getEndText() const
Definition: hierarchicalcodeblock.cpp:51
CodeGenObjectWithTextBlocks::setAttributesFromObject
void setAttributesFromObject(CodeGenObjectWithTextBlocks *obj)
Definition: codegenobjectwithtextblocks.cpp:338
uml.h
CodeBlockWithComments::setAttributesOnNode
virtual void setAttributesOnNode(QXmlStreamWriter &writer)
Definition: codeblockwithcomments.cpp:68
CodeGenerationPolicy::getNewLineEndingChars
QString getNewLineEndingChars() const
Definition: codegenerationpolicy.cpp:249
debug_utils.h
CodeDocument::newCodeBlockWithComments
virtual CodeBlockWithComments * newCodeBlockWithComments()
Definition: codedocument.cpp:465
TextBlockList
QList< TextBlock * > TextBlockList
Definition: textblocklist.h:12
HierarchicalCodeBlock::m_startText
QString m_startText
Definition: hierarchicalcodeblock.h:75
HierarchicalCodeBlock::getUniqueTag
QString getUniqueTag()
Definition: hierarchicalcodeblock.cpp:59
TextBlock::getParentDocument
CodeDocument * getParentDocument() const
Definition: textblock.cpp:66
HierarchicalCodeBlock::newHierarchicalCodeBlock
virtual HierarchicalCodeBlock * newHierarchicalCodeBlock()
Definition: hierarchicalcodeblock.cpp:82
HierarchicalCodeBlock::setAttributesFromNode
virtual void setAttributesFromNode(QDomElement &element)
Definition: hierarchicalcodeblock.cpp:276
CodeGenObjectWithTextBlocks::setAttributesOnNode
virtual void setAttributesOnNode(QXmlStreamWriter &writer)
Definition: codegenobjectwithtextblocks.cpp:354
CodeClassField::getMethodList
CodeAccessorMethodList getMethodList() const
Definition: codeclassfield.cpp:188
CodeClassFieldList
QList< CodeClassField * > CodeClassFieldList
Definition: codeclassfieldlist.h:12
TextBlock
Definition: textblock.h:22
logWarn2
#define logWarn2(s, a, b)
Definition: uml.h:548
HierarchicalCodeBlock::setAttributesFromObject
virtual void setAttributesFromObject(TextBlock *obj)
Definition: hierarchicalcodeblock.cpp:295
TextBlock::getTag
QString getTag() const
Definition: textblock.cpp:106
HierarchicalCodeBlock::removeTextBlock
bool removeTextBlock(TextBlock *remove_object)
Definition: hierarchicalcodeblock.cpp:167
CodeDocument::getUniqueTag
virtual QString getUniqueTag(const QString &prefix=QString())
Definition: codedocument.cpp:190
HierarchicalCodeBlock::toString
virtual QString toString() const
Definition: hierarchicalcodeblock.cpp:311
CodeBlockWithComments::setAttributesFromObject
virtual void setAttributesFromObject(TextBlock *obj)
Definition: codeblockwithcomments.cpp:83