[Uml-devel] KDE/kdesdk/umbrello/umbrello

Ralf Habacker ralf.habacker at gmail.com
Fri Jan 20 23:01:51 UTC 2012


SVN commit 1274976 by habacker:

Fixed missing uml objects creation on tree view right mouse click.

We reuse parts of itemRenamed(), which has been splitted for that purpose.

BUG: 292049

 M  +19 -15    umllistview.cpp  
 M  +1 -0      umllistview.h  


--- trunk/KDE/kdesdk/umbrello/umbrello/umllistview.cpp #1274975:1274976
@@ -2256,9 +2256,9 @@
         } else {
             name = Model_Utils::uniqObjectName(ot, parentPkg);
         }
-        newItem = new UMLListViewItem(parentItem, name, type, (UMLObject*)parentPkg);
+        newItem = new UMLListViewItem(parentItem, name, type, (UMLObject *)0);
+        createItem(newItem, type);
     }
-    m_bIgnoreCancelRename = false;
     newItem->setIcon(icon);
     newItem->setOpen(true);
     newItem->setCreating(true);
@@ -2306,7 +2306,11 @@
             return false;
         }
     }
+    return createItem(renamedItem, type);
+}
 
+bool UMLListView::createItem(UMLListViewItem *item, UMLListViewItem::ListViewType type)
+{
     switch (type) {
     case UMLListViewItem::lvt_Actor:
     case UMLListViewItem::lvt_Class:
@@ -2331,7 +2335,7 @@
             uError() << "internal error";
             return false;
         }
-        UMLObject *o = createUMLObject(renamedItem, ot);
+        UMLObject *o = createUMLObject(item, ot);
         if (type == UMLListViewItem::lvt_Subsystem)
             o->setStereotype("subsystem");
         else if (Model_Utils::typeIsFolder(type))
@@ -2348,13 +2352,13 @@
     case UMLListViewItem::lvt_ForeignKeyConstraint:
     case UMLListViewItem::lvt_CheckConstraint:
 
-        return createChildUMLObject(renamedItem, Model_Utils::convert_LVT_OT(type));
+        return createChildUMLObject(item, Model_Utils::convert_LVT_OT(type));
         break;
 
     case UMLListViewItem::lvt_PrimaryKeyConstraint: {
 
-        bool result = createChildUMLObject(renamedItem, Model_Utils::convert_LVT_OT(type));
-        UMLObject* obj = renamedItem->umlObject();
+        bool result = createChildUMLObject(item, Model_Utils::convert_LVT_OT(type));
+        UMLObject* obj = item->umlObject();
         UMLUniqueConstraint* uuc = static_cast<UMLUniqueConstraint*>(obj);
         UMLEntity* ent = static_cast<UMLEntity*>(uuc->parent());
         if (ent)
@@ -2365,39 +2369,39 @@
     break;
 
     case UMLListViewItem::lvt_Class_Diagram:
-        createDiagram(renamedItem, Uml::DiagramType::Class);
+        createDiagram(item, Uml::DiagramType::Class);
         break;
 
     case UMLListViewItem::lvt_UseCase_Diagram:
-        createDiagram(renamedItem, Uml::DiagramType::UseCase);
+        createDiagram(item, Uml::DiagramType::UseCase);
         break;
 
     case UMLListViewItem::lvt_Sequence_Diagram:
-        createDiagram(renamedItem, Uml::DiagramType::Sequence);
+        createDiagram(item, Uml::DiagramType::Sequence);
         break;
 
     case UMLListViewItem::lvt_Collaboration_Diagram:
-        createDiagram(renamedItem, Uml::DiagramType::Collaboration);
+        createDiagram(item, Uml::DiagramType::Collaboration);
         break;
 
     case UMLListViewItem::lvt_State_Diagram:
-        createDiagram(renamedItem, Uml::DiagramType::State);
+        createDiagram(item, Uml::DiagramType::State);
         break;
 
     case UMLListViewItem::lvt_Activity_Diagram:
-        createDiagram(renamedItem, Uml::DiagramType::Activity);
+        createDiagram(item, Uml::DiagramType::Activity);
         break;
 
     case UMLListViewItem::lvt_Component_Diagram:
-        createDiagram(renamedItem, Uml::DiagramType::Component);
+        createDiagram(item, Uml::DiagramType::Component);
         break;
 
     case UMLListViewItem::lvt_Deployment_Diagram:
-        createDiagram(renamedItem, Uml::DiagramType::Deployment);
+        createDiagram(item, Uml::DiagramType::Deployment);
         break;
 
     case UMLListViewItem::lvt_EntityRelationship_Diagram:
-        createDiagram(renamedItem, Uml::DiagramType::EntityRelationship);
+        createDiagram(item, Uml::DiagramType::EntityRelationship);
         break;
 
     default:
--- trunk/KDE/kdesdk/umbrello/umbrello/umllistview.h #1274975:1274976
@@ -73,6 +73,7 @@
 
     UMLListViewItem* createItem(UMLListViewItem& Data, IDChangeLog& IDChanges,
                                 UMLListViewItem* parent = 0);
+    bool createItem(UMLListViewItem *item, UMLListViewItem::ListViewType type);
 
     UMLListViewItem* findFolderForDiagram(Uml::DiagramType dt);
 




More information about the umbrello-devel mailing list