umbrello  2.39.2
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
tclwriter.h
Go to the documentation of this file.
1 /*
2  SPDX-License-Identifier: GPL-2.0-or-later
3 
4  SPDX-FileCopyrightText: 2005 Rene Meyer <rene.meyer@sturmit.de>
5  SPDX-FileCopyrightText: 2006-2020 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
6 */
7 
8 #ifndef TCLWRITER_H
9 #define TCLWRITER_H
10 
11 #include "simplecodegenerator.h"
12 #include "umloperationlist.h"
13 #include "umlattributelist.h"
14 #include "umlassociationlist.h"
15 
16 #include <QStringList>
17 
18 class QFile;
19 class QTextStream;
20 
28 {
29 public:
30 
31  TclWriter();
32  virtual ~TclWriter();
33 
34  virtual void writeClass(UMLClassifier * c);
35 
37 
38  virtual QStringList reservedKeywords() const;
39 
40 private:
41 
42  void writeHeaderFile(UMLClassifier * c, QFile & file);
43  void writeSourceFile(UMLClassifier * c, QFile & file);
44 
45  void writeCode(const QString &text);
46  void writeComm(const QString &text);
47  void writeDocu(const QString &text);
48 
51 
53 
55  Uml::ID::Type myId, const QString &type);
56  void writeAssociationDecl(UMLAssociationList associations,
58  const QString &type);
59 
60  void writeAssociationRoleDecl(const QString &fieldClassName,
61  const QString &roleName, const QString &multi,
62  const QString &doc, const QString &docname);
63 
66 
69 
70  void writeDestructorHeader();
71  void writeDestructorSource();
72 
74  Uml::Visibility::Enum permitScope);
76  Uml::Visibility::Enum permitScope);
77 
79 
81  Uml::ID::Type id);
82  void writeAssociationRoleSource(const QString &fieldClassName,
83  const QString &roleName,
84  const QString &multi);
85 
86  void writeUse(UMLClassifier * c);
87 
88  QString getUMLObjectName(UMLObject * obj);
89 
90  QString fixTypeName(const QString &string);
91 
92  QTextStream* mStream;
93  QString mNamespace;
94  QString mClassGlobal;
95  QStringList ObjectFieldVariables;
96  QStringList VectorFieldVariables;
97 
98 };
99 
100 #endif // TCLWRITER_H
Definition: simplecodegenerator.h:30
Definition: tclwriter.h:28
virtual ~TclWriter()
Definition: tclwriter.cpp:85
QString fixTypeName(const QString &string)
Definition: tclwriter.cpp:914
void writeAssociationIncl(UMLAssociationList list, Uml::ID::Type myId, const QString &type)
Definition: tclwriter.cpp:403
QStringList VectorFieldVariables
Definition: tclwriter.h:96
void writeAttributeSource(UMLClassifier *c)
Definition: tclwriter.cpp:816
void writeAttributeDecl(UMLClassifier *c, Uml::Visibility::Enum visibility, bool writeStatic)
Definition: tclwriter.cpp:496
void writeAssociationSource(UMLAssociationList associations, Uml::ID::Type id)
Definition: tclwriter.cpp:828
virtual void writeClass(UMLClassifier *c)
Definition: tclwriter.cpp:102
void writeDestructorSource()
Definition: tclwriter.cpp:484
void writeAssociationRoleDecl(const QString &fieldClassName, const QString &roleName, const QString &multi, const QString &doc, const QString &docname)
Definition: tclwriter.cpp:579
void writeDestructorDecl()
TclWriter()
Definition: tclwriter.cpp:77
void writeInitAttributeSource(UMLClassifier *c)
Definition: tclwriter.cpp:633
void writeAssociationDecl(UMLAssociationList associations, Uml::Visibility::Enum permit, Uml::ID::Type id, const QString &type)
Definition: tclwriter.cpp:534
void writeConstructorSource(UMLClassifier *c)
Definition: tclwriter.cpp:465
void writeInitAttributeHeader(UMLClassifier *c)
Definition: tclwriter.cpp:621
void writeConstructorDecl()
void writeDocu(const QString &text)
Definition: tclwriter.cpp:391
void writeOperationSource(UMLClassifier *c, Uml::Visibility::Enum permitScope)
Definition: tclwriter.cpp:750
QString mNamespace
namespace information
Definition: tclwriter.h:93
void writeDestructorHeader()
Definition: tclwriter.cpp:478
void writeSourceFile(UMLClassifier *c, QFile &file)
Definition: tclwriter.cpp:331
QTextStream * mStream
current output stream
Definition: tclwriter.h:92
void writeUse(UMLClassifier *c)
Definition: tclwriter.cpp:435
void writeAssociationRoleSource(const QString &fieldClassName, const QString &roleName, const QString &multi)
Definition: tclwriter.cpp:867
void writeHeaderFile(UMLClassifier *c, QFile &file)
Definition: tclwriter.cpp:162
virtual Uml::ProgrammingLanguage::Enum language() const
Definition: tclwriter.cpp:93
void writeComm(const QString &text)
Definition: tclwriter.cpp:380
QString mClassGlobal
information about current classifier
Definition: tclwriter.h:94
void writeConstructorHeader()
Definition: tclwriter.cpp:458
void writeOperationHeader(UMLClassifier *c, Uml::Visibility::Enum permitScope)
Definition: tclwriter.cpp:675
QStringList ObjectFieldVariables
Definition: tclwriter.h:95
virtual QStringList reservedKeywords() const
Definition: tclwriter.cpp:934
void writeCode(const QString &text)
Definition: tclwriter.cpp:372
QString getUMLObjectName(UMLObject *obj)
Definition: tclwriter.cpp:925
Information for a non-graphical Concept/Class.
Definition: classifier.h:35
The base class for UML objects.
Definition: umlobject.h:70
std::string Type
Definition: basictypes.h:371
Enum
Definition: basictypes.h:291
Enum
Definition: basictypes.h:45
Definition: visibility.py:1
QList< UMLAssociation * > UMLAssociationList
Definition: umlassociationlist.h:12