[Uml-devel] kdesdk/umbrello/umbrello

Oliver Kellogg okellogg at users.sourceforge.net
Fri Oct 29 13:54:33 UTC 2004


CVS commit by okellogg: 

Progress on bugs.kde.org/56184: Create <UML:Classifier.feature> tag.


  M +7 -5      class.cpp   1.46
  M +5 -2      interface.cpp   1.24


--- kdesdk/umbrello/umbrello/class.cpp  #1.45:1.46
@@ -187,9 +187,10 @@ UMLObject* UMLClass::clone() const
 void UMLClass::saveToXMI( QDomDocument & qDoc, QDomElement & qElement ) {
         QDomElement classElement = UMLObject::save("UML:Class", qDoc);
+        QDomElement featureElement = qDoc.createElement( "UML:Classifier.feature" );
         //save operations
         UMLOperationList opList = getOpList();
         UMLOperation * pOp = 0;
         for( pOp = opList.first(); pOp != 0; pOp = opList.next() )
-                pOp -> saveToXMI( qDoc, classElement );
+                pOp -> saveToXMI( qDoc, featureElement );
         UMLClassifierListItemList list;
         //save attributes
@@ -197,15 +198,16 @@ void UMLClass::saveToXMI( QDomDocument &
         UMLClassifierListItem * pAtt = 0;
         for( pAtt = list.first(); pAtt != 0; pAtt = list.next() )
-                pAtt -> saveToXMI( qDoc, classElement );
+                pAtt -> saveToXMI( qDoc, featureElement );
         //save templates
         list = getFilteredList(Uml::ot_Template);
         UMLClassifierListItem* newTemplate = 0;
         for (newTemplate = list.first(); newTemplate != 0; newTemplate = list.next() ) {
-                newTemplate->saveToXMI(qDoc, classElement);
+                newTemplate->saveToXMI(qDoc, featureElement);
         }
         //save contained objects
         for (UMLObject *obj = m_objects.first(); obj; obj = m_objects.next())
-                obj->saveToXMI (qDoc, classElement);
-
+                obj->saveToXMI (qDoc, featureElement);
+        if (featureElement.hasChildNodes())
+                classElement.appendChild( featureElement );
         qElement.appendChild( classElement );
 }

--- kdesdk/umbrello/umbrello/interface.cpp  #1.23:1.24
@@ -47,13 +47,16 @@ void UMLInterface::init() {
 void UMLInterface::saveToXMI( QDomDocument & qDoc, QDomElement & qElement ) {
         QDomElement interfaceElement = UMLObject::save("UML:Interface", qDoc);
+        QDomElement featureElement = qDoc.createElement( "UML:Classifier.feature" );
         //save operations
         UMLOperationList opsList = getOpList();
         UMLOperation* pOp = 0;
         for ( pOp = opsList.first(); pOp != 0; pOp = opsList.next() ) {
-                pOp->saveToXMI(qDoc, interfaceElement);
+                pOp->saveToXMI(qDoc, featureElement);
         }
         //save contained objects
         for (UMLObject *obj = m_objects.first(); obj; obj = m_objects.next())
-                obj->saveToXMI (qDoc, interfaceElement);
+                obj->saveToXMI (qDoc, featureElement);
+        if (featureElement.hasChildNodes())
+                interfaceElement.appendChild( featureElement );
         qElement.appendChild( interfaceElement );
 }






More information about the umbrello-devel mailing list