umbrello  2.31.90
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  * This program is free software; you can redistribute it and/or modify *
3  * it under the terms of the GNU General Public License as published by *
4  * the Free Software Foundation; either version 2 of the License, or *
5  * (at your option) any later version. *
6  * *
7  * copyright (C) 2003 Brian Thomas <thomas@mail630.gsfc.nasa.gov> *
8  * copyright (C) 2004-2020 *
9  * Umbrello UML Modeller Authors <umbrello-devel@kde.org> *
10  ***************************************************************************/
11 
12 #ifndef CPPCODEGENERATOR_H
13 #define CPPCODEGENERATOR_H
14 
15 #include "codedocumentlist.h"
16 #include "codeviewerstate.h"
17 #include "advancedcodegenerator.h"
18 #include "cppmakecodedocument.h"
19 #include "umldoc.h"
20 
21 #include <QString>
22 
23 class CodeViewerDialog;
25 
27 {
28  Q_OBJECT
29 public:
30 
31  static const bool DEFAULT_BUILD_MAKEFILE;
32 
34  virtual ~CPPCodeGenerator();
35 
36  void setCreateProjectMakefile(bool buildIt);
38 
39  QString fixTypeName(const QString &name);
40 
42  bool removeHeaderCodeDocument (CPPHeaderCodeDocument * remove_object);
43 
45 
48 
49  virtual CodeViewerDialog * getCodeViewerDialog(QWidget* parent, CodeDocument * doc,
51 
52  virtual void writeCodeToFile();
53  virtual void writeCodeToFile(UMLClassifierList &list);
54 
55  QStringList defaultDatatypes();
56 
57  virtual void saveToXMI1(QXmlStreamWriter& writer);
58 
59  virtual QStringList reservedKeywords() const;
60 
61  virtual void createDefaultStereotypes ();
62 
64 
65 protected:
66 
68 
70 
71 private:
72 
74  CodeDocumentList m_headercodedocumentVector; //< a separate list for recording the header documents
75 
76 public slots:
77 
78  virtual void checkAddUMLObject (UMLObject * obj);
79  virtual void checkRemoveUMLObject (UMLObject * obj);
80 
81  virtual void syncCodeToDocument ();
82 };
83 
84 #endif // CPPCODEGENERATOR_H
Definition: advancedcodegenerator.h:22
Definition: cppcodegenerator.h:27
virtual QStringList reservedKeywords() const
Definition: cppcodegenerator.cpp:401
CPPHeaderCodeDocument * newHeaderClassifierCodeDocument(UMLClassifier *classifier)
Definition: cppcodegenerator.cpp:287
CPPCodeGenerator()
Definition: cppcodegenerator.cpp:36
Uml::ProgrammingLanguage::Enum language() const
Definition: cppcodegenerator.cpp:61
CodeDocument * newClassifierCodeDocument(UMLClassifier *classifier)
Definition: cppcodegenerator.cpp:275
QStringList defaultDatatypes()
Definition: cppcodegenerator.cpp:392
bool removeHeaderCodeDocument(CPPHeaderCodeDocument *remove_object)
Definition: cppcodegenerator.cpp:115
CodeDocumentList m_headercodedocumentVector
Definition: cppcodegenerator.h:74
void setCreateProjectMakefile(bool buildIt)
Definition: cppcodegenerator.cpp:70
CPPHeaderCodeDocument * findHeaderCodeDocumentByClassifier(UMLClassifier *classifier)
Definition: cppcodegenerator.cpp:264
virtual void checkRemoveUMLObject(UMLObject *obj)
Definition: cppcodegenerator.cpp:368
static const bool DEFAULT_BUILD_MAKEFILE
Definition: cppcodegenerator.h:31
virtual CodeViewerDialog * getCodeViewerDialog(QWidget *parent, CodeDocument *doc, Settings::CodeViewerState &state)
Definition: cppcodegenerator.cpp:136
virtual void writeCodeToFile()
Definition: cppcodegenerator.cpp:227
bool getCreateProjectMakefile()
Definition: cppcodegenerator.cpp:83
void initFromParentDocument()
Definition: cppcodegenerator.cpp:307
QString fixTypeName(const QString &name)
Definition: cppcodegenerator.cpp:173
virtual ~CPPCodeGenerator()
Definition: cppcodegenerator.cpp:50
virtual void checkAddUMLObject(UMLObject *obj)
Definition: cppcodegenerator.cpp:341
virtual void syncCodeToDocument()
Definition: cppcodegenerator.cpp:209
virtual void saveToXMI1(QXmlStreamWriter &writer)
Definition: cppcodegenerator.cpp:184
bool m_createMakefile
Definition: cppcodegenerator.h:73
bool addHeaderCodeDocument(CPPHeaderCodeDocument *doc)
Definition: cppcodegenerator.cpp:93
CPPMakefileCodeDocument * newMakefileCodeDocument()
Definition: cppcodegenerator.cpp:298
virtual void createDefaultStereotypes()
Definition: cppcodegenerator.cpp:409
Definition: cppheadercodedocument.h:36
Definition: cppmakecodedocument.h:24
Definition: codedocument.h:34
Definition: codeviewerdialog.h:28
configurable params for the code viewer tool
Definition: codeviewerstate.h:20
Information for a non-graphical Concept/Class.
Definition: classifier.h:40
The base class for UML objects.
Definition: umlobject.h:75
QList< CodeDocument * > CodeDocumentList
Definition: codedocumentlist.h:17
Enum
Definition: basictypes.h:305
QList< UMLClassifier * > UMLClassifierList
Definition: umlclassifierlist.h:17