Community
Participate
Working Groups
[Composite Structure Diagrams] Specific drop action (Class on StructuredClassifier) - different behavior in 0.7 and 0.8 version Default behavior on this topic has changed between 0.7 version and 0.8 version. The new one is not correct. The new handling leads to : 1. Unwanted behavior (If we want to create a Part we expect that a Part is created thus by default with isComposite set to true) 2. Inconsistency between graphic and model (and the norm). The element created appears as a Composite part, it should be displayed with a dashed outline to be consistent with the model. Context: Bug 307317 introduced new facilities to improve usability of Composite diagram Usability was improved by implementing several drop specific action in the Composite Structure Diagram: - Drop a Class in a StructuredClassifier creates a Part typed by the Class Description of the pb: On Creation of a Part in a Structured Classifier, the Part is created but with default value set to none for the Aggregation property (it was set to Composite in previous version). The default appears at creation, further changes of Aggregation value is correctly handled. Consequences The Part is not seen as a Part in the model because isComposite property is set to false. However the Part is displayed as a Composite Part in the diagram (full outline) ==> inconsistency between model and diagram. To keep model and graphics consistent the Part should be displayed with plain lines when it is really a Part (isComposite set to true) and with dashed outline when isComposite set to false.
Still reproducible under Kepler M5
Papyrus does not claim to create a part, but a property. Papyrus only visualized "shared" aggregation kinds consistently with a dashed line. Actually, the semantics behind "none" is not really defined (none indicates that there is "no aggregation"). Do you think, we need to change defaults?
From a usability viewpoint, it would be nice to have the option to either create a part or a shared attribute when dropping. This can be done via a registered dnd extension.