umbrello  2.39.2
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
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 
21 {
22  Q_OBJECT
23 public:
24  CSharpWriter();
25  virtual ~CSharpWriter();
26 
27  virtual void writeClass(UMLClassifier *c);
28 
30 
31  virtual QStringList reservedKeywords() const;
32 
33  QStringList defaultDatatypes() const;
34 
35 private:
36 
41 
46 
51 
52  void writeRealizationsRecursive(UMLClassifier *currentClass,
53  UMLAssociationList *realizations,
54  QTextStream &cs);
55 
56  void writeOperations(UMLClassifier *c, QTextStream &cs);
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,
72  bool isStatic,
73  const QString& typeName,
74  const QString& name,
75  const QString& initialValue,
76  bool asProperty,
77  QTextStream &cs);
78 
80 
81 };
82 
83 #endif
Definition: csharpwriter.h:21
void writeAssociatedAttributes(UMLAssociationList &associated, UMLClassifier *c, QTextStream &cs)
Definition: csharpwriter.cpp:673
QString m_container_indent
Definition: csharpwriter.h:40
CSharpWriter()
Definition: csharpwriter.cpp:99
QStringList defaultDatatypes() const
Definition: csharpwriter.cpp:113
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
virtual Uml::ProgrammingLanguage::Enum language() const
Definition: csharpwriter.cpp:787
void writeRealizationsRecursive(UMLClassifier *currentClass, UMLAssociationList *realizations, QTextStream &cs)
Definition: csharpwriter.cpp:446
void writeOverridesRecursive(UMLClassifierList *superclasses, QTextStream &cs)
Definition: csharpwriter.cpp:409
virtual QStringList reservedKeywords() const
Definition: csharpwriter.cpp:795
QString makeLocalTypeName(UMLClassifierListItem *cl)
Definition: csharpwriter.cpp:772
virtual ~CSharpWriter()
Definition: csharpwriter.cpp:106
void writeAttributes(UMLClassifier *c, QTextStream &cs)
Definition: csharpwriter.cpp:598
UMLPackageList m_seenIncludes
Definition: csharpwriter.h:45
int m_unnamedRoles
Definition: csharpwriter.h:50
virtual void writeClass(UMLClassifier *c)
Definition: csharpwriter.cpp:161
void writeOperations(UMLClassifier *c, QTextStream &cs)
Definition: csharpwriter.cpp:340
Definition: simplecodegenerator.h:30
Definition: umlattributelist.h:21
A base class for classifier list items (e.g. attributes)
Definition: classifierlistitem.h:25
Information for a non-graphical Concept/Class.
Definition: classifier.h:35
Enum
Definition: basictypes.h:291
Enum
Definition: basictypes.h:45
Definition: visibility.py:1
QList< UMLAssociation * > UMLAssociationList
Definition: umlassociationlist.h:12
QList< UMLClassifier * > UMLClassifierList
Definition: umlclassifierlist.h:12
QList< UMLOperation * > UMLOperationList
Definition: umloperationlist.h:12
QList< UMLPackage * > UMLPackageList
Definition: umlpackagelist.h:11