|
| void | writeIncludes (UMLClassifier *c, QTextStream &cpp) |
| void | writeClassDecl (UMLClassifier *c, QTextStream &cpp) |
| void | writeConstructorDecls (QTextStream &h) |
| void | writeConstructorMethods (UMLClassifier *c, QTextStream &cpp) |
| void | writeOperations (UMLClassifier *c, bool isHeaderMethod, Uml::Visibility::Enum permitScope, QTextStream &cpp) |
| void | writeOperations (UMLClassifier *c, UMLOperationList &oplist, bool isHeaderMethod, QTextStream &cpp) |
| void | writeAttributeDecls (UMLClassifier *c, Uml::Visibility::Enum visibility, bool writeStatic, QTextStream &stream) |
| void | writeHeaderFieldDecl (UMLClassifier *c, Uml::Visibility::Enum permitVisibility, QTextStream &stream) |
| void | writeHeaderAttributeAccessorMethods (UMLClassifier *c, Uml::Visibility::Enum visibility, bool writeStatic, QTextStream &stream) |
| void | writeHeaderAttributeAccessorMethodDecls (UMLClassifier *c, Uml::Visibility::Enum permitVisibility, QTextStream &stream) |
| void | writeHeaderAccessorMethodDecl (UMLClassifier *c, Uml::Visibility::Enum permitScope, QTextStream &stream) |
| void | writeAssociationDecls (UMLAssociationList associations, Uml::Visibility::Enum permit, Uml::ID::Type id, QTextStream &stream) |
| void | writeAssociationRoleDecl (QString fieldClassName, QString roleName, QString multi, QString doc, QTextStream &stream) |
| void | writeAttributeMethods (UMLAttributeList attribs, Uml::Visibility::Enum visib, bool isHeaderMethod, bool isStatic, bool writeMethodBody, QTextStream &stream) |
| void | writeAssociationMethods (UMLAssociationList associations, Uml::Visibility::Enum permitVisib, bool isHeaderMethod, bool writeMethodBody, bool writePointerVar, Uml::ID::Type id, QTextStream &stream) |
| void | writeAssociationRoleMethod (const QString &fieldClassName, bool isHeaderMethod, bool writeMethodBody, const QString &roleName, const QString &multi, const QString &description, Uml::Changeability::Enum change, QTextStream &stream) |
| void | writeSingleAttributeAccessorMethods (const QString &fieldClassName, const QString &Name, const QString &fieldName, const QString &description, Uml::Changeability::Enum change, bool isHeaderMethod, bool isStatic, bool writeMethodBody, QTextStream &cpp) |
| void | writeVectorAttributeAccessorMethods (const QString &fieldClassName, const QString &fieldVarName, const QString &fieldName, const QString &description, Uml::Changeability::Enum change, bool isHeaderMethod, bool writeMethodBody, QTextStream &stream) |
| void | writeComment (const QString &text, const QString &indent, QTextStream &cpp) |
| void | writeDocumentation (QString header, QString body, QString end, QTextStream &cpp) |
| void | writeHeaderFile (UMLClassifier *c, QFile &file) |
| void | writeSourceFile (UMLClassifier *c, QFile &file) |
| void | printTextAsSeparateLinesWithIndent (const QString &text, const QString &indent, QTextStream &stream) |
| void | printAssociationIncludeDecl (UMLAssociationList list, Uml::ID::Type this_id, QTextStream &stream) |
| void | writeInitAttributeMethod (UMLClassifier *c, QTextStream &stream) |
| void | writeInitAttributeDecl (UMLClassifier *c, QTextStream &stream) |
| void | writeDataTypes (UMLClassifier *c, Uml::Visibility::Enum permitScope, QTextStream &stream) |
| QString | umlObjectName (UMLObject *obj) |
| QString | fixTypeName (const QString &string) |
| QString | fixInitialStringDeclValue (const QString &value, const QString &type) |
| QString | getAttributeVariableName (UMLAttribute *at) |
| QString | getAttributeMethodBaseName (const QString &fieldName) |
| void | writeBlankLine (QTextStream &stream) |
| CPPCodeGenerationPolicy * | policyExt () |
|
| enum | GenerationState { Generated
, Failed
, Skipped
} |
| virtual void | syncCodeToDocument () |
| virtual void | syncCodeToDocument () |
| void | codeGenerated (UMLClassifier *classifier, bool generated) |
| void | codeGenerated (UMLClassifier *classifier, CodeGenerator::GenerationState result) |
| void | showGeneratedFile (const QString &filename) |
| static QString | cleanName (const QString &name) |
| static QString | formatDoc (const QString &text, const QString &linePrefix=QStringLiteral(" *"), int lineWidth=80) |
| static QString | formatFullDocBlock (const QString &text, const QString &blockHeader=QStringLiteral("/* "), const QString &blockFooter=QStringLiteral(" */"), const QString &linePrefix=QStringLiteral(" *"), int lineWidth=80) |
| static QString | formatSourceCode (const QString &code, const QString &indentation) |
| static void | findObjectsRelated (UMLClassifier *c, UMLPackageList &cList) |
| QString | findFileName (UMLPackage *classifier, const QString &ext) |
| QString | overwritableName (UMLPackage *classifier, const QString &name, const QString &ext) |
| bool | hasDefaultValueAttr (UMLClassifier *c) |
| bool | hasAbstractOps (UMLClassifier *c) |
| QString | indent () |
| virtual void | initFromParentDocument () |
| QString | overwritableName (const QString &name, const QString &extension) |
| bool | openFile (QFile &file, const QString &name) |
| void | writeListedCodeDocsToFile (CodeDocumentList *docs) |
| virtual void | finalizeRun () |
| QString | className_ |
| QString | fileName_ |
| QMap< UMLPackage *, QString > | m_fileMap |
| bool | m_createDirHierarchyForPackages |
| QString | m_indentation |
| int | m_indentLevel |
| QString | m_endl |
| QHash< QString, CodeDocument * > | m_codeDocumentDictionary |
| bool | m_applyToAllRemaining |
| UMLDoc * | m_document |
Class CppWriter is a code generator for UMLClassifier objects. Create an instance of this class, and feed it a UMLClassifier when calling writeClass and it will generate both a header (.h) and source (.cpp) file for that classifier. Note: This is the "old" code generator that does not support code editing in the Modeller but uses significantly less file space because the source code is not replicated in the XMI file.
Write all field declarations, for both attributes and associations for the given permitted scope.
Write all method declarations, for attributes and associations for the given permitted scope.
Replaces `string' with STRING_TYPENAME. */ QString CppWriter::fixTypeName(const QString &string) { if (string.isEmpty()) return QStringLiteral("void"); if (string == QStringLiteral("string")) { m_stringIncludeRequired = true; return policyExt()->getStringClassName(); } return string; }
/** Write all ooperations for a given class.
- Parameters
-
| c | the class for which we are generating code |
| isHeaderMethod | true when writing to a header file, false for body file |
| permitScope | what type of method to write (by Scope) |
| cpp | the stream associated with the output file |