umbrello 2.34.70-5524f40e1
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-2022 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
67 virtual void saveToXMI(QXmlStreamWriter& writer) = 0;
68
73 virtual void loadFromXMI(QDomElement & root) = 0;
74
75 bool canDelete() const;
76
77 virtual void setAttributesFromObject(TextBlock * obj);
78
79 virtual QString getNewEditorLine(int amount = 0);
80
81 virtual int firstEditableLine();
82 virtual int lastEditableLine();
83
84 friend QDebug operator<<(QDebug os, const TextBlock& obj);
85
86protected:
87
88 void setCanDelete(bool canDelete);
89
90 virtual void release();
91
92 virtual void setAttributesOnNode(QXmlStreamWriter& writer);
93 virtual void setAttributesFromNode(QDomElement & root);
94
95private:
96
97 QString m_text; //< The actual text of this code block.
98 QString m_tag;
100 bool m_writeOutText; //< Flag to write the text of this TextBlock into a file.
103
104};
105
106#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:388
int getIndentationLevel() const
Definition: textblock.cpp:159
QString m_tag
Definition: textblock.h:98
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:400
void setWriteOutText(bool write)
Definition: textblock.cpp:127
virtual void saveToXMI(QXmlStreamWriter &writer)=0
bool m_canDelete
Definition: textblock.h:99
static QString getIndentation()
Definition: textblock.cpp:178
bool canDelete() const
Definition: textblock.cpp:57
virtual void setAttributesFromNode(QDomElement &root)
Definition: textblock.cpp:354
virtual void setAttributesOnNode(QXmlStreamWriter &writer)
Definition: textblock.cpp:317
virtual QString getNewEditorLine(int amount=0)
Definition: textblock.cpp:236
CodeDocument * m_parentDocument
Definition: textblock.h:102
QString getText() const
Definition: textblock.cpp:95
virtual ~TextBlock()
Definition: textblock.cpp:38
QString getIndentationString(int level=0) const
Definition: textblock.cpp:189
QString getTag() const
Definition: textblock.cpp:106
virtual void loadFromXMI(QDomElement &root)=0
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:415
QString m_text
Definition: textblock.h:97
int m_indentationLevel
Definition: textblock.h:101
void setTag(const QString &value)
Definition: textblock.cpp:117
void setCanDelete(bool canDelete)
Definition: textblock.cpp:46
bool m_writeOutText
Definition: textblock.h:100
bool getWriteOutText() const
Definition: textblock.cpp:137
static QString encodeText(const QString &text, const QString &endLine)
Definition: textblock.cpp:374
virtual void setAttributesFromObject(TextBlock *obj)
Definition: textblock.cpp:340
virtual int lastEditableLine()
Definition: textblock.cpp:219