umbrello 2.31.90
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
textblock.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-2020 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
6*/
7
8#ifndef TEXTBLOCK_H
9#define TEXTBLOCK_H
10
11#include <QDomDocument>
12#include <QDomElement>
13#include <QObject>
14#include <QXmlStreamWriter>
15
16class CodeDocument;
17class QXmlStreamWriter;
18
23{
26public:
27
28 explicit TextBlock(CodeDocument * parent, const QString & text = QString());
29 virtual ~TextBlock();
30
31 void setText(const QString & text);
32 QString getText() const;
33 void appendText(const QString & text);
34
35 void setTag(const QString & value);
36 QString getTag() const;
37
39
40 void setWriteOutText(bool write);
41 bool getWriteOutText() const;
42
43 void setIndentationLevel(int level);
44 int getIndentationLevel() const;
45
46 QString getIndentationString(int level = 0) const;
47
48 static QString getIndentation();
49
50 static QString getNewLineEndingChars();
51
52 static QString formatMultiLineText(const QString & work, const QString & linePrefix,
53 const QString & breakStr,
54 bool addBreak = true, bool lastLineHasBreak = true);
55
56 virtual QString unformatText(const QString & text, const QString & indent = QString());
57
58 virtual QString toString() const;
59
60 static QString encodeText(const QString & text, const QString & endLine);
61 static QString decodeText(const QString & text, const QString & endLine);
62
68 virtual void saveToXMI1(QXmlStreamWriter& writer) = 0;
69
74 virtual void loadFromXMI1(QDomElement & root) = 0;
75
76 bool canDelete() const;
77
78 virtual void setAttributesFromObject(TextBlock * obj);
79
80 virtual QString getNewEditorLine(int amount = 0);
81
82 virtual int firstEditableLine();
83 virtual int lastEditableLine();
84
85 friend QDebug operator<<(QDebug os, const TextBlock& obj);
86
87protected:
88
89 void setCanDelete(bool canDelete);
90
91 virtual void release();
92
93 virtual void setAttributesOnNode(QXmlStreamWriter& writer);
94 virtual void setAttributesFromNode(QDomElement & root);
95
96private:
97
98 QString m_text; //< The actual text of this code block.
99 QString m_tag;
101 bool m_writeOutText; //< Flag to write the text of this TextBlock into a file.
104
105};
106
107#endif // TEXTBLOCK_H
Definition: classifiercodedocument.h:29
Definition: codedocument.h:30
Definition: codegenobjectwithtextblocks.h:29
Definition: textblock.h:23
virtual QString unformatText(const QString &text, const QString &indent=QString())
Definition: textblock.cpp:249
static QString decodeText(const QString &text, const QString &endLine)
Definition: textblock.cpp:389
int getIndentationLevel() const
Definition: textblock.cpp:159
QString m_tag
Definition: textblock.h:99
virtual int firstEditableLine()
Definition: textblock.cpp:211
static QString getNewLineEndingChars()
Definition: textblock.cpp:168
virtual void release()
Definition: textblock.cpp:271
void setText(const QString &text)
Definition: textblock.cpp:76
void appendText(const QString &text)
Definition: textblock.cpp:85
static QString formatMultiLineText(const QString &work, const QString &linePrefix, const QString &breakStr, bool addBreak=true, bool lastLineHasBreak=true)
Definition: textblock.cpp:284
void setIndentationLevel(int level)
Definition: textblock.cpp:148
virtual QString toString() const
Definition: textblock.cpp:401
void setWriteOutText(bool write)
Definition: textblock.cpp:127
bool m_canDelete
Definition: textblock.h:100
static QString getIndentation()
Definition: textblock.cpp:178
bool canDelete() const
Definition: textblock.cpp:57
virtual void setAttributesFromNode(QDomElement &root)
Definition: textblock.cpp:355
virtual void setAttributesOnNode(QXmlStreamWriter &writer)
Definition: textblock.cpp:318
virtual QString getNewEditorLine(int amount=0)
Definition: textblock.cpp:236
CodeDocument * m_parentDocument
Definition: textblock.h:103
QString getText() const
Definition: textblock.cpp:95
virtual ~TextBlock()
Definition: textblock.cpp:38
virtual void saveToXMI1(QXmlStreamWriter &writer)=0
QString getIndentationString(int level=0) const
Definition: textblock.cpp:189
QString getTag() const
Definition: textblock.cpp:106
CodeDocument * getParentDocument() const
Definition: textblock.cpp:66
TextBlock(CodeDocument *parent, const QString &text=QString())
Definition: textblock.cpp:24
friend QDebug operator<<(QDebug os, const TextBlock &obj)
Definition: textblock.cpp:416
QString m_text
Definition: textblock.h:98
virtual void loadFromXMI1(QDomElement &root)=0
int m_indentationLevel
Definition: textblock.h:102
void setTag(const QString &value)
Definition: textblock.cpp:117
void setCanDelete(bool canDelete)
Definition: textblock.cpp:46
bool m_writeOutText
Definition: textblock.h:101
bool getWriteOutText() const
Definition: textblock.cpp:137
static QString encodeText(const QString &text, const QString &endLine)
Definition: textblock.cpp:375
virtual void setAttributesFromObject(TextBlock *obj)
Definition: textblock.cpp:341
virtual int lastEditableLine()
Definition: textblock.cpp:219