umbrello: umbrello/codegenerators/csharp/csharpwriter.h Source File

umbrello 2.38.0 Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

csharpwriter.h
Go to the documentation of this file.
1/*
2 SPDX-License-Identifier: GPL-2.0-or-later
3 SPDX-FileCopyrightText: 2007-2021 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
4*/
5
6#ifndef CSHARPWRITER_H
7#define CSHARPWRITER_H
8
9#include "classifierlistitem.h"
10#include "simplecodegenerator.h"
11#include "umlassociationlist.h"
12#include "umlattributelist.h"
13#include "umloperationlist.h"
14
20 class CSharpWriter : public SimpleCodeGenerator
21{
22 Q_OBJECT
23public:
24 CSharpWriter();
25 virtual ~CSharpWriter();
26
27 virtual void writeClass(UMLClassifier *c);
28
29 virtual Uml::ProgrammingLanguage::Enum language() const;
30
31 virtual QStringList reservedKeywords() const;
32
33 QStringList defaultDatatypes() const;
34
35private:
36
40 QString m_container_indent;
41
45 UMLPackageList m_seenIncludes;
46
50 int m_unnamedRoles;
51
52 void writeRealizationsRecursive(UMLClassifier *currentClass,
53 UMLAssociationList *realizations,
54 QTextStream &cs);
55
56 void writeOperations(UMLClassifier *c, QTextStream &cs);
57 void writeOperations(UMLOperationList opList,
58 QTextStream &cs,
59 bool interface = false,
60 bool isOverride = false,
61 bool generateErrorStub = false);
62
63 void writeOverridesRecursive(UMLClassifierList *superclasses, QTextStream &cs);
64
65 void writeAttributes(UMLClassifier *c, QTextStream &cs);
66 void writeAttributes(UMLAttributeList &atList, QTextStream &cs);
67
68 void writeAssociatedAttributes(UMLAssociationList &associated, UMLClassifier *c, QTextStream &cs);
69
70 void writeAttribute(const QString& doc,
71 Uml::Visibility::Enum visibility,
72 bool isStatic,
73 const QString& typeName,
74 const QString& name,
75 const QString& initialValue,
76 bool asProperty,
77 QTextStream &cs);
78
79 QString makeLocalTypeName(UMLClassifierListItem *cl);
80
81};
82
83#endif
CSharpWriter
Definition csharpwriter.h:21
CSharpWriter::writeAssociatedAttributes
void writeAssociatedAttributes(UMLAssociationList &associated, UMLClassifier *c, QTextStream &cs)
Definition csharpwriter.cpp:673
CSharpWriter::m_container_indent
QString m_container_indent
Definition csharpwriter.h:40
CSharpWriter::CSharpWriter
CSharpWriter()
Definition csharpwriter.cpp:99
CSharpWriter::defaultDatatypes
QStringList defaultDatatypes() const
Definition csharpwriter.cpp:113
CSharpWriter::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 csharpwriter.cpp:715
CSharpWriter::language
virtual Uml::ProgrammingLanguage::Enum language() const
Definition csharpwriter.cpp:787
CSharpWriter::writeRealizationsRecursive
void writeRealizationsRecursive(UMLClassifier *currentClass, UMLAssociationList *realizations, QTextStream &cs)
Definition csharpwriter.cpp:446
CSharpWriter::writeOverridesRecursive
void writeOverridesRecursive(UMLClassifierList *superclasses, QTextStream &cs)
Definition csharpwriter.cpp:409
CSharpWriter::reservedKeywords
virtual QStringList reservedKeywords() const
Definition csharpwriter.cpp:795
CSharpWriter::makeLocalTypeName
QString makeLocalTypeName(UMLClassifierListItem *cl)
Definition csharpwriter.cpp:772
CSharpWriter::~CSharpWriter
virtual ~CSharpWriter()
Definition csharpwriter.cpp:106
CSharpWriter::writeAttributes
void writeAttributes(UMLClassifier *c, QTextStream &cs)
Definition csharpwriter.cpp:598
CSharpWriter::m_seenIncludes
UMLPackageList m_seenIncludes
Definition csharpwriter.h:45
CSharpWriter::m_unnamedRoles
int m_unnamedRoles
Definition csharpwriter.h:50
CSharpWriter::writeClass
virtual void writeClass(UMLClassifier *c)
Definition csharpwriter.cpp:161
CSharpWriter::writeOperations
void writeOperations(UMLClassifier *c, QTextStream &cs)
Definition csharpwriter.cpp:340
SimpleCodeGenerator
Definition simplecodegenerator.h:30
UMLAttributeList
Definition umlattributelist.h:21
UMLClassifierListItem
A base class for classifier list items (e.g. attributes)
Definition classifierlistitem.h:25
UMLClassifier
Information for a non-graphical Concept/Class.
Definition classifier.h:35
classifierlistitem.h
Uml::ProgrammingLanguage::Enum
Enum
Definition basictypes.h:291
Uml::Visibility::Enum
Enum
Definition basictypes.h:45
visibility
Definition visibility.py:1
simplecodegenerator.h
umlassociationlist.h
UMLAssociationList
QList< UMLAssociation * > UMLAssociationList
Definition umlassociationlist.h:14
umlattributelist.h
UMLClassifierList
QList< UMLClassifier * > UMLClassifierList
Definition umlclassifierlist.h:14
umloperationlist.h
UMLOperationList
QList< UMLOperation * > UMLOperationList
Definition umloperationlist.h:14
UMLPackageList
QList< UMLPackage * > UMLPackageList
Definition umlpackagelist.h:13