A style is a named block containing one or several other objects, from the following list :
The Document contains collections of styles organised in families.
An automatic style may be created by the document manager (DocManager) when method UpdateFamilyStyle gets called. The automatic style is created by concatenating all the active family managers' selected styles, which might include some additional placeholder blocks, such as moderators.
A typical document would have the following active families :
Each family specifies an active style. The paint families provide a model into which the style must be embedded (this is needed, since the style defines a generic paint and the family really defines either an outline paint or a surface paint; a moderator block is needed to convert the generic paint into a specific paint).
Style edition is the responsibility of class Styled::Manager. Style edition can be quite complex, if the style being edited is an automatic style shared between several objects, since this requires automatic and undoable partial or complete cloning of the affected style(s).