umbrello  26.08.1
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"
13 #include "advancedcodegenerator.h"
14 #include "cppmakecodedocument.h"
15 #include "umldoc.h"
16 
17 #include <QString>
18 
19 class CodeViewerDialog;
21 
23 {
24  Q_OBJECT
25 public:
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 
38  bool removeHeaderCodeDocument (CPPHeaderCodeDocument * remove_object);
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 
61 protected:
64 
65 private:
67  CodeDocumentList m_headercodedocumentVector; //< a separate list for recording the header documents
68 
69 public Q_SLOTS:
70  virtual void checkAddUMLObject (UMLObject * obj);
71  virtual void checkRemoveUMLObject (UMLObject * obj);
72 
73  virtual void syncCodeToDocument ();
74 };
75 
76 #endif // CPPCODEGENERATOR_H
Information for a non-graphical Concept/Class.
Definition: umlclassifier.h:34
configurable params for the code viewer tool
Definition: codeviewerstate.h:15
QList< CodeDocument * > CodeDocumentList
Definition: codedocumentlist.h:12
CodeDocument * newClassifierCodeDocument(UMLClassifier *classifier)
Definition: cppcodegenerator.cpp:269
Definition: cppheadercodedocument.h:31
Enum
Definition: basictypes.h:291
CodeDocumentList m_headercodedocumentVector
Definition: cppcodegenerator.h:67
bool removeHeaderCodeDocument(CPPHeaderCodeDocument *remove_object)
Definition: cppcodegenerator.cpp:110
The base class for UML objects.
Definition: umlobject.h:69
static const bool DEFAULT_BUILD_MAKEFILE
Definition: cppcodegenerator.h:27
QString fixTypeName(const QString &name)
Definition: cppcodegenerator.cpp:168
Uml::ProgrammingLanguage::Enum language() const
Definition: cppcodegenerator.cpp:56
virtual void checkRemoveUMLObject(UMLObject *obj)
Definition: cppcodegenerator.cpp:362
virtual CodeViewerDialog * getCodeViewerDialog(QWidget *parent, CodeDocument *doc, Settings::CodeViewerState &state)
Definition: cppcodegenerator.cpp:131
CPPHeaderCodeDocument * newHeaderClassifierCodeDocument(UMLClassifier *classifier)
Definition: cppcodegenerator.cpp:281
CPPCodeGenerator()
Definition: cppcodegenerator.cpp:31
Definition: codedocument.h:29
Definition: cppcodegenerator.h:22
QList< UMLClassifier * > UMLClassifierList
Definition: umlclassifierlist.h:12
virtual void createDefaultStereotypes()
Definition: cppcodegenerator.cpp:403
virtual void saveToXMI(QXmlStreamWriter &writer)
Definition: cppcodegenerator.cpp:178
bool m_createMakefile
Definition: cppcodegenerator.h:66
virtual ~CPPCodeGenerator()
Definition: cppcodegenerator.cpp:45
void initFromParentDocument()
Definition: cppcodegenerator.cpp:301
CPPMakefileCodeDocument * newMakefileCodeDocument()
Definition: cppcodegenerator.cpp:292
Definition: codeviewerdialog.h:22
virtual QStringList reservedKeywords() const
Definition: cppcodegenerator.cpp:395
Definition: advancedcodegenerator.h:17
virtual void writeCodeToFile()
Definition: cppcodegenerator.cpp:221
CPPHeaderCodeDocument * findHeaderCodeDocumentByClassifier(UMLClassifier *classifier)
Definition: cppcodegenerator.cpp:258
bool getCreateProjectMakefile()
Definition: cppcodegenerator.cpp:78
void setCreateProjectMakefile(bool buildIt)
Definition: cppcodegenerator.cpp:65
bool addHeaderCodeDocument(CPPHeaderCodeDocument *doc)
Definition: cppcodegenerator.cpp:88
virtual void syncCodeToDocument()
Definition: cppcodegenerator.cpp:203
QStringList defaultDatatypes() const
Definition: cppcodegenerator.cpp:386
virtual void checkAddUMLObject(UMLObject *obj)
Definition: cppcodegenerator.cpp:335
Definition: cppmakecodedocument.h:19