Version: 1.4.2 (using KDE KDE 3.4.2) Installed from: Mandriva RPMs It would further enhance KDE's reputation, I think, as a development platform if Umbrello was listed on the official UML website, link given below. The company's and organisations are listed at the end of their website. It would also be awesome if it was UML 2.0 compliant, I can't find any statement on the Umbrello website that states that it is. Love to hear what you think of the idea. http://www.uml.org/
*** Bug 98181 has been marked as a duplicate of this bug. ***
Any comments on getting listed though?
AFAICT only 2.0 compliant tools are eligible.
Partial implementation on r652562
I concur - getting Umbrello up to date version wise is incredible important for acedemic use - It would be very clever if you could select which UML version you imported/exported - wanted/had to work in as well.
Most of UML 2.0 should be there. If you can actually name missing features, let us know.
The following UML 2.0 features are missing in Sequence Diagrams: 1) possibility to use class (not an object) as a target (useful for modelling calls to 'static' methods) 2) possibility to use multi-object as a target 3) Interaction Frames (for modelling loops, conditional execution etc)
(In reply to comment #7) > The following UML 2.0 features are missing in Sequence Diagrams: > > 1) possibility to use class (not an object) as a target (useful for > modelling calls to 'static' methods) works in git master > 2) possibility to use multi-object as a target see 'MultiObject' at http://www.tracemodeler.com/articles/a_quick_introduction_to_uml_sequence_diagrams/ for an example This is a flag in the object widget, which need to be saved in and load from the xmi file and be honoured in the paint() method (junior job) > 3) Interaction Frames (for modelling loops, conditional execution etc) implemented in Januar 2007 by Hassan Kouch
(In reply to comment #6) > Most of UML 2.0 should be there. If you can actually name missing features, > let us know. On component diagrams: * Ports (on component edges) * Required interface aka socket. This is drawn as a half circle.
(In reply to comment #9) > (In reply to comment #6) > > Most of UML 2.0 should be there. If you can actually name missing features, > > let us know. > > On component diagrams: > * Ports (on component edges) > * Required interface aka socket. This is drawn as a half circle. More missing diagrams/elements are listed at http://umbrello.kde.org/features.php?details=1 General * UML 2.0 file format
Git commit d22ed2f5758089d376574337aebdf2e4615ab30b by Oliver Kellogg. Committed on 24/05/2014 at 18:44. Pushed by okellogg into branch 'master'. (In reply to comment #9) > > On component diagrams: > * Ports (on component edges) Here is a first stab at ports. umbrello/pics/sources/port.svg, umbrello/pics/port.png, umbrello/pics/CMakeLists.txt - Port icon temporarily copied from node.{svg,png}, still to be reworked for proper port symbol. umbrello/port.{h,cpp}, umbrello/widgets/portwidget.{h,cpp} - Implementation for new UML object Port and its PortWidget. Known issues: 1) The PortWidget is saved but is not restored on reloading the XMI file. 2) On dragging a port on the diagram, the PortWidget should be made to snap to the nearest edge of the nearest ComponentWidget, i.e. the port should "stick" to a component on moving. umbrello/CMakeLists.txt - Add widgets/portwidget.cpp to libwidgets_SRCS. - Add port.cpp to libumbrello_SRCS. umbrello/umlobject.h - At end of enum ObjectType, add value ot_Port. umbrello/umllistviewitem.h - At enum ListViewType, insert value lvt_Port before end-of-enum mark. umbrello/umllistviewitem.cpp - In functions slotEditFinished() and toString(), handle case lvt_Port. umbrello/icon_utils.h - At enum IconType add value it_Port. umbrello/icon_utils.cpp In function toString(IconType type), handle case it_Port. umbrello/listpopupmenu.h - At enum MenuType add value mt_Port. umbrello/listpopupmenu.cpp - In constructor ListPopupMenu(QWidget*, UMLListViewItem::ListViewType, UMLObject*) handle case UMLListViewItem::lvt_Port. - In function insertSingleSelectionMenu() handle case WidgetBase::wt_Port. - In functions insert() and insertSubMenuNew() handle case mt_Component. - In functions insertSubMenuNew() and setupMenu() handle case mt_Port. umbrello/optionstate.h - In struct GeneralState add member bool uml2. umbrello/umbrello.kcfg - In group "General Options" add entry "uml2" for enabling UML2 notation. umbrello/uml.cpp - In functions saveOptions() and readOptionState() handle new optionState.generalState member uml2. umbrello/umlscene.cpp - In function dragEnterEvent(), set bAccept = true for `ot' value ot_Port. umbrello/model_utils.cpp - In function isCloneable() handle case WidgetBase::wt_Port. - In functions uniqObjectName(), guessContainer(), convert_OT_LVT(), and convert_OT_MT(), handle case UMLObject::ot_Port. - In functions typeIsCanvasWidget(), typeIsAllowedInType(), convert_LVT_IT() handle case UMLListViewItem::lvt_Port. umbrello/object_factory.cpp - In function createNewUMLObject() handle case UMLObject::ot_Port. - In function makeObjectFromXMI handle case UMLDoc::tagEq(xmiTag, "Port"). umbrello/umllistview.cpp - In function slotMenuSelection() handle case ListPopupMenu::mt_Port. - In function connectNewObjectsSlots() handle case UMLObject::ot_Port. - In functions findUMLObjectInFolder(), moveObject(), determineParentItem(), isUnique(), loadChildrenFromXMI(), handle case UMLListViewItem::lvt_Port. - In function slotMenuSelection() handle case ListPopupMenu::mt_Port. umbrello/assocrules.cpp - At AssocRules::m_AssocRules[] add rules for Association and UniAssociation from wt_Port to wt_Interface. umbrello/widgets/widgetbase.h - At end of enum WidgetType, add value wt_Port. umbrello/widgets/widgetbase.cpp - In function slotMenuSelection(), at case ListPopupMenu::mt_Properties, admit `wt' value wt_Port to call of showPropertiesDialog(). umbrello/widgets/umlwidget.cpp - In function widgetHasUMLObject(), return true for `type' value wt_Port. umbrello/widgets/widget_factory.cpp - In function createWidget(), add case for ot_Port setting newWidget to a new PortWidget. umbrello/dialogs/pages/classgeneralpage.cpp - In ClassGeneralPage constructor setup of `name', handle case ot_Port. M +2 -0 umbrello/CMakeLists.txt M +3 -0 umbrello/assocrules.cpp M +3 -0 umbrello/dialogs/pages/classgeneralpage.cpp M +2 -0 umbrello/icon_utils.cpp M +1 -0 umbrello/icon_utils.h M +20 -1 umbrello/listpopupmenu.cpp M +1 -0 umbrello/listpopupmenu.h M +19 -1 umbrello/model_utils.cpp M +6 -0 umbrello/object_factory.cpp M +1 -1 umbrello/optionstate.cpp M +1 -0 umbrello/optionstate.h M +1 -1 umbrello/pics/CMakeLists.txt A +- -- umbrello/pics/port.png A +114 -0 umbrello/pics/sources/port.svg A +69 -0 umbrello/port.cpp [License: GPL (v2+)] A +46 -0 umbrello/port.h [License: GPL (v2+)] M +5 -0 umbrello/umbrello.kcfg M +2 -0 umbrello/uml.cpp M +28 -6 umbrello/umllistview.cpp M +3 -0 umbrello/umllistviewitem.cpp M +1 -0 umbrello/umllistviewitem.h M +2 -1 umbrello/umlobject.h M +2 -0 umbrello/umlscene.cpp M +18 -6 umbrello/widgets/componentwidget.cpp A +101 -0 umbrello/widgets/portwidget.cpp [License: GPL (v2+)] A +49 -0 umbrello/widgets/portwidget.h [License: GPL (v2+)] M +1 -0 umbrello/widgets/umlwidget.cpp M +5 -0 umbrello/widgets/widget_factory.cpp M +1 -0 umbrello/widgets/widgetbase.cpp M +2 -1 umbrello/widgets/widgetbase.h http://commits.kde.org/umbrello/d22ed2f5758089d376574337aebdf2e4615ab30b
Git commit 2265a6f33745c941ad7453a4677560ed7a9fd1e9 by Oliver Kellogg. Committed on 24/05/2014 at 19:45. Pushed by okellogg into branch 'master'. Address known issue of commit d22ed2f, > 1) The PortWidget is saved but is not restored on reloading the XMI file. umbrello/widgets/widget_factory.cpp - In function makeWidgetFromXMI() add handling of tag == "portwidget". M +5 -0 umbrello/widgets/widget_factory.cpp http://commits.kde.org/umbrello/2265a6f33745c941ad7453a4677560ed7a9fd1e9
Git commit cdba7fef0d5c18a04e0a18d8f0c38d2e615930b1 by Oliver Kellogg. Committed on 25/05/2014 at 06:38. Pushed by okellogg into branch 'master'. Address known issue of commit d22ed2f, > 2) On dragging a port on the diagram, the PortWidget should be made to snap to the nearest edge of the nearest ComponentWidget, i.e. the port should "stick" to a component on moving. umbrello/widgets/portwidget.{h,cpp} - New function attachToOwningComponent() aligns the PortWidget's position such that it is attached at one of the sides of its component's widget. - Reimplement function UMLWidget::moveWidgetBy() in order to constrain movement such that the port is always attached to its component. (Not flawless yet - to be improved.) - Change constant `FixedSize' to QSizeF(15, 15). Reason: Use same value for width and height to achieve uniform aspect regardless of the edge at which the port is attached to the component. umbrello/umlscene.{h,cpp} - At function widgetOnDiagram(Uml::ID::Type), change return type from bool to UMLWidget*. Return pointer to the widget corresponding to `id' if it is on the diagram, NULL if not. - In function setupNewWidget(), if `w' is of type wt_Port then delegate its setting of X/Y position to function PortWidget::attachToOwningComponent(). - In function dragEnterEvent() case DiagramType::Component, if `ot' is of type ot_Port then require that the owning component be present on the diagram in order to accept the drag event. M +16 -10 umbrello/umlscene.cpp M +1 -1 umbrello/umlscene.h M +69 -1 umbrello/widgets/portwidget.cpp M +2 -0 umbrello/widgets/portwidget.h http://commits.kde.org/umbrello/cdba7fef0d5c18a04e0a18d8f0c38d2e615930b1
Git commit 900fd73f007dc6710b9b353f1db998ed8ce57abc by Oliver Kellogg. Committed on 25/05/2014 at 20:35. Pushed by okellogg into branch 'master'. Refinement to commit cdba7fe attachment of port to component on diagram umbrello/widgets/portwidget.cpp - In function moveWidgetBy(), - If port is at left or right edge of owner then - If newX is smaller than owner->x() - width() then clip newX to owner->x() - width() - If newX is greater than owner->x() + owner->width() then clip newX to owner->x() + owner->width() - If port is at top or bottom edge of owner then - If newY is smaller than owner->y() - height() then clip newY to owner->y() - height() - If newY is greater than owner->y() + owner->height() then clip newY to owner->y() + owner->height() - In function attachToOwningComponent(), - If scenePos.x() is in the range [ owner->x() - width() : owner->x() + owner->width() ] then use scenePos.x() unmodified in call to setX(). - If scenePos.y() is in the range [ owner->y() - height() : owner->y() + owner->height() ] then use scenePos.y() unmodified in call to setY(). Known issue: On moving a ComponentWidget, its attached PortWidgets should move along. M +28 -16 umbrello/widgets/portwidget.cpp http://commits.kde.org/umbrello/900fd73f007dc6710b9b353f1db998ed8ce57abc
Git commit d0bafb53ebd1a99d6a127321b8f93708f7ee0d91 by Oliver Kellogg. Committed on 26/05/2014 at 20:36. Pushed by okellogg into branch 'master'. Address known issue of commit 900fd73, > On moving a ComponentWidget, its attached PortWidgets should move along. umbrello/widgets/componentwidget.{h,cpp} - Add signal sigCompMoved(qreal diffX, qreal diffY) - Reimplement UMLWidget::moveWidgetBy() for emitting sigCompMoved() umbrello/widgets/portwidget.{h,cpp} - Add slot slotCompMoved(qreal diffX, qreal diffY) - In constructor, connect signal sigCompMoved() of the owning component's widget with own slot slotCompMoved() M +12 -0 umbrello/widgets/componentwidget.cpp M +11 -0 umbrello/widgets/componentwidget.h M +37 -18 umbrello/widgets/portwidget.cpp M +2 -1 umbrello/widgets/portwidget.h http://commits.kde.org/umbrello/d0bafb53ebd1a99d6a127321b8f93708f7ee0d91
Git commit f8d4dbf7fc67e1ce0de180708eb98641b6cdd627 by Oliver Kellogg. Committed on 14/06/2014 at 20:46. Pushed by okellogg into branch 'master'. Permit creation of ports using toolbar for component diagram: umbrello/widgets/toolbarstateonewidget.cpp - In function mouseReleaseWidget() admit currentWidget()->baseType() == WidgetBase::wt_Component to the call of setWidget(currentWidget()) - In function setWidget() handling of widgetType() == WidgetBase::wt_Pin, add handling of m_firstObject->baseType() == WidgetBase::wt_Component: - Open a dialog querying the user for a new port name - If user confirmed port creation then - Let Object_Factory create a UML Port object of given name. The object is owned by the UML Component underlying m_firstObject. - Let Widget_Factory create a PortWidget representing the UML Port and assign this widget to `umlwidget'. umbrello/worktoolbar.cpp - In function slotCheckToolBar(Uml::DiagramType::Enum) switch (m_Type) case Uml::DiagramType::Component, insertHotBtn(tbb_Pin). tbb_Pin is reused for ports. umbrello/widgets/portwidget.cpp - In function attachToOwningComponent() prevent the port from being dropped underneath its owning component (thus becoming inaccessible). This is achieved as follows: If scenePos.x() is in the range [ owner->x() : owner->x() + owner->width() ] and scenePos.y() is in the range [ owner->y() : owner->y() + owner->height() ] then if scenePos.y() is in the top half of owner then setY(owner->y() - height()) else setY(owner->y() + owner->height()) M +18 -7 umbrello/widgets/portwidget.cpp M +21 -4 umbrello/widgets/toolbarstateonewidget.cpp M +1 -0 umbrello/worktoolbar.cpp http://commits.kde.org/umbrello/f8d4dbf7fc67e1ce0de180708eb98641b6cdd627
Git commit 44157ba7bf291e8860db54c921a605f2fecdb4f1 by Oliver Kellogg. Committed on 27/07/2014 at 08:34. Pushed by okellogg into branch 'master'. Support socket (half circle) notation for interface required by component or port on a component diagram: umbrello/widgets/classifierwidget.h - New constant SOCKET_INCREMENT defines the amount by which the socket arc is larger than the interface ball. umbrello/widgets/classifierwidget.cpp - In function shape() add SOCKET_INCREMENT to cirleSize if m_Assocs.size() is larger than 1. The logic is that there can be only one interface provider, i.e. all further associations are related to interface clients. This could perhaps be refined, e.g. to support absence of provider. - In function drawAsCircle() implement drawing of socket for required interface using QPainter::drawArc(). Choose orientation of arc depending on the position of the port/component in relation to the interface: - If port/component is left of interface then draw arc at left - If port/component is right of interface then draw arc at right - If port/component is above interface then draw arc at top - If port/component is below interface then draw arc at bottom - If port/component is close to a diagonal of interface then draw arc oriented to the respective diagonal. M +65 -3 umbrello/widgets/classifierwidget.cpp M +1 -0 umbrello/widgets/classifierwidget.h http://commits.kde.org/umbrello/44157ba7bf291e8860db54c921a605f2fecdb4f1
At https://umbrello.kde.org/features.php you will find all existing UML 2.0 functions that may have been implemented independently of this ticket or can already be used with UML 1.4 means.
A missing feature is the "required interface" representation with a semicircle (see https://developer.ibm.com/articles/the-component-diagram/#another-approach-to-modeling-a-component-s-interfaces). Umbrello only displays this semicircle when another component is connected to the interface via a normal mapping that displays a "provided interface".
Git commit abd6d52e196417188c58f68c5fe7a4c2f2f72082 by Ralf Habacker. Committed on 01/08/2019 at 10:52. Pushed by habacker into branch 'master'. Remove port from component diagram toolbar if UML2 is not enabled M +6 -1 umbrello/dialogs/pages/generaloptionpage.cpp M +2 -1 umbrello/dialogs/pages/generaloptionpage.h M +2 -1 umbrello/worktoolbar.cpp https://commits.kde.org/umbrello/abd6d52e196417188c58f68c5fe7a4c2f2f72082
Git commit 264e9e08e7b817875ccd946bc6975afd54a79565 by Ralf Habacker. Committed on 01/08/2019 at 11:22. Pushed by habacker into branch 'master'. Fix icon for UML2 components If UML2 is not activated, the icon "component1" is used for components. M +2 -1 umbrello/icon_utils.cpp M +2 -0 umbrello/icons.qrc M +2 -0 umbrello/pics/CMakeLists.txt M +- -- umbrello/pics/component.png C +- -- umbrello/pics/component1.png [from: umbrello/pics/component.png - 087% similarity] M +- -- umbrello/pics/cursor-component.png C +- -- umbrello/pics/cursor-component1.png [from: umbrello/pics/cursor-component.png - 086% similarity] M +155 -58 umbrello/pics/sources/component.svg C +0 -0 umbrello/pics/sources/component1.svg [from: umbrello/pics/sources/component.svg - 100% similarity] https://commits.kde.org/umbrello/264e9e08e7b817875ccd946bc6975afd54a79565
Git commit ab3fe4cd1e8f4f367efe92bb8aae1df6d5ce8cfa by Ralf Habacker. Committed on 02/08/2019 at 14:38. Pushed by habacker into branch 'Applications/19.08'. Fix icon for UML2 components If UML2 is not activated, the icon "component1" is used for components. M +2 -1 umbrello/icon_utils.cpp M +2 -0 umbrello/icons.qrc M +2 -0 umbrello/pics/CMakeLists.txt M +- -- umbrello/pics/component.png C +- -- umbrello/pics/component1.png [from: umbrello/pics/component.png - 087% similarity] M +- -- umbrello/pics/cursor-component.png C +- -- umbrello/pics/cursor-component1.png [from: umbrello/pics/cursor-component.png - 086% similarity] M +155 -58 umbrello/pics/sources/component.svg C +0 -0 umbrello/pics/sources/component1.svg [from: umbrello/pics/sources/component.svg - 100% similarity] https://commits.kde.org/umbrello/ab3fe4cd1e8f4f367efe92bb8aae1df6d5ce8cfa
Git commit 563bed34a52f79f92b0f9b4c6f91e4d4535b2f33 by Ralf Habacker. Committed on 02/08/2019 at 23:05. Pushed by habacker into branch 'master'. Add icon for "required interface" M +1 -0 umbrello/icon_utils.cpp M +1 -0 umbrello/icon_utils.h M +2 -0 umbrello/pics/CMakeLists.txt A +- -- umbrello/pics/cursor-interface-requirement.png A +- -- umbrello/pics/interface-requirement.png A +134 -0 umbrello/pics/sources/interface-requirement.svg https://commits.kde.org/umbrello/563bed34a52f79f92b0f9b4c6f91e4d4535b2f33
Git commit 37ad1009fba12375514d5a24b9964bee7c73b3af by Ralf Habacker. Committed on 03/08/2019 at 16:34. Pushed by habacker into branch 'Applications/19.08'. Component symbol made more unique by enlarging the inner rectangle M +- -- umbrello/pics/component.png M +- -- umbrello/pics/cursor-component.png M +15 -15 umbrello/pics/sources/component.svg https://commits.kde.org/umbrello/37ad1009fba12375514d5a24b9964bee7c73b3af
Git commit 48ae6b8ec83505a22cdc8811feeafa3040db13a7 by Ralf Habacker. Committed on 05/08/2019 at 04:58. Pushed by habacker into branch 'master'. Add UML2 support for "required interface" associations With UML2 a "required interface" association is created by adding a normal association from the interface to the component, wherein adding an association from the component to the interface creates a "provided interface". With UML1, according to current research, there is no visible label for a required interface mapping. This behavior has been corrected. M +142 -136 umbrello/assocrules.cpp M +2 -0 umbrello/assocrules.h M +2 -0 umbrello/icons.qrc M +25 -14 umbrello/umlwidgets/classifierwidget.cpp https://commits.kde.org/umbrello/48ae6b8ec83505a22cdc8811feeafa3040db13a7
Git commit 3d1984979cd3b621bd4e7c6db38433d18a550672 by Ralf Habacker. Committed on 06/08/2019 at 12:39. Pushed by habacker into branch 'Applications/19.08'. Add UML2 support for "required interface" associations With UML2 a "required interface" association is created by adding a normal association from the interface to the component, wherein adding an association from the component to the interface creates a "provided interface". With UML1, according to current research, there is no visible label for a required interface mapping. This behavior has been corrected. Related: bug 403808 (cherry picked from commit 48ae6b8ec83505a22cdc8811feeafa3040db13a7) M +142 -136 umbrello/assocrules.cpp M +2 -0 umbrello/assocrules.h M +25 -14 umbrello/umlwidgets/classifierwidget.cpp https://commits.kde.org/umbrello/3d1984979cd3b621bd4e7c6db38433d18a550672
Git commit 00ca55576b815ddd54466d1da48eeecf04d6b0d2 by Ralf Habacker. Committed on 06/08/2019 at 12:40. Pushed by habacker into branch 'Applications/19.08'. Activate newly added association rules for UML2 "required interface" Fixup of commit 48ae6b8ec83505a22cdc8811feeafa3040db13a7. (cherry picked from commit 0514f21fbc66e54a3afb8e91d89e38b127ac1ff2) Related: bug 403808 FIXED-IN:2.29.0 (KDE Applications 19.08.0) M +3 -4 umbrello/assocrules.cpp https://commits.kde.org/umbrello/00ca55576b815ddd54466d1da48eeecf04d6b0d2
Git commit 41dccb81fe3147095d722f1a0e35cdf4aac3d659 by Ralf Habacker. Committed on 28/10/2019 at 20:35. Pushed by habacker into branch 'master'. Fix icon for provided interface in work toolbar M +1 -1 umbrello/worktoolbar.cpp https://commits.kde.org/umbrello/41dccb81fe3147095d722f1a0e35cdf4aac3d659
Git commit f4ce547d518c912f01f30fe12cb9c72c6c71d43e by Ralf Habacker. Committed on 28/10/2019 at 20:35. Pushed by habacker into branch 'master'. Add required interface to work toolbar M +5 -0 umbrello/worktoolbar.cpp M +2 -0 umbrello/worktoolbar.h https://commits.kde.org/umbrello/f4ce547d518c912f01f30fe12cb9c72c6c71d43e
Git commit 2807dcca8996b22222972e4ff699d1d4046329f3 by Ralf Habacker. Committed on 06/02/2020 at 00:11. Pushed by habacker into branch 'release/19.12'. Fix using wrong name for slotInterfaceRequired() in class WorkToolBar Fixup of commit f4ce547d51 M +1 -1 umbrello/worktoolbar.cpp https://invent.kde.org/kde/umbrello/commit/2807dcca8996b22222972e4ff699d1d4046329f3
Git commit b57c76163be60160b4559cd6c7857e1c911196f3 by Oliver Kellogg. Committed on 26/12/2021 at 23:00. Pushed by okellogg into branch 'master'. Enhancement: Write UML2 XMI format when UML2 mode is selected. Directory umbrello/uml1model is renamed to umbrello/umlmodel to reflect how the enhancement is implemented (same source file for UML1 and UML2 mode). Changes: umbrello/CMakeLists.txt umbrello/codeimport/CMakeLists.txt unittests/CMakeLists.txt - Adjust include_directories et al. to renamed directory `umlmodel'. umbrello/clipboard/umldragdata.cpp umbrello/cmds/cmdremovediagram.cpp umbrello/cmds/widget/cmdcreatewidget.cpp umbrello/cmds/widget/cmdremovewidget.cpp umbrello/codegenerators/classifiercodedocument.{h,cpp} umbrello/codegenerators/codeaccessormethod.{h,cpp} umbrello/codegenerators/codeblock.{h,cpp} umbrello/codegenerators/codeblockwithcomments.{h,cpp} umbrello/codegenerators/codeclassfield.{h,cpp} umbrello/codegenerators/codeclassfielddeclarationblock.{h,cpp} umbrello/codegenerators/codecomment.{h,cpp} umbrello/codegenerators/codedocument.{h,cpp} umbrello/codegenerators/codegenerator.{h,cpp} umbrello/codegenerators/codegenobjectwithtextblocks.{h,cpp} umbrello/codegenerators/codeoperation.{h,cpp} umbrello/codegenerators/cpp/cppcodecomment.{h,cpp} umbrello/codegenerators/cpp/cppcodedocumentation.{h,cpp} umbrello/codegenerators/cpp/cppcodegenerator.{h,cpp} umbrello/codegenerators/cpp/cppheaderclassdeclarationblock.{h,cpp} umbrello/codegenerators/cpp/cppheadercodedocument.{h,cpp} umbrello/codegenerators/d/dclassdeclarationblock.{h,cpp} umbrello/codegenerators/d/dcodecomment.{h,cpp} umbrello/codegenerators/d/dcodedocumentation.{h,cpp} umbrello/codegenerators/hierarchicalcodeblock.{h,cpp} umbrello/codegenerators/java/javaantcodedocument.{h,cpp} umbrello/codegenerators/java/javaclassdeclarationblock.{h,cpp} umbrello/codegenerators/java/javacodedocumentation.{h,cpp} umbrello/codegenerators/ownedhierarchicalcodeblock.h umbrello/codegenerators/ruby/rubyclassdeclarationblock.{h,cpp} umbrello/codegenerators/ruby/rubycodedocumentation.{h,cpp} umbrello/codegenerators/textblock.h umbrello/codegenerators/xml/xmlelementcodeblock.{h,cpp} umbrello/docgenerators/docbookgeneratorjob.cpp umbrello/optionstate.{h,cpp} umbrello/umldoc.{h,cpp} umbrello/umllistview.{h,cpp} umbrello/umllistviewitem.{h,cpp} umbrello/umlmodel/umlobject.{h,cpp} umbrello/umlmodel/actor.{h,cpp} umbrello/umlmodel/artifact.{h,cpp} umbrello/umlmodel/association.{h,cpp} umbrello/umlmodel/attribute.{h,cpp} umbrello/umlmodel/category.{h,cpp} umbrello/umlmodel/checkconstraint.{h,cpp} umbrello/umlmodel/classifier.{h,cpp} umbrello/umlmodel/component.{h,cpp} umbrello/umlmodel/datatype.{h,cpp} umbrello/umlmodel/entity.{h,cpp} umbrello/umlmodel/entityattribute.{h,cpp} umbrello/umlmodel/enum.{h,cpp} umbrello/umlmodel/enumliteral.{h,cpp} umbrello/umlmodel/folder.{h,cpp} umbrello/umlmodel/foreignkeyconstraint.{h,cpp} umbrello/umlmodel/instance.{h,cpp} umbrello/umlmodel/instanceattribute.{h,cpp} umbrello/umlmodel/node.{h,cpp} umbrello/umlmodel/operation.{h,cpp} umbrello/umlmodel/package.{h,cpp} umbrello/umlmodel/port.{h,cpp} umbrello/umlmodel/stereotype.{h,cpp} umbrello/umlmodel/template.{h,cpp} umbrello/umlmodel/umlcanvasobject.h umbrello/umlmodel/umlrole.{h,cpp} umbrello/umlmodel/uniqueconstraint.{h,cpp} umbrello/umlwidgets/activitywidget.{h,cpp} umbrello/umlwidgets/actorwidget.{h,cpp} umbrello/umlwidgets/artifactwidget.{h,cpp} umbrello/umlwidgets/associationline.{h,cpp} umbrello/umlwidgets/associationwidget.{h,cpp} umbrello/umlwidgets/associationwidgetrole.{h,cpp} umbrello/umlwidgets/boxwidget.{h,cpp} umbrello/umlwidgets/categorywidget.{h,cpp} umbrello/umlwidgets/classifierwidget.{h,cpp} umbrello/umlwidgets/combinedfragmentwidget.{h,cpp} umbrello/umlwidgets/componentwidget.{h,cpp} umbrello/umlwidgets/datatypewidget.{h,cpp} umbrello/umlwidgets/diagramproxywidget.{h,cpp} umbrello/umlwidgets/entitywidget.{h,cpp} umbrello/umlwidgets/enumwidget.{h,cpp} umbrello/umlwidgets/floatingdashlinewidget.{h,cpp} umbrello/umlwidgets/floatingtextwidget.{h,cpp} umbrello/umlwidgets/forkjoinwidget.{h,cpp} umbrello/umlwidgets/linkwidget.{h,cpp} umbrello/umlwidgets/messagewidget.{h,cpp} umbrello/umlwidgets/nodewidget.{h,cpp} umbrello/umlwidgets/notewidget.{h,cpp} umbrello/umlwidgets/objectnodewidget.{h,cpp} umbrello/umlwidgets/objectwidget.{h,cpp} umbrello/umlwidgets/packagewidget.{h,cpp} umbrello/umlwidgets/pinportbase.{h,cpp} umbrello/umlwidgets/preconditionwidget.{h,cpp} umbrello/umlwidgets/regionwidget.{h,cpp} umbrello/umlwidgets/signalwidget.{h,cpp} umbrello/umlwidgets/statewidget.{h,cpp} umbrello/umlwidgets/umlwidget.{h,cpp} umbrello/umlwidgets/usecasewidget.{h,cpp} umbrello/umlwidgets/widgetbase.{h,cpp} umbrello/umlmodel/uniqueconstraint.{h,cpp} umbrello/umlmodel/usecase.{h,cpp} umbrello/umlscene.{h,cpp} unittests/testbase.h unittests/testoptionstate.cpp - Rename saveToXMI1/loadFromXMI1 function definitions and invocations to saveToXMI/loadFromXMI. umbrello/model_utils.cpp - In function getXmiId recognize "xmi:id" before attempting "xmi.id". umbrello/object_factory.cpp - In function makeObjectFromXMI return new UMLAssociation for xmiTag "interfaceRealization". umbrello/umldoc.cpp - Additionally rename function loadUMLObjectsFromXMI1 to loadUMLObjectsFromXMI. - In function saveToXMI write UML2 XMI format when in UML2 mode: - Write start element "xmi:XMI" instead of "XMI". - Write attribute "xmi:version" instead of "xmi.version". - Additionally write attributes "xmlns:xmi" and "xmlns:xsi". - Do not write start element "XMI.header" but do write some of the elements contained therein. - Write start element xmi:Documentation instead of XMI.documentation. - Write start element "uml:Model" instead of "UML:Model". - Write attribute "xmi:id" instead of "xmi.id". - Do not write attributes "isSpecification", "isAbstract", "isRoot", "isLeaf". - Write start element "xmi:Extension" instead of "XMI.extensions". - In function encoding(QIODevice&), if element.tagName() is "xmi:Documentation" then return ENC_UNICODE. - In function loadFromXMI handle outerTag "xmi:Extension" alongside "XMI.extensions". umbrello/umlmodel/umlobject.{h,cpp} - At function save1: - Switch order of arguments (`writer' comes first, then `type'). - No longer expect argument `type' to carry an XMI namespace (the XMI namespace is added locally when in UML1 mode). - Add optional argument `tag' defaulting to QString(). umbrello/umlmodel/association.cpp umbrello/umlmodel/component.cpp umbrello/umlmodel/enumliteral.cpp umbrello/umlmodel/entity.cpp umbrello/umlmodel/entityattribute.cpp umbrello/umlmodel/foreignkeyconstraint.cpp umbrello/umlmodel/instance.cpp umbrello/umlmodel/node.cpp umbrello/umlmodel/operation.cpp umbrello/umlmodel/package.cpp umbrello/umlmodel/port.cpp umbrello/umlmodel/stereotype.cpp umbrello/umlmodel/template.cpp umbrello/umlmodel/umlrole.cpp umbrello/umlmodel/uniqueconstraint.cpp umbrello/umlmodel/uniqueconstraint.cpp umbrello/umlmodel/usecase.cpp unittests/testumlobject.cpp - In function saveToXMI1 call to UMLObject::save1(), - adjust arguments to changed order; - omit hard coded namespace prefix "UML:" on `type' argument; - provide value for new argument `tag' as required by UML2. umbrello/umlmodel/association.cpp - In function saveToXMI: - In case m_AssocType Uml::AssociationType::Realization, if Settings::optionState().generalState.uml2 is true then write tag "interfaceRealization" in lieu of "UML:Abstraction". - When producing the XMI for "Association" in UML2 mode do not write the start element "UML:Association.connection" but do write its content. The content may still change for UML2 compliance. umbrello/umlmodel/attribute.cpp - In function saveToXMI, if Settings::optionState().generalState.uml2 is true then call UMLObject::save1() with type "Property" and tag "ownedAttribute". umbrello/umlmodel/classifier.cpp - In function saveToXMI1: - Omit XML namespace prefix "UML:" from `tag'. - On saving templates in UML2 mode, do not produce the "UML:ModelElement.templateParameter" envelope element but do produce its content. - On saving generalizations in UML2 mode, do not produce the "UML:GeneralizableElement.generalization" envelope element but do produce its content (adjusted to UML2 format). - On saving attributes (attList) and operations (opList) in UML2 mode, do not produce the"UML:Classifier.feature" envelope element but do produce its content. - On saving contained objects in UML2 mode, do not produce the "UML:Namespace.ownedElement" envelope element but do produce its content. - In function makeChildObject handle xmiTag ClassifierTemplateParameter alongside "TemplateParameter". umbrello/umlmodel/component.cpp - In function saveToXMI1, if Settings::optionState().generalState.uml2 is true then do not produce the "UML:Namespace.ownedElement" envelope element but do produce its content. - In function load1 loop over nodes of `element', if the tag in `type' is "ownedAttribute" then set `type' to the value of tempElement's "xmi:type" XML attribute. umbrello/umlmodel/entity.cpp - In function load1 loop over nodes of `element', if the tag in `type' is "ownedAttribute" then set `type' to the value of tempElement's "xmi:type" XML attribute. umbrello/umlmodel/enum.cpp - In function saveToXMI1, if Settings::optionState().generalState.uml2 is true then do not produce the "UML:Enumeration.literal" envelope element but do produce its content. umbrello/umlmodel/folder.{h,cpp} - Additionally rename function saveContents1 to saveContents. - In function saveContents, if Settings::optionState().generalState.uml2 is true then - do not produce the "UML:Namespace.ownedElement" envelope element but do produce its content; - on handling m_diagrams, produce start element "xmi:Extension" in lieu of "XMI.extension". - In function save1: - Omit XML namespace prefix "UML:" from elementName, it will be added by UMLObject::save1. - Adjust call to UMLObject::save1() to changed order of arguments and provide special value "<use_type_as_tag>" as tag argument. - In function saveToXMI1, on creating the extension stub in the main file, in UML2 mode produce start element "xmi:Extension" in lieu of "XMI.extension". - In function load1: - Handle type "xmi:Extension" alongside "XMI.extension". - Remove check for invalid namespaces. Reason: The "namespace" XML argument is non standard and is not produced in UML2 mode. umbrello/umlmodel/instanceattribute.cpp - In function saveToXMI, if Settings::optionState().generalState.uml2 is true then write attribute "xmi:id" in lieu of "xmi.id". umbrello/umlmodel/operation.cpp - In function saveToXMI1: - Do not produce the "UML:BehavioralFeature.parameter" envelope element but do produce its content. - Use the XML attribute name "direction" for indicating the parameter's "in out" or "out" calling convention. - Produce the tag "ownedParameter" and produce the "xmi:type" attribute set to "uml:Parameter". - Use the XML attribute name "xmi:id" for writing m_returnId. - In function load1 handle tag "ownedParameter" alongside "Parameter". umbrello/umlmodel/package.cpp - In function saveToXMI, if Settings::optionState().generalState.uml2 is true then do not produce the "UML:Namespace.ownedElement" envelope element but do produce its content. umbrello/umlmodel/stereotype.cpp - In function saveToXMI, if Settings::optionState().generalState.uml2 is true then - do not produce the "UML:Stereotype.feature" envelope element but do produce its content; - produce the attribute definitions using XML tag "ownedAttribute". umbrello/umlmodel/umlrole.cpp - In function load1 use function Model_Utils::getXmiId to abstract away the difference in XMI ID attribute (UML1 "xmi.id" vs. UML2 "xmi:id"). umbrello/umlmodel/uniqueconstraint.cpp - In function load1 loop over node, if tag is "ownedAttribute" then set tag to the value of the "xmi:type" attribute of tempElement. umbrello/version.h - Rename XMI_FILE_VERSION to XMI1_FILE_VERSION. - Add XMI2_FILE_VERSION with value "2.0.0". XMI2_FILE_VERSION indicates the exporterVersion when UML2 support is enabled, i.e. when Settings::optionState().generalState.uml2 is true. The idea is that the UML1 XMI format will use versions below "2.0.0". M +36 -36 umbrello/CMakeLists.txt M +17 -17 umbrello/clipboard/umldragdata.cpp M +3 -3 umbrello/cmds/cmdremovediagram.cpp M +4 -4 umbrello/cmds/widget/cmdcreatewidget.cpp M +5 -5 umbrello/cmds/widget/cmdremovewidget.cpp M +4 -4 umbrello/codegenerators/classifiercodedocument.cpp M +2 -2 umbrello/codegenerators/classifiercodedocument.h M +3 -3 umbrello/codegenerators/codeaccessormethod.cpp M +3 -3 umbrello/codegenerators/codeaccessormethod.h M +3 -3 umbrello/codegenerators/codeblock.cpp M +3 -3 umbrello/codegenerators/codeblock.h M +6 -6 umbrello/codegenerators/codeblockwithcomments.cpp M +3 -3 umbrello/codegenerators/codeblockwithcomments.h M +7 -7 umbrello/codegenerators/codeclassfield.cpp M +3 -3 umbrello/codegenerators/codeclassfield.h M +2 -2 umbrello/codegenerators/codeclassfielddeclarationblock.cpp M +3 -3 umbrello/codegenerators/codeclassfielddeclarationblock.h M +3 -3 umbrello/codegenerators/codecomment.cpp M +3 -3 umbrello/codegenerators/codecomment.h M +4 -4 umbrello/codegenerators/codedocument.cpp M +2 -2 umbrello/codegenerators/codedocument.h M +4 -4 umbrello/codegenerators/codegenerator.cpp M +2 -2 umbrello/codegenerators/codegenerator.h M +7 -7 umbrello/codegenerators/codegenobjectwithtextblocks.cpp M +3 -3 umbrello/codegenerators/codeoperation.cpp M +3 -3 umbrello/codegenerators/codeoperation.h M +3 -3 umbrello/codegenerators/codeparameter.cpp M +2 -2 umbrello/codegenerators/cpp/cppcodecomment.cpp M +2 -2 umbrello/codegenerators/cpp/cppcodecomment.h M +2 -2 umbrello/codegenerators/cpp/cppcodedocumentation.cpp M +2 -2 umbrello/codegenerators/cpp/cppcodedocumentation.h M +3 -3 umbrello/codegenerators/cpp/cppcodegenerator.cpp M +1 -1 umbrello/codegenerators/cpp/cppcodegenerator.h M +3 -3 umbrello/codegenerators/cpp/cppheaderclassdeclarationblock.cpp M +3 -3 umbrello/codegenerators/cpp/cppheaderclassdeclarationblock.h M +7 -7 umbrello/codegenerators/cpp/cppheadercodedocument.cpp M +2 -2 umbrello/codegenerators/cpp/cppheadercodedocument.h M +3 -3 umbrello/codegenerators/d/dclassdeclarationblock.cpp M +3 -3 umbrello/codegenerators/d/dclassdeclarationblock.h M +10 -10 umbrello/codegenerators/d/dclassifiercodedocument.cpp M +2 -2 umbrello/codegenerators/d/dcodecomment.cpp M +2 -2 umbrello/codegenerators/d/dcodecomment.h M +2 -2 umbrello/codegenerators/d/dcodedocumentation.cpp M +2 -2 umbrello/codegenerators/d/dcodedocumentation.h M +3 -3 umbrello/codegenerators/hierarchicalcodeblock.cpp M +3 -3 umbrello/codegenerators/hierarchicalcodeblock.h M +8 -8 umbrello/codegenerators/java/javaantcodedocument.cpp M +2 -2 umbrello/codegenerators/java/javaantcodedocument.h M +3 -3 umbrello/codegenerators/java/javaclassdeclarationblock.cpp M +3 -3 umbrello/codegenerators/java/javaclassdeclarationblock.h M +10 -10 umbrello/codegenerators/java/javaclassifiercodedocument.cpp M +2 -2 umbrello/codegenerators/java/javacodedocumentation.cpp M +2 -2 umbrello/codegenerators/java/javacodedocumentation.h M +3 -3 umbrello/codegenerators/ownedhierarchicalcodeblock.h M +3 -3 umbrello/codegenerators/ruby/rubyclassdeclarationblock.cpp M +3 -3 umbrello/codegenerators/ruby/rubyclassdeclarationblock.h M +10 -10 umbrello/codegenerators/ruby/rubyclassifiercodedocument.cpp M +2 -2 umbrello/codegenerators/ruby/rubycodedocumentation.cpp M +2 -2 umbrello/codegenerators/ruby/rubycodedocumentation.h M +3 -3 umbrello/codegenerators/textblock.h M +3 -3 umbrello/codegenerators/xml/xmlelementcodeblock.cpp M +3 -3 umbrello/codegenerators/xml/xmlelementcodeblock.h M +1 -1 umbrello/codeimport/CMakeLists.txt M +1 -1 umbrello/docgenerators/docbookgeneratorjob.cpp M +2 -2 umbrello/import_argo.cpp M +2 -2 umbrello/model_utils.cpp M +3 -2 umbrello/object_factory.cpp M +13 -13 umbrello/optionstate.cpp M +13 -13 umbrello/optionstate.h M +95 -72 umbrello/umldoc.cpp M +3 -3 umbrello/umldoc.h M +3 -3 umbrello/umllistview.cpp M +2 -2 umbrello/umllistview.h M +5 -5 umbrello/umllistviewitem.cpp M +2 -2 umbrello/umllistviewitem.h R +3 -3 umbrello/umlmodel/actor.cpp [from: umbrello/uml1model/actor.cpp - 083% similarity] R +2 -2 umbrello/umlmodel/actor.h [from: umbrello/uml1model/actor.h - 088% similarity] R +2 -2 umbrello/umlmodel/artifact.cpp [from: umbrello/uml1model/artifact.cpp - 095% similarity] R +1 -1 umbrello/umlmodel/artifact.h [from: umbrello/uml1model/artifact.h - 096% similarity] R +25 -14 umbrello/umlmodel/association.cpp [from: umbrello/uml1model/association.cpp - 094% similarity] R +2 -2 umbrello/umlmodel/association.h [from: umbrello/uml1model/association.h - 096% similarity] R +8 -3 umbrello/umlmodel/attribute.cpp [from: umbrello/uml1model/attribute.cpp - 097% similarity] R +1 -1 umbrello/umlmodel/attribute.h [from: umbrello/uml1model/attribute.h - 097% similarity] R +3 -3 umbrello/umlmodel/category.cpp [from: umbrello/uml1model/category.cpp - 090% similarity] R +2 -2 umbrello/umlmodel/category.h [from: umbrello/uml1model/category.h - 091% similarity] R +2 -2 umbrello/umlmodel/checkconstraint.cpp [from: umbrello/uml1model/checkconstraint.cpp - 096% similarity] R +1 -1 umbrello/umlmodel/checkconstraint.h [from: umbrello/uml1model/checkconstraint.h - 097% similarity] R +53 -26 umbrello/umlmodel/classifier.cpp [from: umbrello/uml1model/classifier.cpp - 095% similarity] R +1 -1 umbrello/umlmodel/classifier.h [from: umbrello/uml1model/classifier.h - 099% similarity] R +0 -0 umbrello/umlmodel/classifierlistitem.cpp [from: umbrello/uml1model/classifierlistitem.cpp - 100% similarity] R +0 -0 umbrello/umlmodel/classifierlistitem.h [from: umbrello/uml1model/classifierlistitem.h - 100% similarity] R +14 -6 umbrello/umlmodel/component.cpp [from: umbrello/uml1model/component.cpp - 082% similarity] R +1 -1 umbrello/umlmodel/component.h [from: umbrello/uml1model/component.h - 095% similarity] R +3 -3 umbrello/umlmodel/datatype.cpp [from: umbrello/uml1model/datatype.cpp - 093% similarity] R +2 -2 umbrello/umlmodel/datatype.h [from: umbrello/uml1model/datatype.h - 089% similarity] R +12 -9 umbrello/umlmodel/entity.cpp [from: umbrello/uml1model/entity.cpp - 097% similarity] R +1 -1 umbrello/umlmodel/entity.h [from: umbrello/uml1model/entity.h - 098% similarity] R +2 -2 umbrello/umlmodel/entityattribute.cpp [from: umbrello/uml1model/entityattribute.cpp - 097% similarity] R +1 -1 umbrello/umlmodel/entityattribute.h [from: umbrello/uml1model/entityattribute.h - 097% similarity] R +0 -0 umbrello/umlmodel/entityconstraint.cpp [from: umbrello/uml1model/entityconstraint.cpp - 100% similarity] R +0 -0 umbrello/umlmodel/entityconstraint.h [from: umbrello/uml1model/entityconstraint.h - 100% similarity] R +11 -6 umbrello/umlmodel/enum.cpp [from: umbrello/uml1model/enum.cpp - 094% similarity] R +1 -1 umbrello/umlmodel/enum.h [from: umbrello/uml1model/enum.h - 096% similarity] R +2 -2 umbrello/umlmodel/enumliteral.cpp [from: umbrello/uml1model/enumliteral.cpp - 095% similarity] R +1 -1 umbrello/umlmodel/enumliteral.h [from: umbrello/uml1model/enumliteral.h - 096% similarity] R +39 -34 umbrello/umlmodel/folder.cpp [from: umbrello/uml1model/folder.cpp - 090% similarity] R +3 -3 umbrello/umlmodel/folder.h [from: umbrello/uml1model/folder.h - 093% similarity] R +2 -2 umbrello/umlmodel/foreignkeyconstraint.cpp [from: umbrello/uml1model/foreignkeyconstraint.cpp - 098% similarity] R +1 -1 umbrello/umlmodel/foreignkeyconstraint.h [from: umbrello/uml1model/foreignkeyconstraint.h - 098% similarity] R +4 -4 umbrello/umlmodel/instance.cpp [from: umbrello/uml1model/instance.cpp - 096% similarity] R +1 -1 umbrello/umlmodel/instance.h [from: umbrello/uml1model/instance.h - 097% similarity] R +7 -2 umbrello/umlmodel/instanceattribute.cpp [from: umbrello/uml1model/instanceattribute.cpp - 092% similarity] R +1 -1 umbrello/umlmodel/instanceattribute.h [from: umbrello/uml1model/instanceattribute.h - 097% similarity] R +3 -3 umbrello/umlmodel/node.cpp [from: umbrello/uml1model/node.cpp - 083% similarity] R +2 -2 umbrello/umlmodel/node.h [from: umbrello/uml1model/node.h - 087% similarity] R +27 -14 umbrello/umlmodel/operation.cpp [from: umbrello/uml1model/operation.cpp - 092% similarity] R +1 -1 umbrello/umlmodel/operation.h [from: umbrello/uml1model/operation.h - 098% similarity] R +12 -8 umbrello/umlmodel/package.cpp [from: umbrello/uml1model/package.cpp - 096% similarity] R +1 -1 umbrello/umlmodel/package.h [from: umbrello/uml1model/package.h - 097% similarity] R +3 -3 umbrello/umlmodel/port.cpp [from: umbrello/uml1model/port.cpp - 081% similarity] R +2 -2 umbrello/umlmodel/port.h [from: umbrello/uml1model/port.h - 087% similarity] R +12 -5 umbrello/umlmodel/stereotype.cpp [from: umbrello/uml1model/stereotype.cpp - 089% similarity] R +2 -2 umbrello/umlmodel/stereotype.h [from: umbrello/uml1model/stereotype.h - 095% similarity] R +6 -2 umbrello/umlmodel/template.cpp [from: umbrello/uml1model/template.cpp - 089% similarity] R +1 -1 umbrello/umlmodel/template.h [from: umbrello/uml1model/template.h - 096% similarity] R +0 -0 umbrello/umlmodel/umlassociationlist.h [from: umbrello/uml1model/umlassociationlist.h - 100% similarity] R +0 -0 umbrello/umlmodel/umlattributelist.cpp [from: umbrello/uml1model/umlattributelist.cpp - 100% similarity] R +0 -0 umbrello/umlmodel/umlattributelist.h [from: umbrello/uml1model/umlattributelist.h - 100% similarity] R +0 -0 umbrello/umlmodel/umlcanvasobject.cpp [from: umbrello/uml1model/umlcanvasobject.cpp - 100% similarity] R +1 -1 umbrello/umlmodel/umlcanvasobject.h [from: umbrello/uml1model/umlcanvasobject.h - 098% similarity] R +0 -0 umbrello/umlmodel/umlclassifierlist.h [from: umbrello/uml1model/umlclassifierlist.h - 100% similarity] R +0 -0 umbrello/umlmodel/umlclassifierlistitemlist.cpp [from: umbrello/uml1model/umlclassifierlistitemlist.cpp - 100% similarity] R +0 -0 umbrello/umlmodel/umlclassifierlistitemlist.h [from: umbrello/uml1model/umlclassifierlistitemlist.h - 100% similarity] R +0 -0 umbrello/umlmodel/umlentityattributelist.cpp [from: umbrello/uml1model/umlentityattributelist.cpp - 100% similarity] R +0 -0 umbrello/umlmodel/umlentityattributelist.h [from: umbrello/uml1model/umlentityattributelist.h - 100% similarity] R +0 -0 umbrello/umlmodel/umlentityconstraintlist.cpp [from: umbrello/uml1model/umlentityconstraintlist.cpp - 100% similarity] R +0 -0 umbrello/umlmodel/umlentityconstraintlist.h [from: umbrello/uml1model/umlentityconstraintlist.h - 100% similarity] R +0 -0 umbrello/umlmodel/umlentitylist.h [from: umbrello/uml1model/umlentitylist.h - 100% similarity] R +0 -0 umbrello/umlmodel/umlenumliterallist.h [from: umbrello/uml1model/umlenumliterallist.h - 100% similarity] R +59 -29 umbrello/umlmodel/umlobject.cpp [from: umbrello/uml1model/umlobject.cpp - 093% similarity] R +4 -4 umbrello/umlmodel/umlobject.h [from: umbrello/uml1model/umlobject.h - 098% similarity] R +0 -0 umbrello/umlmodel/umlobjectlist.cpp [from: umbrello/uml1model/umlobjectlist.cpp - 100% similarity] R +0 -0 umbrello/umlmodel/umlobjectlist.h [from: umbrello/uml1model/umlobjectlist.h - 100% similarity] R +0 -0 umbrello/umlmodel/umlobjectprivate.h [from: umbrello/uml1model/umlobjectprivate.h - 100% similarity] R +0 -0 umbrello/umlmodel/umloperationlist.h [from: umbrello/uml1model/umloperationlist.h - 100% similarity] R +0 -0 umbrello/umlmodel/umlpackagelist.h [from: umbrello/uml1model/umlpackagelist.h - 100% similarity] R +7 -5 umbrello/umlmodel/umlrole.cpp [from: umbrello/uml1model/umlrole.cpp - 097% similarity] R +2 -2 umbrello/umlmodel/umlrole.h [from: umbrello/uml1model/umlrole.h - 092% similarity] R +0 -0 umbrello/umlmodel/umlstereotypelist.h [from: umbrello/uml1model/umlstereotypelist.h - 100% similarity] R +0 -0 umbrello/umlmodel/umltemplatelist.h [from: umbrello/uml1model/umltemplatelist.h - 100% similarity] R +6 -3 umbrello/umlmodel/uniqueconstraint.cpp [from: umbrello/uml1model/uniqueconstraint.cpp - 096% similarity] R +1 -1 umbrello/umlmodel/uniqueconstraint.h [from: umbrello/uml1model/uniqueconstraint.h - 097% similarity] R +3 -3 umbrello/umlmodel/usecase.cpp [from: umbrello/uml1model/usecase.cpp - 083% similarity] R +2 -2 umbrello/umlmodel/usecase.h [from: umbrello/uml1model/usecase.h - 087% similarity] M +16 -16 umbrello/umlscene.cpp M +2 -2 umbrello/umlscene.h M +5 -5 umbrello/umlwidgets/activitywidget.cpp M +3 -3 umbrello/umlwidgets/activitywidget.h M +3 -3 umbrello/umlwidgets/actorwidget.cpp M +2 -2 umbrello/umlwidgets/actorwidget.h M +3 -3 umbrello/umlwidgets/artifactwidget.cpp M +2 -2 umbrello/umlwidgets/artifactwidget.h M +2 -2 umbrello/umlwidgets/associationline.cpp M +2 -2 umbrello/umlwidgets/associationline.h M +17 -17 umbrello/umlwidgets/associationwidget.cpp M +4 -4 umbrello/umlwidgets/associationwidget.h M +6 -6 umbrello/umlwidgets/associationwidgetrole.cpp M +3 -3 umbrello/umlwidgets/associationwidgetrole.h M +3 -3 umbrello/umlwidgets/boxwidget.cpp M +2 -2 umbrello/umlwidgets/boxwidget.h M +3 -3 umbrello/umlwidgets/categorywidget.cpp M +3 -3 umbrello/umlwidgets/categorywidget.h M +6 -6 umbrello/umlwidgets/classifierwidget.cpp M +2 -2 umbrello/umlwidgets/classifierwidget.h M +7 -7 umbrello/umlwidgets/combinedfragmentwidget.cpp M +3 -3 umbrello/umlwidgets/combinedfragmentwidget.h M +2 -2 umbrello/umlwidgets/componentwidget.cpp M +2 -2 umbrello/umlwidgets/componentwidget.h M +5 -5 umbrello/umlwidgets/datatypewidget.cpp M +3 -3 umbrello/umlwidgets/datatypewidget.h M +2 -2 umbrello/umlwidgets/diagramproxywidget.cpp M +3 -3 umbrello/umlwidgets/diagramproxywidget.h M +4 -4 umbrello/umlwidgets/entitywidget.cpp M +3 -3 umbrello/umlwidgets/entitywidget.h M +4 -4 umbrello/umlwidgets/enumwidget.cpp M +3 -3 umbrello/umlwidgets/enumwidget.h M +5 -5 umbrello/umlwidgets/floatingdashlinewidget.cpp M +3 -3 umbrello/umlwidgets/floatingdashlinewidget.h M +6 -6 umbrello/umlwidgets/floatingtextwidget.cpp M +3 -3 umbrello/umlwidgets/floatingtextwidget.h M +7 -7 umbrello/umlwidgets/forkjoinwidget.cpp M +3 -3 umbrello/umlwidgets/forkjoinwidget.h M +3 -3 umbrello/umlwidgets/linkwidget.cpp M +3 -3 umbrello/umlwidgets/linkwidget.h M +8 -8 umbrello/umlwidgets/messagewidget.cpp M +4 -4 umbrello/umlwidgets/messagewidget.h M +3 -3 umbrello/umlwidgets/nodewidget.cpp M +2 -2 umbrello/umlwidgets/nodewidget.h M +5 -5 umbrello/umlwidgets/notewidget.cpp M +3 -3 umbrello/umlwidgets/notewidget.h M +5 -5 umbrello/umlwidgets/objectnodewidget.cpp M +3 -3 umbrello/umlwidgets/objectnodewidget.h M +5 -5 umbrello/umlwidgets/objectwidget.cpp M +3 -3 umbrello/umlwidgets/objectwidget.h M +3 -3 umbrello/umlwidgets/packagewidget.cpp M +2 -2 umbrello/umlwidgets/packagewidget.h M +6 -6 umbrello/umlwidgets/pinportbase.cpp M +2 -2 umbrello/umlwidgets/pinportbase.h M +5 -5 umbrello/umlwidgets/preconditionwidget.cpp M +3 -3 umbrello/umlwidgets/preconditionwidget.h M +5 -5 umbrello/umlwidgets/regionwidget.cpp M +3 -3 umbrello/umlwidgets/regionwidget.h M +7 -7 umbrello/umlwidgets/signalwidget.cpp M +3 -3 umbrello/umlwidgets/signalwidget.h M +5 -5 umbrello/umlwidgets/statewidget.cpp M +3 -3 umbrello/umlwidgets/statewidget.h M +6 -6 umbrello/umlwidgets/umlwidget.cpp M +2 -2 umbrello/umlwidgets/umlwidget.h M +3 -3 umbrello/umlwidgets/usecasewidget.cpp M +3 -3 umbrello/umlwidgets/usecasewidget.h M +2 -2 umbrello/umlwidgets/widgetbase.cpp M +32 -32 umbrello/umlwidgets/widgetbase.h M +2 -1 umbrello/version.h M +1 -1 unittests/CMakeLists.txt M +4 -4 unittests/testbase.h M +2 -2 unittests/testoptionstate.cpp M +2 -2 unittests/testumlobject.cpp https://invent.kde.org/sdk/umbrello/commit/b57c76163be60160b4559cd6c7857e1c911196f3
Git commit 1c31f5368f672e019a7b6ff88275b643123ba9d8 by Oliver Kellogg. Committed on 07/03/2022 at 05:40. Pushed by okellogg into branch 'master'. umbrello/umlmodel/association.cpp followup to commit b57c761 : - In function saveToXMI case m_AssocType Generalization do not save the association if Settings::optionState().generalState.uml2 is true. Reason: The generalization is saved by UMLClassifier::saveToXMI. M +7 -4 umbrello/umlmodel/association.cpp https://invent.kde.org/sdk/umbrello/commit/1c31f5368f672e019a7b6ff88275b643123ba9d8
Git commit f0ee00ce004097d295781deb07d5e70bb13dc961 by Oliver Kellogg. Committed on 07/03/2022 at 22:10. Pushed by okellogg into branch 'master'. Followup to commit 26aeb516 - further UML2 alignment for loading Umbrello XMI into PapyrusUML umbrello/umlmodel/folder.cpp - At function save1 : - Update documentation. - In UML2 mode, when saving a predefined view create a <packagedElement xmi:type="uml:Model"> element. - At function saveToXMI improve documentation. - At function load1 : - Update documentation. - On comparing `type' with "packagedElement" and "ownedElement" a simple equality test suffices. umbrello/umldoc.cpp - In function loadUMLObjectsFromXMI for-loop of node test `type' against "packagedElement" alongside testing tagEq(type, QLatin1String("Model")). Reason: The predefined folders are now generated as <packagedElement>s. M +14 -7 umbrello/umldoc.cpp M +20 -11 umbrello/umlmodel/folder.cpp https://invent.kde.org/sdk/umbrello/commit/f0ee00ce004097d295781deb07d5e70bb13dc961