[Uml-devel] KDE/kdesdk/umbrello

Oliver Kellogg okellogg at users.sourceforge.net
Mon Jun 27 12:35:11 UTC 2005


SVN commit 429465 by okellogg:

Patch by Rüdiger Ranft (kdebugs_AT_rranft1.mail.htwm.de) fixes various
C++ code generation problems.
BUG:108223


 M  +2 -2      ChangeLog  
 M  +8 -3      umbrello/codegenerator.cpp  
 M  +1 -1      umbrello/codegenerators/cppheaderclassdeclarationblock.cpp  
 M  +1 -1      umbrello/codegenerators/cppsourcecodeclassfielddeclarationblock.cpp  
 M  +1 -1      umbrello/codegenerators/cppwriter.cpp  
 M  +1 -1      umbrello/umlobject.cpp  
 M  +1 -1      umbrello/umlobject.h  


--- trunk/KDE/kdesdk/umbrello/ChangeLog #429464:429465
@@ -5,12 +5,12 @@
 * Change interface into class and vice versa (if abstract and no attributes)
 
 * Bugs fixed / wishes implemented (see http://bugs.kde.org)
-57588 67719 79433 87252 88117 105564 107551
+57588 67719 79433 87252 88117 105564 108223
 
 Version 1.4.2 (maintenance release)
 
 * Bugs fixed from http://bugs.kde.org :
-72016 103170 106356 106632 106673
+72016 103170 106356 106632 106673 107551
 
 Version 1.4.1 (maintenance release)
 
--- trunk/KDE/kdesdk/umbrello/umbrello/codegenerator.cpp #429464:429465
@@ -599,10 +599,15 @@
 				// These typically DONT have a rolename specified. Oh well, we
 				// shall include it. The individual code generators will need to know
 				// what to do with a "role-less" uni-associated classifier. -b.t.
-				if(a->getWidgetID(Uml::A)!=c->getID())
-					temp = (UMLClassifier*)m_document->findObjectById(a->getWidgetID(Uml::A));
-				else if(a->getWidgetID(Uml::B)!=c->getID())
+				/* if(a->getWidgetID(Uml::A)!=c->getID()){
+//					temp = (UMLClassifier*)m_document->findObjectById(a->getWidgetID(Uml::A));
+					// Remove the link from child->base, since it breaks
+					// C++ code generation.
+				}
+				else */
+				if(a->getWidgetID(Uml::B)!=c->getID()){
 					temp = (UMLClassifier*)m_document->findObjectById(a->getWidgetID(Uml::B));
+				}
 				break;
 			case Uml::at_Aggregation:
 			case Uml::at_Composition:
--- trunk/KDE/kdesdk/umbrello/umbrello/codegenerators/cppheaderclassdeclarationblock.cpp #429464:429465
@@ -127,7 +127,7 @@
 		startText.append(" : ");
 	for (UMLClassifier * concept= superclasses.first(); concept; concept = superclasses.next())
 	{
-		startText.append(Umbrello::scopeToString(concept->getScope())+" "+parentDoc->getCPPClassName(concept->getName()));
+		startText.append(Umbrello::scopeToString(concept->getScope(), false)+" "+parentDoc->getCPPClassName(concept->getName()));
 		if(i != (nrof_superclasses-1))
 		      startText.append(", ");
 		i++;
--- trunk/KDE/kdesdk/umbrello/umbrello/codegenerators/cppsourcecodeclassfielddeclarationblock.cpp #429464:429465
@@ -53,7 +53,7 @@
 
         // Set the body
         QString staticValue = getParentObject()->getStatic() ? "static " : "";
-        QString scopeStr = Umbrello::scopeToString(getParentObject()->getScope());
+        QString scopeStr = Umbrello::scopeToString(getParentObject()->getScope(), false);
 
         QString typeName = jcf->getTypeName();
         QString fieldName = jcf->getFieldName();
--- trunk/KDE/kdesdk/umbrello/umbrello/codegenerators/cppwriter.cpp #429464:429465
@@ -539,7 +539,7 @@
         //write documentation
         if(forceDoc() || list->count() > 0)
         {
-                QString strVis = capitalizeFirstLetter(Umbrello::scopeToString(visibility));
+                QString strVis = capitalizeFirstLetter(Umbrello::scopeToString(visibility, false));
                 QString strStatic = writeStatic ? "Static ":"";
                 writeComment(strStatic+strVis+" attributes",getIndent(), stream);
                 writeComment(" ",getIndent(), stream);
--- trunk/KDE/kdesdk/umbrello/umbrello/umlobject.cpp #429464:429465
@@ -110,7 +110,7 @@
 	return m_Name;
 }
 
-QString UMLObject::getFullyQualifiedName(const QString &separator /* = "." */) const {
+QString UMLObject::getFullyQualifiedName(const QString &separator /* = "::" */) const {
 	QString fqn;
 	if (m_pUMLPackage) {
 		fqn = m_pUMLPackage->getFullyQualifiedName(separator);
--- trunk/KDE/kdesdk/umbrello/umbrello/umlobject.h #429464:429465
@@ -226,7 +226,7 @@
 	 * @param separator	The separator string to use.
 	 * @return	The fully qualified name of this UMLObject.
 	 */
-	virtual QString getFullyQualifiedName(const QString &separator = ".") const;
+	virtual QString getFullyQualifiedName(const QString &separator = "::" ) const;
 
 	/**
 	 * Returns the abstract state of the object.




More information about the umbrello-devel mailing list