[539778] Reverse "layouts order" for ELK layout

Several "arrange all" are called (one for the diagram, and one per
container) at diagram creation (or at diagram opening with new
elements). It seems OK with "classical layout". But it is problematic
for ELK layouts. For ELK, we need to reverse the order of these multiple
"arrange all" from the lowest container level to the highest container
level. For that a new notion of "reverseLayoutsOrder" has been added
into the CustomLayoutAlgorithm.

An issue exists for the "real problem" about why several arrange are
necessary (bugzilla 558016 [1]).

[1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=558016

This commit also avoids to launch an additional and unuseful arrange
command (caused by InitializeHiddenElementsCommand).

Bug: 539778
Change-Id: I6d485d2ae1e0a845b11b42a4b60ff7ca5488c5bd
Signed-off-by: Laurent Redor <laurent.redor@obeo.fr>
6 files changed
tree: 5f7485f3b2b1e6bec96dc8ec59a7f0dcb3fbc537
  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.