umbrello  2.35.1
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
valawriter.h
Go to the documentation of this file.
1 /*
2  SPDX-License-Identifier: GPL-2.0-or-later
3  SPDX-FileCopyrightText: 2009-2021 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
4 */
5 
6 //
7 // C++ Interface: valawriter
8 //
9 
10 #ifndef VALAWRITER_H
11 #define VALAWRITER_H
12 
13 #include "classifierlistitem.h"
14 #include "simplecodegenerator.h"
15 #include "umlassociationlist.h"
16 #include "umlattributelist.h"
17 #include "umloperationlist.h"
18 
24 {
25  Q_OBJECT
26 public:
27  ValaWriter();
28  virtual ~ValaWriter();
29 
30  virtual void writeClass(UMLClassifier *c);
31 
33 
34  virtual QStringList reservedKeywords() const;
35 
36  QStringList defaultDatatypes() const;
37 
38 private:
39 
42 
45 
48 
49  void writeRealizationsRecursive(UMLClassifier *currentClass,
50  UMLAssociationList *realizations,
51  QTextStream &cs);
52 
53  void writeOperations(UMLClassifier *c, QTextStream &cs);
55  QTextStream &cs,
56  bool interface = false,
57  bool isOverride = false,
58  bool generateErrorStub = false);
59 
60  void writeOverridesRecursive(UMLClassifierList *superclasses, QTextStream &cs);
61 
62  void writeAttributes(UMLClassifier *c, QTextStream &cs);
63  void writeAttributes(UMLAttributeList &atList, QTextStream &cs);
64 
65  void writeAssociatedAttributes(UMLAssociationList &associated, UMLClassifier *c, QTextStream &cs);
66 
67  void writeAttribute(const QString& doc,
69  bool isStatic,
70  const QString& typeName,
71  const QString& name,
72  const QString& initialValue,
73  bool asProperty,
74  QTextStream &cs);
75 
77 
78 };
79 
80 #endif
ValaWriter::writeRealizationsRecursive
void writeRealizationsRecursive(UMLClassifier *currentClass, UMLAssociationList *realizations, QTextStream &cs)
Definition: valawriter.cpp:470
umlattributelist.h
UMLAttributeListIt
QListIterator< UMLAttribute * > UMLAttributeListIt
Definition: umlattributelist.h:14
SimpleCodeGenerator::m_indentation
QString m_indentation
Definition: simplecodegenerator.h:72
Uml::ProgrammingLanguage::Enum
Enum
Definition: basictypes.h:291
UMLClassifier::isInterface
bool isInterface() const
Definition: classifier.cpp:116
UMLAttributeList
Definition: umlattributelist.h:20
UMLObject::name
QString name() const
Definition: umlobject.cpp:207
ValaWriter::reservedKeywords
virtual QStringList reservedKeywords() const
Definition: valawriter.cpp:845
umloperationlist.h
CodeGenerator::getHeadingFile
virtual QString getHeadingFile(const QString &file)
Definition: codegenerator.cpp:406
UMLOperation::getParmList
UMLAttributeList getParmList() const
Definition: operation.cpp:177
ValaWriter::writeOverridesRecursive
void writeOverridesRecursive(UMLClassifierList *superclasses, QTextStream &cs)
Definition: valawriter.cpp:433
UMLCanvasObject::getRealizations
virtual UMLAssociationList getRealizations() const
Definition: umlcanvasobject.cpp:403
includes
Definition: includes.h:3
CodeGenerator::cleanName
static QString cleanName(const QString &name)
Definition: codegenerator.cpp:548
UMLAssociationListIt
QListIterator< UMLAssociation * > UMLAssociationListIt
Definition: umlassociationlist.h:15
UMLOperation::isLifeOperation
bool isLifeOperation() const
Definition: operation.cpp:414
operation.h
UMLClassifierListItem::getType
UMLClassifier * getType() const
Definition: classifierlistitem.cpp:98
UMLAttribute::getInitialValue
QString getInitialValue() const
Definition: attribute.cpp:100
UMLClassifierListItem::getTypeName
virtual QString getTypeName() const
Definition: classifierlistitem.cpp:108
Uml::RoleType::A
@ A
Definition: basictypes.h:237
Uml::ModelType::Logical
@ Logical
Definition: basictypes.h:28
logError0
#define logError0(s)
Definition: uml.h:539
CodeGenerator::findObjectsRelated
static void findObjectsRelated(UMLClassifier *c, UMLPackageList &cList)
Definition: codegenerator.cpp:621
ValaWriter::defaultDatatypes
QStringList defaultDatatypes() const
Definition: valawriter.cpp:123
UMLClassifier::getOpList
UMLOperationList getOpList(bool includeInherited=false, UMLClassifierSet *alreadyTraversed=0) const
Definition: classifier.cpp:939
association.h
UMLObject::umlPackage
UMLPackage * umlPackage() const
Definition: umlobject.cpp:651
UMLObject::isStatic
bool isStatic() const
Definition: umlobject.cpp:362
ValaWriter::writeOperations
void writeOperations(UMLClassifier *c, QTextStream &cs)
Definition: valawriter.cpp:365
UMLClassifierList
QList< UMLClassifier * > UMLClassifierList
Definition: umlclassifierlist.h:12
ValaWriter::writeClass
virtual void writeClass(UMLClassifier *c)
Definition: valawriter.cpp:179
ValaWriter
Definition: valawriter.h:23
UMLObject
The base class for UML objects.
Definition: umlobject.h:69
UMLObject::isAbstract
bool isAbstract() const
Definition: umlobject.cpp:344
UMLClassifier::hasAbstractOps
bool hasAbstractOps() const
Definition: classifier.cpp:909
CodeGenerator::forceDoc
bool forceDoc() const
Definition: codegenerator.cpp:764
CodeGenerator::formatSourceCode
static QString formatSourceCode(const QString &code, const QString &indentation)
Definition: codegenerator.cpp:742
Uml::Visibility::Public
@ Public
Definition: basictypes.h:46
classifierlistitem.h
CodeGenerator::showGeneratedFile
void showGeneratedFile(const QString &filename)
Definition: moc_codegenerator.cpp:180
UMLObject::visibility
Uml::Visibility::Enum visibility() const
Definition: umlobject.cpp:462
UMLDoc::rootFolder
UMLFolder * rootFolder(Uml::ModelType::Enum mt) const
Definition: umldoc.cpp:3264
attribute.h
a
QString a
Definition: petalnode.cpp:13
SimpleCodeGenerator::m_endl
QString m_endl
Definition: simplecodegenerator.h:74
Uml::Visibility::toString
QString toString(Enum item, bool mnemonic)
Definition: basictypes.cpp:93
UMLObject::fullyQualifiedName
virtual QString fullyQualifiedName(const QString &separator=QString(), bool includeRoot=false) const
Definition: umlobject.cpp:223
folder.h
CodeGenerator::formatDoc
static QString formatDoc(const QString &text, const QString &linePrefix=QLatin1String(" *"), int lineWidth=80)
Definition: codegenerator.cpp:711
UMLObject::asUMLClassifier
UMLClassifier * asUMLClassifier()
Definition: umlobject.cpp:1422
SimpleCodeGenerator
Definition: simplecodegenerator.h:29
Uml::RoleType::B
@ B
Definition: basictypes.h:238
ValaWriter::m_container_indent
QString m_container_indent
Adds extra indenting if the class is in a container (namespace).
Definition: valawriter.h:41
c
type show c for details The hypothetical commands show w and show c should show the appropriate parts of the General Public License Of the commands you use may be called something other than show w and show c
Definition: GPL-2.0-only.txt:301
UMLObject::doc
QString doc() const
Definition: umlobject.cpp:431
UMLApp::app
static UMLApp * app()
Definition: uml.cpp:349
visibility
Definition: visibility.py:1
UMLDoc
Definition: umldoc.h:69
ValaWriter::writeAttributes
void writeAttributes(UMLClassifier *c, QTextStream &cs)
Definition: valawriter.cpp:635
UMLAttribute
Sets up attribute information.
Definition: attribute.h:22
ValaWriter::m_unnamedRoles
int m_unnamedRoles
Counts associations without a role name for giving a default name.
Definition: valawriter.h:47
ValaWriter::m_seenIncludes
UMLPackageList m_seenIncludes
Collection of included namespaces, to skip them from variable types.
Definition: valawriter.h:44
UMLFolder
Non-graphical management of objects and diagrams of a Folder.
Definition: folder.h:29
UMLPackageList
QList< UMLPackage * > UMLPackageList
Definition: umlpackagelist.h:11
ValaWriter::language
virtual Uml::ProgrammingLanguage::Enum language() const
Definition: valawriter.cpp:836
logWarn0
#define logWarn0(s)
Definition: uml.h:538
Uml::Visibility::Enum
Enum
Definition: basictypes.h:45
CodeGenerator::codeGenerated
void codeGenerated(UMLClassifier *concept, bool generated)
Definition: moc_codegenerator.cpp:166
ValaWriter::ValaWriter
ValaWriter()
Definition: valawriter.cpp:106
ValaWriter::~ValaWriter
virtual ~ValaWriter()
Definition: valawriter.cpp:115
classifier.h
UMLOperation
Definition: operation.h:19
ValaWriter::writeAssociatedAttributes
void writeAssociatedAttributes(UMLAssociationList &associated, UMLClassifier *c, QTextStream &cs)
Definition: valawriter.cpp:711
uml.h
UMLClassifier
Information for a non-graphical Concept/Class.
Definition: classifier.h:34
debug_utils.h
umlassociationlist.h
UMLAssociation
Sets up association information.
Definition: association.h:28
Uml::ProgrammingLanguage::Vala
@ Vala
Definition: basictypes.h:310
reserved_words
static const char * reserved_words[]
Definition: valawriter.cpp:24
simplecodegenerator.h
Uml::Visibility::Private
@ Private
Definition: basictypes.h:47
ValaWriter::writeAttribute
void writeAttribute(const QString &doc, Uml::Visibility::Enum visibility, bool isStatic, const QString &typeName, const QString &name, const QString &initialValue, bool asProperty, QTextStream &cs)
Definition: valawriter.cpp:755
CodeGenerator::forceSections
bool forceSections() const
Definition: codegenerator.cpp:774
Uml::Visibility::Protected
@ Protected
Definition: basictypes.h:48
UMLOperationList
QList< UMLOperation * > UMLOperationList
Definition: umloperationlist.h:12
UMLClassifierListItem
A base class for classifier list items (e.g. attributes)
Definition: classifierlistitem.h:24
ValaWriter::makeLocalTypeName
QString makeLocalTypeName(UMLClassifierListItem *cl)
Definition: valawriter.cpp:820
valawriter.h
UMLAssociationList
QList< UMLAssociation * > UMLAssociationList
Definition: umlassociationlist.h:12
SimpleCodeGenerator::findFileName
QString findFileName(UMLPackage *concept, const QString &ext)
Definition: simplecodegenerator.cpp:87
UMLApp::document
UMLDoc * document() const
Definition: uml.cpp:1139
umldoc.h
CodeGenerator::openFile
bool openFile(QFile &file, const QString &name)
Definition: codegenerator.cpp:522
UMLOperation::getSourceCode
QString getSourceCode() const
Definition: operation.cpp:523
UMLCanvasObject::getSuperClasses
UMLClassifierList getSuperClasses(bool withRealizations=true) const
Definition: umlcanvasobject.cpp:348
UMLPackage
Non-graphical information for a Package.
Definition: package.h:27