[Uml-devel] [Bug 88117] An abstract class can't provide interface in component diagram
Oliver Kellogg
okellogg at users.sourceforge.net
Thu May 26 02:38:12 UTC 2005
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.kde.org/show_bug.cgi?id=88117
okellogg users sourceforge net changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |FIXED
------- Additional Comments From okellogg users sourceforge net 2005-05-26 11:36 -------
SVN commit 418324 by okellogg:
BUG:88117 - Allow abstract class as interface in component diagram.
M +2 -2 ChangeLog
M +15 -7 umbrello/umlview.cpp
--- trunk/KDE/kdesdk/umbrello/ChangeLog #418323:418324
@ -2,10 +2,10 @
* Association classes
* Externalization of folders (i.e. submodel files)
-* Change interface into class and vice versa (if no attributes)
+* Change interface into class and vice versa (if abstract and no attributes)
* Bugs fixed / wishes implemented (see http://bugs.kde.org)
-57588 79433 87252 105564
+57588 79433 87252 88117 105564
Version 1.4.1 (maintenance release)
--- trunk/KDE/kdesdk/umbrello/umbrello/umlview.cpp #418323:418324
@ -513,11 +513,14 @
}
}
break;
- case ot_Class: // CORRECT?
+ case ot_Class:
//see if we really want an object widget or class widget
- if(getType() == dt_Class) {
+ if (m_Type == dt_Class || m_Type == dt_Component) {
UMLClassifier *c = static_cast<UMLClassifier*>(o);
- newWidget = new ClassifierWidget(this, c);
+ ClassifierWidget *cw = new ClassifierWidget(this, c);
+ if (m_Type == dt_Component)
+ cw->setDrawAsCircle(true);
+ newWidget = cw;
} else {
ObjectWidget *ow = new ObjectWidget(this, o, getLocalID() );
if (m_Type == dt_Sequence) {
@ -637,10 +640,15 @
e->accept(false);
return;
}
- if (diagramType == dt_Component &&
- (ot != ot_Interface && ot != ot_Component && ot != ot_Artifact)) {
- e->accept(false);
- return;
+ if (diagramType == dt_Component) {
+ if (ot != ot_Interface && ot != ot_Component && ot != ot_Artifact && ot != ot_Class) {
+ e->accept(false);
+ return;
+ }
+ if (ot == ot_Class && !temp->getAbstract()) {
+ e->accept(false);
+ return;
+ }
}
if (diagramType == dt_EntityRelationship &&
(ot != ot_Entity )) {
More information about the umbrello-devel
mailing list