Bug 541309 - Multiple delete tools execution depends on the selection order between container and contained node
Summary: Multiple delete tools execution depends on the selection order between contai...
Status: NEW
Alias: None
Product: Sirius
Classification: Modeling
Component: Diagram (show other bugs)
Version: 6.1.0   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: triaged
Depends on:
Blocks:
 
Reported: 2018-11-19 08:49 EST by Pierre-Charles David CLA
Modified: 2018-11-19 09:05 EST (History)
0 users

See Also:


Attachments
Sample project to reproduce the issue (3.42 KB, application/zip)
2018-11-19 08:57 EST, Pierre-Charles David CLA
no flags Details
Sample video illustrating the reproduction steps (317.52 KB, video/mp4)
2018-11-19 08:59 EST, Pierre-Charles David CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Pierre-Charles David CLA 2018-11-19 08:49:00 EST
When a container contains a node, and if the container mapping has a non-default delete tool, the result of selecting both the container and node and hitting "Delete" is different depending on the order of selection (which is not easily user-controllable).
Comment 1 Pierre-Charles David CLA 2018-11-19 08:57:38 EST
Created attachment 276611 [details]
Sample project to reproduce the issue

Steps to reproduce:
1. Import the attached project and open the diagram ("new delete-composition").
2. Select the "B1" node inside "A1" and hit "Delete" => "B1" is removed from the model and both views disappear. "A1" is still there. OK.
3. Undo to go back to the initial state.
4. Select "A1" and hit delete => the "A1" semantic element (and view) is removed. The delete tool on A1 is a custom one which just removes the current element, so "B1" is still present in the model, and the top-level view is still there. OK.
5. Undo to go back to the initial state.
6. Select "B1" and then "A1", in this order, using shift-click to add "A1" to the selection. Hit delete => both selected elements (and all views) are removed. OK.
7. Undo to go back to the initial state.
8. Select "A1" and then "B1", in this order, using shift-click to add "B1" to the selection. Hit delete => "A1" (and its view) is removed, but "B1" is still present in the model. KO #1 => despite B1 being part of the selection, the corresponding delete tool (here the default) has not been invoked. KO #2 (related) => the final state depends on the selection order between the container and contained element.
Comment 2 Pierre-Charles David CLA 2018-11-19 08:59:54 EST
Created attachment 276612 [details]
Sample video illustrating the reproduction steps