[Uml-devel] kdesdk/umbrello/umbrello

Oliver Kellogg okellogg at users.sourceforge.net
Fri Oct 29 13:53:35 UTC 2004


CVS commit by okellogg: 

Progress on bugs.kde.org/56184: Create <UML:Namespace.ownedElement> tag.


  M +16 -7     umldoc.cpp   1.193


--- kdesdk/umbrello/umbrello/umldoc.cpp  #1.192:1.193
@@ -1683,12 +1683,17 @@ void UMLDoc::saveToXMI(QIODevice& file) 
         // Save stereotypes and toplevel datatypes first so that upon loading
         // they are known first.
+        if (m_stereoList.count()) {
+                QDomElement stElem = doc.createElement("UML:ModelElement.stereotype");
         for (UMLStereotype *s = m_stereoList.first(); s; s = m_stereoList.next() ) {
-                s->saveToXMI(doc, objectsElement);
+                        s->saveToXMI(doc, stElem);
+                }
+                objectsElement.appendChild( stElem );
         }
+        QDomElement ownedNS = doc.createElement( "UML:Namespace.ownedElement" );
         for (UMLObjectListIt oit(m_objectList); oit.current(); ++oit) {
                 UMLObject *o = oit.current();
                 Object_Type ot = o->getBaseType();
                 if (ot == ot_Datatype)
-                        o->saveToXMI(doc, objectsElement);
+                        o->saveToXMI(doc, ownedNS);
         }
 
@@ -1701,5 +1706,5 @@ void UMLDoc::saveToXMI(QIODevice& file) 
                 if (t != ot_Package)
                         continue;
-                p->saveToXMI(doc, objectsElement);
+                p->saveToXMI(doc, ownedNS);
         }
 #endif
@@ -1736,5 +1741,5 @@ void UMLDoc::saveToXMI(QIODevice& file) 
                         continue;
                 }
-                o->saveToXMI(doc, objectsElement);
+                o->saveToXMI(doc, ownedNS);
         }
 
@@ -1745,5 +1750,8 @@ void UMLDoc::saveToXMI(QIODevice& file) 
         UMLAssociationList alist = getAssociations();
         for (UMLAssociation * a = alist.first(); a; a = alist.next())
-                a->saveToXMI(doc, objectsElement);
+                a->saveToXMI(doc, ownedNS);
+
+        objectsElement.appendChild( ownedNS );
+
         content.appendChild( objectsElement );
 
@@ -2040,5 +2048,6 @@ bool UMLDoc::loadUMLObjectsFromXMI(QDomE
                 QString type = tempElement.tagName();
                 if (tagEq(type, "Namespace.ownedElement") ||
-                    tagEq(type, "Namespace.contents")) {
+                    tagEq(type, "Namespace.contents") ||
+                    tagEq(type, "ModelElement.stereotype")) {
                         //CHECK: Umbrello currently assumes that nested elements
                         // are ownedElements anyway.






More information about the umbrello-devel mailing list