umbrello: umbrello/codegenerators/ruby/rubyclassifiercodedocument.h Source File

umbrello 2.32.1 Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology

rubyclassifiercodedocument.h
Go to the documentation of this file.
1 /*
2 SPDX-License-Identifier: GPL-2.0-or-later
3
4 SPDX-FileCopyrightText: 2005 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
5 SPDX-FileCopyrightText: 2006-2020 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
6 */
7
8 #ifndef RUBYCLASSIFIERCODEDOCUMENT_H
9 #define RUBYCLASSIFIERCODEDOCUMENT_H
10
11 #include "codeclassfieldlist.h"
12 #include "classifiercodedocument.h"
13 #include "classifier.h"
14 #include "hierarchicalcodeblock.h"
15 #include "rubycodeclassfield.h"
16 #include "rubycodeoperation.h"
17
18 #include <QString>
19
20 class RubyClassDeclarationBlock;
21 class RubyCodeGenerationPolicy;
22
31 class RubyClassifierCodeDocument : public ClassifierCodeDocument
32 {
33 Q_OBJECT
34 public:
35
36 explicit RubyClassifierCodeDocument(UMLClassifier * classifier);
37 virtual ~RubyClassifierCodeDocument();
38
39 //CodeDocumentDialog getDialog();
40
41 RubyCodeGenerationPolicy * getRubyPolicy();
42
43 QString getRubyClassName(const QString &name);
44
45 QString getPath();
46
47 bool addCodeOperation(CodeOperation * op);
48
49 void updateContent();
50
51 protected:
52
53 void resetTextBlocks();
54
55 virtual void loadChildTextBlocksFromNode(QDomElement & root);
56
57 void addOrUpdateCodeClassFieldMethodsInCodeBlock(CodeClassFieldList &list, RubyClassDeclarationBlock * codeBlock);
58
59 bool forceDoc();
60
61 private:
62
63 RubyClassDeclarationBlock * classDeclCodeBlock;
64 HierarchicalCodeBlock * constructorBlock;
65 HierarchicalCodeBlock * operationsBlock;
66
67 HierarchicalCodeBlock * publicBlock;
68 HierarchicalCodeBlock * privateBlock;
69 HierarchicalCodeBlock * protectedBlock;
70
71 // HierarchicalCodeBlock * namespaceBlock;
72
73 HierarchicalCodeBlock * pubConstructorBlock;
74 HierarchicalCodeBlock * protConstructorBlock;
75 HierarchicalCodeBlock * privConstructorBlock;
76
77 HierarchicalCodeBlock * pubOperationsBlock;
78 HierarchicalCodeBlock * privOperationsBlock;
79 HierarchicalCodeBlock * protOperationsBlock;
80
81 void init();
82 RubyClassDeclarationBlock * getClassDecl();
83
84 };
85
86 #endif // RUBYCLASSIFIERCODEDOCUMENT_H
ClassifierCodeDocument
Definition: classifiercodedocument.h:29
CodeOperation
Definition: codeoperation.h:20
HierarchicalCodeBlock
Definition: hierarchicalcodeblock.h:21
RubyClassDeclarationBlock
Definition: rubyclassdeclarationblock.h:17
RubyClassifierCodeDocument
Definition: rubyclassifiercodedocument.h:32
RubyClassifierCodeDocument::protectedBlock
HierarchicalCodeBlock * protectedBlock
Definition: rubyclassifiercodedocument.h:69
RubyClassifierCodeDocument::addOrUpdateCodeClassFieldMethodsInCodeBlock
void addOrUpdateCodeClassFieldMethodsInCodeBlock(CodeClassFieldList &list, RubyClassDeclarationBlock *codeBlock)
RubyClassifierCodeDocument::addCodeOperation
bool addCodeOperation(CodeOperation *op)
Definition: rubyclassifiercodedocument.cpp:119
RubyClassifierCodeDocument::classDeclCodeBlock
RubyClassDeclarationBlock * classDeclCodeBlock
Definition: rubyclassifiercodedocument.h:63
RubyClassifierCodeDocument::loadChildTextBlocksFromNode
virtual void loadChildTextBlocksFromNode(QDomElement &root)
Definition: rubyclassifiercodedocument.cpp:161
RubyClassifierCodeDocument::getPath
QString getPath()
Definition: rubyclassifiercodedocument.cpp:64
RubyClassifierCodeDocument::protOperationsBlock
HierarchicalCodeBlock * protOperationsBlock
Definition: rubyclassifiercodedocument.h:79
RubyClassifierCodeDocument::publicBlock
HierarchicalCodeBlock * publicBlock
Definition: rubyclassifiercodedocument.h:67
RubyClassifierCodeDocument::privOperationsBlock
HierarchicalCodeBlock * privOperationsBlock
Definition: rubyclassifiercodedocument.h:78
RubyClassifierCodeDocument::getRubyPolicy
RubyCodeGenerationPolicy * getRubyPolicy()
Definition: rubyclassifiercodedocument.cpp:44
RubyClassifierCodeDocument::getRubyClassName
QString getRubyClassName(const QString &name)
Definition: rubyclassifiercodedocument.cpp:82
RubyClassifierCodeDocument::privConstructorBlock
HierarchicalCodeBlock * privConstructorBlock
Definition: rubyclassifiercodedocument.h:75
RubyClassifierCodeDocument::operationsBlock
HierarchicalCodeBlock * operationsBlock
Definition: rubyclassifiercodedocument.h:65
RubyClassifierCodeDocument::constructorBlock
HierarchicalCodeBlock * constructorBlock
Definition: rubyclassifiercodedocument.h:64
RubyClassifierCodeDocument::pubConstructorBlock
HierarchicalCodeBlock * pubConstructorBlock
Definition: rubyclassifiercodedocument.h:73
RubyClassifierCodeDocument::RubyClassifierCodeDocument
RubyClassifierCodeDocument(UMLClassifier *classifier)
Definition: rubyclassifiercodedocument.cpp:28
RubyClassifierCodeDocument::privateBlock
HierarchicalCodeBlock * privateBlock
Definition: rubyclassifiercodedocument.h:68
RubyClassifierCodeDocument::init
void init()
Definition: rubyclassifiercodedocument.cpp:89
RubyClassifierCodeDocument::resetTextBlocks
void resetTextBlocks()
Definition: rubyclassifiercodedocument.cpp:290
RubyClassifierCodeDocument::~RubyClassifierCodeDocument
virtual ~RubyClassifierCodeDocument()
Definition: rubyclassifiercodedocument.cpp:37
RubyClassifierCodeDocument::forceDoc
bool forceDoc()
RubyClassifierCodeDocument::getClassDecl
RubyClassDeclarationBlock * getClassDecl()
Definition: rubyclassifiercodedocument.cpp:276
RubyClassifierCodeDocument::protConstructorBlock
HierarchicalCodeBlock * protConstructorBlock
Definition: rubyclassifiercodedocument.h:74
RubyClassifierCodeDocument::updateContent
void updateContent()
Definition: rubyclassifiercodedocument.cpp:308
RubyClassifierCodeDocument::pubOperationsBlock
HierarchicalCodeBlock * pubOperationsBlock
Definition: rubyclassifiercodedocument.h:77
RubyCodeGenerationPolicy
Definition: rubycodegenerationpolicy.h:19
UMLClassifier
Information for a non-graphical Concept/Class.
Definition: classifier.h:35
classifier.h
classifiercodedocument.h
codeclassfieldlist.h
CodeClassFieldList
QList< CodeClassField * > CodeClassFieldList
Definition: codeclassfieldlist.h:12
hierarchicalcodeblock.h
rubycodeclassfield.h
rubycodeoperation.h