[Uml-devel] KDE/kdesdk/umbrello/umbrello
Oliver Kellogg
okellogg at users.sourceforge.net
Thu Dec 7 22:16:16 UTC 2006
SVN commit 611386 by okellogg:
merge r610188:610682 from branches/KDE/3.5
M +3 -1 package.cpp
M +1 -1 umlobject.cpp
M +12 -0 umlwidgetcontroller.cpp
--- trunk/KDE/kdesdk/umbrello/umbrello/package.cpp #611385:611386
@@ -233,7 +233,9 @@
for (UMLObjectListIt oit(m_objects); oit.current(); ++oit) {
UMLObject *obj = oit.current();
if (! obj->resolveRef()) {
- m_objects.remove(obj);
+ Uml::Object_Type ot = obj->getBaseType();
+ if (ot != Uml::ot_Package && ot != Uml::ot_Folder)
+ m_objects.remove(obj);
overallSuccess = false;
}
}
--- trunk/KDE/kdesdk/umbrello/umbrello/umlobject.cpp #611385:611386
@@ -237,7 +237,7 @@
void UMLObject::setDoc(const QString &d) {
m_Doc = d;
- emit modified();
+ //emit modified(); No, this is done centrally at DocWindow::updateDocumentation()
}
Uml::Object_Type UMLObject::getBaseType() const {
--- trunk/KDE/kdesdk/umbrello/umbrello/umlwidgetcontroller.cpp #611385:611386
@@ -93,6 +93,7 @@
if (m_widget->m_bSelected && count > 1) {
//Single selection is made in release event if the widget wasn't moved
m_inMoveArea = true;
+ lastUpdate.start();
return;
}
@@ -165,7 +166,18 @@
widget->getWidgetController()->moveWidgetBy(diffX, diffY);
if (update) {
+ /* adjustAssocs() does not take along association line breaks:
widget->adjustAssocs(widget->getX(), widget->getY());
+ ***** instead: */
+ // Move any selected associations.
+ AssociationWidgetList awl = m_widget->m_pView->getSelectedAssocs();
+ AssociationWidgetListIt assoc_it(awl);
+ AssociationWidget* assocwidget = NULL;
+ while ((assocwidget = assoc_it.current()) != NULL) {
+ ++assoc_it;
+ if (assocwidget->getSelected())
+ assocwidget->moveEntireAssoc(diffX, diffY);
+ }
}
}
m_widget->m_pView->resizeCanvasToItems();
More information about the umbrello-devel
mailing list