[Uml-devel] KDE/kdesdk/umbrello

Oliver Kellogg okellogg at users.sourceforge.net
Fri Jun 16 18:23:01 UTC 2006


SVN commit 552143 by okellogg:

sync with branches/KDE/3.5 (commits 551903 and 552136)

 M  +6 -0      ChangeLog  
 M  +1 -1      VERSION  
 M  +22 -1     umbrello/javaimport.cpp  
 M  +4 -0      umbrello/listpopupmenu.cpp  
 M  +11 -7     umbrello/umllistview.cpp  
 M  +1 -0      umbrello/umlnamespace.h  


--- trunk/KDE/kdesdk/umbrello/ChangeLog #552142:552143
@@ -1,3 +1,9 @@
+Version 1.5.4
+
+* Bugs/wishes from http://bugs.kde.org:
+* Fix crash when importing classes from a java file (129107)
+* Crash after single click on the "UML Model" tree window (126560/129252)
+
 Version 1.5.3
 
 * Switch to arrow tool after association creation (http://bugs.debian.org/353344)
--- trunk/KDE/kdesdk/umbrello/VERSION #552142:552143
@@ -1 +1 @@
-1.5.3
+1.5.4
--- trunk/KDE/kdesdk/umbrello/umbrello/javaimport.cpp #552142:552143
@@ -331,7 +331,28 @@
     // At this point we know it's some kind of attribute declaration.
     while (1) {
         while (nextToken != "," && nextToken != ";") {
-            name += nextToken;  // add possible array dimensions to `name'
+            if (nextToken == "=") {
+                if ((nextToken = advance()) == "new") {
+                    advance();
+                    if ((nextToken = advance()) == "(") {
+                        skipToClosing('(');
+                        if ((nextToken = advance()) == "{") {
+                            skipToClosing('{');
+                        } else {
+                            skipStmt();
+                            break;
+                        }
+                    } else {
+                        skipStmt();
+                        break;
+                    }
+                } else {
+                    skipStmt();
+                    break;
+                }
+            } else {
+                name += nextToken;  // add possible array dimensions to `name'
+            }
             nextToken = advance();
         }
         UMLObject *o = Import_Utils::insertAttribute(m_klass, m_currentAccess, name, typeName, m_comment);
--- trunk/KDE/kdesdk/umbrello/umbrello/listpopupmenu.cpp #552142:552143
@@ -165,6 +165,10 @@
         mt = mt_Enum;
         break;
 
+    case Uml::lvt_EnumLiteral:
+        mt = mt_EnumLiteral;
+        break;
+
     case Uml::lvt_Datatype:
         mt = mt_Datatype;
         break;
--- trunk/KDE/kdesdk/umbrello/umbrello/umllistview.cpp #552142:552143
@@ -198,7 +198,7 @@
         case Uml::lvt_EntityAttribute:
         case Uml::lvt_Operation:
         case Uml::lvt_Template:
-        case Uml::lvt_Unknown:  // used for EnumLiteral
+        case Uml::lvt_EnumLiteral:
             UMLApp::app() -> getDocWindow() -> showDocumentation( item -> getUMLObject(), false );
             break;
 
@@ -1571,7 +1571,7 @@
     case Uml::lvt_EntityAttribute:
     case Uml::lvt_Operation:
     case Uml::lvt_Template:
-    case Uml::lvt_Unknown:  // used for EnumLiteral
+    case Uml::lvt_EnumLiteral:
         {
             UMLClassifier *pClass =  static_cast<UMLClassifier*>(parent->getUMLObject());
             Uml::IDType newID = IDChanges.findNewID( Data.getID() );
@@ -1747,6 +1747,10 @@
         type = Uml::lvt_Enum;
         break;
 
+    case Uml::ot_EnumLiteral:
+        type = Uml::lvt_EnumLiteral;
+        break;
+
     case Uml::ot_Entity:
         type = Uml::lvt_Entity;
         break;
@@ -1836,7 +1840,7 @@
         ot = Uml::ot_Template;
         break;
 
-    case Uml::lvt_Unknown:   // @todo make a proper lvt_EnumLiteral
+    case Uml::lvt_EnumLiteral:
         ot = Uml::ot_EnumLiteral;
         break;
 
@@ -2382,7 +2386,7 @@
     case Uml::lvt_EntityAttribute:
     case Uml::lvt_Operation:
     case Uml::lvt_Template:
-    case Uml::lvt_Unknown:  // used for EnumLiteral
+    case Uml::lvt_EnumLiteral:
         return createChildUMLObject( renamedItem, convert_LVT_OT(type) );
         break;
 
@@ -2687,7 +2691,7 @@
     case Uml::lvt_Attribute:
     case Uml::lvt_EntityAttribute:
     case Uml::lvt_Operation:
-    case Uml::lvt_Unknown:  // used for EnumLiteral
+    case Uml::lvt_EnumLiteral:
         {
             UMLClassifier *parent = static_cast<UMLClassifier*>(parentItem->getUMLObject());
             return (parent->findChildObject(name) == NULL);
@@ -2857,7 +2861,7 @@
         case Uml::lvt_EntityAttribute:
         case Uml::lvt_Template:
         case Uml::lvt_Operation:
-        case Uml::lvt_Unknown:  // used for EnumLiteral
+        case Uml::lvt_EnumLiteral:
             item = findItem(nID);
             if (item == NULL) {
                 kDebug() << "UMLListView::loadChildrenFromXMI: "
@@ -3038,7 +3042,7 @@
         type == Uml::lvt_Operation ||
         type == Uml::lvt_Template ||
         type == Uml::lvt_EntityAttribute ||
-        type == Uml::lvt_Unknown) {  // used for enum literal
+        type == Uml::lvt_EnumLiteral) {
         return true;
     } else {
         return false;
--- trunk/KDE/kdesdk/umbrello/umbrello/umlnamespace.h #552142:552143
@@ -204,6 +204,7 @@
     lvt_EntityRelationship_Model,
     lvt_Subsystem,
     lvt_Model,
+    lvt_EnumLiteral,
     lvt_Unknown = -1
 };
 




More information about the umbrello-devel mailing list