umbrello  2.31.80
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  * This program is free software; you can redistribute it and/or modify *
3  * it under the terms of the GNU General Public License as published by *
4  * the Free Software Foundation; either version 2 of the License, or *
5  * (at your option) any later version. *
6  * *
7  * copyright (C) 2009-2020 *
8  * Umbrello UML Modeller Authors <umbrello-devel@kde.org> *
9  ***************************************************************************/
10 
11 //
12 // C++ Interface: valawriter
13 //
14 
15 #ifndef VALAWRITER_H
16 #define VALAWRITER_H
17 
18 #include "classifierlistitem.h"
19 #include "simplecodegenerator.h"
20 #include "umlassociationlist.h"
21 #include "umlattributelist.h"
22 #include "umloperationlist.h"
23 
29 {
30  Q_OBJECT
31 public:
32  ValaWriter();
33  virtual ~ValaWriter();
34 
35  virtual void writeClass(UMLClassifier *c);
36 
38 
39  virtual QStringList reservedKeywords() const;
40 
41  QStringList defaultDatatypes();
42 
43 private:
44 
47 
50 
53 
54  void writeRealizationsRecursive(UMLClassifier *currentClass,
55  UMLAssociationList *realizations,
56  QTextStream &cs);
57 
58  void writeOperations(UMLClassifier *c, QTextStream &cs);
60  QTextStream &cs,
61  bool interface = false,
62  bool isOverride = false,
63  bool generateErrorStub = false);
64 
65  void writeOverridesRecursive(UMLClassifierList *superclasses, QTextStream &cs);
66 
67  void writeAttributes(UMLClassifier *c, QTextStream &cs);
68  void writeAttributes(UMLAttributeList &atList, QTextStream &cs);
69 
70  void writeAssociatedAttributes(UMLAssociationList &associated, UMLClassifier *c, QTextStream &cs);
71 
72  void writeAttribute(const QString& doc,
74  bool isStatic,
75  const QString& typeName,
76  const QString& name,
77  const QString& initialValue,
78  bool asProperty,
79  QTextStream &cs);
80 
82 
83 };
84 
85 #endif
ValaWriter::writeRealizationsRecursive
void writeRealizationsRecursive(UMLClassifier *currentClass, UMLAssociationList *realizations, QTextStream &cs)
Definition: valawriter.cpp:475
umlattributelist.h
UMLObject::asUMLClassifier
UMLClassifier * asUMLClassifier()
Definition: umlobject.cpp:1309
UMLClassifier::getOpList
UMLOperationList getOpList(bool includeInherited=false, UMLClassifierSet *alreadyTraversed=0)
Definition: classifier.cpp:939
UMLAttributeListIt
QListIterator< UMLAttribute * > UMLAttributeListIt
Definition: umlattributelist.h:20
SimpleCodeGenerator::m_indentation
QString m_indentation
Definition: simplecodegenerator.h:76
Uml::ProgrammingLanguage::Enum
Enum
Definition: basictypes.h:271
UMLClassifier::isInterface
bool isInterface() const
Definition: classifier.cpp:118
UMLCanvasObject::getSuperClasses
UMLClassifierList getSuperClasses(bool withRealizations=true)
Definition: umlcanvasobject.cpp:349
UMLAttributeList
Definition: umlattributelist.h:27
UMLObject::name
QString name() const
Definition: umlobject.cpp:211
ValaWriter::reservedKeywords
virtual QStringList reservedKeywords() const
Definition: valawriter.cpp:849
umloperationlist.h
CodeGenerator::getHeadingFile
virtual QString getHeadingFile(const QString &file)
Definition: codegenerator.cpp:407
UMLOperation::getParmList
UMLAttributeList getParmList() const
Definition: operation.cpp:178
ValaWriter::writeOverridesRecursive
void writeOverridesRecursive(UMLClassifierList *superclasses, QTextStream &cs)
Definition: valawriter.cpp:438
includes
Definition: includes.h:3
CodeGenerator::cleanName
static QString cleanName(const QString &name)
Definition: codegenerator.cpp:549
UMLAssociationListIt
QListIterator< UMLAssociation * > UMLAssociationListIt
Definition: umlassociationlist.h:21
operation.h
UMLClassifierListItem::getType
UMLClassifier * getType() const
Definition: classifierlistitem.cpp:102
UMLAttribute::getInitialValue
QString getInitialValue() const
Definition: attribute.cpp:99
UMLClassifierListItem::getTypeName
virtual QString getTypeName() const
Definition: classifierlistitem.cpp:112
ValaWriter::defaultDatatypes
QStringList defaultDatatypes()
Definition: valawriter.cpp:128
Uml::RoleType::A
@ A
Definition: basictypes.h:239
Uml::ModelType::Logical
@ Logical
Definition: basictypes.h:42
UMLDoc::rootFolder
UMLFolder * rootFolder(Uml::ModelType::Enum mt)
Definition: umldoc.cpp:3205
CodeGenerator::findObjectsRelated
static void findObjectsRelated(UMLClassifier *c, UMLPackageList &cList)
Definition: codegenerator.cpp:622
association.h
UMLObject::umlPackage
UMLPackage * umlPackage() const
Definition: umlobject.cpp:646
UMLObject::isStatic
bool isStatic() const
Definition: umlobject.cpp:366
ValaWriter::writeOperations
void writeOperations(UMLClassifier *c, QTextStream &cs)
Definition: valawriter.cpp:370
UMLClassifierList
QList< UMLClassifier * > UMLClassifierList
Definition: umlclassifierlist.h:17
ValaWriter::writeClass
virtual void writeClass(UMLClassifier *c)
Definition: valawriter.cpp:184
ValaWriter
Definition: valawriter.h:29
UMLObject
The base class for UML objects.
Definition: umlobject.h:74
UMLObject::isAbstract
bool isAbstract() const
Definition: umlobject.cpp:348
CodeGenerator::forceDoc
bool forceDoc() const
Definition: codegenerator.cpp:765
CodeGenerator::formatSourceCode
static QString formatSourceCode(const QString &code, const QString &indentation)
Definition: codegenerator.cpp:743
Uml::Visibility::Public
@ Public
Definition: basictypes.h:60
UMLClassifier::hasAbstractOps
bool hasAbstractOps()
Definition: classifier.cpp:909
classifierlistitem.h
UMLOperation::isLifeOperation
bool isLifeOperation()
Definition: operation.cpp:414
CodeGenerator::showGeneratedFile
void showGeneratedFile(const QString &filename)
UMLObject::visibility
Uml::Visibility::Enum visibility() const
Definition: umlobject.cpp:466
attribute.h
a
QString a
Definition: petalnode.cpp:18
SimpleCodeGenerator::m_endl
QString m_endl
Definition: simplecodegenerator.h:78
Uml::Visibility::toString
QString toString(Enum item, bool mnemonic)
Definition: basictypes.cpp:107
UMLObject::fullyQualifiedName
virtual QString fullyQualifiedName(const QString &separator=QString(), bool includeRoot=false) const
Definition: umlobject.cpp:227
folder.h
CodeGenerator::formatDoc
static QString formatDoc(const QString &text, const QString &linePrefix=QLatin1String(" *"), int lineWidth=80)
Definition: codegenerator.cpp:712
uDebug
#define uDebug()
Definition: debug_utils.h:122
SimpleCodeGenerator
Definition: simplecodegenerator.h:34
Uml::RoleType::B
@ B
Definition: basictypes.h:240
ValaWriter::m_container_indent
QString m_container_indent
Adds extra indenting if the class is in a container (namespace).
Definition: valawriter.h:46
UMLObject::doc
QString doc() const
Definition: umlobject.cpp:435
UMLApp::app
static UMLApp * app()
Definition: uml.cpp:278
visibility
Definition: visibility.py:1
UMLDoc
Definition: umldoc.h:75
ValaWriter::writeAttributes
void writeAttributes(UMLClassifier *c, QTextStream &cs)
Definition: valawriter.cpp:639
UMLAttribute
Sets up attribute information.
Definition: attribute.h:28
UMLClassifier::getAttributeList
UMLAttributeList getAttributeList() const
Definition: classifier.cpp:436
ValaWriter::m_unnamedRoles
int m_unnamedRoles
Counts associations without a role name for giving a default name.
Definition: valawriter.h:52
ValaWriter::m_seenIncludes
UMLPackageList m_seenIncludes
Collection of included namespaces, to skip them from variable types.
Definition: valawriter.h:49
UMLFolder
Non-graphical management of objects and diagrams of a Folder.
Definition: folder.h:35
UMLPackageList
QList< UMLPackage * > UMLPackageList
Definition: umlpackagelist.h:17
ValaWriter::language
virtual Uml::ProgrammingLanguage::Enum language() const
Definition: valawriter.cpp:840
UMLCanvasObject::getAggregations
UMLAssociationList getAggregations()
Definition: umlcanvasobject.cpp:412
Uml::Visibility::Enum
Enum
Definition: basictypes.h:59
CodeGenerator::codeGenerated
void codeGenerated(UMLClassifier *concept, bool generated)
ValaWriter::ValaWriter
ValaWriter()
Definition: valawriter.cpp:111
ValaWriter::~ValaWriter
virtual ~ValaWriter()
Definition: valawriter.cpp:120
classifier.h
uError
#define uError()
Definition: debug_utils.h:123
UMLOperation
Definition: operation.h:25
ValaWriter::writeAssociatedAttributes
void writeAssociatedAttributes(UMLAssociationList &associated, UMLClassifier *c, QTextStream &cs)
Definition: valawriter.cpp:715
uml.h
UMLClassifier
Information for a non-graphical Concept/Class.
Definition: classifier.h:40
debug_utils.h
umlassociationlist.h
UMLAssociation
Sets up association information.
Definition: association.h:33
UMLCanvasObject::getRealizations
virtual UMLAssociationList getRealizations()
Definition: umlcanvasobject.cpp:402
UMLCanvasObject::getCompositions
UMLAssociationList getCompositions()
Definition: umlcanvasobject.cpp:422
Uml::ProgrammingLanguage::Vala
@ Vala
Definition: basictypes.h:290
reserved_words
static const char * reserved_words[]
Definition: valawriter.cpp:29
simplecodegenerator.h
Uml::Visibility::Private
@ Private
Definition: basictypes.h:61
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:759
CodeGenerator::forceSections
bool forceSections() const
Definition: codegenerator.cpp:775
Uml::Visibility::Protected
@ Protected
Definition: basictypes.h:62
UMLOperationList
QList< UMLOperation * > UMLOperationList
Definition: umloperationlist.h:18
UMLClassifierListItem
A base class for classifier list items (e.g. attributes)
Definition: classifierlistitem.h:30
ValaWriter::makeLocalTypeName
QString makeLocalTypeName(UMLClassifierListItem *cl)
Definition: valawriter.cpp:824
valawriter.h
UMLAssociationList
QList< UMLAssociation * > UMLAssociationList
Definition: umlassociationlist.h:18
SimpleCodeGenerator::findFileName
QString findFileName(UMLPackage *concept, const QString &ext)
Definition: simplecodegenerator.cpp:91
UMLApp::document
UMLDoc * document() const
Definition: uml.cpp:1064
umldoc.h
CodeGenerator::openFile
bool openFile(QFile &file, const QString &name)
Definition: codegenerator.cpp:523
UMLOperation::getSourceCode
QString getSourceCode() const
Definition: operation.cpp:507
UMLPackage
Non-graphical information for a Package.
Definition: package.h:33