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 * 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) 2005 *
8 * Richard Dale <Richard_Dale@tipitina.demon.co.uk> *
9 * copyright (C) 2006-2020 *
10 * Umbrello UML Modeller Authors <umbrello-devel@kde.org> *
11 ***************************************************************************/
12
13 #ifndef RUBYCLASSIFIERCODEDOCUMENT_H
14 #define RUBYCLASSIFIERCODEDOCUMENT_H
15
16 #include "codeclassfieldlist.h"
17 #include "classifiercodedocument.h"
18 #include "classifier.h"
19 #include "hierarchicalcodeblock.h"
20 #include "rubycodeclassfield.h"
21 #include "rubycodeoperation.h"
22
23 #include <QString>
24
25 class RubyClassDeclarationBlock;
26 class RubyCodeGenerationPolicy;
27
36 class RubyClassifierCodeDocument : public ClassifierCodeDocument
37 {
38 Q_OBJECT
39 public:
40
41 explicit RubyClassifierCodeDocument(UMLClassifier * classifier);
42 virtual ~RubyClassifierCodeDocument();
43
44 //CodeDocumentDialog getDialog();
45
46 RubyCodeGenerationPolicy * getRubyPolicy();
47
48 QString getRubyClassName(const QString &name);
49
50 QString getPath();
51
52 bool addCodeOperation(CodeOperation * op);
53
54 void updateContent();
55
56 protected:
57
58 void resetTextBlocks();
59
60 virtual void loadChildTextBlocksFromNode(QDomElement & root);
61
62 void addOrUpdateCodeClassFieldMethodsInCodeBlock(CodeClassFieldList &list, RubyClassDeclarationBlock * codeBlock);
63
64 bool forceDoc();
65
66 private:
67
68 RubyClassDeclarationBlock * classDeclCodeBlock;
69 HierarchicalCodeBlock * constructorBlock;
70 HierarchicalCodeBlock * operationsBlock;
71
72 HierarchicalCodeBlock * publicBlock;
73 HierarchicalCodeBlock * privateBlock;
74 HierarchicalCodeBlock * protectedBlock;
75
76 // HierarchicalCodeBlock * namespaceBlock;
77
78 HierarchicalCodeBlock * pubConstructorBlock;
79 HierarchicalCodeBlock * protConstructorBlock;
80 HierarchicalCodeBlock * privConstructorBlock;
81
82 HierarchicalCodeBlock * pubOperationsBlock;
83 HierarchicalCodeBlock * privOperationsBlock;
84 HierarchicalCodeBlock * protOperationsBlock;
85
86 void init();
87 RubyClassDeclarationBlock * getClassDecl();
88
89 };
90
91 #endif // RUBYCLASSIFIERCODEDOCUMENT_H
ClassifierCodeDocument
Definition: classifiercodedocument.h:33
CodeOperation
Definition: codeoperation.h:24
HierarchicalCodeBlock
Definition: hierarchicalcodeblock.h:25
RubyClassDeclarationBlock
Definition: rubyclassdeclarationblock.h:22
RubyClassifierCodeDocument
Definition: rubyclassifiercodedocument.h:37
RubyClassifierCodeDocument::protectedBlock
HierarchicalCodeBlock * protectedBlock
Definition: rubyclassifiercodedocument.h:74
RubyClassifierCodeDocument::addOrUpdateCodeClassFieldMethodsInCodeBlock
void addOrUpdateCodeClassFieldMethodsInCodeBlock(CodeClassFieldList &list, RubyClassDeclarationBlock *codeBlock)
RubyClassifierCodeDocument::addCodeOperation
bool addCodeOperation(CodeOperation *op)
Definition: rubyclassifiercodedocument.cpp:124
RubyClassifierCodeDocument::classDeclCodeBlock
RubyClassDeclarationBlock * classDeclCodeBlock
Definition: rubyclassifiercodedocument.h:68
RubyClassifierCodeDocument::loadChildTextBlocksFromNode
virtual void loadChildTextBlocksFromNode(QDomElement &root)
Definition: rubyclassifiercodedocument.cpp:166
RubyClassifierCodeDocument::getPath
QString getPath()
Definition: rubyclassifiercodedocument.cpp:69
RubyClassifierCodeDocument::protOperationsBlock
HierarchicalCodeBlock * protOperationsBlock
Definition: rubyclassifiercodedocument.h:84
RubyClassifierCodeDocument::publicBlock
HierarchicalCodeBlock * publicBlock
Definition: rubyclassifiercodedocument.h:72
RubyClassifierCodeDocument::privOperationsBlock
HierarchicalCodeBlock * privOperationsBlock
Definition: rubyclassifiercodedocument.h:83
RubyClassifierCodeDocument::getRubyPolicy
RubyCodeGenerationPolicy * getRubyPolicy()
Definition: rubyclassifiercodedocument.cpp:49
RubyClassifierCodeDocument::getRubyClassName
QString getRubyClassName(const QString &name)
Definition: rubyclassifiercodedocument.cpp:87
RubyClassifierCodeDocument::privConstructorBlock
HierarchicalCodeBlock * privConstructorBlock
Definition: rubyclassifiercodedocument.h:80
RubyClassifierCodeDocument::operationsBlock
HierarchicalCodeBlock * operationsBlock
Definition: rubyclassifiercodedocument.h:70
RubyClassifierCodeDocument::constructorBlock
HierarchicalCodeBlock * constructorBlock
Definition: rubyclassifiercodedocument.h:69
RubyClassifierCodeDocument::pubConstructorBlock
HierarchicalCodeBlock * pubConstructorBlock
Definition: rubyclassifiercodedocument.h:78
RubyClassifierCodeDocument::RubyClassifierCodeDocument
RubyClassifierCodeDocument(UMLClassifier *classifier)
Definition: rubyclassifiercodedocument.cpp:33
RubyClassifierCodeDocument::privateBlock
HierarchicalCodeBlock * privateBlock
Definition: rubyclassifiercodedocument.h:73
RubyClassifierCodeDocument::init
void init()
Definition: rubyclassifiercodedocument.cpp:94
RubyClassifierCodeDocument::resetTextBlocks
void resetTextBlocks()
Definition: rubyclassifiercodedocument.cpp:295
RubyClassifierCodeDocument::~RubyClassifierCodeDocument
virtual ~RubyClassifierCodeDocument()
Definition: rubyclassifiercodedocument.cpp:42
RubyClassifierCodeDocument::forceDoc
bool forceDoc()
RubyClassifierCodeDocument::getClassDecl
RubyClassDeclarationBlock * getClassDecl()
Definition: rubyclassifiercodedocument.cpp:281
RubyClassifierCodeDocument::protConstructorBlock
HierarchicalCodeBlock * protConstructorBlock
Definition: rubyclassifiercodedocument.h:79
RubyClassifierCodeDocument::updateContent
void updateContent()
Definition: rubyclassifiercodedocument.cpp:313
RubyClassifierCodeDocument::pubOperationsBlock
HierarchicalCodeBlock * pubOperationsBlock
Definition: rubyclassifiercodedocument.h:82
RubyCodeGenerationPolicy
Definition: rubycodegenerationpolicy.h:24
UMLClassifier
Information for a non-graphical Concept/Class.
Definition: classifier.h:40
classifier.h
classifiercodedocument.h
codeclassfieldlist.h
CodeClassFieldList
QList< CodeClassField * > CodeClassFieldList
Definition: codeclassfieldlist.h:17
hierarchicalcodeblock.h
rubycodeclassfield.h
rubycodeoperation.h