The document manager can be in one of several modes :
The document manager must be in standby mode in order to enter one of the other modes. Switching from one mode to another always requires that one of the modes be the standby mode.
The creation mode is entered upon a call of ObjectCreationStart or ObjectCreationRestart; a creator matching the active management class is instanciated when entering creation mode.
The selection mode is entered upon a call of ObjectSelectionStart. A selection is defined by one or several rectangular shapes defined by ObjectSelectionRectBegin / Update / End and results in a collection of object indexes.
The object edition mode is entered upon a call of ObjectEditionBegin. The edition will affect all selected objects (those marked with the UCID::Attr_SelGrips attribute). Every object will have an associated editor, thus editing a huge number of objects won't be memory efficient.
The grip edition mode is entered upon a call of GripEditionBegin. It is used to temporarily drag around an object's grip. This can only be used on selected objects.
The document manager knows which document management class to use when creating fresh objects. The document management class is not exposed as is by the document manager; it uses the associated object type instead.
Every document may have zero, one or several views representing part of the document. The document has no direct access to these views. It relies on the document manager to logically bind the document and the views together.