[Uml-devel] kdesdk/umbrello/umbrello

Oliver Kellogg okellogg at users.sourceforge.net
Sat Nov 13 13:00:05 UTC 2004


CVS commit by okellogg: 

Progress on bugs.kde.org/91494: Diagrams show up in the list view and are displayable.


  M +3 -0      umllistview.h   1.48
  M +13 -3     umlview.cpp   1.187


--- kdesdk/umbrello/umbrello/umllistview.h  #1.47:1.48
@@ -280,4 +280,7 @@ class UMLListView : public KListView {
         void closeDatatypesFolder();
 
+        UMLListViewItem *theRootView() { return rv; }
+        UMLListViewItem *theLogicalView() { return lv; }
+
         void saveToXMI( QDomDocument & qDoc, QDomElement & qElement );
 

--- kdesdk/umbrello/umbrello/umlview.cpp  #1.186:1.187
@@ -3469,5 +3469,5 @@ bool UMLView::uisLoadFromXMI(QDomElement
                 return false;
         m_nID = STR2ID(idStr);
-        m_pDoc->setMainViewID(m_nID);
+        UMLListViewItem *ulvi = NULL;
         QDomNode node = qElement.firstChild();
         QDomElement elem = node.toElement();
@@ -3477,12 +3477,22 @@ bool UMLView::uisLoadFromXMI(QDomElement
                 if (tag == "uisDiagramName") {
                         m_Name = elem.text();
+                        if (ulvi)
+                                ulvi->setText( m_Name );
                 } else if (tag == "uisDiagramStyle") {
                         QString diagramStyle = elem.text();
                         if (diagramStyle != "ClassDiagram") {
-                                kdError() << "UMLView::uisLoadFromXMI: diagram style "
+                                kdError() << "UMLView::uisLoadFromXMI: diagram style " << diagramStyle
                                           << " is not yet implemented" << endl;
-                                return false;
+                                node = node.nextSibling();
+                                while (node.isComment())
+                                        node = node.nextSibling();
+                                elem = node.toElement();
+                                continue;
                         }
+                        m_pDoc->setMainViewID(m_nID);
                         m_Type = Uml::dt_Class;
+                        UMLListView *lv = UMLApp::app()->getListView();
+                        ulvi = new UMLListViewItem( lv->theLogicalView(), m_Name,
+                                                    Uml::lvt_Class_Diagram, m_nID );
                 } else if (tag == "uisDiagramPresentation") {
                         node = elem.firstChild();






More information about the umbrello-devel mailing list