Bug 413579

Summary: Need for assignment of statechart behaviour to a class
Product: [Applications] umbrello Reporter: Carsten Behling <carsten.behling>
Component: exporterAssignee: Umbrello Development Group <umbrello-devel>
Status: ASSIGNED ---    
Severity: wishlist CC: ralf.habacker
Priority: NOR    
Version: 2.29.0 (KDE Applications 19.08.0)   
Target Milestone: 2.33 (KDE releases 20.12)   
Platform: unspecified   
OS: All   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Carsten Behling 2019-10-29 06:11:08 UTC
SUMMARY

It would be great being able to assign a statechart to a class to add 'behaviour' to it as common practice in IBM Rhapsody and Enterprise Architect:

- Assign a new or existing statechart to a class like an operation or attribute.
- Having a little clickable icon in the upper left corner of the class after assigning a statechart that opens the statechart (the tab with the related diagram).

This would create the foundation for generating code from statecharts and that is a heavily used feature in Embdedded System Modeling.

STEPS TO REPRODUCE
- Try to assign a statechart to a class.

OBSERVED RESULT
- Feature is mssing.


EXPECTED RESULT
- I can assign a statechart to a class.

SOFTWARE/OS VERSIONS
Windows: n.a.
macOS: n.a.
Linux/KDE Plasma: n.a. 
KDE Plasma Version: n.a.
KDE Frameworks Version: n.a.
Qt Version: n.a.

ADDITIONAL INFORMATION
Comment 1 Ralf Habacker 2019-11-20 09:01:24 UTC
This feature can be based on the already implemented class DiagramProxyWidget for bug 53369.
Comment 2 Ralf Habacker 2019-11-20 09:50:19 UTC
Git commit b0a366c992aea261e478c937a0109c88f3da1d59 by Ralf Habacker.
Committed on 20/11/2019 at 09:49.
Pushed by habacker into branch 'release/19.12'.

Refactor class DiagramProxyWidget, so that derived classes can only use the public API

M  +53   -0    umbrello/umlwidgets/diagramproxywidget.cpp
M  +13   -7    umbrello/umlwidgets/diagramproxywidget.h
M  +8    -12   umbrello/umlwidgets/statewidget.cpp

https://invent.kde.org/kde/umbrello/commit/b0a366c992aea261e478c937a0109c88f3da1d59
Comment 3 Ralf Habacker 2019-11-20 22:58:08 UTC
Git commit f74ed161f5799a3718a455ca5c7b21f374a87067 by Ralf Habacker.
Committed on 20/11/2019 at 22:57.
Pushed by habacker into branch 'master'.

Cleanup usage of WidgetBase::m_nID

The class variable m_nID is in the WidgetBase class, but initialization
and usage took place in UMLWidget, which has now been cleaned up.

M  +4    -4    umbrello/umlwidgets/associationwidget.cpp
M  +1    -1    umbrello/umlwidgets/associationwidget.h
M  +7    -43   umbrello/umlwidgets/umlwidget.cpp
M  +0    -2    umbrello/umlwidgets/umlwidget.h
M  +50   -1    umbrello/umlwidgets/widgetbase.cpp
M  +5    -1    umbrello/umlwidgets/widgetbase.h

https://invent.kde.org/kde/umbrello/commit/f74ed161f5799a3718a455ca5c7b21f374a87067
Comment 4 Ralf Habacker 2019-11-23 14:29:29 UTC
Planned for version 2.31, because the implementation of this bug will add translation related strings, which is no longer possible in version 2.30. See https://community.kde.org/Schedules/Applications/19.12_Release_Schedule for more informations.
Comment 5 Ralf Habacker 2019-11-27 10:53:47 UTC
Git commit 1e4efa2c86af5840c82d211a069becb7ca35b85e by Ralf Habacker.
Committed on 27/11/2019 at 10:53.
Pushed by habacker into branch 'master'.

Separate context menu items related to linked diagrams from others with separators
Related: bug 53369

M  +5    -2    umbrello/menus/umlscenepopupmenu.cpp
M  +2    -1    umbrello/menus/widgetbasepopupmenu.cpp

https://invent.kde.org/kde/umbrello/commit/1e4efa2c86af5840c82d211a069becb7ca35b85e
Comment 6 Ralf Habacker 2019-11-27 10:53:47 UTC
Git commit 5bb6510e7f05264b4073d1ce927a203a92ad164d by Ralf Habacker.
Committed on 27/11/2019 at 10:53.
Pushed by habacker into branch 'master'.

Add context menu entry to classifier widgets for selecting a state diagram

M  +1    -0    umbrello/CMakeLists.txt
A  +37   -0    umbrello/dialogs/selectdiagramdialog.cpp     [License: GPL (v2+)]
A  +38   -0    umbrello/dialogs/selectdiagramdialog.h     [License: GPL (v2+)]
M  +1    -0    umbrello/menus/listpopupmenu.cpp
M  +1    -0    umbrello/menus/listpopupmenu.h
M  +6    -3    umbrello/menus/widgetbasepopupmenu.cpp
M  +16   -0    umbrello/umldoc.cpp
M  +1    -0    umbrello/umldoc.h
M  +10   -0    umbrello/umlwidgets/diagramproxywidget.cpp

https://invent.kde.org/kde/umbrello/commit/5bb6510e7f05264b4073d1ce927a203a92ad164d