The family manager encapsulates the real family definition (such as one stored in the object store) in order to provide higher level functionality :
A model is a block of four objects :
To summarise, a model block is represented by following objects :
[moderator Attrx Infogeneric ].
The lower level family manager (class DocObj::Family::Manager) manipulates directly objects in the object store. The families are root blocks managed by the Document class.
A typical family definition consists of a block, containing information objects and other sub-blocks :
To summarise, a family definition is represented by following objects :
[Info/generic=FAMILY_STYLE_BLOCK style...style ]
The information object tagged with the FAMILY_SETTINGS ID needs index remapping. This is implemented by DocObj::Family::Manager::RemapSettings.
Styles are stored in families using aliases. A style can only be inserted in a single family style block.
The referrer object found just before the real style block contains the references to the aliases linked with the style. The first one is always the alias stored in the family style block. This fact is used to find to which family a style belongs (use member function VP::DocObj::Style::Manager::RetFamily to find the family based on the style).