umbrello 2.34.70-5524f40e1
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
13#include "codeclassfieldlist.h"
14
15#include <QMap>
16#include <QString>
17
18class QXmlStreamWriter;
19
21{
23public:
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
61protected:
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
73private:
74
75 QString m_startText;
76 QString m_endText;
77
78 QString childTextBlocksToString() const;
79 void initAttributes () ;
80
81};
82
83#endif // HIERARCHICALCODEBLOCK_H
Definition: codeblockwithcomments.h:20
Definition: codeblock.h:17
Definition: codedocument.h:30
Definition: codegenobjectwithtextblocks.h:29
Definition: hierarchicalcodeblock.h:21
QString m_endText
Definition: hierarchicalcodeblock.h:76
QString m_startText
Definition: hierarchicalcodeblock.h:75
virtual void release()
Definition: hierarchicalcodeblock.cpp:384
virtual void loadFromXMI(QDomElement &root)
Definition: hierarchicalcodeblock.cpp:267
virtual void setAttributesOnNode(QXmlStreamWriter &writer)
Definition: hierarchicalcodeblock.cpp:249
TextBlock * findCodeClassFieldTextBlockByTag(const QString &tag)
Definition: hierarchicalcodeblock.cpp:360
virtual CodeBlockWithComments * newCodeBlockWithComments()
Definition: hierarchicalcodeblock.cpp:77
virtual void setAttributesFromObject(TextBlock *obj)
Definition: hierarchicalcodeblock.cpp:295
virtual QString toString() const
Definition: hierarchicalcodeblock.cpp:311
void setStartText(const QString &text)
Definition: hierarchicalcodeblock.cpp:197
virtual ~HierarchicalCodeBlock()
Definition: hierarchicalcodeblock.cpp:34
QString getEndText() const
Definition: hierarchicalcodeblock.cpp:51
virtual CodeBlock * newCodeBlock()
Definition: hierarchicalcodeblock.cpp:72
void initAttributes()
Definition: hierarchicalcodeblock.cpp:372
bool insertTextBlock(TextBlock *newBlock, TextBlock *existingBlock, bool after=true)
Definition: hierarchicalcodeblock.cpp:106
HierarchicalCodeBlock(CodeDocument *doc, const QString &startString=QString(), const QString &endString=QString(), const QString &comment=QString())
Definition: hierarchicalcodeblock.cpp:26
void setEndText(const QString &new_var)
Definition: hierarchicalcodeblock.cpp:42
bool removeTextBlock(TextBlock *remove_object)
Definition: hierarchicalcodeblock.cpp:167
void addCodeClassFieldMethods(CodeClassFieldList &list)
Definition: hierarchicalcodeblock.cpp:213
QString childTextBlocksToString() const
Definition: hierarchicalcodeblock.cpp:344
QString getStartText() const
Definition: hierarchicalcodeblock.cpp:205
bool addTextBlock(TextBlock *add_object)
Definition: hierarchicalcodeblock.cpp:92
virtual void saveToXMI(QXmlStreamWriter &writer)
Definition: hierarchicalcodeblock.cpp:238
virtual HierarchicalCodeBlock * newHierarchicalCodeBlock()
Definition: hierarchicalcodeblock.cpp:82
QString getUniqueTag()
Definition: hierarchicalcodeblock.cpp:59
virtual void setAttributesFromNode(QDomElement &element)
Definition: hierarchicalcodeblock.cpp:276
Definition: textblock.h:23
QList< CodeClassField * > CodeClassFieldList
Definition: codeclassfieldlist.h:12