umbrello  2.39.2
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
simplecodegenerator.h
Go to the documentation of this file.
1 /*
2  SPDX-License-Identifier: GPL-2.0-or-later
3 
4  SPDX-FileCopyrightText: 2003 Brian Thomas <thomas@mail630.gsfc.nasa.gov>
5  SPDX-FileCopyrightText: 2004-2020 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
6 */
7 
8 #ifndef SIMPLECODEGENERATOR_H
9 #define SIMPLECODEGENERATOR_H
10 
11 #include "basictypes.h"
12 #include "codegenerator.h"
13 
14 #include <QMap>
15 #include <QString>
16 #include <QStringList>
17 
18 
30 {
31  Q_OBJECT
32 public:
33 
34  explicit SimpleCodeGenerator(bool createDirHierarchyForPackages = true);
35  virtual ~SimpleCodeGenerator();
36 
37  void writeCodeToFile(UMLClassifierList & concepts);
38  void writeCodeToFile();
39 
44  virtual void writeClass(UMLClassifier *c) = 0;
45 
46 protected:
47  QString className_;
48  QString fileName_;
49 
50  QString findFileName(UMLPackage* classifier, const QString &ext);
51  QString overwritableName(UMLPackage* classifier, const QString &name, const QString &ext);
54 
55  QString indent();
56 
61  QMap<UMLPackage*, QString> m_fileMap;
62 
70 
71  // old attributes writers will look for
72  QString m_indentation;
74  QString m_endl;
75 
76  virtual void initFromParentDocument();
77 
78 public slots:
79  virtual void syncCodeToDocument();
80 
81 };
82 
83 #endif // SIMPLECODEGENERATOR_H
Definition: codegenerator.h:54
Definition: simplecodegenerator.h:30
int m_indentLevel
Definition: simplecodegenerator.h:73
bool m_createDirHierarchyForPackages
Definition: simplecodegenerator.h:69
virtual void initFromParentDocument()
Definition: simplecodegenerator.cpp:299
bool hasAbstractOps(UMLClassifier *c)
Definition: simplecodegenerator.cpp:251
QString overwritableName(UMLPackage *classifier, const QString &name, const QString &ext)
Definition: simplecodegenerator.cpp:160
QString className_
Definition: simplecodegenerator.h:47
QString findFileName(UMLPackage *classifier, const QString &ext)
Definition: simplecodegenerator.cpp:84
QString fileName_
Definition: simplecodegenerator.h:48
QString m_endl
Definition: simplecodegenerator.h:74
QString m_indentation
Definition: simplecodegenerator.h:72
virtual ~SimpleCodeGenerator()
Definition: simplecodegenerator.cpp:61
SimpleCodeGenerator(bool createDirHierarchyForPackages=true)
Definition: simplecodegenerator.cpp:41
QMap< UMLPackage *, QString > m_fileMap
Definition: simplecodegenerator.h:61
void writeCodeToFile()
Definition: simplecodegenerator.cpp:264
QString indent()
Definition: simplecodegenerator.cpp:69
virtual void syncCodeToDocument()
Definition: simplecodegenerator.cpp:288
virtual void writeClass(UMLClassifier *c)=0
bool hasDefaultValueAttr(UMLClassifier *c)
Definition: simplecodegenerator.cpp:236
Information for a non-graphical Concept/Class.
Definition: classifier.h:35
Non-graphical information for a Package.
Definition: package.h:28
QList< UMLClassifier * > UMLClassifierList
Definition: umlclassifierlist.h:12