You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, interactions in multi-selection are handled with a naive iteration. This works fine when the selected elements don't depend on each other, but causes inconsistencies when e.g. moving elements nested in each other.
For example, moving a Package and one of its contained Classes will move the class twice as far. Similar inconsistencies happen for anchored elements (e.g. moving an Association Label together with the Class to which the Association is connected)
The top-level policy (MoveOnDragHandler) should pre-filter selected elements to remove dependents. The actual individual policy (e.g. MoveNodeHandler, MoveConnectionLabelHandler) should probably still be responsible for the final decision, i.e. whether the element needs to be moved at all or if it should be ignored.
We may need to pass additional parameters to the Handlers (Similar to GEF 3 Requests?) to handle this case: the handlers need access to the full selection (even if they are expected to work on a single element), and potentially additional (arbitrary) parameters
The text was updated successfully, but these errors were encountered:
Currently, interactions in multi-selection are handled with a naive iteration. This works fine when the selected elements don't depend on each other, but causes inconsistencies when e.g. moving elements nested in each other.
For example, moving a Package and one of its contained Classes will move the class twice as far. Similar inconsistencies happen for anchored elements (e.g. moving an Association Label together with the Class to which the Association is connected)
The top-level policy (MoveOnDragHandler) should pre-filter selected elements to remove dependents. The actual individual policy (e.g. MoveNodeHandler, MoveConnectionLabelHandler) should probably still be responsible for the final decision, i.e. whether the element needs to be moved at all or if it should be ignored.
We may need to pass additional parameters to the Handlers (Similar to GEF 3 Requests?) to handle this case: the handlers need access to the full selection (even if they are expected to work on a single element), and potentially additional (arbitrary) parameters
The text was updated successfully, but these errors were encountered: