Layout: improve layout caching and remove unnecessary layout calls

If setSize is used with fractional values, the wrong size is cached
(without fractional values) so that the component will always be
invalidated and the layout done even if it would not be necessary.
Fixed by using the exact size when caching.
Also removed some unnecessary validateLayoutTree calls, the desktop
bench itself does it already, no need for the bench column to do
it as well.

The unnecessary layout invocations can even lead to exceptions in the
tree. Example: first node is selected, outline is scrolled so that
the first node is detached, outline is reloaded -> outline content
will be removed, invalidateLayoutTree called from the bench
but still the outline layout executed due to the not working cache.
TreeLayout calls renderViewPort which throws an exception because
deleting nodes is still in progress.

265861

Change-Id: I5ba24ce4efc73d946392b227f752a05c8ff339f9
Reviewed-on: https://git.eclipse.org/r/160604
Tested-by: CI Bot
Reviewed-by: Andre Wegmueller <awe@bsiag.com>
3 files changed
tree: 461abaee8a2d4556d4c6255b097e4417152b4024
  1. license_files/
  2. org.eclipse.scout.dev.jetty/
  3. org.eclipse.scout.dev.jetty.test/
  4. org.eclipse.scout.dev.jetty.test.affix/
  5. org.eclipse.scout.jaxws.apt/
  6. org.eclipse.scout.json/
  7. org.eclipse.scout.rt/
  8. org.eclipse.scout.rt-settings/
  9. org.eclipse.scout.rt.client/
  10. org.eclipse.scout.rt.client.test/
  11. org.eclipse.scout.rt.dataformat/
  12. org.eclipse.scout.rt.dataobject/
  13. org.eclipse.scout.rt.dataobject.test/
  14. org.eclipse.scout.rt.jackson/
  15. org.eclipse.scout.rt.jackson.test/
  16. org.eclipse.scout.rt.mail/
  17. org.eclipse.scout.rt.mail.test/
  18. org.eclipse.scout.rt.mom.api/
  19. org.eclipse.scout.rt.mom.api.test/
  20. org.eclipse.scout.rt.mom.jms/
  21. org.eclipse.scout.rt.mom.jms.test/
  22. org.eclipse.scout.rt.platform/
  23. org.eclipse.scout.rt.platform.test/
  24. org.eclipse.scout.rt.rest/
  25. org.eclipse.scout.rt.rest.jackson/
  26. org.eclipse.scout.rt.rest.jersey.client/
  27. org.eclipse.scout.rt.rest.jersey.test/
  28. org.eclipse.scout.rt.rest.test/
  29. org.eclipse.scout.rt.security/
  30. org.eclipse.scout.rt.security.test/
  31. org.eclipse.scout.rt.server/
  32. org.eclipse.scout.rt.server.commons/
  33. org.eclipse.scout.rt.server.commons.test/
  34. org.eclipse.scout.rt.server.jaxws/
  35. org.eclipse.scout.rt.server.jaxws.test/
  36. org.eclipse.scout.rt.server.jdbc/
  37. org.eclipse.scout.rt.server.jdbc.test/
  38. org.eclipse.scout.rt.server.test/
  39. org.eclipse.scout.rt.serverbridge/
  40. org.eclipse.scout.rt.shared/
  41. org.eclipse.scout.rt.shared.test/
  42. org.eclipse.scout.rt.svg.client/
  43. org.eclipse.scout.rt.svg.client.test/
  44. org.eclipse.scout.rt.svg.ui.html/
  45. org.eclipse.scout.rt.team-project-set/
  46. org.eclipse.scout.rt.ui.html/
  47. org.eclipse.scout.rt.ui.html.scriptprocessor/
  48. org.eclipse.scout.rt.ui.html.scriptprocessor.test/
  49. org.eclipse.scout.rt.ui.html.selenium/
  50. org.eclipse.scout.rt.ui.html.test/
  51. shell_scripts/
  52. .gitattributes
  53. .gitignore
  54. .gitreview
  55. CONTRIBUTING.md
  56. eclipse-dictionary.txt
  57. pom.xml
  58. README.md
README.md

Eclipse Scout - RT

[Eclipse Scout] 1 is a mature and open framework for modern, service oriented business applications. It substantially boosts developer productivity and is simple to learn.

This Repository Eclipse Scout RT contains the source for the runtime components embedded in the applications build on top of the Eclipse Scout Framework.

Downloads

The content of this repository is build on the Eclipse infrastructure and the different versions are available on several [P2 Update Sites] 2.

The easiest way to start with Eclipse Scout is to download Eclipse for Scout Developers Eclipse for Scout Developers on the [Eclipse downloads page] 3.

Documentation & Links

  • [Eclipse Scout Documentation] 4
  • [Eclipse Scout Forum] 5
  • [Eclipse Bugzilla] 6 (Product=Scout; Component=Scout)

Contribution Guidelines

We welcome any kind of contributions (Bug report, documentation, code contribution...). Please read the [Eclipse Scout Contribution page] 7 to know more about it.

The contribution process of Eclipse Scout is hosted on tools deployed by the Eclipse Foundation (involing [Bugzilla] 6, Gerrit, Hudson, MediaWiki...).

External tools like the GitHub tracker and pull requests are not supported.

Get in Touch

To get in touch with the Eclipse Scout community, please open a thread in the [Eclipse Scout Forum] 5 or send a mail to [our mailing list] 8: scout-dev@eclipse.org

License

[Eclipse Public License (EPL) v1.0] 9