umbrello 2.34.70-5524f40e1
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
cppcodegenerator.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-2021 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
6*/
7
8#ifndef CPPCODEGENERATOR_H
9#define CPPCODEGENERATOR_H
10
11#include "codedocumentlist.h"
12#include "codeviewerstate.h"
14#include "cppmakecodedocument.h"
15#include "umldoc.h"
16
17#include <QString>
18
21
23{
24 Q_OBJECT
25public:
26
27 static const bool DEFAULT_BUILD_MAKEFILE;
28
30 virtual ~CPPCodeGenerator();
31
32 void setCreateProjectMakefile(bool buildIt);
34
35 QString fixTypeName(const QString &name);
36
39
41
44
45 virtual CodeViewerDialog * getCodeViewerDialog(QWidget* parent, CodeDocument * doc,
47
48 virtual void writeCodeToFile();
49 virtual void writeCodeToFile(UMLClassifierList &list);
50
51 QStringList defaultDatatypes() const;
52
53 virtual void saveToXMI(QXmlStreamWriter& writer);
54
55 virtual QStringList reservedKeywords() const;
56
57 virtual void createDefaultStereotypes ();
58
60
61protected:
62
64
66
67private:
68
70 CodeDocumentList m_headercodedocumentVector; //< a separate list for recording the header documents
71
72public slots:
73
74 virtual void checkAddUMLObject (UMLObject * obj);
75 virtual void checkRemoveUMLObject (UMLObject * obj);
76
77 virtual void syncCodeToDocument ();
78};
79
80#endif // CPPCODEGENERATOR_H
Definition: advancedcodegenerator.h:18
Definition: cppcodegenerator.h:23
virtual QStringList reservedKeywords() const
Definition: cppcodegenerator.cpp:396
CPPHeaderCodeDocument * newHeaderClassifierCodeDocument(UMLClassifier *classifier)
Definition: cppcodegenerator.cpp:282
CPPCodeGenerator()
Definition: cppcodegenerator.cpp:32
Uml::ProgrammingLanguage::Enum language() const
Definition: cppcodegenerator.cpp:57
QStringList defaultDatatypes() const
Definition: cppcodegenerator.cpp:387
CodeDocument * newClassifierCodeDocument(UMLClassifier *classifier)
Definition: cppcodegenerator.cpp:270
bool removeHeaderCodeDocument(CPPHeaderCodeDocument *remove_object)
Definition: cppcodegenerator.cpp:111
CodeDocumentList m_headercodedocumentVector
Definition: cppcodegenerator.h:70
void setCreateProjectMakefile(bool buildIt)
Definition: cppcodegenerator.cpp:66
CPPHeaderCodeDocument * findHeaderCodeDocumentByClassifier(UMLClassifier *classifier)
Definition: cppcodegenerator.cpp:259
virtual void checkRemoveUMLObject(UMLObject *obj)
Definition: cppcodegenerator.cpp:363
static const bool DEFAULT_BUILD_MAKEFILE
Definition: cppcodegenerator.h:27
virtual void saveToXMI(QXmlStreamWriter &writer)
Definition: cppcodegenerator.cpp:179
virtual CodeViewerDialog * getCodeViewerDialog(QWidget *parent, CodeDocument *doc, Settings::CodeViewerState &state)
Definition: cppcodegenerator.cpp:132
virtual void writeCodeToFile()
Definition: cppcodegenerator.cpp:222
bool getCreateProjectMakefile()
Definition: cppcodegenerator.cpp:79
void initFromParentDocument()
Definition: cppcodegenerator.cpp:302
QString fixTypeName(const QString &name)
Definition: cppcodegenerator.cpp:169
virtual ~CPPCodeGenerator()
Definition: cppcodegenerator.cpp:46
virtual void checkAddUMLObject(UMLObject *obj)
Definition: cppcodegenerator.cpp:336
virtual void syncCodeToDocument()
Definition: cppcodegenerator.cpp:204
bool m_createMakefile
Definition: cppcodegenerator.h:69
bool addHeaderCodeDocument(CPPHeaderCodeDocument *doc)
Definition: cppcodegenerator.cpp:89
CPPMakefileCodeDocument * newMakefileCodeDocument()
Definition: cppcodegenerator.cpp:293
virtual void createDefaultStereotypes()
Definition: cppcodegenerator.cpp:404
Definition: cppheadercodedocument.h:32
Definition: cppmakecodedocument.h:20
Definition: codedocument.h:30
Definition: codeviewerdialog.h:23
configurable params for the code viewer tool
Definition: codeviewerstate.h:15
Information for a non-graphical Concept/Class.
Definition: classifier.h:35
The base class for UML objects.
Definition: umlobject.h:70
QList< CodeDocument * > CodeDocumentList
Definition: codedocumentlist.h:12
Enum
Definition: basictypes.h:291
QList< UMLClassifier * > UMLClassifierList
Definition: umlclassifierlist.h:12