spaceExample
@
safe @
()
=> label(.headingTheme, "Spaces"),
()
=> label("Frames are versatile. They can be used to group nodes, configure their layout, but also to set a " ~ "common background or to add extra margin around a set of nodes. Frames, by grouping a number of related " ~ "items can also form an important semantic role. However, often it's useful to insert a frame " ~ "just to reconfigure the layout."),
()
=> label("Once you go through the step of styling a frame — adding background, margin, padding, or border, " ~ "every other frame sharing the same theme will have the same style. For cases where you don't want any of " ~ "that fanciness, you could work with a secondary theme, but there's an easier way through. Instead of using " ~ "a frame node, there exists a dedicated node for the purpose — a Space."),
()
=> label("Spaces and frames share all the traits except for one. They cannot have background or border. It's " ~ "a small difference in the long run, but it establishes Space as the minimal and more " ~ "layout-oriented 'helper' node."),
()
=> label("Usage is identical, just use 'vspace' and 'hspace'. In object-oriented programming terms, frames " ~ "are subclasses of spaces, which means any frame will fit where a space will.") Space
spaceExample