Bug 498341 - Wrong authorized moving nodes in diagrams when layouting mode is activated
Summary: Wrong authorized moving nodes in diagrams when layouting mode is activated
Status: CLOSED FIXED
Alias: None
Product: Sirius
Classification: Modeling
Component: Diagram (show other bugs)
Version: 4.0.0   Edit
Hardware: PC Windows NT
: P3 normal (vote)
Target Milestone: 4.1.0   Edit
Assignee: Laurent Redor CLA
QA Contact: Julien Dupont CLA
URL:
Whiteboard:
Keywords: triaged
Depends on:
Blocks: 495021
  Show dependency tree
 
Reported: 2016-07-22 09:19 EDT by Pierre Guilet CLA
Modified: 2016-10-18 11:06 EDT (History)
4 users (show)

See Also:


Attachments
test project (5.43 KB, application/x-zip)
2016-07-22 09:19 EDT, Pierre Guilet CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Pierre Guilet CLA 2016-07-22 09:19:33 EDT
Created attachment 263261 [details]
test project

When the layouting mode is activated, all semantic modifications are forbidden so all drag and drop tools are deactivated.
That means nodes (bordered or simple node) and containers cannot be places in other containers and nodes.

The problem is that in this mode, the feedback during drag and drop has the visual saying moving a node into another container is authorized whereas it is not du to mode specification.

When we try to drop a node in a container that is not his parent, then the node come back at his original place before dragging.

So the feedback in this mode must be coherent with the moving specification in this mode.

Step to reproduce :
-Open the view "new diagram"
-Drag any node into another container, the feedback will show you it will be possible.  Release the mouse, the node will go back to its place before drag.
Comment 1 Pierre Guilet CLA 2016-07-22 09:25:54 EDT
The envisaged solution is to show a forbidden feedback when a node is over a container different from its original parent container.
Comment 2 Pierre Guilet CLA 2016-07-22 12:08:22 EDT
In fact, the retained solution is to allow bordered node movements only around its parent whatever the container behind the mouse is when dragging.

This ease the moving around when container of the node is very close to another one.
Comment 3 Eclipse Genie CLA 2016-07-22 12:16:54 EDT
New Gerrit change created: https://git.eclipse.org/r/77791
Comment 4 Pierre Guilet CLA 2016-07-25 05:00:02 EDT
To test the resolution, the following steps must be taken :

- Open the view "new diagram"
- Drag & drop a bordered node in a node into another bordered node. The feedback must be visible only for the parent container of the dragged element.(495021 must be fixed)
- Drag & drop a bordered node in a node into another node. The feedback must be visible only for the parent container of the dragged element.
- Drag & drop a bordered node in a container into another container. The feedback must be visible only for the parent container of the dragged element.
- Drag & drop a bordered node in another bordered node into another container. The feedback must be visible only for the parent container of the dragged element.
- Drag & drop a bordered node in another bordered node in a container into another container. The feedback must be visible only for the parent container of the dragged element.
Comment 5 Pierre Guilet CLA 2016-07-25 05:34:30 EDT
(In reply to Pierre Guilet from comment #4)
> To test the resolution, the following steps must be taken :
> 
> - Open the view "new diagram"
> - Drag & drop a bordered node in a node into another bordered node. The
> feedback must be visible only for the parent container of the dragged
> element.(495021 must be fixed)
> - Drag & drop a bordered node in a node into another node. The feedback must
> be visible only for the parent container of the dragged element.
> - Drag & drop a bordered node in a container into another container. The
> feedback must be visible only for the parent container of the dragged
> element.
> - Drag & drop a bordered node in another bordered node into another
> container. The feedback must be visible only for the parent container of the
> dragged element.
> - Drag & drop a bordered node in another bordered node in a container into
> another container. The feedback must be visible only for the parent
> container of the dragged element.

To be more accurate the need is the following : 
 - Drag & drop a bordered node into another bordered node in a node. The
 feedback must be visible only for the parent container of the dragged element.(495021 must be fixed)
 - Drag & drop a bordered node into a node. The feedback must
 be visible only for the parent container of the dragged element.
 - Drag & drop a bordered node into a node in a container. The
 feedback must be visible only for the parent container of the dragged
 element.
 - Drag & drop a bordered node into a
 container. The feedback must be visible only for the parent container of the
 dragged element.
 - Drag & drop a bordered node  into a container in a container. The feedback must be visible only for the parent
 container of the dragged element.
Comment 7 Maxime Porhel CLA 2016-07-25 09:32:28 EDT
Corrected by commit dcf3212debd22ff1ede09c6f54a0eaf57b517fe3
Comment 8 Eclipse Genie CLA 2016-08-04 06:34:19 EDT
New Gerrit change created: https://git.eclipse.org/r/78439
Comment 9 Laurent Redor CLA 2016-08-05 03:21:45 EDT
The above gerrit is for the case of node (similar problem as border nodes).
Comment 11 Julien Dupont CLA 2016-09-02 10:37:31 EDT
(In reply to Pierre Guilet from comment #5)
> (In reply to Pierre Guilet from comment #4)
> > To test the resolution, the following steps must be taken :
> > 
> > - Open the view "new diagram"
> > - Drag & drop a bordered node in a node into another bordered node. The
> > feedback must be visible only for the parent container of the dragged
> > element.(495021 must be fixed)
> > - Drag & drop a bordered node in a node into another node. The feedback must
> > be visible only for the parent container of the dragged element.
> > - Drag & drop a bordered node in a container into another container. The
> > feedback must be visible only for the parent container of the dragged
> > element.
> > - Drag & drop a bordered node in another bordered node into another
> > container. The feedback must be visible only for the parent container of the
> > dragged element.
> > - Drag & drop a bordered node in another bordered node in a container into
> > another container. The feedback must be visible only for the parent
> > container of the dragged element.
> 
> To be more accurate the need is the following : 
   - Open the view "new diagram"
   - Activate the Layouting Mode in the tabbar
>  - Drag & drop a bordered node into another bordered node in a node. The
>  feedback must be visible only for the parent container of the dragged
> element.(495021 must be fixed)
>  - Drag & drop a bordered node into a node. The feedback must
>  be visible only for the parent container of the dragged element.
>  - Drag & drop a bordered node into a node in a container. The
>  feedback must be visible only for the parent container of the dragged
>  element.
>  - Drag & drop a bordered node into a
>  container. The feedback must be visible only for the parent container of the
>  dragged element.
>  - Drag & drop a bordered node  into a container in a container. The
> feedback must be visible only for the parent
>  container of the dragged element.
Comment 12 Pierre-Charles David CLA 2016-10-18 11:06:50 EDT
Available in Sirius 4.1.0, see https://wiki.eclipse.org/Sirius/4.1.0 for details.