Layout Containers

To provide more toolkit-like functionalities, the canvas provides the following layout containers:

  • HBox
  • VBox
  • Table

The layout algorithm for each container may or may not be encapsulated using a strategy design pattern. This depends on whether we want the containers to change their behaviour depending on the context. E.g., can we think of a scenario in which a VBox needs to align labels differently than glyphs or items? Should a table cell be able to align text differently than an item? In which case we need to be able to easily exchange the layout algorithm.

Layout Strategies

We may also provide recursive layout strategies for text, e.g. for laying plaintext out over multiple columns of a table, or for laying marked-up text out.