[568037] Arrange selection with ELK layout

* A new field has been added in CustomLayoutAlgorithm to allow to use or
not the standard ArrangeSelection mechanism (see javadoc of
ArrangeSelectionLayoutProvider). It was always used by default but for
ELK we want a different behavior. This field is associated with
corresponding methods in CustomLayoutAlgorithmBuilder.
* In GenericLayoutProvider, we consider this new field to launch ELK
layout without the standard ArrangeSelection mechanism.
* In case of ArrangeSelection, in
org.eclipse.sirius.diagram.elk.GmfLayoutEditPolicy.getCommand(Request),
the root element was not retrieved (because the first element was the
root).
* ELKLayoutNodeProvider no longer implements ExtendableLayoutProvider.
This was added for bug 540987 [1] (commit 066b0d28 [2]). But this
bugzilla has been reopened because of problem.
* ElkDiagramLayoutConnector did not handle the case where the root is no
a diagram since this commit 35201b83 [3] for bug 538373 [4]. This commit
partially reverts this modification to set back this ability.
* Only TopGraphicEditPart are now considered for method
ElkDiagramLayoutConnector.commonParent. This avoids to have intermediate
AbstractDNode*CompartmentEditPart as parent.
* During an arrange all, the origin location is now the same as "Reset
origin" action.

[1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=540987
[2] http://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=066b0d28cc05a6a53814e8691521181859682777
[3] https://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=35201b83f616bce91b378aa0dd23f14c97dc7080
[4] https://bugs.eclipse.org/bugs/show_bug.cgi?id=538373

Bug: 568037
Change-Id: I6ff9f4d3010ad4c0475cb6a0de55ab743a989f07
Signed-off-by: Laurent Redor <laurent.redor@obeo.fr>
10 files changed
tree: ca9dcbc5aef50df2cd74f0adf08ac4d3298cad23
  1. packaging/
  2. plugins/
  3. releng/
  4. .gitattributes
  5. .gitignore
  6. .travis.yml
  7. build.sh
  8. CONTRIBUTING
  9. Jenkinsfile
  10. LICENSE
  11. NOTICE
  12. pom.xml
  13. README.md
README.md

Eclipse Sirius

Build Status

Sirius enables the specification of a modeling workbench in terms of graphical, table or tree editors with validation rules and actions using declarative descriptions.

For more details see the project page and the main wiki page.

Building

The build uses Tycho. To launch a complete build, issue

mvn clean package

from the top-level directory. The resulting update-site (p2 repository) can be found in packaging/org.eclipse.sirius.update/target/repository.

By default the build uses a Neon-based target platform. You can specify a different platform like this:

mvn clean package -Dplatform-version-name=name

where name can be any of the following values:

  • mars (Eclipse 4.5)
  • neon (Eclipse 4.6, the default and reference target platform)
  • canary (uses nightly builds of all our dependencies, only used for testing)

The corresponding target platform definitions can be found in releng/org.eclipse.sirius.targets.