Version: (using KDE Devel) Compiler: gcc 2.95 OS: Linux There does not seem to be a way to create nested substates in state diagrams. This significantly reduces the expressive power of statecharts. In his book "Constructing the User Interface with Statecharts", Ian Horrocks provides a very good explanation of why simple state transition diagrams are inferior to David Harel's statecharts, which is what the UML state diagrams are based upon. Horrock's book: http://www.amazon.com/exec/obidos/tg/detail/-/0201342782 Some example diagrams with nested substates: http://www.informatik.fh-luebeck.de/~st/UML/UML1.1/notation9.html Thanks for the otherwise wonderful tool. Vadim
See also UML Modelling Language Specification 03-03-01 Section 3.76 Composite States
The second link does not seem to be reachable anymore (Aug 10th, 2004).
Google found this for me: http://etna.int-evry.fr/COURS/UML/notation/notation9b.html
Is this issue solved? Current Umbrello allows history elements. This doesn't make sense without using substates. I tried to add substates to a state. There seems to be some problems: 1. Dragging the superstate does not move the substates. 2. Display z order changes that the superstate is put above the substate e.g. when editing the superstate.
(In reply to Carsten Behling from comment #4) > Is this issue solved? no, because so far no one has taken the time to design/implement this. > > 1. Dragging the superstate does not move the substates. This is because adding states visual inside another state currently does not create a parent/child relation. > 2. Display z order changes that the superstate is put above the substate > e.g. when editing the superstate. This has been already recorded with bug 337227.
Git commit 51451829ce121f1196f609c0c9cbf502a13b25a8 by Ralf Habacker. Committed on 29/10/2019 at 19:37. Pushed by habacker into branch 'master'. Add initial support for composite (nested) states in state diagrams A combined state can be added by the context menu of a state widget. It is implemented as separate state diagram, which is painted inside the combined state. M +1 -0 doc/xml/umbrello-diagrams.dtd M +1 -0 umbrello/cmds/cmdcreatediagram.h M +1 -0 umbrello/menus/listpopupmenu.cpp M +1 -0 umbrello/menus/listpopupmenu.h M +1 -0 umbrello/menus/widgetbasepopupmenu.cpp M +43 -0 umbrello/umlwidgets/statewidget.cpp M +6 -2 umbrello/umlwidgets/statewidget.h https://commits.kde.org/umbrello/51451829ce121f1196f609c0c9cbf502a13b25a8
Git commit 284dfe691f66697b569d2098873bc51910574f3b by Ralf Habacker. Committed on 29/10/2019 at 19:57. Pushed by habacker into branch 'master'. Update xmi file version because state widgets now save/read the attribute 'diagramlinkid' M +2 -2 umbrello/version.h https://commits.kde.org/umbrello/284dfe691f66697b569d2098873bc51910574f3b
Git commit 01c47c21a5aca2cc87baa132ae009e49e4ab802e by Ralf Habacker. Committed on 29/10/2019 at 20:25. Pushed by habacker into branch 'master'. Add creating combined state widget from diagram context menu M +1 -0 umbrello/menus/umlscenepopupmenu.cpp M +1 -1 umbrello/menus/widgetbasepopupmenu.cpp M +16 -0 umbrello/umlscene.cpp M +2 -0 umbrello/umlwidgets/statewidget.cpp https://commits.kde.org/umbrello/01c47c21a5aca2cc87baa132ae009e49e4ab802e
Git commit a20a29122e83244ac005decce5393ce3919073b6 by Ralf Habacker. Committed on 29/10/2019 at 20:34. Pushed by habacker into branch 'master'. Fix minimum width and height calculations of combined state widgets M +26 -17 umbrello/umlwidgets/statewidget.cpp https://commits.kde.org/umbrello/a20a29122e83244ac005decce5393ce3919073b6
Created attachment 123574 [details] Example for nested Statemachine Needed for discussion
(In reply to Ralf Habacker from comment #6) > Git commit 51451829ce121f1196f609c0c9cbf502a13b25a8 by Ralf Habacker. > Committed on 29/10/2019 at 19:37. > Pushed by habacker into branch 'master'. > > Add initial support for composite (nested) states in state diagrams > > A combined state can be added by the context menu of a state widget. > > It is implemented as separate state diagram, which is painted inside > the combined state. > > M +1 -0 doc/xml/umbrello-diagrams.dtd > M +1 -0 umbrello/cmds/cmdcreatediagram.h > M +1 -0 umbrello/menus/listpopupmenu.cpp > M +1 -0 umbrello/menus/listpopupmenu.h > M +1 -0 umbrello/menus/widgetbasepopupmenu.cpp > M +43 -0 umbrello/umlwidgets/statewidget.cpp > M +6 -2 umbrello/umlwidgets/statewidget.h > > https://commits.kde.org/umbrello/51451829ce121f1196f609c0c9cbf502a13b25a8 Hi Ralf, nice idea to basically add a statechart to a state. Does your solution consider that a Transition from outside a state may lead to an inner state or history? Further, basically modelling concurrency with dashed lines should be possible (see attached image). Are we still open for adding this feature with your solution for nested states?
(In reply to Carsten Behling from comment #11) > Hi Ralf, nice idea to basically add a statechart to a state. Does your > solution consider that a Transition from outside a state may lead to an > inner state or history? Further, basically modelling concurrency with dashed > lines should be possible (see attached image). > Are we still open for adding this feature with your solution for nested > states? What alternatives do you think are possible?
(In reply to Ralf Habacker from comment #12) > (In reply to Carsten Behling from comment #11) > > Hi Ralf, nice idea to basically add a statechart to a state. Does your > > solution consider that a Transition from outside a state may lead to an > > inner state or history? Further, basically modelling concurrency with dashed > > lines should be possible (see attached image). > > Are we still open for adding this feature with your solution for nested > > states? > What alternatives do you think are possible? For concurrency/orthogonal states we could allow to assign multiple statecharts adding a new 'partial area' with dashed lines to the state and render very new statechart into the new area. For transitions crossing state borders it may be inevitable introduce parent/child relations. Since I don't know the Umbrello Code very well yet, I can't judge if that would be a painful task.
Git commit 46d66d14d980bcfaf20b3603e107e798a5581890 by Ralf Habacker. Committed on 30/10/2019 at 10:27. Pushed by habacker into branch 'master'. Resize diagram after applying layout to avoid small display in combined widget M +1 -0 umbrello/umlscene.cpp https://commits.kde.org/umbrello/46d66d14d980bcfaf20b3603e107e798a5581890
Git commit 080cb9fbf2a13d41c4c6129c8da957d97041a9ed by Ralf Habacker. Committed on 30/10/2019 at 16:21. Pushed by habacker into branch 'master'. Add context menu entry to return from editing state diagram in combined state widget M +1 -0 umbrello/menus/listpopupmenu.cpp M +1 -0 umbrello/menus/listpopupmenu.h M +2 -0 umbrello/menus/umlscenepopupmenu.cpp M +17 -0 umbrello/umlscene.cpp M +5 -0 umbrello/umlscene.h M +10 -4 umbrello/umlwidgets/statewidget.cpp https://commits.kde.org/umbrello/080cb9fbf2a13d41c4c6129c8da957d97041a9ed
Git commit b5be2a5722431f66cf98a30dffb7013052eac8c1 by Ralf Habacker. Committed on 30/10/2019 at 10:26. Pushed by habacker into branch 'master'. Add entry 'edit combined state' to state widget context menu for combined states M +1 -0 umbrello/menus/listpopupmenu.cpp M +1 -0 umbrello/menus/listpopupmenu.h M +8 -0 umbrello/menus/widgetbasepopupmenu.cpp M +17 -7 umbrello/umlwidgets/statewidget.cpp https://commits.kde.org/umbrello/b5be2a5722431f66cf98a30dffb7013052eac8c1
Git commit 9997043a075947f76d70253483d13c6bdb562a5a by Ralf Habacker. Committed on 30/10/2019 at 16:23. Pushed by habacker into branch 'master'. Add editing of included state diagram through combined widget M +89 -0 umbrello/umlwidgets/statewidget.cpp M +4 -0 umbrello/umlwidgets/statewidget.h https://commits.kde.org/umbrello/9997043a075947f76d70253483d13c6bdb562a5a
Git commit 6e507f54b6f34a788a4296f0e37fa4b595032325 by Ralf Habacker. Committed on 30/10/2019 at 16:25. Pushed by habacker into branch 'master'. Update current diagram size after releasing mouse This avoids too small scales in state diagram include in combined state M +2 -0 umbrello/umlwidgets/umlwidget.cpp https://commits.kde.org/umbrello/6e507f54b6f34a788a4296f0e37fa4b595032325
(In reply to Ralf Habacker from comment #18) > Git commit 6e507f54b6f34a788a4296f0e37fa4b595032325 by Ralf Habacker. > Committed on 30/10/2019 at 16:25. > Pushed by habacker into branch 'master'. > > Update current diagram size after releasing mouse > > This avoids too small scales in state diagram include in combined state > > M +2 -0 umbrello/umlwidgets/umlwidget.cpp > > https://commits.kde.org/umbrello/6e507f54b6f34a788a4296f0e37fa4b595032325 Hi Ralf, I checked the current version. The Edit feature is an d 'Return to combined state' feature is great. However, it's possible to do 'New->Combined state...' two or more times and the last combined state is the assigned one. Not sure if you keep this open for the orthogonal state feature that we discussed. If not, adding a combined state more than once is a bug. If yes, … cool we will get orthogonal states :-)
Git commit ad773972cf37a50696690e3fbc7e43aa27b3138d by Ralf Habacker. Committed on 30/10/2019 at 21:34. Pushed by habacker into branch 'master'. Fix mouse selection and widget moving inside combined widget M +4 -3 umbrello/umlwidgets/statewidget.cpp https://commits.kde.org/umbrello/ad773972cf37a50696690e3fbc7e43aa27b3138d
Git commit 45c0b11f9f9ca52b01d664563614f9abc94e4a74 by Ralf Habacker. Committed on 31/10/2019 at 13:47. Pushed by habacker into branch 'master'. Add support for editing widgets directly inside combined state M +85 -95 umbrello/umlwidgets/statewidget.cpp M +8 -3 umbrello/umlwidgets/statewidget.h https://commits.kde.org/umbrello/45c0b11f9f9ca52b01d664563614f9abc94e4a74
Git commit 7d221b703b7d09e66bcdb267c88591224cc03730 by Ralf Habacker. Committed on 31/10/2019 at 13:47. Pushed by habacker into branch 'master'. Fixed missing resizing of the graphic scene after moving widgets M +1 -1 umbrello/umlscene.cpp M +1 -1 umbrello/umlwidgets/umlwidget.cpp https://commits.kde.org/umbrello/7d221b703b7d09e66bcdb267c88591224cc03730
Git commit 72a110a4906ec0a39e0eaf849bd5fcdf1bbb829b by Ralf Habacker. Committed on 31/10/2019 at 19:25. Pushed by habacker into branch 'master'. Add support to change linked diagram in property dialog of combined state widget M +51 -8 umbrello/dialogs/statedialog.cpp M +3 -1 umbrello/dialogs/statedialog.h M +4 -0 umbrello/menus/widgetbasepopupmenu.cpp https://commits.kde.org/umbrello/72a110a4906ec0a39e0eaf849bd5fcdf1bbb829b
Git commit 70a02c2d6ee2da7e618dbdb3049aef3ea098cb7b by Ralf Habacker. Committed on 31/10/2019 at 19:32. Pushed by habacker into branch 'master'. UMLScene: Clear linked widget after returning to related widget to remove mt_ReturnToCombinedState from context menu M +1 -0 umbrello/umlscene.cpp https://commits.kde.org/umbrello/70a02c2d6ee2da7e618dbdb3049aef3ea098cb7b
Git commit c58a3116a069d57cd9dbd2f0894343df4a70cd2c by Ralf Habacker. Committed on 31/10/2019 at 13:47. Pushed by habacker into branch 'master'. Add visual debug info to UMLScene, disabled by default Visual debug info are: 1. scene rect (green rectangle) 2. items bounding rect (blue rectangle) 3. cursor position (gray crossed lines) M +14 -1 umbrello/umlscene.cpp https://commits.kde.org/umbrello/c58a3116a069d57cd9dbd2f0894343df4a70cd2c
(In reply to Carsten Behling from comment #19) > The Edit feature is an d 'Return to combined state' feature is great. thanks > However, it's possible to do 'New->Combined state...' two or more times and > the last combined state is the assigned one. This is an issue on widget creating, I will take a look. > Not sure if you keep this open for the orthogonal state feature that we > discussed. > If yes, … cool we will get orthogonal states :-) As we now have one diagram linked adding more diagrams to a combined widget looks not too complicate. I'm thinking to add an attribute to the state widget to specify a layout e.g. two columns, two rows, each holding a different diagram.
Git commit 48af01041eb73c534fbc6c1da0b6a941f11d63ee by Ralf Habacker. Committed on 31/10/2019 at 19:46. Pushed by habacker into branch 'master'. Always show name attribute of state widget instead of linked state diagram M +3 -8 umbrello/umlwidgets/statewidget.cpp https://commits.kde.org/umbrello/48af01041eb73c534fbc6c1da0b6a941f11d63ee
Git commit 2148d2c766430714b3701247133a2166f75049b6 by Ralf Habacker. Committed on 01/11/2019 at 08:56. Pushed by habacker into branch 'master'. Add support for non resizable widgets and apply to combined state widgets M +6 -3 umbrello/umlwidgets/statewidget.cpp M +8 -0 umbrello/umlwidgets/umlwidget.h https://commits.kde.org/umbrello/2148d2c766430714b3701247133a2166f75049b6
(In reply to Ralf Habacker from comment #28) > Git commit 2148d2c766430714b3701247133a2166f75049b6 by Ralf Habacker. > Committed on 01/11/2019 at 08:56. > Pushed by habacker into branch 'master'. > > Add support for non resizable widgets and apply to combined state widgets > > M +6 -3 umbrello/umlwidgets/statewidget.cpp > M +8 -0 umbrello/umlwidgets/umlwidget.h > > https://commits.kde.org/umbrello/2148d2c766430714b3701247133a2166f75049b6 Hi Ralf, thanks for the outstanding work!!! I tested the current version and found two issues: 1. When I remove a combined state the state diagram related diagram remains.That may be desired behaviour since a class also remains in the Tree View if deleted from diagram. However I can't treat a combined state diagram in the same way as a class since it can't be dragged and dropped into an another state diagram resulting in a combined state element. So there are basically two solutions: - to allow a drag and drop of a state diagram into another one appearing as a combined state (I think this would be the preferred method) - remove the related state diagram with the related combined state 2. when I a. add a combined state b. adding elements e.g. states in the related state Diagramm c. keep the element e.g. state selected in the toolbox instead of selecting the cursor d. switching back to the state diagram with the related combined state e. selecting the cursor in the toolbox => every time I click into the combined state a new element of the last toolbox selection of the sub state chart is added (e.g. a state in this case) Im not shure if you are planning to edit directly the combined state. In this case the toolbox selection of the parent diagram should be used instead of the toolbox from the state diagram of the combined state (that is not open/active tab).
(In reply to Carsten Behling from comment #29) > (In reply to Ralf Habacker from comment #28) > > Git commit 2148d2c766430714b3701247133a2166f75049b6 by Ralf Habacker. > > Committed on 01/11/2019 at 08:56. > > Pushed by habacker into branch 'master'. > > > > Add support for non resizable widgets and apply to combined state widgets > > > > M +6 -3 umbrello/umlwidgets/statewidget.cpp > > M +8 -0 umbrello/umlwidgets/umlwidget.h > > > > https://commits.kde.org/umbrello/2148d2c766430714b3701247133a2166f75049b6 > > Hi Ralf, thanks for the outstanding work!!! > > I tested the current version and found two issues: > > 1. When I remove a combined state the state diagram related diagram > remains.That may be desired behaviour since a class also remains in the Tree > View if deleted from diagram. However I can't treat a combined state diagram > in the same way as a class since it can't be dragged and dropped into an > another state diagram resulting in a combined state element. > > So there are basically two solutions: > > - to allow a drag and drop of a state diagram into another one appearing as > a combined state (I think this would be the preferred method) > - remove the related state diagram with the related combined state > > 2. when I > a. add a combined state > b. adding elements e.g. states in the related state Diagramm > c. keep the element e.g. state selected in the toolbox instead of selecting > the cursor > d. switching back to the state diagram with the related combined state > e. selecting the cursor in the toolbox > > => every time I click into the combined state a new element of the last > toolbox selection of the sub state chart is added (e.g. a state in this case) > > Im not shure if you are planning to edit directly the combined state. In > this case the toolbox selection of the parent diagram should be used instead > of the toolbox from the state diagram of the combined state (that is not > open/active tab). Regarding issue 1. in combination with issue 2. the following solution comes additionally to my mind: - yes, we keep editing combined states directly and fix the toolbox usage - State diagrams of substates are always 'hidden' diagrams to distinguish having only 'Root State Diagrams' visible as diagrams - states and combined stats will appear instead with the there widgets in the tree view beyond the top level diagram / beyond there top level combined states With this solution we won't break the user operating scheme. - Combined
(In reply to Ralf Habacker from comment #12) > (In reply to Carsten Behling from comment #11) > > Hi Ralf, nice idea to basically add a statechart to a state. Does your > > solution consider that a Transition from outside a state may lead to an > > inner state or history? Further, basically modelling concurrency with dashed > > lines should be possible (see attached image). > > Are we still open for adding this feature with your solution for nested > > states? > What alternatives do you think are possible? 1. For the association widget it shouldn't break anything if the 'assocwidget' uses 'widgetaid' and 'widgetbid' of different 'diagram''s. 2. If the 'paint' method of the associationwidget has a pointer to the sub state chart it should be able to find the position to connect to the substate and vice versa.
Git commit 537616915defe4c6d44f5ce442e4cea91d1cca0e by Ralf Habacker. Committed on 02/11/2019 at 11:01. Pushed by habacker into branch 'master'. Prevent using the name of a present diagram on creating new combined states M +21 -0 umbrello/diagram_utils.cpp M +3 -0 umbrello/diagram_utils.h M +6 -1 umbrello/umlscene.cpp https://commits.kde.org/umbrello/537616915defe4c6d44f5ce442e4cea91d1cca0e
Git commit 9f760ea292288ba71435ca60a0705ea040ea0aaa by Ralf Habacker. Committed on 02/11/2019 at 11:02. Pushed by habacker into branch 'master'. Enable "return to combined state" context menu entry on creating new combined states M +1 -0 umbrello/umlscene.cpp https://commits.kde.org/umbrello/9f760ea292288ba71435ca60a0705ea040ea0aaa
Git commit 66f6ce77c559ff22cecf82f2e89f0a18fef64cb7 by Ralf Habacker. Committed on 02/11/2019 at 11:30. Pushed by habacker into branch 'master'. Force visual widget update on returning to combined state M +2 -0 umbrello/umlscene.cpp https://commits.kde.org/umbrello/66f6ce77c559ff22cecf82f2e89f0a18fef64cb7
Git commit 7dc0a909729b17e9e4ad1f90b04a51ea426a6e8d by Ralf Habacker. Committed on 02/11/2019 at 15:05. Pushed by habacker into branch 'master'. Add support for forwarding context menus and double-click events from combined state widget to client M +63 -10 umbrello/umlwidgets/statewidget.cpp M +4 -0 umbrello/umlwidgets/statewidget.h https://commits.kde.org/umbrello/7dc0a909729b17e9e4ad1f90b04a51ea426a6e8d
Git commit 37ad4131fe1da85735646c252d5492ea7a9e5c7c by Ralf Habacker. Committed on 02/11/2019 at 15:14. Pushed by habacker into branch 'master'. Fix clipped border on paintin client diagram M +2 -2 umbrello/umlwidgets/statewidget.cpp https://commits.kde.org/umbrello/37ad4131fe1da85735646c252d5492ea7a9e5c7c
Git commit 93c1632960f0546bb2d2f38a9b35c945fd2eca86 by Ralf Habacker. Committed on 07/11/2019 at 23:22. Pushed by habacker into branch 'master'. Add support for background filling and color of combined state widgets M +6 -1 umbrello/umlwidgets/statewidget.cpp https://commits.kde.org/umbrello/93c1632960f0546bb2d2f38a9b35c945fd2eca86
Git commit e3815728c373f151abc75225a93aa3d93ce15e46 by Ralf Habacker. Committed on 08/11/2019 at 00:44. Pushed by habacker into branch 'master'. Move diagram proxy widget support into class DiagramProxyWidget UMLWidget is now derived from this class to let AssociationWidget be able to access the new methods too. M +1 -0 umbrello/CMakeLists.txt M +1 -1 umbrello/umlscene.h A +214 -0 umbrello/umlwidgets/diagramproxywidget.cpp [License: UNKNOWN] * A +52 -0 umbrello/umlwidgets/diagramproxywidget.h [License: UNKNOWN] * M +16 -120 umbrello/umlwidgets/statewidget.cpp M +0 -11 umbrello/umlwidgets/statewidget.h M +7 -1 umbrello/umlwidgets/umlwidget.cpp M +3 -2 umbrello/umlwidgets/umlwidget.h The files marked with a * at the end have a non valid license. Please read: https://community.kde.org/Policies/Licensing_Policy and use the headers which are listed at that page. https://commits.kde.org/umbrello/e3815728c373f151abc75225a93aa3d93ce15e46
Git commit d256103ac28dfa2d0fbc850d9cacd0362f8514ca by Ralf Habacker. Committed on 08/11/2019 at 00:44. Pushed by habacker into branch 'master'. Tag direct editing combined states as experimental feature M +1 -0 CMakeLists.txt M +10 -0 umbrello/umlwidgets/statewidget.cpp https://commits.kde.org/umbrello/d256103ac28dfa2d0fbc850d9cacd0362f8514ca
Git commit e191ce93612695c4c9c0131d6aca46bae2be7f27 by Ralf Habacker. Committed on 09/11/2019 at 10:46. Pushed by habacker into branch 'master'. Move class WidgetRole into separate file and rename it to AssociationWidgetRole This is a preparation for further refactoring. M +1 -0 umbrello/CMakeLists.txt M +9 -22 umbrello/umlwidgets/associationwidget.cpp M +2 -27 umbrello/umlwidgets/associationwidget.h A +26 -0 umbrello/umlwidgets/associationwidgetrole.cpp [License: GPL (v2+)] A +47 -0 umbrello/umlwidgets/associationwidgetrole.h [License: GPL (v2+)] https://commits.kde.org/umbrello/e191ce93612695c4c9c0131d6aca46bae2be7f27
Git commit 4652ae3ae49e2f7479e8a5012e6e409e6a3553d8 by Ralf Habacker. Committed on 09/11/2019 at 10:46. Pushed by habacker into branch 'master'. Simplify code in AssociationWidget::operator==() M +2 -6 umbrello/umlwidgets/associationwidget.cpp https://commits.kde.org/umbrello/4652ae3ae49e2f7479e8a5012e6e409e6a3553d8
Git commit 03b40692ebdf25be4fb085ac37852e9198c95abb by Ralf Habacker. Committed on 09/11/2019 at 10:45. Pushed by habacker into branch 'master'. Remove unused method AssociationWidget::setWidgets() M +0 -26 umbrello/umlwidgets/associationwidget.cpp M +0 -2 umbrello/umlwidgets/associationwidget.h https://commits.kde.org/umbrello/03b40692ebdf25be4fb085ac37852e9198c95abb
Git commit fe4756bd0855a3a216ea8301bacd7127a2f6011d by Ralf Habacker. Committed on 09/11/2019 at 10:46. Pushed by habacker into branch 'master'. Remove obsolete code in AssociationWidget::widgetLocalIDForRole() M +0 -2 umbrello/umlwidgets/associationwidget.cpp https://commits.kde.org/umbrello/fe4756bd0855a3a216ea8301bacd7127a2f6011d
Git commit e4a6b966863cd1d92de49dd0ac4493a2776e6347 by Ralf Habacker. Committed on 09/11/2019 at 11:45. Pushed by habacker into branch 'master'. Move font setting from AssociationWidget into class AssociationWidgetRole M +2 -16 umbrello/umlwidgets/associationwidget.cpp M +11 -0 umbrello/umlwidgets/associationwidgetrole.cpp M +2 -0 umbrello/umlwidgets/associationwidgetrole.h https://commits.kde.org/umbrello/e4a6b966863cd1d92de49dd0ac4493a2776e6347
Git commit 90738bb9ed0d4749c7b2dacf555d1ebd534c2b08 by Ralf Habacker. Committed on 09/11/2019 at 12:02. Pushed by habacker into branch 'master'. Move out widget cleanup into class AssociationWidgetRole The original code uses the scene of the AssociationWidget instance for widget removal, where AssociationWidgetRole uses the scene of the related widget, which is more accurate. M +4 -20 umbrello/umlwidgets/associationwidget.cpp M +22 -0 umbrello/umlwidgets/associationwidgetrole.cpp M +7 -0 umbrello/umlwidgets/associationwidgetrole.h https://commits.kde.org/umbrello/90738bb9ed0d4749c7b2dacf555d1ebd534c2b08
Git commit a37f2c1e6d17ec5174afc2bc126c3d0d28816eaa by Ralf Habacker. Committed on 09/11/2019 at 16:08. Pushed by habacker into branch 'master'. Move the code to select appropriate widgets to the AssociationWidgetRole class M +3 -12 umbrello/umlwidgets/associationwidget.cpp M +15 -0 umbrello/umlwidgets/associationwidgetrole.cpp M +1 -0 umbrello/umlwidgets/associationwidgetrole.h https://commits.kde.org/umbrello/a37f2c1e6d17ec5174afc2bc126c3d0d28816eaa
Git commit 2ba73e22799bc9989f91b165163c95072f48f0a0 by Ralf Habacker. Committed on 09/11/2019 at 16:08. Pushed by habacker into branch 'master'. Move code of corresponding widgets in AssociationWidget::clipSize() to the AssociationWidgetRole class M +2 -17 umbrello/umlwidgets/associationwidget.cpp M +12 -0 umbrello/umlwidgets/associationwidgetrole.cpp M +1 -0 umbrello/umlwidgets/associationwidgetrole.h https://commits.kde.org/umbrello/2ba73e22799bc9989f91b165163c95072f48f0a0
Git commit 8e90c6582f9dd2c62aeb5689c6787a15ebd02461 by Ralf Habacker. Committed on 09/11/2019 at 16:08. Pushed by habacker into branch 'master'. Move corresponding code in saveToXMI1() and loadFromXMI1() to the AssociationWidgetRole class M +4 -35 umbrello/umlwidgets/associationwidget.cpp M +23 -0 umbrello/umlwidgets/associationwidgetrole.cpp M +4 -0 umbrello/umlwidgets/associationwidgetrole.h https://commits.kde.org/umbrello/8e90c6582f9dd2c62aeb5689c6787a15ebd02461
Git commit 18cded57d1b64501294feb06b0c35a123fba2317 by Ralf Habacker. Committed on 09/11/2019 at 16:08. Pushed by habacker into branch 'master'. Move code related to 'getStartMove' to the AssociationWidgetRole class M +4 -20 umbrello/umlwidgets/associationwidget.cpp M +10 -0 umbrello/umlwidgets/associationwidgetrole.cpp M +2 -0 umbrello/umlwidgets/associationwidgetrole.h https://commits.kde.org/umbrello/18cded57d1b64501294feb06b0c35a123fba2317
Git commit abd178afe50207036f42fa54393a1e5bcfd4db89 by Ralf Habacker. Committed on 09/11/2019 at 16:07. Pushed by habacker into branch 'master'. Move out 'on widget' handling to class AssociationWidgetRole::onWidget M +13 -18 umbrello/umlwidgets/associationwidget.cpp M +19 -0 umbrello/umlwidgets/associationwidgetrole.cpp M +4 -0 umbrello/umlwidgets/associationwidgetrole.h https://commits.kde.org/umbrello/abd178afe50207036f42fa54393a1e5bcfd4db89
Git commit 18bad45690eaf0ca9863aad7089e46ba143a39c2 by Ralf Habacker. Committed on 19/11/2019 at 22:48. Pushed by habacker into branch 'release/19.12'. Move WidgetBase::addAssoc(), removeAssoc() and m_nlocalID to class WidgetBase To be able to use a widget that is linked to another diagram as a link end in the AssociationWidget class, some methods must be encapsulated. In order to use the class WidgetBase as base class of such a "proxy widget", some methods and class members located in the UMLWidget have to be moved to WidgetBase. M +2 -57 umbrello/umlwidgets/umlwidget.cpp M +2 -8 umbrello/umlwidgets/umlwidget.h M +73 -0 umbrello/umlwidgets/widgetbase.cpp M +13 -0 umbrello/umlwidgets/widgetbase.h https://invent.kde.org/kde/umbrello/commit/18bad45690eaf0ca9863aad7089e46ba143a39c2
The basic support for having a nested chart has been implemented in release/19.12 and could be part of 2.30 releases after fixing possible issues. For the remaining stuff I suggest to open additional tickets, one for multiple sub chart support and one for association to/from sub charts.
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 413579 M +5 -2 umbrello/menus/umlscenepopupmenu.cpp M +2 -1 umbrello/menus/widgetbasepopupmenu.cpp https://invent.kde.org/kde/umbrello/commit/1e4efa2c86af5840c82d211a069becb7ca35b85e
Git commit caee16334b94f3c969f608e1e0967569bf9b2f4f by Ralf Habacker. Committed on 27/11/2019 at 10:53. Pushed by habacker into branch 'master'. Merge menu selection code from state widget into class DiagramProxyWidget to reduce duplicated code M +15 -0 umbrello/umlwidgets/diagramproxywidget.cpp M +1 -20 umbrello/umlwidgets/statewidget.cpp https://invent.kde.org/kde/umbrello/commit/caee16334b94f3c969f608e1e0967569bf9b2f4f