Bug 278772 - umbrello doesn't support interface class inheriting a class
Summary: umbrello doesn't support interface class inheriting a class
Status: RESOLVED FIXED
Alias: None
Product: umbrello
Classification: Applications
Component: general (show other bugs)
Version: 1.1
Platform: Unlisted Binaries Linux
: NOR normal
Target Milestone: ---
Assignee: Umbrello Development Group
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-07-29 11:21 UTC by greatbunzinni
Modified: 2016-09-01 06:12 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 2.20.1 (KDE Applications 16.08.1)


Attachments
interface class (5.62 KB, image/png)
2011-07-30 13:51 UTC, Andi Fischer
Details

Note You need to log in before you can comment on or make changes to this bug.
Description greatbunzinni 2011-07-29 11:21:22 UTC
Version:           1.1
OS:                Linux

I intended to draw a class diagram where an abstract base class (ABC) inherited from a class.  This is the case where a user needs to implement a common base class based on a UI widget that must be used as an interface to other sub-classes.

Yet, when I try to set an inheritance relationship that specifies an ABC inheriting from a base class, umbrello refuses that relationship to be set.  Instead, it throws an error message warning that it is an "incorrect use of associations".

It would be nice if umbrello didn't imposed any artificial constraints on a class diagram.

Reproducible: Didn't try




OS: Linux (x86_64) release 2.6.38-10-generic
Compiler: cc
Comment 1 Andi Fischer 2011-07-30 13:51:39 UTC
Created attachment 62340 [details]
interface class

Do you mean something like the attached class diagram?
Comment 2 greatbunzinni 2011-08-10 08:11:17 UTC
Yes, if your IABC wasn't an abstract base class and instead a regular class.
Comment 3 greatbunzinni 2011-08-31 09:19:39 UTC
It appears that this problem affects more standard OO cases than this.  For example, umbrello also refuses to acknowledge that an interface class may have a composition relationship with another interface class.  This is absurd, as it means that it would be impossible to design an interface class which implements a State design pattern.
Comment 4 Ralf Habacker 2016-09-01 06:12:55 UTC
Git commit b3b31402f662caafccd0133217f7af79154708de by Ralf Habacker.
Committed on 01/09/2016 at 06:12.
Pushed by habacker into branch 'Applications/16.08'.

Allow compositions between interfaces.
FIXED-IN:2.20.1 (KDE Applications 16.08.1)

M  +1    -0    umbrello/assocrules.cpp

http://commits.kde.org/umbrello/b3b31402f662caafccd0133217f7af79154708de
Comment 5 Ralf Habacker 2016-09-01 06:12:55 UTC
Git commit 3594c47da1e8f387f4985cdd272d762e9bc6248e by Ralf Habacker.
Committed on 01/09/2016 at 06:12.
Pushed by habacker into branch 'Applications/16.08'.

Fix 'umbrello doesn't support interface class inheriting a class'.
FIXED-IN:2.20.1 (KDE Applications 16.08.1)

M  +1    -0    umbrello/assocrules.cpp

http://commits.kde.org/umbrello/3594c47da1e8f387f4985cdd272d762e9bc6248e