umbrello  2.39.2
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
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