[Uml-devel] KDE/kdesdk/umbrello/umbrello
Sharan Rao
sharanrao at gmail.com
Thu Jul 19 14:52:15 UTC 2007
SVN commit 689923 by sharan:
xmi representation and other related stuff complete, now you can save and open EER documents.
TODO:
*still can't drag a category from listview to canvas.
M +19 -1 association.cpp
M +8 -0 object_factory.cpp
M +1 -0 umllistview.cpp
M +3 -0 widget_factory.cpp
--- trunk/KDE/kdesdk/umbrello/umbrello/association.cpp #689922:689923
@@ -187,6 +187,21 @@
qElement.appendChild( assocElement );
return;
}
+ if (m_AssocType == Uml::at_Child2Category ) {
+ QDomElement assocElement = UMLObject::save("UML:Child2Category", qDoc);
+ assocElement.setAttribute( "client", ID2STR(getObjectId(A)) );
+ assocElement.setAttribute( "supplier", ID2STR(getObjectId(B)) );
+ qElement.appendChild( assocElement );
+ return;
+ }
+ if (m_AssocType == Uml::at_Category2Parent ) {
+ QDomElement assocElement = UMLObject::save("UML:Category2Parent", qDoc);
+ assocElement.setAttribute( "client", ID2STR(getObjectId(A)) );
+ assocElement.setAttribute( "supplier", ID2STR(getObjectId(B)) );
+ qElement.appendChild( assocElement );
+ return;
+ }
+
QDomElement associationElement = UMLObject::save("UML:Association", qDoc);
QDomElement connElement = qDoc.createElement("UML:Association.connection");
getUMLRole(A)->saveToXMI (qDoc, connElement);
@@ -203,7 +218,10 @@
UMLObject * obj[2] = { NULL, NULL };
if (m_AssocType == Uml::at_Generalization ||
m_AssocType == Uml::at_Realization ||
- m_AssocType == Uml::at_Dependency) {
+ m_AssocType == Uml::at_Dependency ||
+ m_AssocType == Uml::at_Child2Category ||
+ m_AssocType == Uml::at_Category2Parent
+ ) {
for (unsigned r = Uml::A; r <= Uml::B; r++) {
const QString fetch = (m_AssocType == Uml::at_Generalization ?
r == Uml::A ? "child" : "parent"
--- trunk/KDE/kdesdk/umbrello/umbrello/object_factory.cpp #689922:689923
@@ -298,6 +298,8 @@
pObject = new UMLEnum();
} else if (Uml::tagEq(xmiTag, "Entity")) {
pObject = new UMLEntity();
+ } else if (Uml::tagEq(xmiTag, "Category")) {
+ pObject = new UMLCategory();
} else if (Uml::tagEq(xmiTag, "Stereotype")) {
pObject = new UMLStereotype();
} else if (Uml::tagEq(xmiTag, "Association") ||
@@ -310,7 +312,13 @@
pObject = new UMLAssociation(Uml::at_Realization);
} else if (Uml::tagEq(xmiTag, "Dependency")) {
pObject = new UMLAssociation(Uml::at_Dependency);
+ } else if (Uml::tagEq(xmiTag, "Child2Category")) {
+ pObject = new UMLAssociation(Uml::at_Child2Category);
+ } else if (Uml::tagEq(xmiTag, "Category2Parent")) {
+ pObject = new UMLAssociation(Uml::at_Category2Parent);
}
+
+
return pObject;
}
--- trunk/KDE/kdesdk/umbrello/umbrello/umllistview.cpp #689922:689923
@@ -2579,6 +2579,7 @@
case Uml::lvt_Component_Folder:
case Uml::lvt_Deployment_Folder:
case Uml::lvt_EntityRelationship_Folder:
+ case Uml::lvt_Category:
item = findItem(nID);
if (item == NULL) {
kError() << pfx << "INTERNAL ERROR: "
--- trunk/KDE/kdesdk/umbrello/umbrello/widget_factory.cpp #689922:689923
@@ -258,6 +258,9 @@
} else if (tag == "entitywidget") {
if (validateObjType(Uml::ot_Entity, o, id))
widget = new EntityWidget(view, static_cast<UMLEntity*>(o));
+ } else if (tag == "categorywidget") {
+ if (validateObjType(Uml::ot_Category, o, id))
+ widget = new CategoryWidget(view, static_cast<UMLCategory*>(o));
} else if (tag == "objectwidget" || tag == "UML:ObjectWidget") {
widget = new ObjectWidget(view, o );
} else {
More information about the umbrello-devel
mailing list