[umbrello] [Bug 115269] Implement the UML 2.0 standard

Oliver Kellogg bugzilla_noreply at kde.org
Sun Dec 26 23:00:54 GMT 2021


https://bugs.kde.org/show_bug.cgi?id=115269

--- Comment #31 from Oliver Kellogg <okellogg at users.sourceforge.net> ---
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

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the umbrello-devel mailing list